> -----Original Message----- > From: Maxime Coquelin <maxime.coque...@redhat.com> > Sent: Monday, December 21, 2020 5:14 AM > To: dev@dpdk.org; Xia, Chenbo <chenbo....@intel.com>; olivier.m...@6wind.com; > amore...@redhat.com; david.march...@redhat.com > Cc: Maxime Coquelin <maxime.coque...@redhat.com> > Subject: [PATCH 18/40] net/virtio: move virtqueue defines in generic header > > This patch moves the virtqueues defines from PCI header > to the genreric one. > > Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> > --- > drivers/net/virtio/virtio.h | 18 ++++++++++++++++++ > drivers/net/virtio/virtio_ethdev.h | 3 ++- > drivers/net/virtio/virtio_pci.h | 17 ----------------- > .../net/virtio/virtio_user/virtio_user_dev.h | 2 +- > 4 files changed, 21 insertions(+), 19 deletions(-) > > diff --git a/drivers/net/virtio/virtio.h b/drivers/net/virtio/virtio.h > index 9e787803a4..eeeb5dba4f 100644 > --- a/drivers/net/virtio/virtio.h > +++ b/drivers/net/virtio/virtio.h > @@ -88,6 +88,24 @@ > #define VIRTIO_NET_S_LINK_UP 1 /* Link is up */ > #define VIRTIO_NET_S_ANNOUNCE 2 /* Announcement is needed */ > > +/* > + * Each virtqueue indirect descriptor list must be physically contiguous. > + * To allow us to malloc(9) each list individually, limit the number > + * supported to what will fit in one page. With 4KB pages, this is a limit > + * of 256 descriptors. If there is ever a need for more, we can switch to > + * contigmalloc(9) for the larger allocations, similar to what > + * bus_dmamem_alloc(9) does. > + * > + * Note the sizeof(struct vring_desc) is 16 bytes. > + */ > +#define VIRTIO_MAX_INDIRECT ((int)(PAGE_SIZE / 16)) > + > +/* > + * Maximum number of virtqueues per device. > + */ > +#define VIRTIO_MAX_VIRTQUEUE_PAIRS 8 > +#define VIRTIO_MAX_VIRTQUEUES (VIRTIO_MAX_VIRTQUEUE_PAIRS * 2 + 1) > + > struct virtio_hw { > struct virtqueue **vqs; > uint64_t guest_features; > diff --git a/drivers/net/virtio/virtio_ethdev.h > b/drivers/net/virtio/virtio_ethdev.h > index 13395937c8..6fc373f484 100644 > --- a/drivers/net/virtio/virtio_ethdev.h > +++ b/drivers/net/virtio/virtio_ethdev.h > @@ -7,7 +7,8 @@ > > #include <stdint.h> > > -#include "virtio_pci.h" > +#include "virtio.h" > +#include <rte_ethdev_driver.h> > > #ifndef PAGE_SIZE > #define PAGE_SIZE 4096 > diff --git a/drivers/net/virtio/virtio_pci.h b/drivers/net/virtio/virtio_pci.h > index b02e5c15f5..249f9754cc 100644 > --- a/drivers/net/virtio/virtio_pci.h > +++ b/drivers/net/virtio/virtio_pci.h > @@ -67,23 +67,6 @@ struct virtnet_ctl; > #define VIRTIO_CONFIG_STATUS_DEV_NEED_RESET 0x40 > #define VIRTIO_CONFIG_STATUS_FAILED 0x80 > > -/* > - * Each virtqueue indirect descriptor list must be physically contiguous. > - * To allow us to malloc(9) each list individually, limit the number > - * supported to what will fit in one page. With 4KB pages, this is a limit > - * of 256 descriptors. If there is ever a need for more, we can switch to > - * contigmalloc(9) for the larger allocations, similar to what > - * bus_dmamem_alloc(9) does. > - * > - * Note the sizeof(struct vring_desc) is 16 bytes. > - */ > -#define VIRTIO_MAX_INDIRECT ((int) (PAGE_SIZE / 16)) > - > -/* > - * Maximum number of virtqueues per device. > - */ > -#define VIRTIO_MAX_VIRTQUEUE_PAIRS 8 > -#define VIRTIO_MAX_VIRTQUEUES (VIRTIO_MAX_VIRTQUEUE_PAIRS * 2 + 1) > > /* Common configuration */ > #define VIRTIO_PCI_CAP_COMMON_CFG 1 > diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.h > b/drivers/net/virtio/virtio_user/virtio_user_dev.h > index 59f4dd1f24..0eb481ae21 100644 > --- a/drivers/net/virtio/virtio_user/virtio_user_dev.h > +++ b/drivers/net/virtio/virtio_user/virtio_user_dev.h > @@ -7,7 +7,7 @@ > > #include <limits.h> > #include <stdbool.h> > -#include "../virtio_pci.h" > +#include "../virtio.h" > #include "../virtio_ring.h" > > enum virtio_user_backend_type { > -- > 2.29.2
Reviewed-by: Chenbo Xia <chenbo....@intel.com>