linux-kernel-test/arch/arm
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
..
boot Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
common Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
configs Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
include/asm Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-05-19 11:37:22 -07:00
kernel Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2010-05-19 11:37:22 -07:00
lib ARM: 6110/1: Fix Thumb-2 kernel builds when UACCESS_WITH_MEMCPY is enabled 2010-05-08 10:45:26 +01:00
mach-aaec2000 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
mach-at91 ARM: remove 'select GENERIC_TIME' 2010-05-18 08:17:56 +01:00
mach-bcmring Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-clps711x ARM: Remove useless linux/bootmem.h includes 2010-05-15 15:03:48 +01:00
mach-cns3xxx ARM: cns3xxx: Add CNS3420 Validation Board support 2010-05-02 21:55:49 +04:00
mach-davinci Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci 2010-05-19 12:08:50 -07:00
mach-dove
mach-ebsa110
mach-ep93xx Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-footbridge
mach-gemini
mach-h720x 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
mach-integrator Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-iop13xx 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
mach-iop32x Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-iop33x 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
mach-ixp4xx Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-ixp23xx 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
mach-ixp2000 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
mach-kirkwood [ARM] Kirkwood: merge net2big_v2 and net5big_v2 board setups 2010-05-03 17:03:18 -04:00
mach-ks8695
mach-l7200
mach-lh7a40x 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
mach-loki
mach-mmp [ARM] mmp: append device support in jasper 2010-05-11 17:25:06 +02:00
mach-msm arm: msm: allow ARCH_MSM to have v7 cpus 2010-05-03 11:15:00 -07:00
mach-mv78xx0
mach-mx1
mach-mx2
mach-mx3 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 2010-04-08 10:47:05 +01:00
mach-mx5 mx5: Fix build error for mx51_defconfig 2010-04-14 09:04:15 +02:00
mach-mx25
mach-mxc91231
mach-netx 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
mach-nomadik ARM: 6104/1: nomadik-gpio: use clk API 2010-05-06 20:17:20 +01:00
mach-ns9xxx 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
mach-nuc93x
mach-omap1 Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-omap2 Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-orion5x [ARM] dns323-setup.c: fix WARN() when booting 2010-05-03 16:34:47 -04:00
mach-pnx4008 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
mach-pxa [ARM] pxa: make it clear by converting MMC 'delay_detect' to millisecond 2010-05-11 17:25:04 +02:00
mach-realview Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-rpc 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
mach-s3c24a0/include/mach
mach-s3c64xx ARM: SAMSUNG: Move s3c64xx dev-ts.c to plat-samsung and rename configuration 2010-05-19 18:25:30 +09:00
mach-s3c2400
mach-s3c2410 ARM: SAMSUNG: Implements cfg_gpio function for Samsung touchscreen 2010-05-19 18:25:22 +09:00
mach-s3c2412 ARM: Merge for-2635/fb-updates1 2010-05-19 18:04:11 +09:00
mach-s3c2416 ARM: SMDK2416: Add support for framebuffer device and ensure correct setup 2010-05-18 18:46:30 +09:00
mach-s3c2440 ARM: Merge for-2635/gpio2 2010-05-19 18:04:08 +09:00
mach-s3c2443 ARM: Merge for-2635/fb-updates1 2010-05-19 18:04:11 +09:00
mach-s5p6440 ARM: SAMSUNG: Copy common I2C0 device helpers to machine directories 2010-05-19 18:16:04 +09:00
mach-s5p6442 ARM: SAMSUNG: Copy common I2C0 device helpers to machine directories 2010-05-19 18:16:04 +09:00
mach-s5pc100 ARM: S5PC100: Move i2c helpers from plat-s5pc1xx to mach-s5pc100 2010-05-19 18:23:37 +09:00
mach-s5pv210 ARM: SAMSUNG: Copy common I2C0 device helpers to machine directories 2010-05-19 18:16:04 +09:00
mach-sa1100 ARM: 6076/1: SA1100: add processor check to sa1110-cpufreq driver 2010-05-01 11:32:59 +01:00
mach-shark
mach-shmobile ARM: remove 'select GENERIC_TIME' 2010-05-18 08:17:56 +01:00
mach-spear3xx ARM: 6091/1: ST SPEAr: Adding support for shared irq layer 2010-05-04 16:54:54 +01:00
mach-spear6xx ARM: 6091/1: ST SPEAr: Adding support for shared irq layer 2010-05-04 16:54:54 +01:00
mach-stmp37xx
mach-stmp378x
mach-u300 Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-ux500 ARM: 6104/1: nomadik-gpio: use clk API 2010-05-06 20:17:20 +01:00
mach-versatile Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
mach-vexpress ARM: 6057/1: Realview: register PMU IRQs during board initialisation 2010-05-02 09:35:40 +01:00
mach-w90x900 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
mm Merge branch 'for-linus/samsung4' of git://git.fluff.org/bjdooks/linux 2010-05-19 11:49:33 -07:00
nwfpe Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
oprofile ARM: 6074/1: oprofile: convert from sysdev to platform device 2010-05-17 11:53:59 +01:00
plat-iop ARM: 6048/1: ARM: iop3xx: register PMU IRQs during board initialisation 2010-04-29 18:03:49 +01:00
plat-mxc V4L/DVB: mx1-camera: compile fix 2010-05-06 19:20:51 -03:00
plat-nomadik Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
plat-omap i2c-omap: add mpu wake up latency constraint in i2c 2010-05-20 00:18:59 +01:00
plat-orion
plat-pxa Merge branch 'devel-stable' into devel 2010-05-17 17:24:04 +01:00
plat-s3c24xx ARM: SAMSUNG: Implements cfg_gpio function for Samsung touchscreen 2010-05-19 18:25:22 +09:00
plat-s5p ARM: S5PC100: Pre-requisite clock patch for plat-s5pc1xx to plat-s5p move 2010-05-19 18:22:47 +09:00
plat-s5pc1xx ARM: S5PC100: Move i2c helpers from plat-s5pc1xx to mach-s5pc100 2010-05-19 18:23:37 +09:00
plat-samsung ARM: SAMSUNG: Move s3c64xx dev-ts.c to plat-samsung and rename configuration 2010-05-19 18:25:30 +09:00
plat-spear ARM: 6091/1: ST SPEAr: Adding support for shared irq layer 2010-05-04 16:54:54 +01:00
plat-stmp3xxx 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
plat-versatile ARM: Indirect round/set_rate operations through clk structure 2010-05-02 09:35:38 +01:00
tools ARM: Update mach-types 2010-05-01 11:32:58 +01:00
vfp ARM: 6050/1: VFP: fix the SMP versions of vfp_{sync,flush}_hwstate 2010-04-14 11:11:30 +01:00
Kconfig Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci 2010-05-19 12:08:50 -07:00
Kconfig-nommu
Kconfig.debug
Makefile Merge branch 'for-linus/samsung4' of git://git.fluff.org/bjdooks/linux 2010-05-19 11:49:33 -07:00