Skip to content
Snippets Groups Projects
  1. Feb 09, 2017
  2. Oct 25, 2016
  3. Sep 15, 2016
  4. Aug 22, 2016
  5. Apr 26, 2016
    • Oleksij Rempel's avatar
      i2c: imx: reduce load by using usleep_range instead of udelay · 2b899f34
      Oleksij Rempel authored
      
      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: default avatarOleksij Rempel <linux@rempel-privat.de>
      Signed-off-by: default avatarDirk Behme <dirk.behme@de.bosch.com>
      Reviewed-by: default avatarVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      2b899f34
  6. Mar 03, 2016
  7. Jan 10, 2016
  8. Jan 04, 2016
  9. Jan 03, 2016
  10. Dec 09, 2015
  11. Nov 20, 2015
  12. Oct 23, 2015
  13. May 12, 2015
  14. Mar 15, 2015
  15. Jan 22, 2015
  16. Jan 14, 2015
  17. Jan 13, 2015
  18. Nov 19, 2014
  19. Nov 18, 2014
  20. Nov 10, 2014
  21. Nov 07, 2014
  22. Oct 20, 2014
  23. Oct 06, 2014
  24. Sep 29, 2014
    • Haibo Chen's avatar
      i2c: imx: Add arbitration lost check · 639a26cf
      Haibo Chen authored
      
      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: default avatarHaibo Chen <haibo.chen@freescale.com>
      Acked-by: default avatarFugang Duan <B38611@freescale.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      639a26cf
  25. Aug 06, 2014
  26. Jun 02, 2014
  27. May 22, 2014
  28. Jan 03, 2014
  29. Dec 12, 2013
  30. Oct 10, 2013
  31. Aug 23, 2013
    • Wolfram Sang's avatar
      i2c: move OF helpers into the core · 687b81d0
      Wolfram Sang authored
      
      I2C of helpers used to live in of_i2c.c but experience (from SPI) shows
      that it is much cleaner to have this in the core. This also removes a
      circular dependency between the helpers and the core, and so we can
      finally register child nodes in the core instead of doing this manually
      in each driver. So, fix the drivers and documentation, too.
      
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      687b81d0
  32. Aug 19, 2013
  33. Aug 15, 2013
Loading