Re: [PATCH v2] serial: 8250_bcm7271: improve bcm7271 8250 port

From: Greg Kroah-Hartman
Date: Fri Aug 18 2023 - 15:38:06 EST


On Thu, Aug 17, 2023 at 02:13:18PM -0700, Justin Chen wrote:
> The 8250 BCM7271 UART is not a direct match to PORT_16550A and other
> generic ports do not match its hardware capabilities. PORT_ALTR matches
> the rx trigger levels, but its vendor configurations are not compatible.
> Unfortunately this means we need to create another port to fully capture
> the hardware capabilities of the BCM7271 UART.
>
> To alleviate some latency pressures, we default the rx trigger level to 8.
>
> Signed-off-by: Justin Chen <justin.chen@xxxxxxxxxxxx>
> Reviewed-by: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>
> Acked-by: Doug Berger <opendmb@xxxxxxxxx>
> ---
> drivers/tty/serial/8250/8250_bcm7271.c | 4 +---
> drivers/tty/serial/8250/8250_port.c | 8 ++++++++
> include/uapi/linux/serial_core.h | 3 +++
> 3 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/tty/serial/8250/8250_bcm7271.c b/drivers/tty/serial/8250/8250_bcm7271.c
> index d4b05d7ad9e8..aa5aff046756 100644
> --- a/drivers/tty/serial/8250/8250_bcm7271.c
> +++ b/drivers/tty/serial/8250/8250_bcm7271.c
> @@ -1042,7 +1042,7 @@ static int brcmuart_probe(struct platform_device *pdev)
> dev_dbg(dev, "DMA is %senabled\n", priv->dma_enabled ? "" : "not ");
>
> memset(&up, 0, sizeof(up));
> - up.port.type = PORT_16550A;
> + up.port.type = PORT_BCM7271;
> up.port.uartclk = clk_rate;
> up.port.dev = dev;
> up.port.mapbase = mapbase;
> @@ -1056,8 +1056,6 @@ static int brcmuart_probe(struct platform_device *pdev)
> | UPF_FIXED_PORT | UPF_FIXED_TYPE;
> up.port.dev = dev;
> up.port.private_data = priv;
> - up.capabilities = UART_CAP_FIFO | UART_CAP_AFE;
> - up.port.fifosize = 32;
>
> /* Check for a fixed line number */
> ret = of_alias_get_id(np, "serial");
> diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
> index 16aeb1420137..9f05745e221b 100644
> --- a/drivers/tty/serial/8250/8250_port.c
> +++ b/drivers/tty/serial/8250/8250_port.c
> @@ -322,6 +322,14 @@ static const struct serial8250_config uart_config[] = {
> .rxtrig_bytes = {2, 66, 130, 194},
> .flags = UART_CAP_FIFO,
> },
> + [PORT_BCM7271] = {
> + .name = "Broadcom BCM7271 UART",
> + .fifo_size = 32,
> + .tx_loadsz = 32,
> + .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_01,
> + .rxtrig_bytes = {1, 8, 16, 30},
> + .flags = UART_CAP_FIFO | UART_CAP_AFE
> + },
> };
>
> /* Uart divisor latch read */
> diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h
> index 281fa286555c..9646629496ab 100644
> --- a/include/uapi/linux/serial_core.h
> +++ b/include/uapi/linux/serial_core.h
> @@ -144,6 +144,9 @@
> /* Blackfin bf5xx */
> #define PORT_BFIN 75
>
> +/* Broadcom BCM7271 UART */
> +#define PORT_BCM7271 76
> +
> /* Broadcom SB1250, etc. SOC */
> #define PORT_SB1250_DUART 77
>
> --
> 2.7.4
>



Hi,

This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him
a patch that has triggered this response. He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created. Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.

You are receiving this message because of the following common error(s)
as indicated below:

- This looks like a new version of a previously submitted patch, but you
did not list below the --- line any changes from the previous version.
Please read the section entitled "The canonical patch format" in the
kernel file, Documentation/process/submitting-patches.rst for what
needs to be done here to properly describe this.

If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.

thanks,

greg k-h's patch email bot