Message ID | 20220502092505.30934-1-marcan@marcan.st |
---|---|
State | New |
Headers | show |
Series | tty: serial: samsung_tty: Fix suspend/resume on S5L | expand |
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 <marcan@marcan.st> > --- > 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
On 02/05/2022 20.44, Greg Kroah-Hartman wrote: > 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 <marcan@marcan.st> >> --- >> 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? It does fix the commit that introduced this device support in general; I can add a Fixes line for that. I don't think anyone cares about backporting though, since there are other fairly critical devices that don't have support outright and there's still work to do before suspend/resume is generally usable on these machines.
On 02/05/2022 14:39, Hector Martin wrote: > On 02/05/2022 20.44, Greg Kroah-Hartman wrote: >> 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 <marcan@marcan.st> >>> --- >>> 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? > > It does fix the commit that introduced this device support in general; I > can add a Fixes line for that. I don't think anyone cares about > backporting though, since there are other fairly critical devices that > don't have support outright and there's still work to do before > suspend/resume is generally usable on these machines. Then please add only Fixes tag. Best regards, Krzysztof
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)
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 <marcan@marcan.st> --- drivers/tty/serial/samsung_tty.c | 1 + include/linux/serial_s3c.h | 3 +++ 2 files changed, 4 insertions(+)