mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v1 00/31] serial: 8250: consolidate Moxa UPCI/PCIe support under 8250 drivers
@ 2025-11-30 10:41 Crescent Hsieh
  2025-11-30 10:41 ` [PATCH v1 01/31] tty: mxser: serial: 8250: replace mxser with 8250-based driver Crescent Hsieh
                   ` (30 more replies)
  0 siblings, 31 replies; 68+ messages in thread
From: Crescent Hsieh @ 2025-11-30 10:41 UTC (permalink / raw)
  To: gregkh, jirislaby, ilpo.jarvinen, andy.shevchenko
  Cc: linux-kernel, linux-serial, crescentcy.hsieh

There are currently two separate drivers supporting Moxa UPCI/PCIe
multiport serial boards: the legacy mxser driver and partial support in
8250_pci.  This patch series consolidates these implementations into two
dedicated 8250-based drivers, 8250_mxupci and 8250_mxpcie, in order to
remove duplicated code, improve consistency, and simplify long-term
maintenance.

In addition to the driver migration, the series also introduces several
hardware-specific improvements for Moxa UPCI/PCIe devices, including:

 - reworked and optimized ISR-based Tx/Rx paths
 - per-port FIFO trigger level support
 - break control under RS-485 modes
 - CPLD/GPIO-based line control for PCIe boards: terminator, pull-state,
   and one-shot RS-485-2W auto-tune

These changes restore full hardware functionality while aligning both
device families with the upstream 8250 serial framework.

Crescent Hsieh (31):
  tty: mxser: serial: 8250: replace mxser with 8250-based driver
  serial: 8250: add MU860 UART configuration
  serial: 8250_mxupci: enable enhanced mode and custom FIFO trigger
    levels
  serial: 8250_mxupci: enable auto RTS/CTS flow control
  serial: 8250_mxupci: enable on-chip software flow control
  serial: 8250_mxupci: add custom handle_irq()
  serial: 8250_mxupci: add GDL-based Rx routine for 8250_mxupci
  serial: 8250_mxupci: add custom Tx routine for 8250_mxupci
  serial: 8250: split 8250_mxpcie from 8250_pci
  serial: 8250: add MUEx50 UART configuration
  serial: 8250_mxpcie: enable enhanced mode and custom FIFO trigger
    levels
  serial: 8250_mxpcie: enable auto RTS/CTS flow control
  serial: 8250_mxpcie: enable on-chip software flow control
  serial: 8250_mxpcie: add custom handle_irq()
  serial: 8250_mxpcie: optimize Rx using memory-mapped FIFO access
  serial: 8250_mxpcie: optimize Tx using memory-mapped FIFO access
  serial: 8250_mxpcie: enable serial interface switching
  serial: 8250: allow low-level driver to override break_ctl()
  serial: 8250_mxpcie: add break signal support under RS485
  serial: 8250: add optional callbacks for rx_trig_bytes
  serial: 8250_mxpcie: implement rx_trig_bytes callbacks and persist
    per-port level
  serial: 8250_mxupci: implement rx_trig_bytes callbacks and persist
    per-port level
  serial: 8250_mxpcie: defer uart_write_wakeup to workqueue
  serial: 8250_mxupci: defer uart_write_wakeup to workqueue
  serial: 8250_mxpcie: add basic GPIO helper functions
  serial: 8250_mxpcie: add basic CPLD helper functions
  serial: 8250: Allow dynamic extension of uart_port attr_group
  serial: 8250_mxpcie: Track current serial interface for later feature
    gating
  serial: 8250_mxpcie: Add sysfs to control terminator
  serial: 8250_mxpcie: Add sysfs to control pull state via CPLD
  serial: 8250_mxpcie: add RS485-2W auto-adjust sysfs control

 drivers/tty/Kconfig                   |   13 -
 drivers/tty/Makefile                  |    1 -
 drivers/tty/mxser.c                   | 1934 -------------------------
 drivers/tty/serial/8250/8250_core.c   |   14 +
 drivers/tty/serial/8250/8250_mxpcie.c | 1482 +++++++++++++++++++
 drivers/tty/serial/8250/8250_mxupci.c |  495 +++++++
 drivers/tty/serial/8250/8250_pci.c    |  205 ---
 drivers/tty/serial/8250/8250_port.c   |   69 +-
 drivers/tty/serial/8250/Kconfig       |   22 +
 drivers/tty/serial/8250/Makefile      |    2 +
 include/linux/serial_8250.h           |    1 +
 include/linux/serial_core.h           |    4 +
 include/uapi/linux/serial_core.h      |    6 +
 13 files changed, 2090 insertions(+), 2158 deletions(-)
 delete mode 100644 drivers/tty/mxser.c
 create mode 100644 drivers/tty/serial/8250/8250_mxpcie.c
 create mode 100644 drivers/tty/serial/8250/8250_mxupci.c

-- 
2.45.2


^ permalink raw reply	[flat|nested] 68+ messages in thread

end of thread, other threads:[~2025-12-05  8:36 UTC | newest]

