linux-kernel-test/drivers/i2c/busses
Kalle Jokiniemi 20c9d2c4ab i2c-omap: add mpu wake up latency constraint in i2c
While waiting for completion of the i2c transfer, the
MPU could hit OFF mode and cause several msecs of
delay that made i2c transfers fail more often. The
extra delays and subsequent re-trys cause i2c clocks
to be active more often. This has also an negative
effect on power consumption.

Created a mechanism for passing and using the
constraint setting function in driver code. The used
mpu wake up latency constraints are now set individually
per bus, and they are calculated based on clock rate
and fifo size.

Thanks to Jarkko Nikula, Moiz Sonasath, Paul Walmsley,
and Nishanth Menon for tuning out the details of
this patch.

Updates by Kevin as requested by Tony:

- Remove omap_set_i2c_constraint_func() in favor of conditionally
  adding the flag in omap_i2c_add_bus() in order to keep all the OMAP
  conditional checking in a single location.
- Update set_mpu_wkup_lat prototypes to match OMAP PM layer so
  OMAP PM function can be used directly in pdata.

Cc: Moiz Sonasath <m-sonasath@ti.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2010-05-20 00:18:59 +01:00
..
i2c-acorn.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
i2c-ali15x3.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-ali1535.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-ali1563.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-amd756-s4882.c
i2c-amd756.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-amd8111.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-at91.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-au1550.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-bfin-twi.c i2c-bfin-twi: return completion in interrupt for smbus quick transfers 2010-05-20 00:18:58 +01:00
i2c-cpm.c i2c: Fix stuck transaction on cpm-i2c driver 2009-06-22 01:43:32 +01:00
i2c-davinci.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-designware.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-elektor.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-gpio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-highlander.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-hydra.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-i801.c i2c-i801: Don't use the block buffer for I2C block writes 2010-03-13 20:56:53 +01:00
i2c-ibm_iic.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
i2c-ibm_iic.h
i2c-imx.c i2c-imx: fix error handling 2010-04-20 01:16:57 +01:00
i2c-iop3xx.c i2c: Bus drivers don't have to support I2C_M_REV_DIR_ADDR 2009-12-06 17:06:22 +01:00
i2c-iop3xx.h
i2c-isch.c i2c: convert i2c-isch to platform_device 2010-03-07 22:17:36 +01:00
i2c-ixp2000.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-mpc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-mv64xxx.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-nforce2-s4985.c
i2c-nforce2.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-nomadik.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-ocores.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-octeon.c I2C: Fix section mismatch errors in i2c-octeon.c 2010-04-30 20:52:52 +01:00
i2c-omap.c i2c-omap: add mpu wake up latency constraint in i2c 2010-05-20 00:18:59 +01:00
i2c-parport-light.c i2c-parport-light: Add SMBus alert support 2010-03-02 12:23:45 +01:00
i2c-parport.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-parport.h i2c-parport: Add SMBus alert support 2010-03-02 12:23:44 +01:00
i2c-pasemi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-pca-isa.c i2c/pca: Don't use *_interruptible 2010-01-16 20:43:13 +01:00
i2c-pca-platform.c i2c/pca: Don't use *_interruptible 2010-01-16 20:43:13 +01:00
i2c-piix4.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-pmcmsp.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-pnx.c i2c-pnx: Add stop conditions for end of transfer 2010-04-20 01:16:57 +01:00
i2c-powermac.c i2c-powermac: Be less verbose in the absence of real errors. 2010-03-13 20:56:52 +01:00
i2c-pxa.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-s3c2410.c i2c-s3c2410: Remove unconditional 1ms delay on each transfer 2010-05-20 00:18:58 +01:00
i2c-s6000.c i2c: xtensa s6000 i2c driver 2009-04-07 10:23:34 +01:00
i2c-s6000.h i2c: xtensa s6000 i2c driver 2009-04-07 10:23:34 +01:00
i2c-scmi.c i2c-scmi: Provide module aliases for automatic loading 2010-03-24 14:38:39 +01:00
i2c-sh7760.c sh: clkfwk: module_clk -> peripheral_clk rename. 2009-05-13 16:59:40 +09:00
i2c-sh_mobile.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-sibyte.c
i2c-simtec.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-sis96x.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-sis630.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-sis5595.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-stu300.c i2c-stu300: off by one issue 2010-04-20 01:17:13 +01:00
i2c-stub.c i2c-stub: Allow user to disable some commands 2009-12-06 17:06:29 +01:00
i2c-taos-evm.c i2c-taos-evm: Switch echo off to improve performance 2009-09-18 22:45:43 +02:00
i2c-tiny-usb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-versatile.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-via.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-viapro.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-xiic.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig ARM: Add Versatile Express support 2010-05-02 09:35:38 +01:00
Makefile i2c: Add support for Xilinx XPS IIC Bus Interface 2010-03-07 22:28:39 +00:00
scx200_acb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
scx200_i2c.c