serial: 8250_bcm7271: improve bcm7271 8250 port
authorJustin Chen <justin.chen@broadcom.com>
Mon, 21 Aug 2023 18:52:51 +0000 (11:52 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Aug 2023 13:30:59 +0000 (15:30 +0200)
commit42a569cd0d774fd575395a84481f87a1aaa530df
treedfca86006a45ac3a8b007bca8e8af0971bac24ce
parentb4a778303ea0fcabcaff974721477a5743e1f8ec
serial: 8250_bcm7271: improve bcm7271 8250 port

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@broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Acked-by: Doug Berger <opendmb@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/1692643978-16570-1-git-send-email-justin.chen@broadcom.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_bcm7271.c
drivers/tty/serial/8250/8250_port.c
include/uapi/linux/serial_core.h