1. 20 6月, 2017 1 次提交
  2. 22 3月, 2017 1 次提交
    • H
      i2c: designware: Never suspend i2c-busses used for accessing the system PMIC · 41c80b8a
      Hans de Goede 提交于
      Currently we are already setting a pm_runtime_disabled flag and disabling
      runtime-pm for i2c-busses used for accessing the system PMIC on x86.
      But this is not enough, there are ACPI opregions which may want to access
      the PMIC during late-suspend and early-resume, so we need to completely
      disable pm to be safe.
      
      This commit renames the flag from pm_runtime_disabled to pm_disabled and
      adds the following new behavior if the flag is set:
      
      1) Call dev_pm_syscore_device(dev, true) which disables normal suspend /
         resume and remove the pm_runtime_disabled check from dw_i2c_plat_resume
         since that will now never get called. This fixes suspend_late handlers
         which use ACPI PMIC opregions causing errors like these:
      
        PM: Suspending system (freeze)
        PM: suspend of devices complete after 1127.751 msecs
        i2c_designware 808622C1:06: timeout waiting for bus ready
        ACPI Exception: AE_ERROR, Returned by Handler for [UserDefinedRegion]
        acpi 80860F14:02: Failed to change power state to D3hot
        PM: late suspend of devices failed
      
      2) Set IRQF_NO_SUSPEND irq flag. This fixes resume_early handlers which
         handlers which use ACPI PMIC opregions causing errors like these:
      
        PM: resume from suspend-to-idle
        i2c_designware 808622C1:06: controller timed out
        ACPI Exception: AE_ERROR, Returned by Handler for [UserDefinedRegion]
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Acked-by: NJarkko Nikula <jarkko.nikula@linux.intel.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      41c80b8a
  3. 09 3月, 2017 1 次提交
  4. 02 3月, 2017 3 次提交
  5. 15 2月, 2017 1 次提交
  6. 30 11月, 2016 1 次提交
  7. 26 8月, 2016 4 次提交
  8. 20 6月, 2016 1 次提交
  9. 13 2月, 2016 1 次提交
  10. 13 12月, 2015 1 次提交
  11. 15 10月, 2015 4 次提交
  12. 26 1月, 2015 2 次提交
  13. 08 11月, 2014 1 次提交
  14. 09 3月, 2014 1 次提交
  15. 28 8月, 2013 1 次提交
    • M
      i2c: designware: make HCNT/LCNT values configurable · defc0b2f
      Mika Westerberg 提交于
      The DesignWare I2C controller has high count (HCNT) and low count (LCNT)
      registers for each of the I2C speed modes (standard and fast). These
      registers are programmed based on the input clock speed in the driver.
      
      The current code calculates these values based on the input clock speed and
      tries hard to meet the I2C bus timing requirements. This could result
      non-optimal values with regarding to the bus speed. For example on Intel
      BayTrail we get bus speed of 315.41kHz which is ~20% slower than we would
      expect (400kHz) in fast mode (even though the timing requirements are met).
      
      This patch makes it possible for the platform code to pass more optimal
      HCNT/LCNT values to the core driver if they are known beforehand. If these
      are not set we use the calculated and more conservative values.
      Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Acked-by: NShinya Kuribayashi <skuribay@pobox.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      defc0b2f
  16. 26 6月, 2013 1 次提交
  17. 17 5月, 2013 1 次提交
    • J
      i2c: designware: fix RX FIFO overrun · e6f34cea
      Josef Ahmad 提交于
      i2c_dw_xfer_msg() pushes a number of bytes to transmit/receive
      to/from the bus into the TX FIFO.
      For master-rx transactions, the maximum amount of data that can be
      received is calculated depending solely on TX and RX FIFO load.
      
      This is racy - TX FIFO may contain master-rx data yet to be
      processed, which will eventually land into the RX FIFO. This
      data is not taken into account and the function may request more
      data than the controller is actually capable of storing.
      
      This patch ensures the driver takes into account the outstanding
      master-rx data in TX FIFO to prevent RX FIFO overrun.
      Signed-off-by: NJosef Ahmad <josef.ahmad@linux.intel.com>
      Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      Cc: stable@kernel.org
      e6f34cea
  18. 12 5月, 2012 1 次提交
  19. 29 10月, 2011 7 次提交