Message ID | 20170118114807.9543-1-vigneshr@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wednesday 18 January 2017 05:18 PM, Vignesh R wrote: > According to the commit ca43ea345de9 ("ARM: OMAP2+: hwmod: Add a new > flag to handle SIDLE in SWSUP only in active"), UART IP needs the sidle > mode to be controlled in SW only while they are active. Once inactive, > the IP needs to be put back in HW control so they are also wakeup > capable. The flag HWMOD_SWSUP_SIDLE takes care of this. So add this flag > to all instances of UART. > > With this change, 8250 UART now gives out proper RX Timeout interrupts > and is usable as console. > > Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Thanks and regards, Lokesh -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Lokesh Vutla <lokeshvutla@ti.com> [170119 01:08]: > > > On Wednesday 18 January 2017 05:18 PM, Vignesh R wrote: > > According to the commit ca43ea345de9 ("ARM: OMAP2+: hwmod: Add a new > > flag to handle SIDLE in SWSUP only in active"), UART IP needs the sidle > > mode to be controlled in SW only while they are active. Once inactive, > > the IP needs to be put back in HW control so they are also wakeup > > capable. The flag HWMOD_SWSUP_SIDLE takes care of this. So add this flag > > to all instances of UART. > > > > With this change, 8250 UART now gives out proper RX Timeout interrupts > > and is usable as console. > > > > Signed-off-by: Vignesh R <vigneshr@ti.com> > > Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Thanks yeah this fixes the issue. As this is not a regression fix, applying into omapf-rov-4.11/fixes-not-urgent. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c index 8cdfd9b7ab4f..a2d763a4cc57 100644 --- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c @@ -1748,6 +1748,7 @@ static struct omap_hwmod omap54xx_uart1_hwmod = { .name = "uart1", .class = &omap54xx_uart_hwmod_class, .clkdm_name = "l4per_clkdm", + .flags = HWMOD_SWSUP_SIDLE_ACT, .main_clk = "func_48m_fclk", .prcm = { .omap4 = { @@ -1763,6 +1764,7 @@ static struct omap_hwmod omap54xx_uart2_hwmod = { .name = "uart2", .class = &omap54xx_uart_hwmod_class, .clkdm_name = "l4per_clkdm", + .flags = HWMOD_SWSUP_SIDLE_ACT, .main_clk = "func_48m_fclk", .prcm = { .omap4 = { @@ -1778,7 +1780,7 @@ static struct omap_hwmod omap54xx_uart3_hwmod = { .name = "uart3", .class = &omap54xx_uart_hwmod_class, .clkdm_name = "l4per_clkdm", - .flags = DEBUG_OMAP4UART3_FLAGS, + .flags = DEBUG_OMAP4UART3_FLAGS | HWMOD_SWSUP_SIDLE_ACT, .main_clk = "func_48m_fclk", .prcm = { .omap4 = { @@ -1794,7 +1796,7 @@ static struct omap_hwmod omap54xx_uart4_hwmod = { .name = "uart4", .class = &omap54xx_uart_hwmod_class, .clkdm_name = "l4per_clkdm", - .flags = DEBUG_OMAP4UART4_FLAGS, + .flags = DEBUG_OMAP4UART4_FLAGS | HWMOD_SWSUP_SIDLE_ACT, .main_clk = "func_48m_fclk", .prcm = { .omap4 = { @@ -1810,6 +1812,7 @@ static struct omap_hwmod omap54xx_uart5_hwmod = { .name = "uart5", .class = &omap54xx_uart_hwmod_class, .clkdm_name = "l4per_clkdm", + .flags = HWMOD_SWSUP_SIDLE_ACT, .main_clk = "func_48m_fclk", .prcm = { .omap4 = { @@ -1825,6 +1828,7 @@ static struct omap_hwmod omap54xx_uart6_hwmod = { .name = "uart6", .class = &omap54xx_uart_hwmod_class, .clkdm_name = "l4per_clkdm", + .flags = HWMOD_SWSUP_SIDLE_ACT, .main_clk = "func_48m_fclk", .prcm = { .omap4 = {
According to the commit ca43ea345de9 ("ARM: OMAP2+: hwmod: Add a new flag to handle SIDLE in SWSUP only in active"), UART IP needs the sidle mode to be controlled in SW only while they are active. Once inactive, the IP needs to be put back in HW control so they are also wakeup capable. The flag HWMOD_SWSUP_SIDLE takes care of this. So add this flag to all instances of UART. With this change, 8250 UART now gives out proper RX Timeout interrupts and is usable as console. Signed-off-by: Vignesh R <vigneshr@ti.com> --- Tested on OMAP5 uEVM. arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)