[PATCH v5 00/15] OMAP2+: Serial: Runtime adaptation + cleanup
Govindraj
govindraj.ti at gmail.com
Thu Sep 29 04:42:25 EDT 2011
On Wed, Sep 21, 2011 at 5:41 PM, Govindraj.R <govindraj.raja at ti.com> wrote:
> Converting uart driver to adapt to pm runtime API's.
> Code re-org + cleanup.
> Moving some functionality from serial.c to omap-serial.c
>
> Changes involves:
> ================
> 1.) Cleaning up certain uart calls from sram_idle func.
> 2.) Removed all types of uart clock handling code from serial.c
> 3.) Using hwmod_mux API enable wakeup capability for uart pad during
> hwmod_idle state i.e., when uart clocks are disabled we can enable
> io-pad wakeup capability for uart if mux_data is available for
> given uart. Also during during resume from idle call to uart we need
> to enable clocks back conditionally and this can be done only when io-pad
> wakeup event bit is set for uart_rx pad. So we need a hwmod API
> which can probe the uart pad and let us know whether a uart wakeup
> happened. So omap_hmwod_pad_wakeup_status API is added to meet this
> requirement.
> 3.) Adapted omap-serial driver to use runtime API's.
> 4.) Modify serial_init calls to accept uart parameters from board file.
> Like dma_usage, rx_timeout, dma_rx_pollrate, auto_suspend_timeout etc.
> 5.) Use the omap_prm driver with irq_chaining to wake up uart after clocks are
> cut.
>
> Patch series is based on 3.1.0-rc4 + omap_device fixes.
> From Kevin's tree.
> git://gitorious.org/khilman/linux-omap-pm.git for_3.2/omap_device
>
> Also the patch series depends on Tero's Irq_chaining patches.
> Dependent irq_chaining patches are as below.
>
> 3d5b543 omap3: pm: use prcm chain handler
> c00b340 OMAP2+: mux: add support for PAD wakeup interrupts
> db6397c power: omap-prm: added chain interrupt handler
> b3f8628 TEMP: OMAP4xxx: hwmod data: add PRM hwmod
> 61ec0fc TEMP: OMAP3xxx: hwmod data: add PRM hwmod
> a1ecf8c power: add omap prm driver skeleton
>
> Same combination is hosted at:
> git://gitorious.org/runtime_3-0/runtime_3-0.git v5_uart_irqchn
>
Update:
-----------
This patch series was tested against Tero's Irq chaining v9 [1]
tmp patches where dropped from tero's series and applied
on top v5 uart_runtime patches.
same combination is hosted here [2]
--
Thanks,
Govindraj.R
[1]:
43c5073 omap3+: add omap prm driver initialization
dad7fc5 OMAP3: pm: do not enable PRCM MPU interrupts manually
c205290 omap3: pm: use prcm chain handler
453656e OMAP2+: mux: add support for PAD wakeup interrupts
563bed3 mfd: omap-prm: added suspend prepare and complete callbacks
ff8770a mfd: omap-prm: added chain interrupt handler
46386a9 mfd: omap-prm: add driver skeleton
bdc8ddf TEMP: OMAP4xxx: hwmod data: add PRM hwmod
8cc0382 TEMP: OMAP3xxx: hwmod data: add PRM hwmod
[2]: git://gitorious.org/runtime_3-0/runtime_3-0.git v5_uart_runtime
> Ensure CONFIG_OMAP_PRM is set while testing irq_chaining with uart.
>
> Changes from v4:
> ---------------
>
> 1.) Fixing v4 comments from Kevin.
> Spilt into smaller logical patches.
> 2.) Using Irq_chaining OMAP_PRM driver for waking up uart.
>
> Testing updates:
> ----------------
> 3430SDP:
> retention, off_mode, system_wide suspend is tested.
> (earlyprintk & no_console_suspend checked)
>
> OMAP3630 - Zoom3:
> pm-retention checked with quart/omap-uart3
> [Also tested with uart3 as console uart and pm-ret checked]
>
> OMAP4430-SDP: Boot tested.
> OMAP2420/2430SDP: Boot tested.
>
> Deepak K (1):
> OMAP2+: UART: Allow UART parameters to be configured from board file.
>
> Govindraj.R (13):
> OMAP2+: hwmod: Add API to enable IO ring wakeup.
> OMAP2+: hwmod: Add API to check IO PAD wakeup status
> OMAP2+: UART: cleanup + remove uart pm specific API
> OMAP2+: UART: cleanup 8250 console driver support
> OMAP2+: UART: Cleanup part of clock gating mechanism for uart
> OMAP2+: UART: Remove certain feilds from omap_uart_state struct
> OMAP2+: UART: Add default mux for all uarts.
> OMAP2+: UART: Store certain reg values to port structure
> OMAP2+: UART: Add runtime pm support for omap-serial driver
> OMAP2+: UART: Move errata handling from serial.c to omap-serial
> OMAP2+: UART: Take console_lock in suspend path if not taken
> OMAP2+: UART: Enable back uart clocks with runtime API for early
> console
> OMAP2+: UART: Do not gate uart clocks if used for debug_prints
>
> Jon Hunter (1):
> OMAP2+: UART: Make the RX_TIMEOUT for DMA configurable for each UART
>
> arch/arm/mach-omap2/board-3430sdp.c | 100 +---
> arch/arm/mach-omap2/board-4430sdp.c | 8 +-
> arch/arm/mach-omap2/board-n8x0.c | 6 +-
> arch/arm/mach-omap2/board-omap4panda.c | 8 +-
> arch/arm/mach-omap2/mux.c | 30 +
> arch/arm/mach-omap2/mux.h | 13 +
> arch/arm/mach-omap2/omap_hwmod.c | 66 ++
> arch/arm/mach-omap2/pm24xx.c | 19 -
> arch/arm/mach-omap2/pm34xx.c | 24 -
> arch/arm/mach-omap2/serial.c | 933 +++++++------------------
> arch/arm/plat-omap/include/plat/omap-serial.h | 30 +-
> arch/arm/plat-omap/include/plat/omap_hwmod.h | 1 +
> arch/arm/plat-omap/include/plat/serial.h | 11 +-
> drivers/tty/serial/omap-serial.c | 305 +++++++--
> 14 files changed, 654 insertions(+), 900 deletions(-)
>
> --
> 1.7.4.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-serial" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
More information about the linux-arm-kernel
mailing list