mbox series

[v4,00/11] Add cnxk_gpio

Message ID 20220105140020.1615256-1-tduszynski@marvell.com (mailing list archive)
Headers
Series Add cnxk_gpio |

Message

Tomasz Duszynski Jan. 5, 2022, 2 p.m. UTC
  This series introduces a new rawdevice PMD which allows
to manage userspace GPIOs and install custom GPIO interrupt
handlers which bypass kernel. This is especially useful for
applications that, besides providing standard dataplane functionality,
want to have fast and low latency access to GPIO pin state.

It'd be great to have that merged during 22.02 merge window.

v4:
- free kvargs after parsing arguments
- add support for allowing only subset of available GPIOs

v3:
- fix meson formatting
- fix cnxk_gpio_process_buf() return value

v2:
- do not trigger irq by writing to /dev/mem, use ioctl() instead

Tomasz Duszynski (11):
  raw/cnxk_gpio: add GPIO driver skeleton
  raw/cnxk_gpio: support reading default queue conf
  raw/cnxk_gpio: support reading queue count
  raw/cnxk_gpio: support queue setup
  raw/cnxk_gpio: support queue release
  raw/cnxk_gpio: support enqueuing buffers
  raw/cnxk_gpio: support dequeuing buffers
  raw/cnxk_gpio: support standard GPIO operations
  raw/cnxk_gpio: support custom irq handlers
  raw/cnxk_gpio: support selftest
  raw/cnxk_gpio: add option to allow using subset of GPIOs

 doc/guides/rawdevs/cnxk_gpio.rst           | 200 ++++++
 doc/guides/rawdevs/index.rst               |   1 +
 drivers/raw/cnxk_gpio/cnxk_gpio.c          | 754 +++++++++++++++++++++
 drivers/raw/cnxk_gpio/cnxk_gpio.h          |  35 +
 drivers/raw/cnxk_gpio/cnxk_gpio_irq.c      | 216 ++++++
 drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c | 386 +++++++++++
 drivers/raw/cnxk_gpio/meson.build          |  11 +
 drivers/raw/cnxk_gpio/rte_pmd_cnxk_gpio.h  | 437 ++++++++++++
 drivers/raw/cnxk_gpio/version.map          |   3 +
 drivers/raw/meson.build                    |   1 +
 10 files changed, 2044 insertions(+)
 create mode 100644 doc/guides/rawdevs/cnxk_gpio.rst
 create mode 100644 drivers/raw/cnxk_gpio/cnxk_gpio.c
 create mode 100644 drivers/raw/cnxk_gpio/cnxk_gpio.h
 create mode 100644 drivers/raw/cnxk_gpio/cnxk_gpio_irq.c
 create mode 100644 drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c
 create mode 100644 drivers/raw/cnxk_gpio/meson.build
 create mode 100644 drivers/raw/cnxk_gpio/rte_pmd_cnxk_gpio.h
 create mode 100644 drivers/raw/cnxk_gpio/version.map

--
2.25.1
  

Comments

Jerin Jacob Jan. 6, 2022, 9:43 a.m. UTC | #1
On Wed, Jan 5, 2022 at 7:30 PM Tomasz Duszynski <tduszynski@marvell.com> wrote:
>
> This series introduces a new rawdevice PMD which allows
> to manage userspace GPIOs and install custom GPIO interrupt
> handlers which bypass kernel. This is especially useful for
> applications that, besides providing standard dataplane functionality,
> want to have fast and low latency access to GPIO pin state.
>
> It'd be great to have that merged during 22.02 merge window.
>
> v4:
> - free kvargs after parsing arguments
> - add support for allowing only subset of available GPIOs
>
> v3:
> - fix meson formatting
> - fix cnxk_gpio_process_buf() return value
>
> v2:
> - do not trigger irq by writing to /dev/mem, use ioctl() instead
>
> Tomasz Duszynski (11):
>   raw/cnxk_gpio: add GPIO driver skeleton
>   raw/cnxk_gpio: support reading default queue conf
>   raw/cnxk_gpio: support reading queue count
>   raw/cnxk_gpio: support queue setup
>   raw/cnxk_gpio: support queue release
>   raw/cnxk_gpio: support enqueuing buffers
>   raw/cnxk_gpio: support dequeuing buffers
>   raw/cnxk_gpio: support standard GPIO operations
>   raw/cnxk_gpio: support custom irq handlers
>   raw/cnxk_gpio: support selftest
>   raw/cnxk_gpio: add option to allow using subset of GPIOs
>
>  doc/guides/rawdevs/cnxk_gpio.rst           | 200 ++++++

1) Could you update doc/guides/platform/cnxk.rst file with
_table_cnxk_rvu_dpdk_mapping table and "HW Offload Drivers" secion.

2) Please update doc/guides/rel_notes/release_21_11.rst release note.