2022-05-02 23:47:19

by Hector Martin

[permalink] [raw]
Subject: [PATCH] tty: serial: samsung_tty: Fix suspend/resume on S5L

We were restoring the IRQ masks then clearing them again, because
ucon_mask wasn't set properly. Adding that makes suspend/resume
work as intended.

Signed-off-by: Hector Martin <[email protected]>
---
drivers/tty/serial/samsung_tty.c | 1 +
include/linux/serial_s3c.h | 3 +++
2 files changed, 4 insertions(+)

diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 12bf6b18847f..88a0b01ee9ab 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -2840,6 +2840,7 @@ static const struct s3c24xx_serial_drv_data s5l_serial_drv_data = {
.num_clks = 1,
.clksel_mask = 0,
.clksel_shift = 0,
+ .ucon_mask = APPLE_S5L_UCON_MASK,
},
.def_cfg = {
.ucon = APPLE_S5L_UCON_DEFAULT,
diff --git a/include/linux/serial_s3c.h b/include/linux/serial_s3c.h
index f6c3323fc4c5..dec15f5b3dec 100644
--- a/include/linux/serial_s3c.h
+++ b/include/linux/serial_s3c.h
@@ -256,6 +256,9 @@
#define APPLE_S5L_UCON_DEFAULT (S3C2410_UCON_TXIRQMODE | \
S3C2410_UCON_RXIRQMODE | \
S3C2410_UCON_RXFIFO_TOI)
+#define APPLE_S5L_UCON_MASK (APPLE_S5L_UCON_RXTO_ENA_MSK | \
+ APPLE_S5L_UCON_RXTHRESH_ENA_MSK | \
+ APPLE_S5L_UCON_TXTHRESH_ENA_MSK)

#define APPLE_S5L_UTRSTAT_RXTHRESH (1<<4)
#define APPLE_S5L_UTRSTAT_TXTHRESH (1<<5)
--
2.35.1


2022-05-03 00:37:25

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] tty: serial: samsung_tty: Fix suspend/resume on S5L

On Mon, May 02, 2022 at 06:25:05PM +0900, Hector Martin wrote:
> We were restoring the IRQ masks then clearing them again, because
> ucon_mask wasn't set properly. Adding that makes suspend/resume
> work as intended.
>
> Signed-off-by: Hector Martin <[email protected]>
> ---
> drivers/tty/serial/samsung_tty.c | 1 +
> include/linux/serial_s3c.h | 3 +++
> 2 files changed, 4 insertions(+)

Does this fix a specific older commit?

And should it be backported to older stable kernels?

thanks,

greg k-h