1. 03 6月, 2016 1 次提交
  2. 21 12月, 2015 7 次提交
  3. 03 8月, 2015 1 次提交
  4. 01 8月, 2015 1 次提交
  5. 15 7月, 2015 1 次提交
    • R
      phy: ti-pipe3: fix suspend · 0a0830fe
      Roger Quadros 提交于
      Relying on PM-ops for shutting down PHY clocks was a
      bad idea since the users (e.g. PCIe/SATA) might not
      have been suspended by then.
      
      The main culprit for not shutting down the clocks was
      the stray pm_runtime_get() call in probe.
      
      Fix the whole thing in the right way by getting rid
      of that pm_runtime_get() call from probe and
      removing all PM-ops. It is the sole responsibility
      of the PHY user to properly turn OFF and de-initialize
      the PHY as part of its suspend routine.
      
      As PHY core serializes init/exit we don't need
      to use a spinlock in this driver. So get rid of it.
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      0a0830fe
  6. 13 3月, 2015 1 次提交
  7. 12 3月, 2015 1 次提交
  8. 10 3月, 2015 1 次提交
  9. 21 1月, 2015 2 次提交
    • R
      phy: ti-pipe3: Fix SATA across suspend/resume · 7f33912d
      Roger Quadros 提交于
      Failed test case: Boot without SATA drive connected. Suspend/resume
      the board and then connect SATA drive. It fails to enumerate.
      
      Due to Errata i783 "SATA Lockup After SATA DPLL Unlock/Relock"
      we can't allow SATA DPLL to be in the unlocked state.
      The SATA refclk (sata_ref_clk) is the source of the SATA_DPLL.
      This clock is being controlled only by the AHCI SATA driver and is
      shut off during system suspend (if the SATA drive was not already attached)
      causing the SATA DPLL to be unlocked and so causing errata i783.
      
      To prevent sata_ref_clk from being disabled, we add the control of
      this clock to the SATA PHY driver and prevent it from being disabled.
      
      This also fixes the issue of SATA not working on OMAP5/DRA7 when
      AHCI platform driver is built as a module.
      
      NOTE: Device tree changes also required for OMAP5 & DRA7.
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      7f33912d
    • R
      phy: ti-pipe3: Disable clocks on system suspend · 6e738432
      Roger Quadros 提交于
      On system suspend, the runtime_suspend() driver hook doesn't get
      called for USB phy and so the clocks are not disabled in the driver.
      This causes the L3INIT_960M_GFCLK and L3INIT_480M_GFCLK to remain
      active on the DRA7 platform while in system suspend.
      
      In case of pcie-phy, the runtime_suspend hook gets called after
      the suspend hook so we introduce a flag phy->enabled to keep
      track if our clocks are enabled or not to prevent multiple
      enable/disables.
      
      Add suspend/resume hooks to the driver.
      Move enabling/disabling clock code into helper functions.
      Reported-by: NNishant Menon <nm@ti.com>
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      6e738432
  10. 23 12月, 2014 1 次提交
    • V
      phy: phy-ti-pipe3: fix inconsistent enumeration of PCIe gen2 cards · 0bc09f9c
      Vignesh R 提交于
      Prior to DRA74x silicon rev 1.1, pcie_pcs register bits 8-15 and bits 16-23
      were used to configure RC delay count for phy1 and phy2 respectively.
      phyid was used as index to distinguish the phys and to configure the delay
      values appropriately.
      
      As of DRA74x silicon rev 1.1, pcie_pcs register definition has changed.
      Bits 16-23 are used to configure delay values for *both* phy1 and phy2.
      
      Hence phyid is no longer required.
      
      So, drop id field from ti_pipe3 structure and its subsequent references
      for configuring pcie_pcs register.
      
      Also, pcie_pcs register now needs to be configured with delay value of 0x96
      at bit positions 16-23. See register description of CTRL_CORE_PCIE_PCS in
      ARM572x TRM, SPRUHZ6, October 2014, section 18.5.2.2, table 18-1804.
      
      This is needed to ensure Gen2 cards are enumerated consistently.
      
      DRA72x silicon behaves same way as DRA74x rev 1.1 as far as this functionality
      is considered.
      
      Test results on DRA74x and DRA72x EVMs:
      
      Before patch
      ------------
      DRA74x ES 1.0: Gen1 cards work, Gen2 cards do not work (expected result due to
      silicon errata)
      DRA74x ES 1.1: Gen1 cards work, Gen2 cards do not work sometimes due to incorrect
      programming of register
      
      DRA72x: Gen1 cards work, Gen2 cards do not work sometimes due to incorrect
      programming of register
      
      After patch
      -----------
      DRA74x ES 1.0: Gen1 cards work, Gen2 cards do not work (expected result due to
      silicon errata)
      DRA74x ES 1.1: Gen1 cards work, Gen2 cards work consistently.
      
      DRA72x: Gen1 and Gen2 cards enumerate consistently.
      Signed-off-by: NVignesh R <vigneshr@ti.com>
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      0bc09f9c
  11. 13 12月, 2014 1 次提交
  12. 22 11月, 2014 1 次提交
  13. 24 9月, 2014 2 次提交
  14. 22 7月, 2014 3 次提交
  15. 09 3月, 2014 6 次提交
  16. 06 3月, 2014 1 次提交
  17. 04 10月, 2013 2 次提交
  18. 18 9月, 2013 1 次提交
  19. 29 7月, 2013 1 次提交
  20. 15 7月, 2013 1 次提交
  21. 01 6月, 2013 1 次提交
  22. 18 3月, 2013 1 次提交
  23. 04 3月, 2013 1 次提交
  24. 25 1月, 2013 1 次提交