Message ID | 20211204195757.8600-4-semen.protsenko@linaro.org |
---|---|
State | New |
Headers | show |
Series | soc: samsung: Add USI driver | expand |
On 04/12/2021 20:57, Sam Protsenko wrote: > USI control is now extracted to the dedicated USI driver. Remove USI > related code from serial driver to avoid conflicts and code duplication. > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > --- > Changes in v3: > - Spell check fixes in commit message > > Changes in v2: > - (none) > > drivers/tty/serial/samsung_tty.c | 36 ++++---------------------------- > include/linux/serial_s3c.h | 9 -------- > 2 files changed, 4 insertions(+), 41 deletions(-) > Hi Sam, Does this patch depend on USI driver? In cover letter you did not mention any dependency, so this can go via Greg's tree, right? Best regards, Krzysztof
On Mon, 13 Dec 2021 at 13:00, Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> wrote: > > On 04/12/2021 20:57, Sam Protsenko wrote: > > USI control is now extracted to the dedicated USI driver. Remove USI > > related code from serial driver to avoid conflicts and code duplication. > > > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > > --- > > Changes in v3: > > - Spell check fixes in commit message > > > > Changes in v2: > > - (none) > > > > drivers/tty/serial/samsung_tty.c | 36 ++++---------------------------- > > include/linux/serial_s3c.h | 9 -------- > > 2 files changed, 4 insertions(+), 41 deletions(-) > > > > Hi Sam, > > Does this patch depend on USI driver? In cover letter you did not > mention any dependency, so this can go via Greg's tree, right? > Hi Krzysztof, TL;DR: Serial patches from this series don't really depend on USI driver and can go via Greg's tree. I'd say ideally those should be applied right after USI driver patches. Because otherwise we'd have double initialization of USI block (from USI driver and from serial driver), which wasn't tested and may lead to not functional USI (though I think it should be fine). That's why I decided to keep those in one single patch series. But if we don't care about some short period of not tested behavior -- then those can go via Greg's tree. > Best regards, > Krzysztof
On 13/12/2021 12:31, Sam Protsenko wrote: > On Mon, 13 Dec 2021 at 13:00, Krzysztof Kozlowski > <krzysztof.kozlowski@canonical.com> wrote: >> >> On 04/12/2021 20:57, Sam Protsenko wrote: >>> USI control is now extracted to the dedicated USI driver. Remove USI >>> related code from serial driver to avoid conflicts and code duplication. >>> >>> Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> >>> --- >>> Changes in v3: >>> - Spell check fixes in commit message >>> >>> Changes in v2: >>> - (none) >>> >>> drivers/tty/serial/samsung_tty.c | 36 ++++---------------------------- >>> include/linux/serial_s3c.h | 9 -------- >>> 2 files changed, 4 insertions(+), 41 deletions(-) >>> >> >> Hi Sam, >> >> Does this patch depend on USI driver? In cover letter you did not >> mention any dependency, so this can go via Greg's tree, right? >> > > Hi Krzysztof, > > TL;DR: Serial patches from this series don't really depend on USI > driver and can go via Greg's tree. > > I'd say ideally those should be applied right after USI driver > patches. Because otherwise we'd have double initialization of USI > block (from USI driver and from serial driver), which wasn't tested > and may lead to not functional USI (though I think it should be fine). > That's why I decided to keep those in one single patch series. But if > we don't care about some short period of not tested behavior -- then > those can go via Greg's tree. I think it is fine considering that only one board will be affected and it will be already non-bisectable due to DTS/driver changes going separate branches. More important is to get USI and serial driver changes in the same kernel release, so in v5.17. Best regards, Krzysztof
On 04/12/2021 20:57, Sam Protsenko wrote: > USI control is now extracted to the dedicated USI driver. Remove USI > related code from serial driver to avoid conflicts and code duplication. > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > --- > Changes in v3: > - Spell check fixes in commit message > > Changes in v2: > - (none) > > drivers/tty/serial/samsung_tty.c | 36 ++++---------------------------- > include/linux/serial_s3c.h | 9 -------- > 2 files changed, 4 insertions(+), 41 deletions(-) > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Greg, If you are fine with the changes, please take the serial driver changes via your tree. Best regards, Krzysztof
On Mon, 13 Dec 2021 at 13:35, Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> wrote: > > On 04/12/2021 20:57, Sam Protsenko wrote: > > USI control is now extracted to the dedicated USI driver. Remove USI > > related code from serial driver to avoid conflicts and code duplication. > > > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > > --- > > Changes in v3: > > - Spell check fixes in commit message > > > > Changes in v2: > > - (none) > > > > drivers/tty/serial/samsung_tty.c | 36 ++++---------------------------- > > include/linux/serial_s3c.h | 9 -------- > > 2 files changed, 4 insertions(+), 41 deletions(-) > > > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > > Greg, > If you are fine with the changes, please take the serial driver changes > via your tree. > Hi Greg, If it's ok with you, can you please apply patches 3, 4 and 5 from this series? If it's possible, would be nice to see those in v5.17. Thanks! > Best regards, > Krzysztof
On Mon, Dec 20, 2021 at 05:21:16PM +0200, Sam Protsenko wrote: > On Mon, 13 Dec 2021 at 13:35, Krzysztof Kozlowski > <krzysztof.kozlowski@canonical.com> wrote: > > > > On 04/12/2021 20:57, Sam Protsenko wrote: > > > USI control is now extracted to the dedicated USI driver. Remove USI > > > related code from serial driver to avoid conflicts and code duplication. > > > > > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > > > --- > > > Changes in v3: > > > - Spell check fixes in commit message > > > > > > Changes in v2: > > > - (none) > > > > > > drivers/tty/serial/samsung_tty.c | 36 ++++---------------------------- > > > include/linux/serial_s3c.h | 9 -------- > > > 2 files changed, 4 insertions(+), 41 deletions(-) > > > > > > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > > > > Greg, > > If you are fine with the changes, please take the serial driver changes > > via your tree. > > > > Hi Greg, > > If it's ok with you, can you please apply patches 3, 4 and 5 from this > series? If it's possible, would be nice to see those in v5.17. All now queued up, thanks. greg k-h
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c index ca084c10d0bb..f986a9253dc8 100644 --- a/drivers/tty/serial/samsung_tty.c +++ b/drivers/tty/serial/samsung_tty.c @@ -65,7 +65,6 @@ enum s3c24xx_port_type { struct s3c24xx_uart_info { char *name; enum s3c24xx_port_type type; - bool has_usi; unsigned int port_type; unsigned int fifosize; unsigned long rx_fifomask; @@ -1357,28 +1356,6 @@ static int apple_s5l_serial_startup(struct uart_port *port) return ret; } -static void exynos_usi_init(struct uart_port *port) -{ - struct s3c24xx_uart_port *ourport = to_ourport(port); - struct s3c24xx_uart_info *info = ourport->info; - unsigned int val; - - if (!info->has_usi) - return; - - /* Clear the software reset of USI block (it's set at startup) */ - val = rd_regl(port, USI_CON); - val &= ~USI_CON_RESET_MASK; - wr_regl(port, USI_CON, val); - udelay(1); - - /* Continuously provide the clock to USI IP w/o gating (for Rx mode) */ - val = rd_regl(port, USI_OPTION); - val &= ~USI_OPTION_HWACG_MASK; - val |= USI_OPTION_HWACG_CLKREQ_ON; - wr_regl(port, USI_OPTION, val); -} - /* power power management control */ static void s3c24xx_serial_pm(struct uart_port *port, unsigned int level, @@ -1405,8 +1382,6 @@ static void s3c24xx_serial_pm(struct uart_port *port, unsigned int level, if (!IS_ERR(ourport->baudclk)) clk_prepare_enable(ourport->baudclk); - - exynos_usi_init(port); break; default: dev_err(port->dev, "s3c24xx_serial: unknown pm %d\n", level); @@ -2130,8 +2105,6 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport, if (ret) pr_warn("uart: failed to enable baudclk\n"); - exynos_usi_init(port); - /* Keep all interrupts masked and cleared */ switch (ourport->info->type) { case TYPE_S3C6400: @@ -2780,11 +2753,10 @@ static struct s3c24xx_serial_drv_data s5pv210_serial_drv_data = { #endif #if defined(CONFIG_ARCH_EXYNOS) -#define EXYNOS_COMMON_SERIAL_DRV_DATA(_has_usi) \ +#define EXYNOS_COMMON_SERIAL_DRV_DATA() \ .info = &(struct s3c24xx_uart_info) { \ .name = "Samsung Exynos UART", \ .type = TYPE_S3C6400, \ - .has_usi = _has_usi, \ .port_type = PORT_S3C6400, \ .has_divslot = 1, \ .rx_fifomask = S5PV210_UFSTAT_RXMASK, \ @@ -2805,17 +2777,17 @@ static struct s3c24xx_serial_drv_data s5pv210_serial_drv_data = { } \ static struct s3c24xx_serial_drv_data exynos4210_serial_drv_data = { - EXYNOS_COMMON_SERIAL_DRV_DATA(false), + EXYNOS_COMMON_SERIAL_DRV_DATA(), .fifosize = { 256, 64, 16, 16 }, }; static struct s3c24xx_serial_drv_data exynos5433_serial_drv_data = { - EXYNOS_COMMON_SERIAL_DRV_DATA(false), + EXYNOS_COMMON_SERIAL_DRV_DATA(), .fifosize = { 64, 256, 16, 256 }, }; static struct s3c24xx_serial_drv_data exynos850_serial_drv_data = { - EXYNOS_COMMON_SERIAL_DRV_DATA(true), + EXYNOS_COMMON_SERIAL_DRV_DATA(), .fifosize = { 256, 64, 64, 64 }, }; diff --git a/include/linux/serial_s3c.h b/include/linux/serial_s3c.h index cf0de4a86640..f6c3323fc4c5 100644 --- a/include/linux/serial_s3c.h +++ b/include/linux/serial_s3c.h @@ -27,15 +27,6 @@ #define S3C2410_UERSTAT (0x14) #define S3C2410_UFSTAT (0x18) #define S3C2410_UMSTAT (0x1C) -#define USI_CON (0xC4) -#define USI_OPTION (0xC8) - -#define USI_CON_RESET (1<<0) -#define USI_CON_RESET_MASK (1<<0) - -#define USI_OPTION_HWACG_CLKREQ_ON (1<<1) -#define USI_OPTION_HWACG_CLKSTOP_ON (1<<2) -#define USI_OPTION_HWACG_MASK (3<<1) #define S3C2410_LCON_CFGMASK ((0xF<<3)|(0x3))
USI control is now extracted to the dedicated USI driver. Remove USI related code from serial driver to avoid conflicts and code duplication. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> --- Changes in v3: - Spell check fixes in commit message Changes in v2: - (none) drivers/tty/serial/samsung_tty.c | 36 ++++---------------------------- include/linux/serial_s3c.h | 9 -------- 2 files changed, 4 insertions(+), 41 deletions(-)