Thread overview: 68+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-30 10:41 [PATCH v1 00/31] serial: 8250: consolidate Moxa UPCI/PCIe support under 8250 drivers Crescent Hsieh
2025-11-30 10:41 ` [PATCH v1 01/31] tty: mxser: serial: 8250: replace mxser with 8250-based driver Crescent Hsieh
2025-11-30 17:07   ` Andy Shevchenko
2025-11-30 10:41 ` [PATCH v1 02/31] serial: 8250: add MU860 UART configuration Crescent Hsieh
2025-11-30 17:10   ` Andy Shevchenko
2025-11-30 10:41 ` [PATCH v1 03/31] serial: 8250_mxupci: enable enhanced mode and custom FIFO trigger levels Crescent Hsieh
2025-11-30 17:13   ` Andy Shevchenko
2025-11-30 10:41 ` [PATCH v1 04/31] serial: 8250_mxupci: enable auto RTS/CTS flow control Crescent Hsieh
2025-11-30 17:17   ` Andy Shevchenko
2025-11-30 10:41 ` [PATCH v1 05/31] serial: 8250_mxupci: enable on-chip software " Crescent Hsieh
2025-11-30 10:41 ` [PATCH v1 06/31] serial: 8250_mxupci: add custom handle_irq() Crescent Hsieh
2025-11-30 17:20   ` Andy Shevchenko
2025-11-30 10:41 ` [PATCH v1 07/31] serial: 8250_mxupci: add GDL-based Rx routine for 8250_mxupci Crescent Hsieh
2025-11-30 17:29   ` Andy Shevchenko
2025-12-05  3:47     ` Crescent Hsieh
2025-12-05  8:03       ` Andy Shevchenko
2025-11-30 10:41 ` [PATCH v1 08/31] serial: 8250_mxupci: add custom Tx " Crescent Hsieh
2025-11-30 10:42 ` [PATCH v1 09/31] serial: 8250: split 8250_mxpcie from 8250_pci Crescent Hsieh
2025-11-30 19:22   ` Andy Shevchenko
2025-12-03  2:54     ` Crescent Hsieh
2025-12-03  9:18       ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 10/31] serial: 8250: add MUEx50 UART configuration Crescent Hsieh
2025-11-30 19:23   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 11/31] serial: 8250_mxpcie: enable enhanced mode and custom FIFO trigger levels Crescent Hsieh
2025-11-30 19:25   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 12/31] serial: 8250_mxpcie: enable auto RTS/CTS flow control Crescent Hsieh
2025-11-30 10:42 ` [PATCH v1 13/31] serial: 8250_mxpcie: enable on-chip software " Crescent Hsieh
2025-11-30 10:42 ` [PATCH v1 14/31] serial: 8250_mxpcie: add custom handle_irq() Crescent Hsieh
2025-12-01  1:40   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 15/31] serial: 8250_mxpcie: optimize Rx using memory-mapped FIFO access Crescent Hsieh
2025-12-01  1:43   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 16/31] serial: 8250_mxpcie: optimize Tx " Crescent Hsieh
2025-12-01  1:52   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 17/31] serial: 8250_mxpcie: enable serial interface switching Crescent Hsieh
2025-11-30 10:42 ` [PATCH v1 18/31] serial: 8250: allow low-level driver to override break_ctl() Crescent Hsieh
2025-12-01  1:54   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 19/31] serial: 8250_mxpcie: add break signal support under RS485 Crescent Hsieh
2025-12-01  1:56   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 20/31] serial: 8250: add optional callbacks for rx_trig_bytes Crescent Hsieh
2025-12-01  1:58   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 21/31] serial: 8250_mxpcie: implement rx_trig_bytes callbacks and persist per-port level Crescent Hsieh
2025-12-01  2:02   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 22/31] serial: 8250_mxupci: " Crescent Hsieh
2025-12-01  2:03   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 23/31] serial: 8250_mxpcie: defer uart_write_wakeup to workqueue Crescent Hsieh
2025-12-01  2:05   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 24/31] serial: 8250_mxupci: " Crescent Hsieh
2025-12-01  2:06   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 25/31] serial: 8250_mxpcie: add basic GPIO helper functions Crescent Hsieh
2025-12-01  2:13   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 26/31] serial: 8250_mxpcie: add basic CPLD " Crescent Hsieh
2025-12-01  2:25   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 27/31] serial: 8250: Allow dynamic extension of uart_port attr_group Crescent Hsieh
2025-12-01  2:30   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 28/31] serial: 8250_mxpcie: Track current serial interface for later feature gating Crescent Hsieh
2025-11-30 10:42 ` [PATCH v1 29/31] serial: 8250_mxpcie: Add sysfs to control terminator Crescent Hsieh
2025-12-01  2:40   ` Andy Shevchenko
2025-12-03  2:54     ` Crescent Hsieh
2025-12-03  9:21       ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 30/31] serial: 8250_mxpcie: Add sysfs to control pull state via CPLD Crescent Hsieh
2025-12-01  2:42   ` Andy Shevchenko
2025-11-30 10:42 ` [PATCH v1 31/31] serial: 8250_mxpcie: add RS485-2W auto-adjust sysfs control Crescent Hsieh
2025-12-01  2:45   ` Andy Shevchenko
2025-12-03  2:55     ` Crescent Hsieh
2025-12-03  9:24       ` Andy Shevchenko
2025-12-03  9:28         ` Andy Shevchenko
2025-12-05  5:26         ` Crescent Hsieh
2025-12-05  8:35           ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®