Re: 3.3-rc1 console lag (was: Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup)
Hi Paul, On Wed, Jan 25, 2012 at 9:00 PM, Paul Walmsley p...@pwsan.com wrote: ... Ensure CONFIG_OMAP_PRM is set while testing irq_chaining with uart. And for pm_qos usage ensure CONFIG_CPU_IDLE is selected other wise console might be sluggish. There is console lag for omap2plus_defconfig given that CONFIG_CPU_IDLE is not enabled. Is the intention to force CPU_IDLE into the defconfig or find an alternative for the new pm_qos when cpu idle is disabled. Seen on beagle-xm and 3.3-rc1. Try this http://marc.info/?l=linux-arm-kernelm=132754676814391w=2 I tried the series and the console returned to normal, I can confirm that the following patch helps: tty: serial: OMAP: use a 1-byte RX FIFO threshold in PIO mode Thanks, Omar -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
3.3-rc1 console lag (was: Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup)
Hi, On Fri, Nov 11, 2011 at 3:57 AM, Govindraj.R govindraj.r...@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 ... Ensure CONFIG_OMAP_PRM is set while testing irq_chaining with uart. And for pm_qos usage ensure CONFIG_CPU_IDLE is selected other wise console might be sluggish. There is console lag for omap2plus_defconfig given that CONFIG_CPU_IDLE is not enabled. Is the intention to force CPU_IDLE into the defconfig or find an alternative for the new pm_qos when cpu idle is disabled. Seen on beagle-xm and 3.3-rc1. Regards, Omar -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: 3.3-rc1 console lag (was: Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup)
On Wed, 25 Jan 2012, Ramirez Luna, Omar wrote: Hi, On Fri, Nov 11, 2011 at 3:57 AM, Govindraj.R govindraj.r...@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 ... Ensure CONFIG_OMAP_PRM is set while testing irq_chaining with uart. And for pm_qos usage ensure CONFIG_CPU_IDLE is selected other wise console might be sluggish. There is console lag for omap2plus_defconfig given that CONFIG_CPU_IDLE is not enabled. Is the intention to force CPU_IDLE into the defconfig or find an alternative for the new pm_qos when cpu idle is disabled. Seen on beagle-xm and 3.3-rc1. Try this http://marc.info/?l=linux-arm-kernelm=132754676814391w=2 - Paul -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
On Wed, Dec 14, 2011 at 12:56 AM, Kevin Hilman khil...@ti.com wrote: Govindraj govindraj...@gmail.com writes: [...] I have re-based this patch series against LO master commit id: deee6d5359969a0ce4e2760cfd7b9f379bd5698a Same is available here [1] I have tested this patch series along with: 1.) Tero's V11 irq chaining series http://www.spinics.net/lists/linux-omap/msg61445.html (This patch series is used for uart wakeup handling using prcm_irq chaining) 2.) Rajendra's hwmod change http://www.spinics.net/lists/arm-kernel/msg148632.html (This patch handles init_no_idle flag setting without this patch there will be boot warning however all pm features will work after boot up.) 3.) Vishwa's io daisy chain changes. http://permalink.gmane.org/gmane.linux.ports.arm.omap/65500 (tested with and without this patch series pm features works). Same combination of patches based on above commit id used for testing is available here [2]. Please have a closer look at your branch. The second commit[1] commits the .rej file from a failed patch apply, so obviously doesn't do what was intended. Sorry my bad I have refreshed the uart runtime branch [1] test branch [2]. stat for uart patches for the both the branches as here [3] -- Thanks, Govindraj.R [1]: git://gitorious.org/runtime_3-0/runtime_3-0.git for_3_3/lo_rc4_uartruntime [2]: git://gitorious.org/runtime_3-0/runtime_3-0.git for_3_3/tmp_rc4_uart_pm_intg [3]: uart runtime branch ubnuser@ula0131859:~/clones/runtime_3-0$ git diff --stat deee6d5 arch/arm/mach-omap2/board-3430sdp.c | 100 +--- arch/arm/mach-omap2/board-4430sdp.c | 68 +-- arch/arm/mach-omap2/board-n8x0.c |6 +- arch/arm/mach-omap2/board-omap4panda.c| 68 +-- arch/arm/mach-omap2/cpuidle34xx.c |6 - arch/arm/mach-omap2/pm24xx.c | 20 - arch/arm/mach-omap2/pm34xx.c | 43 -- arch/arm/mach-omap2/serial.c | 907 +++-- arch/arm/plat-omap/include/plat/omap-serial.h | 37 +- arch/arm/plat-omap/include/plat/serial.h | 10 +- drivers/tty/serial/omap-serial.c | 343 -- 11 files changed, 584 insertions(+), 1024 deletions(-) tmp_intg_test branch ubnuser@ula0131859:~/clones/runtime_3-0$ git diff --stat deee6d5..aad8423 arch/arm/mach-omap2/board-3430sdp.c | 100 +--- arch/arm/mach-omap2/board-4430sdp.c | 68 +-- arch/arm/mach-omap2/board-n8x0.c |6 +- arch/arm/mach-omap2/board-omap4panda.c| 68 +-- arch/arm/mach-omap2/cpuidle34xx.c |6 - arch/arm/mach-omap2/pm24xx.c | 20 - arch/arm/mach-omap2/pm34xx.c | 43 -- arch/arm/mach-omap2/serial.c | 907 +++-- arch/arm/plat-omap/include/plat/omap-serial.h | 37 +- arch/arm/plat-omap/include/plat/serial.h | 10 +- drivers/tty/serial/omap-serial.c | 343 -- 11 files changed, 584 insertions(+), 1024 deletions(-) -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
On Wed, Dec 14, 2011 at 5:02 AM, Kevin Hilman khil...@ti.com wrote: Govindraj govindraj...@gmail.com writes: [...] I have re-based this patch series against LO master commit id: deee6d5359969a0ce4e2760cfd7b9f379bd5698a Same is available here [1] I have tested this patch series along with: 1.) Tero's V11 irq chaining series http://www.spinics.net/lists/linux-omap/msg61445.html (This patch series is used for uart wakeup handling using prcm_irq chaining) 2.) Rajendra's hwmod change http://www.spinics.net/lists/arm-kernel/msg148632.html (This patch handles init_no_idle flag setting without this patch there will be boot warning however all pm features will work after boot up.) Actually, without Rajendra's patch all features do not work. I don't get UART console wakeups from idle (with runtime PM autosuspend enabled) on 3430/n900 or 3530/Overo without Rajendra's patch. okay, I forgot last time when I tested without rajendra's patch was with a custom activate func. and now we have removed it. Yes you are correct Rajendra's patch + Tero's v11 series is a needed for proper uart_runtime_pm functioning. -- Thanks, Govindraj.R -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
Govindraj govindraj...@gmail.com writes: On Wed, Dec 14, 2011 at 12:56 AM, Kevin Hilman khil...@ti.com wrote: Govindraj govindraj...@gmail.com writes: [...] I have re-based this patch series against LO master commit id: deee6d5359969a0ce4e2760cfd7b9f379bd5698a Same is available here [1] I have tested this patch series along with: 1.) Tero's V11 irq chaining series http://www.spinics.net/lists/linux-omap/msg61445.html (This patch series is used for uart wakeup handling using prcm_irq chaining) 2.) Rajendra's hwmod change http://www.spinics.net/lists/arm-kernel/msg148632.html (This patch handles init_no_idle flag setting without this patch there will be boot warning however all pm features will work after boot up.) 3.) Vishwa's io daisy chain changes. http://permalink.gmane.org/gmane.linux.ports.arm.omap/65500 (tested with and without this patch series pm features works). Same combination of patches based on above commit id used for testing is available here [2]. Please have a closer look at your branch. The second commit[1] commits the .rej file from a failed patch apply, so obviously doesn't do what was intended. Sorry my bad I have refreshed the uart runtime branch [1] test branch [2]. Can you add another patch which fixes these compiler warnings: /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c: In function 'serial_omap_irq': /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:228:29: warning: 'ch' may be used uninitialized in this function [-Wuninitialized] /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:176:16: note: 'ch' was declared here /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:228:29: warning: 'ch' may be used uninitialized in this function [-Wuninitialized] /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:176:16: note: 'ch' was declared here Kevin -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
On Wed, Dec 14, 2011 at 8:59 PM, Kevin Hilman khil...@ti.com wrote: Govindraj govindraj...@gmail.com writes: On Wed, Dec 14, 2011 at 12:56 AM, Kevin Hilman khil...@ti.com wrote: Govindraj govindraj...@gmail.com writes: [...] I have re-based this patch series against LO master commit id: deee6d5359969a0ce4e2760cfd7b9f379bd5698a Same is available here [1] I have tested this patch series along with: 1.) Tero's V11 irq chaining series http://www.spinics.net/lists/linux-omap/msg61445.html (This patch series is used for uart wakeup handling using prcm_irq chaining) 2.) Rajendra's hwmod change http://www.spinics.net/lists/arm-kernel/msg148632.html (This patch handles init_no_idle flag setting without this patch there will be boot warning however all pm features will work after boot up.) 3.) Vishwa's io daisy chain changes. http://permalink.gmane.org/gmane.linux.ports.arm.omap/65500 (tested with and without this patch series pm features works). Same combination of patches based on above commit id used for testing is available here [2]. Please have a closer look at your branch. The second commit[1] commits the .rej file from a failed patch apply, so obviously doesn't do what was intended. Sorry my bad I have refreshed the uart runtime branch [1] test branch [2]. Can you add another patch which fixes these compiler warnings: /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c: In function 'serial_omap_irq': /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:228:29: warning: 'ch' may be used uninitialized in this function [-Wuninitialized] /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:176:16: note: 'ch' was declared here /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:228:29: warning: 'ch' may be used uninitialized in this function [-Wuninitialized] /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:176:16: note: 'ch' was declared here Here is the patch [1] and pushed to git://gitorious.org/runtime_3-0/runtime_3-0.git for_3_3/lo_rc4_uartruntime -- Thanks, Govindraj.R [1]: From 3a40f4e1a4c6db40d06cc6c5536ec06e9e5daf3d Mon Sep 17 00:00:00 2001 From: Govindraj.R govindraj.r...@ti.com Date: Wed, 14 Dec 2011 21:24:11 +0530 Subject: [PATCH] OMAP2+: UART: Fix compilation/sparse warnings Fixes below compilation warning. drivers/tty/serial/omap-serial.c: In function 'serial_omap_irq': drivers/tty/serial/omap-serial.c:228:29: warning: 'ch' may be used uninitialized in this function [-Wuninitialized] Fix below sparse warning. drivers/tty/serial/omap-serial.c:392:52: warning: incorrect type in argument 2 (different signedness) drivers/tty/serial/omap-serial.c:392:52:expected int *status drivers/tty/serial/omap-serial.c:392:52:got unsigned int *noident Reported-by: Kevin Hilman khil...@ti.com Signed-off-by: Govindraj.R govindraj.r...@ti.com --- drivers/tty/serial/omap-serial.c |7 --- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c index f3ff0ca..7b0303d 100644 --- a/drivers/tty/serial/omap-serial.c +++ b/drivers/tty/serial/omap-serial.c @@ -166,11 +166,12 @@ static void serial_omap_stop_rx(struct uart_port *port) pm_runtime_put_autosuspend(up-pdev-dev); } -static inline void receive_chars(struct uart_omap_port *up, int *status) +static inline void receive_chars(struct uart_omap_port *up, + unsigned int *status) { struct tty_struct *tty = up-port.state-port.tty; - unsigned int flag; - unsigned char ch, lsr = *status; + unsigned int flag, lsr = *status; + unsigned char ch = 0; int max_count = 256; do { -- 1.7.5.4 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
Govindraj govindraj...@gmail.com writes: On Wed, Dec 14, 2011 at 8:59 PM, Kevin Hilman khil...@ti.com wrote: Govindraj govindraj...@gmail.com writes: On Wed, Dec 14, 2011 at 12:56 AM, Kevin Hilman khil...@ti.com wrote: Govindraj govindraj...@gmail.com writes: [...] I have re-based this patch series against LO master commit id: deee6d5359969a0ce4e2760cfd7b9f379bd5698a Same is available here [1] I have tested this patch series along with: 1.) Tero's V11 irq chaining series http://www.spinics.net/lists/linux-omap/msg61445.html (This patch series is used for uart wakeup handling using prcm_irq chaining) 2.) Rajendra's hwmod change http://www.spinics.net/lists/arm-kernel/msg148632.html (This patch handles init_no_idle flag setting without this patch there will be boot warning however all pm features will work after boot up.) 3.) Vishwa's io daisy chain changes. http://permalink.gmane.org/gmane.linux.ports.arm.omap/65500 (tested with and without this patch series pm features works). Same combination of patches based on above commit id used for testing is available here [2]. Please have a closer look at your branch. The second commit[1] commits the .rej file from a failed patch apply, so obviously doesn't do what was intended. Sorry my bad I have refreshed the uart runtime branch [1] test branch [2]. Can you add another patch which fixes these compiler warnings: /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c: In function 'serial_omap_irq': /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:228:29: warning: 'ch' may be used uninitialized in this function [-Wuninitialized] /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:176:16: note: 'ch' was declared here /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:228:29: warning: 'ch' may be used uninitialized in this function [-Wuninitialized] /work/kernel/omap/pm/drivers/tty/serial/omap-serial.c:176:16: note: 'ch' was declared here Here is the patch [1] and pushed to git://gitorious.org/runtime_3-0/runtime_3-0.git for_3_3/lo_rc4_uartruntime Thanks! Kevin -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
Hi Tony/kevin, On Fri, Nov 11, 2011 at 3:27 PM, Govindraj.R govindraj.r...@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.2-rc1. Patch series depends on *Tero's v9 Irq_chaining patches*. Dependent irq_chaining patches are as below. 89ac62b omap3+: add omap prm driver initialization 170431f OMAP3: pm: do not enable PRCM MPU interrupts manually 9aba1b0 omap3: pm: use prcm chain handler 435481f OMAP2+: mux: add support for PAD wakeup interrupts 5b2d361 mfd: omap-prm: added suspend prepare and complete callbacks aa55c41 mfd: omap-prm: added chain interrupt handler d1db904 mfd: omap-prm: add driver skeleton 31d056c TEMP: OMAP4xxx: hwmod data: add PRM hwmod 19ec3bc TEMP: OMAP3xxx: hwmod data: add PRM hwmod 9a89688 OMAP2+: hwmod: Add API to check IO PAD wakeup status 78e8b65 OMAP2+: hwmod: Add API to enable IO ring wakeup. Same combination is hosted at: git://gitorious.org/runtime_3-0/runtime_3-0.git 3.2-rc1_uart_runtime Ensure CONFIG_OMAP_PRM is set while testing irq_chaining with uart. And for pm_qos usage ensure CONFIG_CPU_IDLE is selected other wise console might be sluggish. I have re-based this patch series against LO master commit id: deee6d5359969a0ce4e2760cfd7b9f379bd5698a Same is available here [1] I have tested this patch series along with: 1.) Tero's V11 irq chaining series http://www.spinics.net/lists/linux-omap/msg61445.html (This patch series is used for uart wakeup handling using prcm_irq chaining) 2.) Rajendra's hwmod change http://www.spinics.net/lists/arm-kernel/msg148632.html (This patch handles init_no_idle flag setting without this patch there will be boot warning however all pm features will work after boot up.) 3.) Vishwa's io daisy chain changes. http://permalink.gmane.org/gmane.linux.ports.arm.omap/65500 (tested with and without this patch series pm features works). Same combination of patches based on above commit id used for testing is available here [2]. -- Thanks, Govindraj.R [1]: git://gitorious.org/runtime_3-0/runtime_3-0.git for_3_3/lo_rc4_uartruntime [2]: git://gitorious.org/runtime_3-0/runtime_3-0.git for_3_3/tmp_rc4_uart_pm_intg Changes from v7: --- http://www.mail-archive.com/linux-omap@vger.kernel.org/msg57804.html http://www.mail-archive.com/linux-omap@vger.kernel.org/msg58209.html http://www.spinics.net/lists/linux-omap/msg59978.html http://www.spinics.net/lists/linux-serial/msg04772.html Testing updates: OMAP2420/2430SDP: Boot tested. OMAP3430SDP: 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] BeagleBoard XM Rev C(3630): retention, off_mode, system_wide suspend is tested. Deepak K (1): OMAP2+: UART: Allow UART parameters to be configured from board file. Govindraj.R (18): 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: Add default mux for all uarts. OMAP2+: UART: Remove mapbase/membase fields from pdata. OMAP2+: UART: Add runtime pm support for omap-serial driver OMAP2+: UART: Remove context_save and move context restore to driver OMAP2+: UART: Ensure all reg values configured are available from port structure OMAP2+: UART: Remove uart reset function. OMAP2+: UART: Get context loss count to context restore OMAP2+: UART: Move errata handling from serial.c to omap-serial OMAP2+: UART: Add wakeup mechanism for omap-uarts OMAP2+: UART: Remove old and unused clocks handling funcs OMAP2+: UART: remove temporary variable used to count uart instance OMAP2+: UART: Use custom
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
Hi Kevin, On Wednesday 07 December 2011 05:51 AM, Kevin Hilman wrote: Govindraj.Rgovindraj.r...@ti.com writes: Converting uart driver to adapt to pm runtime API's. Code re-org + cleanup. Moving some functionality from serial.c to omap-serial.c Alan, can you confirm your Ack's are still valid on the drivers/tty parts of this series? It has gone through quite a few changes since your original ack. Greg, are you ok with this series merging via the OMAP tree since it is changing arch/arm/mach-omap2/* code as well as the driver, and should go together. If so, with your ack (on the drivers/tty/* parts), I'll handle this series through the OMAP tree. I had a series to add DT support for omap-serial, which I did on top of the runtime series from Govindraj. Its already acked by Rob Herring for the DT parts. Would you be able to pick those up as well if its fine with Greg? regards, Rajendra Thanks, Kevin -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
Rajendra Nayak rna...@ti.com writes: Hi Kevin, On Wednesday 07 December 2011 05:51 AM, Kevin Hilman wrote: Govindraj.Rgovindraj.r...@ti.com writes: Converting uart driver to adapt to pm runtime API's. Code re-org + cleanup. Moving some functionality from serial.c to omap-serial.c Alan, can you confirm your Ack's are still valid on the drivers/tty parts of this series? It has gone through quite a few changes since your original ack. Greg, are you ok with this series merging via the OMAP tree since it is changing arch/arm/mach-omap2/* code as well as the driver, and should go together. If so, with your ack (on the drivers/tty/* parts), I'll handle this series through the OMAP tree. I had a series to add DT support for omap-serial, which I did on top of the runtime series from Govindraj. Its already acked by Rob Herring for the DT parts. Would you be able to pick those up as well if its fine with Greg? Yes, those should go on top of Govindraj's series. I'm OK with taking them, but I'd like to see them rebased on Govidraj's latest and see several Tested-by reports from various people since it is pretty late in the merge cycle. Kevin -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
Govindraj govindraj...@gmail.com writes: [...] I have re-based this patch series against LO master commit id: deee6d5359969a0ce4e2760cfd7b9f379bd5698a Same is available here [1] I have tested this patch series along with: 1.) Tero's V11 irq chaining series http://www.spinics.net/lists/linux-omap/msg61445.html (This patch series is used for uart wakeup handling using prcm_irq chaining) 2.) Rajendra's hwmod change http://www.spinics.net/lists/arm-kernel/msg148632.html (This patch handles init_no_idle flag setting without this patch there will be boot warning however all pm features will work after boot up.) 3.) Vishwa's io daisy chain changes. http://permalink.gmane.org/gmane.linux.ports.arm.omap/65500 (tested with and without this patch series pm features works). Same combination of patches based on above commit id used for testing is available here [2]. Please have a closer look at your branch. The second commit[1] commits the .rej file from a failed patch apply, so obviously doesn't do what was intended. Kevin [1] From ae5d13382a5784f35f5bfe05413fbec4632e58f0 Mon Sep 17 00:00:00 2001 From: Govindraj.R govindraj.r...@ti.com Date: Tue, 13 Sep 2011 13:32:32 +0530 Subject: [PATCH] OMAP2+: UART: cleanup 8250 console driver support We had been using traditional 8250 driver as uart console driver prior to omap-serial driver. Since we have omap-serial driver in mainline kernel for some time now it has been used as default uart console driver on omap2+ platforms. Remove 8250 support for omap-uarts. Serial_in and serial_out override for 8250 serial driver is also removed. Empty fifo read fix is already taken care with omap-serial driver with data ready bit check from LSR reg before reading RX fifo. Also waiting for THRE(transmit hold reg empty) is done with wait_for_xmitr in omap-serial driver. Serial_in/out overrides are not neceesary for omap-serial driver and things that are taken with omap-serial driver are removed here. Remove headers that were necessary to support 8250 support and remove all config bindings done to keep 8250 backward compatibility while adding omap-serial driver. Remove omap_uart_reset needed for 8250 autoconf. Signed-off-by: Govindraj.R govindraj.r...@ti.com --- arch/arm/mach-omap2/serial.c.rej | 26 ++ 1 files changed, 26 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-omap2/serial.c.rej diff --git a/arch/arm/mach-omap2/serial.c.rej b/arch/arm/mach-omap2/serial.c.rej new file mode 100644 index 000..2325897 --- /dev/null +++ b/arch/arm/mach-omap2/serial.c.rej @@ -0,0 +1,26 @@ +--- arch/arm/mach-omap2/serial.c arch/arm/mach-omap2/serial.c +@@ -19,23 +19,17 @@ + */ + #include linux/kernel.h + #include linux/init.h +-#include linux/serial_reg.h + #include linux/clk.h + #include linux/io.h + #include linux/delay.h + #include linux/platform_device.h + #include linux/slab.h +-#include linux/serial_8250.h + #include linux/pm_runtime.h + #include linux/console.h + +-#ifdef CONFIG_SERIAL_OMAP + #include plat/omap-serial.h +-#endif +- + #include plat/common.h + #include plat/board.h +-#include plat/clock.h + #include plat/dma.h + #include plat/omap_hwmod.h + #include plat/omap_device.h -- 1.7.6 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
Govindraj govindraj...@gmail.com writes: [...] I have re-based this patch series against LO master commit id: deee6d5359969a0ce4e2760cfd7b9f379bd5698a Same is available here [1] I have tested this patch series along with: 1.) Tero's V11 irq chaining series http://www.spinics.net/lists/linux-omap/msg61445.html (This patch series is used for uart wakeup handling using prcm_irq chaining) 2.) Rajendra's hwmod change http://www.spinics.net/lists/arm-kernel/msg148632.html (This patch handles init_no_idle flag setting without this patch there will be boot warning however all pm features will work after boot up.) Actually, without Rajendra's patch all features do not work. I don't get UART console wakeups from idle (with runtime PM autosuspend enabled) on 3430/n900 or 3530/Overo without Rajendra's patch. Kevin -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
On Tue, 06 Dec 2011 16:21:20 -0800 Kevin Hilman khil...@ti.com wrote: Govindraj.R govindraj.r...@ti.com writes: Converting uart driver to adapt to pm runtime API's. Code re-org + cleanup. Moving some functionality from serial.c to omap-serial.c Alan, can you confirm your Ack's are still valid on the drivers/tty parts of this series? It has gone through quite a few changes since your original ack. Yes -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v8 00/20] OMAP2+: UART: Runtime adaptation + cleanup
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.2-rc1. Patch series depends on *Tero's v9 Irq_chaining patches*. Dependent irq_chaining patches are as below. 89ac62b omap3+: add omap prm driver initialization 170431f OMAP3: pm: do not enable PRCM MPU interrupts manually 9aba1b0 omap3: pm: use prcm chain handler 435481f OMAP2+: mux: add support for PAD wakeup interrupts 5b2d361 mfd: omap-prm: added suspend prepare and complete callbacks aa55c41 mfd: omap-prm: added chain interrupt handler d1db904 mfd: omap-prm: add driver skeleton 31d056c TEMP: OMAP4xxx: hwmod data: add PRM hwmod 19ec3bc TEMP: OMAP3xxx: hwmod data: add PRM hwmod 9a89688 OMAP2+: hwmod: Add API to check IO PAD wakeup status 78e8b65 OMAP2+: hwmod: Add API to enable IO ring wakeup. Same combination is hosted at: git://gitorious.org/runtime_3-0/runtime_3-0.git 3.2-rc1_uart_runtime Ensure CONFIG_OMAP_PRM is set while testing irq_chaining with uart. And for pm_qos usage ensure CONFIG_CPU_IDLE is selected other wise console might be sluggish. Changes from v7: --- http://www.mail-archive.com/linux-omap@vger.kernel.org/msg57804.html http://www.mail-archive.com/linux-omap@vger.kernel.org/msg58209.html http://www.spinics.net/lists/linux-omap/msg59978.html http://www.spinics.net/lists/linux-serial/msg04772.html Testing updates: OMAP2420/2430SDP: Boot tested. OMAP3430SDP: 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] BeagleBoard XM Rev C(3630): retention, off_mode, system_wide suspend is tested. Deepak K (1): OMAP2+: UART: Allow UART parameters to be configured from board file. Govindraj.R (18): 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: Add default mux for all uarts. OMAP2+: UART: Remove mapbase/membase fields from pdata. OMAP2+: UART: Add runtime pm support for omap-serial driver OMAP2+: UART: Remove context_save and move context restore to driver OMAP2+: UART: Ensure all reg values configured are available from port structure OMAP2+: UART: Remove uart reset function. OMAP2+: UART: Get context loss count to context restore OMAP2+: UART: Move errata handling from serial.c to omap-serial OMAP2+: UART: Add wakeup mechanism for omap-uarts OMAP2+: UART: Remove old and unused clocks handling funcs OMAP2+: UART: remove temporary variable used to count uart instance OMAP2+: UART: Use custom activate func for console uart. OMAP2+: UART: Avoid uart idling on suspend for no_console_suspend usecase OMAP2+: UART: Do not gate uart clocks if used for debug_prints OMAP2+: UART: Remove omap_uart_can_sleep and add pm_qos 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 | 68 +-- arch/arm/mach-omap2/board-n8x0.c |6 +- arch/arm/mach-omap2/board-omap4panda.c| 68 +-- arch/arm/mach-omap2/cpuidle34xx.c |5 - arch/arm/mach-omap2/pm24xx.c | 20 - arch/arm/mach-omap2/pm34xx.c | 42 -- arch/arm/mach-omap2/serial.c | 926 +++-- arch/arm/plat-omap/include/plat/omap-serial.h | 36 +- arch/arm/plat-omap/include/plat/serial.h | 10 +- drivers/tty/serial/omap-serial.c | 341 -- 11 files changed, 607 insertions(+), 1015 deletions(-) -- 1.7.4.1 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info