[PATCH v6 00/11] Add cnxk_gpio
Tomasz Duszynski
tduszynski at marvell.com
Thu Feb 17 12:09:13 CET 2022
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.03 merge window.
v6:
- update MAINTAINERS
v5:
- added close callback to make sure PMD resources are freed properly
- updated selftest to return early on error
- doc fixes
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
MAINTAINERS | 6 +
doc/guides/platform/cnxk.rst | 2 +
doc/guides/rawdevs/cnxk_gpio.rst | 200 ++++++
doc/guides/rawdevs/index.rst | 1 +
doc/guides/rel_notes/release_22_03.rst | 10 +
drivers/raw/cnxk_gpio/cnxk_gpio.c | 763 +++++++++++++++++++++
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 | 393 +++++++++++
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 +
13 files changed, 2078 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
More information about the dev
mailing list