linux/arch/arm/plat-omap
Govindraj.R 2fd149645e ARM: OMAP2+: UART: Remove omap_uart_can_sleep and add pm_qos
Omap_uart_can_sleep function blocks system wide low power state until
uart is active remove this func and add qos requests to prevent
MPU from transitioning.

Keep qos request to default value which will allow MPU to transition
and while uart baud rate is available calculate the latency value
from the baudrate and use the same to hold constraint while uart clocks
are enabled, and if uart is auto-idled the constraint is updated with
default constraint value allowing MPU to transition.

Qos requests are blocking notifier calls so put these requests to
work queue, also the driver uses irq_safe version of runtime API's
and callbacks can be called in interrupt disabled context.
So to avoid warn on slow path warning while using qos update
API's from runtime callbacks use the qos_work_queue.

During bootup the runtime_resume call backs might not be called and runtime
callback gets called only after uart is idled by setting the autosuspend
timeout. So qos_request from runtime resume callback might not activated during
boot if uart baudrate is calculated during bootup for console uart, so schedule
the qos_work queue once we calc_latency while configuring the uart port.

Flush and complete any pending qos jobs in work queue while suspending.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
2011-12-14 16:05:26 -08:00
..
include/plat ARM: OMAP2+: UART: Remove omap_uart_can_sleep and add pm_qos 2011-12-14 16:05:26 -08:00
clock.c arm: Add export.h to ARM specific files as required. 2011-10-31 19:30:50 -04:00
common.c ARM: 7192/1: OMAP: Fix build error for omap1_defconfig 2011-12-06 12:43:53 +00:00
counter_32k.c Convert OMAPs 32kHz clocksource implementation to use the generic MMIO 2011-07-10 23:05:34 -07:00
cpu-omap.c arm: omap: fix section mismatch warning 2011-03-02 16:32:52 -08:00
debug-devices.c ARM: gpio: convert includes of mach/gpio.h and asm/gpio.h to linux/gpio.h 2011-08-08 14:27:41 +01:00
debug-leds.c ARM: gpio: convert includes of mach/gpio.h and asm/gpio.h to linux/gpio.h 2011-08-08 14:27:41 +01:00
devices.c Merge branch 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc 2011-11-01 20:11:00 -07:00
dma.c Fix common misspellings 2011-03-31 11:26:23 -03:00
dmtimer.c ARM: OMAP: dmtimer: Include linux/module.h 2011-11-04 17:41:06 -07:00
fb.c
fb.h
i2c.c ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success 2011-11-04 17:41:07 -07:00
Kconfig ARM: GIC: Make MULTI_IRQ_HANDLER mandatory 2011-11-15 18:14:02 +00:00
mailbox.c arm: fix implicit module.h users by adding it to arch/arm as required. 2011-10-31 19:30:50 -04:00
Makefile ARM: OMAP: am33xx: Update common OMAP machine specific sources 2011-12-13 10:46:43 -08:00
mcbsp.c ARM: OMAP: mcbsp: Start generalize signal muxing functions 2011-09-26 17:49:07 -07:00
mux.c
ocpi.c
omap_device.c Merge branch 'fixes-modulesplit' into fixes 2011-11-07 12:27:23 -08:00
omap-pm-noop.c ARM: OMAP: change get_context_loss_count ret value to int 2011-11-04 17:41:07 -07:00
sram.c ARM: OMAP: Map SRAM later on with ioremap_exec() 2011-10-19 16:34:10 -07:00
sram.h
usb.c