Re: [PATCH v5 08/14] serial: 8250_mxpcie: speed up TX using memory-mapped FIFO window
Jiri Slaby <[email protected]> Mon, 3 Aug 2026 06:46:51 +0200
| Newsgroups | org.kernel.vger.linux-serial,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 02. 08. 26, 11:10, Andy Shevchenko wrote: > On Fri, Jul 31, 2026 at 10:49 AM Crescent Hsieh > <[email protected]> wrote: >> >> The MUEx50 UART provides a memory-mapped TX FIFO data window along with >> a TX FIFO level counter. >> >> Fill the TX FIFO in bulk via the MMIO FIFO window based on available >> FIFO space, using uart_port_tx_limited() for the common serial-core TX >> handling. > > ... > >> +static void mxpcie8250_tx_chars(struct uart_8250_port *up) >> +{ >> + struct uart_port *port = &up->port; >> + unsigned int offset = 0; >> + unsigned char c; >> + >> + uart_port_tx_limited(port, c, port->fifosize - serial_in(up, MOXA_PUART_TX_FIFO_CNT), >> + true, >> + serial_out(up, MOXA_PUART_TX_FIFO_MEM + offset++, c), >> + ({})); >> +} > > At least three randomly chosen drivers use the empty tx_done, perhaps > it's time to have a helper that embeds this ugly piece in it and hides > from the driver? I haven't tried, can we make the helper a variadic macro? -- js suse labs