1. 01 Oct, 2018 2 commits
  2. 22 Aug, 2018 1 commit
  3. 17 Jan, 2018 1 commit
    • Florian Fainelli's avatar
      ata: ahci_brcm: Recover from failures to identify devices · eb73390a
      Florian Fainelli authored
      When powering up, the SATA controller may fail to mount the HDD. The SATA
      controller will lock up, preventing it from negotiating to a lower speed or
      transmitting data. Root cause is power supply noise creating resonance at 6 Ghz
      and 3 GHz frequencies, which causes instability in the Clock-Data Recovery
      (CDR) frontend module, resulting in false acquisition of the clock at SATA
      6G/3G speeds.
      
      The SATA controller may fail to mount the HDD and lock up, requiring a power
      cycle. Broadcom chips suspected of being susceptible to this issue include
      BCM7445, BCM7439, and BCM7366.
      
      The Kernel implements an error recovery mechanism that resets the SATA PHY and
      digital controller when the controller locks up. During this error recovery
      process, typically there is less activity on the board and Broadcom STB chip,
      so that the power supply is less noisy, thus allowing the SATA controller to
      lock correctly.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      eb73390a
  4. 02 Jan, 2018 1 commit
  5. 22 Jun, 2017 1 commit
  6. 16 Jun, 2016 2 commits
  7. 25 Jan, 2016 1 commit
    • Danesh Petigara's avatar
      drivers: ata: wake port before DMA stop for ALPM · fb329633
      Danesh Petigara authored
      The AHCI driver code stops and starts port DMA engines at will
      without considering the power state of the particular port. The
      AHCI specification isn't very clear on how to handle this scenario,
      leaving implementation open to interpretation.
      
      Broadcom's STB SATA host controller is unable to handle port DMA
      controller restarts when the port in question is in low power mode.
      When a port enters partial or slumber mode, its PHY is powered down.
      When a controller restart is requested, the controller's internal
      state machine expects the PHY to be brought back up by software which
      never happens in this case, resulting in failures.
      
      To avoid this situation, logic is added to manually wake up the port
      just before its DMA engine is stopped, if the port happens to be in
      a low power state. HBA initiated power management ensures that the port
      eventually returns to its configured low power state, when the link is
      idle (as per the conditions listed in the spec). A new host flag is also
      added to ensure this logic is only exercised for hosts with the above
      limitation.
      
      tj: Formatting changes.
      Signed-off-by: default avatarDanesh Petigara <dpetigara@broadcom.com>
      Reviewed-by: default avatarMarkus Mayer <mmayer@broadcom.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      fb329633
  8. 08 Jan, 2016 3 commits
  9. 01 Jan, 2016 1 commit
  10. 30 Nov, 2015 3 commits
  11. 06 Aug, 2015 1 commit
  12. 28 Jul, 2015 1 commit
  13. 25 May, 2015 1 commit