All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC v2 virtio 0/7] pds_vdpa driver
@ 2023-03-09  1:30 Shannon Nelson
  2023-03-09  1:30 ` [PATCH RFC v2 virtio 1/7] pds_vdpa: Add new vDPA driver for AMD/Pensando DSC Shannon Nelson
                   ` (6 more replies)
  0 siblings, 7 replies; 36+ messages in thread
From: Shannon Nelson @ 2023-03-09  1:30 UTC (permalink / raw)
  To: jasowang, mst, virtualization, shannon.nelson, brett.creeley,
	davem, netdev, kuba
  Cc: drivers

This patchset implements a new module for the AMD/Pensando DSC that
supports vDPA services on PDS Core VF devices.  The pds_core driver
described here[0] creates the auxiliary_bus devices that this module
connects to, and this creates vdpa devices for use by the vdpa module.

The first version of this driver was a part of the original pds_core RFC
[1] but has since been reworked to pull out the PCI driver and to make
better use of the virtio and virtio_net configuration spaces made available
by the DSC's PCI configuration.  As the device development has progressed,
the ability to rely on the virtio config spaces has grown.

To use this module, enable the VFs and turn on the vDPA services in the
pre_core PF, then use the 'vdpa' utility to create devices for use by
virtio_vdpa or vhost_vdpa:
   echo 1 > /sys/bus/pci/drivers/pds_core/$PF_BDF/sriov_numvfs
   devlink dev param set pci/$PF_BDF name enable_vnet value true cmode runtime
   PDS_VDPA_MGMT=`vdpa mgmtdev show | grep vDPA | head -1 | cut -d: -f1`
   vdpa dev add name vdpa1 mgmtdev $PDS_VDPA_MGMT mac 00:11:22:33:44:55

[0]: https://lore.kernel.org/netdev/20230308051310.12544-1-shannon.nelson@amd.com/
[1]: https://lore.kernel.org/netdev/20221118225656.48309-1-snelson@pensando.io/

Changes:
 v2:
 - removed PCI driver code
 - replaced home-grown event listener with notifier
 - replaced many adminq uses with direct virtio_net config access
 - reworked irqs to follow virtio layout
 - removed local_mac_bit logic
 - replaced uses of devm_ interfaces as suggested in pds_core reviews
 - updated copyright strings to reflect the new owner

Shannon Nelson (7):
  pds_vdpa: Add new vDPA driver for AMD/Pensando DSC
  pds_vdpa: get vdpa management info
  pds_vdpa: virtio bar setup for vdpa
  pds_vdpa: add vdpa config client commands
  pds_vdpa: add support for vdpa and vdpamgmt interfaces
  pds_vdpa: subscribe to the pds_core events
  pds_vdpa: pds_vdps.rst and Kconfig

 .../ethernet/pensando/pds_vdpa.rst            |  84 ++
 MAINTAINERS                                   |   4 +
 drivers/vdpa/Kconfig                          |   8 +
 drivers/vdpa/Makefile                         |   1 +
 drivers/vdpa/pds/Makefile                     |  11 +
 drivers/vdpa/pds/aux_drv.c                    | 141 ++++
 drivers/vdpa/pds/aux_drv.h                    |  24 +
 drivers/vdpa/pds/cmds.c                       | 207 +++++
 drivers/vdpa/pds/cmds.h                       |  16 +
 drivers/vdpa/pds/debugfs.c                    | 201 +++++
 drivers/vdpa/pds/debugfs.h                    |  26 +
 drivers/vdpa/pds/vdpa_dev.c                   | 723 ++++++++++++++++++
 drivers/vdpa/pds/vdpa_dev.h                   |  50 ++
 drivers/vdpa/pds/virtio_pci.c                 | 281 +++++++
 drivers/vdpa/pds/virtio_pci.h                 |   8 +
 include/linux/pds/pds_vdpa.h                  | 279 +++++++
 16 files changed, 2064 insertions(+)
 create mode 100644 Documentation/networking/device_drivers/ethernet/pensando/pds_vdpa.rst
 create mode 100644 drivers/vdpa/pds/Makefile
 create mode 100644 drivers/vdpa/pds/aux_drv.c
 create mode 100644 drivers/vdpa/pds/aux_drv.h
 create mode 100644 drivers/vdpa/pds/cmds.c
 create mode 100644 drivers/vdpa/pds/cmds.h
 create mode 100644 drivers/vdpa/pds/debugfs.c
 create mode 100644 drivers/vdpa/pds/debugfs.h
 create mode 100644 drivers/vdpa/pds/vdpa_dev.c
 create mode 100644 drivers/vdpa/pds/vdpa_dev.h
 create mode 100644 drivers/vdpa/pds/virtio_pci.c
 create mode 100644 drivers/vdpa/pds/virtio_pci.h
 create mode 100644 include/linux/pds/pds_vdpa.h

-- 
2.17.1


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

end of thread, other threads:[~2023-03-17  3:55 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-09  1:30 [PATCH RFC v2 virtio 0/7] pds_vdpa driver Shannon Nelson
2023-03-09  1:30 ` [PATCH RFC v2 virtio 1/7] pds_vdpa: Add new vDPA driver for AMD/Pensando DSC Shannon Nelson
2023-03-12 14:06   ` Simon Horman
2023-03-12 14:35     ` Simon Horman
2023-03-13 16:13       ` Shannon Nelson
2023-03-13 16:26         ` Simon Horman
2023-03-09  1:30 ` [PATCH RFC v2 virtio 2/7] pds_vdpa: get vdpa management info Shannon Nelson
2023-03-15  7:05   ` Jason Wang
2023-03-15  7:05     ` Jason Wang
2023-03-16  3:25     ` Shannon Nelson
2023-03-17  3:33       ` Jason Wang
2023-03-17  3:33         ` Jason Wang
2023-03-09  1:30 ` [PATCH RFC v2 virtio 3/7] pds_vdpa: virtio bar setup for vdpa Shannon Nelson
2023-03-15  7:05   ` Jason Wang
2023-03-15  7:05     ` Jason Wang
2023-03-16  3:25     ` Shannon Nelson
2023-03-17  3:37       ` Jason Wang
2023-03-17  3:37         ` Jason Wang
2023-03-09  1:30 ` [PATCH RFC v2 virtio 4/7] pds_vdpa: add vdpa config client commands Shannon Nelson
2023-03-15  7:05   ` Jason Wang
2023-03-15  7:05     ` Jason Wang
2023-03-16  3:25     ` Shannon Nelson
2023-03-17  3:36       ` Jason Wang
2023-03-17  3:36         ` Jason Wang
2023-03-09  1:30 ` [PATCH RFC v2 virtio 5/7] pds_vdpa: add support for vdpa and vdpamgmt interfaces Shannon Nelson
2023-03-15  7:05   ` Jason Wang
2023-03-15  7:05     ` Jason Wang
2023-03-16  3:25     ` Shannon Nelson
2023-03-09  1:30 ` [PATCH RFC v2 virtio 6/7] pds_vdpa: subscribe to the pds_core events Shannon Nelson
2023-03-09  1:30 ` [PATCH RFC v2 virtio 7/7] pds_vdpa: pds_vdps.rst and Kconfig Shannon Nelson
2023-03-15  7:05   ` Jason Wang
2023-03-15  7:05     ` Jason Wang
2023-03-16  3:25     ` Shannon Nelson
2023-03-17  3:54       ` Jason Wang
2023-03-17  3:54         ` Jason Wang
2023-03-15 18:10   ` kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.