1. 28 11月, 2017 1 次提交
  2. 14 10月, 2017 2 次提交
  3. 22 6月, 2017 1 次提交
  4. 10 2月, 2017 1 次提交
  5. 25 10月, 2016 1 次提交
  6. 16 9月, 2016 1 次提交
  7. 22 8月, 2016 1 次提交
  8. 27 4月, 2016 1 次提交
    • O
      i2c: imx: reduce load by using usleep_range instead of udelay · 2b899f34
      Oleksij Rempel 提交于
      Documentation/timers/timers-howto.txt recommends to use
      usleep_range on delays > 10usec. According to my test results
      with Neonode zForce touchscreen driver, usleep_range indeed
      reduces CPU load.
      
      Stats collected with "./perf record -a -g -F 1000 sleep 10"
      
      i2c-imx with udelay(50):
      34.19% 0.00% irq/220-Neonode [kernel.kallsyms] [k] irq_thread
          ---irq_thread
             |--33.75%--irq_thread_fn
             |    |--19.27%--0x7f08a878
             |    |     i2c_master_recv
             |    |     i2c_transfer
             |    |     __i2c_transfer
             |    |     i2c_imx_xfer
             |    |     |--11.71%--i2c_imx_trx_complete
             |    |     |--5.70%--i2c_imx_start <<<<----------------
             |    |     |     |--5.38%--__timer_const_udelay
             |    |     |     |      __timer_delay
             |    |     |     |      --5.07%--read_current_timer
      
      i2c-imx with usleep_range(50,100)
      29.08% 0.00% irq/220-Neonode  [kernel.kallsyms] [k] irq_thread
          ---irq_thread
             |--28.89%--irq_thread_fn
             |    |--17.21%--0x7f08a878
             |    |     i2c_master_recv
             |    |     |--17.14%--i2c_transfer
             |    |     |     __i2c_transfer
             |    |     |     i2c_imx_xfer
             |    |     |     |--14.29%--i2c_imx_trx_complete
             |    |     |     |--1.42%--i2c_imx_start <<<<----------
             |    |     |     |      |--0.71%--usleep_range
             |    |     |     |      |--0.53%--i2c_imx_bus_busy
      Signed-off-by: NOleksij Rempel <linux@rempel-privat.de>
      Signed-off-by: NDirk Behme <dirk.behme@de.bosch.com>
      Reviewed-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      2b899f34
  9. 04 3月, 2016 1 次提交
  10. 10 1月, 2016 1 次提交
  11. 05 1月, 2016 1 次提交
  12. 04 1月, 2016 4 次提交
  13. 09 12月, 2015 1 次提交
  14. 20 11月, 2015 1 次提交
  15. 24 10月, 2015 2 次提交
  16. 13 5月, 2015 1 次提交
  17. 15 3月, 2015 1 次提交
  18. 22 1月, 2015 1 次提交
  19. 14 1月, 2015 1 次提交
  20. 13 1月, 2015 1 次提交
  21. 19 11月, 2014 1 次提交
  22. 18 11月, 2014 2 次提交
  23. 10 11月, 2014 1 次提交
  24. 08 11月, 2014 1 次提交
  25. 20 10月, 2014 1 次提交
  26. 07 10月, 2014 1 次提交
  27. 30 9月, 2014 1 次提交
    • H
      i2c: imx: Add arbitration lost check · 639a26cf
      Haibo Chen 提交于
      According to the i.mx spec, for multimaster mode, if I2C is
      enabled when the bus is busy and asserts start, hardware inhibits
      the transmission, clears MSTA without signaling a stop, generate
      an interrupt, and set I2C_I2SR[IAL] to indicate a failed attempt
      to engage the bus, which means arbitration lost. In this case,
      we should first test I2C_I2SR[IAL], and clear this bit if it is
      set, and then I2C controller default to slave receive mode.
      
      This patch check the IAL bit every time before an I2c transmission.
      if IAL is set, clear it and make I2C controller to default mode.
      Signed-off-by: NHaibo Chen <haibo.chen@freescale.com>
      Acked-by: NFugang Duan <B38611@freescale.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      639a26cf
  28. 07 8月, 2014 1 次提交
  29. 03 6月, 2014 3 次提交
  30. 22 5月, 2014 1 次提交
  31. 04 1月, 2014 1 次提交
  32. 13 12月, 2013 1 次提交