]> git.baikalelectronics.ru Git - kernel.git/commit
staging: mt7621-pci-phy: avoid to create to different phys for a dual port one
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Fri, 20 Mar 2020 11:01:19 +0000 (12:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 14:10:49 +0000 (15:10 +0100)
commit2e707e50898b2598bf0849058141058fbb93a0c1
tree11d617bd9c72a5eb3138ebc959b8239f409139a0
parent64efca55539ca07ea1021c1785fec2a9b6994443
staging: mt7621-pci-phy: avoid to create to different phys for a dual port one

This soc has two phy's for the pcie one of them using just a different
register for settig it up but sharing all the rest of the config. Until
now we was presenting this schema as three different phy's in the device
tree using the 'phy-cells' node property to discriminate an index and
setting up a complete phy for the dual port index. This sometimes worked
properly but reconfiguring the same registers twice presents sometimes
some unstable pcie links and the ports was not properly being detected.
The problems only appears on hard resets and soft resets was properly
working. Instead of having this schema just set two phy's in the device
ree and use the 'phy-cells' property to say if the port has or not a dual
port. Doing this configuration and set up becomes easier, LOC is decreased
and the behaviour also gets deterministic with properly and stable pcie
links in both hard and soft resets.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Link: https://lore.kernel.org/r/20200320110123.9907-2-sergio.paracuellos@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-pci-phy/pci-mt7621-phy.c