[PATCH v7 21/21] OMAP2+: UART: Do not gate uart clocks if used for debug_prints

Govindraj govindraj.ti at gmail.com
Thu Oct 20 05:47:30 EDT 2011


On Thu, Oct 20, 2011 at 2:58 PM, Mohammed, Afzal <afzal at ti.com> wrote:
> Hi Govindraj,
>
> On Thu, Oct 20, 2011 at 14:09:22, Govindraj wrote:
>> Yes correct, I missed that part here is the updated patch [1]
>> Updated change-log for debug/loglevel and checked console_loglevel
>> in addition to debug in bootargs.
>
> Perhaps checking console_loglevel only is sufficient, if I am not
> missing anything, passing "debug" thr' bootargs only causes loglevel
> to be set to 10 and nothing else.

Agree, Updated [1]

--
Thanks,
Govindraj.R

[1]

https://gitorious.org/runtime_3-0/runtime_3-0/commit/4b04aa54e61540f1f358ef412f2aaa3bab8de7c1


diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 5e3bbce..4f41369 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -65,6 +65,7 @@ static LIST_HEAD(uart_list);
 static u8 num_uarts;
 static u8 console_uart_id = -1;
 static u8 no_console_suspend;
+static u8 uart_debug;

 #define DEFAULT_RXDMA_POLLRATE         1       /* RX DMA polling rate (us) */
 #define DEFAULT_RXDMA_BUFSIZE          4096    /* RX DMA buffer size */
@@ -310,6 +311,13 @@ static int __init omap_serial_early_init(void)
                if (cmdline_find_option(uart_name)) {
                        console_uart_id = uart->num;

+                       if (console_loglevel >= 10) {
+                               uart_debug = true;
+                               pr_info("%s used as console in debug mode"
+                                               " uart%d clocks will not be"
+                                               " gated", uart_name, uart->num);
+                       }
+
                        if (cmdline_find_option("no_console_suspend"))
                                no_console_suspend = true;

@@ -414,7 +422,8 @@ void __init omap_serial_init_port(struct
omap_board_data *bdata,

        oh->dev_attr = uart;

-       if ((cpu_is_omap34xx() || cpu_is_omap44xx()) && bdata->pads)
+       if (((cpu_is_omap34xx() || cpu_is_omap44xx()) && bdata->pads)
+                       && !uart_debug)
                device_init_wakeup(&pdev->dev, true);
 }



More information about the linux-arm-kernel mailing list