]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PCI: imx6: Do not wait for speed change on i.MX7
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Tue, 28 Mar 2017 15:42:51 +0000 (08:42 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 4 Apr 2017 22:56:41 +0000 (17:56 -0500)
commite6dcd87fff69a9d454104b65569074855cf95b1e
treeac625a51e1839bbca009aa4acdca73e1b4359095
parentbde4a5a00e761f55be92f62378cf5024ced79ee3
PCI: imx6: Do not wait for speed change on i.MX7

As can be seen from [1]:

  "...the different behavior between iMX6Q PCIe and iMX7D PCIe maybe caused
  by the different controller version.

  Regarding to the DOC description, the DIRECT_SPEED_CHANGE should be
  cleared after the speed change from GEN1 to GEN2. Unfortunately, when
  GEN1 device is used, the behavior is not documented.

  So, IC design guys run the simulation and find out the following
  behaviors:

     1. DIRECT_SPEED_CHANGE will be cleared in 7D after speed change
      from GEN1 to GEN2. This matches doc’s description

     2. set MAX link speed(PCIE_CAP_TARGET_LINK_SPEED=0x01) as GEN1 and
      re-run the simulation, DIRECT_SPEED_CHANGE will not be cleared;
      remain as 1, this matches your result, but function test is
      passed, so this bit should not affect the normal PCIe function."

imx6_pcie_wait_for_speed_change() will report false failures for Gen1 ->
Gen1 speed transition, so avoid doing that check and just rely on
imx6_pcie_wait_for_link() only.

[1] https://community.nxp.com/message/867943

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Cc: yurovsky@gmail.com
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Dong Aisheng <dongas86@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org
drivers/pci/dwc/pci-imx6.c