mbox series

[v11,0/4] Enhance definition of DFH and use enhancements for UART driver

Message ID 20230115151447.1353428-1-matthew.gerlach@linux.intel.com (mailing list archive)
Headers show
Series Enhance definition of DFH and use enhancements for UART driver | expand

Message

Matthew Gerlach Jan. 15, 2023, 3:14 p.m. UTC
From: Matthew Gerlach <matthew.gerlach@linux.intel.com>

This patchset enhances the definition of the Device Feature Header (DFH) used by
the Device Feature List (DFL) bus and then uses the new enhancements in a UART
driver.

The enhancements to the DFH includes the introduction of parameter blocks.
Like PCI capabilities, the DFH parameter blocks further describe
the hardware to software. In the case of the UART, the parameter blocks
provide information for the interrupt, clock frequency, and register layout.

Duplication of code parsing of the parameter blocks in multiple DFL drivers
is a concern. Using swnodes was considered to help minimize parsing code 
duplication, but their use did not help the problem. Furthermore the highly
changeable nature of FPGAs employing the DFL bus makes the use of swnodes
inappropriate. 

Patch 1 updates the DFL documentation to describe the added functionality to DFH.

Patch 2 adds the definitions for DFHv1.

Patch 3 adds basic support for DFHv1. It adds functionality to parse parameter blocks
and adds the functionality to parse the explicit location of a feature's register set.

Patch 4 adds a DFL UART driver that makes use of the new features of DFHv1.

Basheer Ahmed Muddebihal (1):
  fpga: dfl: Add DFHv1 Register Definitions

Matthew Gerlach (3):
  Documentation: fpga: dfl: Add documentation for DFHv1
  fpga: dfl: add basic support for DFHv1
  tty: serial: 8250: add DFL bus driver for Altera 16550.

 Documentation/fpga/dfl.rst         | 119 ++++++++++++++
 drivers/fpga/dfl.c                 | 245 +++++++++++++++++++++++------
 drivers/fpga/dfl.h                 |  43 +++++
 drivers/tty/serial/8250/8250_dfl.c | 167 ++++++++++++++++++++
 drivers/tty/serial/8250/Kconfig    |  12 ++
 drivers/tty/serial/8250/Makefile   |   1 +
 include/linux/dfl.h                |   8 +
 7 files changed, 544 insertions(+), 51 deletions(-)
 create mode 100644 drivers/tty/serial/8250/8250_dfl.c

Comments

Xu Yilun Jan. 20, 2023, 2:39 a.m. UTC | #1
On 2023-01-15 at 07:14:43 -0800, matthew.gerlach@linux.intel.com wrote:
> From: Matthew Gerlach <matthew.gerlach@linux.intel.com>
> 
> This patchset enhances the definition of the Device Feature Header (DFH) used by
> the Device Feature List (DFL) bus and then uses the new enhancements in a UART
> driver.
> 
> The enhancements to the DFH includes the introduction of parameter blocks.
> Like PCI capabilities, the DFH parameter blocks further describe
> the hardware to software. In the case of the UART, the parameter blocks
> provide information for the interrupt, clock frequency, and register layout.
> 
> Duplication of code parsing of the parameter blocks in multiple DFL drivers
> is a concern. Using swnodes was considered to help minimize parsing code 
> duplication, but their use did not help the problem. Furthermore the highly
> changeable nature of FPGAs employing the DFL bus makes the use of swnodes
> inappropriate. 
> 
> Patch 1 updates the DFL documentation to describe the added functionality to DFH.
> 
> Patch 2 adds the definitions for DFHv1.
> 
> Patch 3 adds basic support for DFHv1. It adds functionality to parse parameter blocks
> and adds the functionality to parse the explicit location of a feature's register set.
> 
> Patch 4 adds a DFL UART driver that makes use of the new features of DFHv1.

Looks good to me and see Greg has taken this patchset.

Thanks,
Yilun

> 
> Basheer Ahmed Muddebihal (1):
>   fpga: dfl: Add DFHv1 Register Definitions
> 
> Matthew Gerlach (3):
>   Documentation: fpga: dfl: Add documentation for DFHv1
>   fpga: dfl: add basic support for DFHv1
>   tty: serial: 8250: add DFL bus driver for Altera 16550.
> 
>  Documentation/fpga/dfl.rst         | 119 ++++++++++++++
>  drivers/fpga/dfl.c                 | 245 +++++++++++++++++++++++------
>  drivers/fpga/dfl.h                 |  43 +++++
>  drivers/tty/serial/8250/8250_dfl.c | 167 ++++++++++++++++++++
>  drivers/tty/serial/8250/Kconfig    |  12 ++
>  drivers/tty/serial/8250/Makefile   |   1 +
>  include/linux/dfl.h                |   8 +
>  7 files changed, 544 insertions(+), 51 deletions(-)
>  create mode 100644 drivers/tty/serial/8250/8250_dfl.c
> 
> -- 
> 2.25.1
>