search for: ifcvf_queue_align

Displaying 13 results from an estimated 13 matches for "ifcvf_queue_align".

2020 Apr 09
2
[PATCH V9 9/9] virtio: Intel IFC VF driver for VDPA
...ng operations, etc. > > Signed-off-by: Zhu Lingshan <lingshan.zhu at intel.com> > Signed-off-by: Bie Tiwei <tiwei.bie at intel.com> > Signed-off-by: Wang Xiao <xiao.w.wang at intel.com> > Signed-off-by: Jason Wang <jasowang at redhat.com> > + > +#define IFCVF_QUEUE_ALIGNMENT PAGE_SIZE > +#define IFCVF_QUEUE_MAX 32768 > +static u16 ifcvf_vdpa_get_vq_align(struct vdpa_device *vdpa_dev) > +{ > + return IFCVF_QUEUE_ALIGNMENT; > +} This fails to build on arm64 with 64kb page size (found in linux-next): /drivers/vdpa/ifcvf/ifcvf_mai...
2020 Apr 09
2
[PATCH] vdpa: allow a 32 bit vq alignment
...drivers/vdpa/ifcvf/ifcvf_main.c @@ -226,7 +226,7 @@ static u32 ifcvf_vdpa_get_vendor_id(struct vdpa_device *vdpa_dev) return IFCVF_SUBSYS_VENDOR_ID; } -static u16 ifcvf_vdpa_get_vq_align(struct vdpa_device *vdpa_dev) +static u32 ifcvf_vdpa_get_vq_align(struct vdpa_device *vdpa_dev) { return IFCVF_QUEUE_ALIGNMENT; } diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c index 72863d01a12a..7957d2d41fc4 100644 --- a/drivers/vdpa/vdpa_sim/vdpa_sim.c +++ b/drivers/vdpa/vdpa_sim/vdpa_sim.c @@ -435,7 +435,7 @@ static u64 vdpasim_get_vq_state(struct vdpa_device *vdpa, u16 idx) ret...
2019 Nov 08
0
[PATCH 1/2] IFC hardware operation layer
...ET_F_CTRL_VQ) | \ > + (1ULL << VIRTIO_NET_F_STATUS) | \ > + (1ULL << VIRTIO_NET_F_MRG_RXBUF)) /* not fully supported */ > + > +//Not support MQ, only one queue pair for now. > +#define IFCVF_MAX_QUEUE_PAIRS 1 > +#define IFCVF_MAX_QUEUES 2 > + > +#define IFCVF_QUEUE_ALIGNMENT PAGE_SIZE > + > +#define IFCVF_MSI_CONFIG_OFF 0 > +#define IFCVF_MSI_QUEUE_OFF 1 > +#define IFCVF_PCI_MAX_RESOURCE 6 > + > +#define IFCVF_LM_CFG_SIZE 0x40 > +#define IFCVF_LM_RING_STATE_OFFSET 0x20 > +#define IFCVF_LM_BAR 4 > + > +#define IFCVF_32_BIT_MASK 0xfff...
2019 Nov 05
1
[PATCH 1/2] IFC hardware operation layer
...ET_F_CTRL_VQ) | \ > + (1ULL << VIRTIO_NET_F_STATUS) | \ > + (1ULL << VIRTIO_NET_F_MRG_RXBUF)) /* not fully supported */ > + > +//Not support MQ, only one queue pair for now. > +#define IFCVF_MAX_QUEUE_PAIRS 1 > +#define IFCVF_MAX_QUEUES 2 > + > +#define IFCVF_QUEUE_ALIGNMENT PAGE_SIZE > + > +#define IFCVF_MSI_CONFIG_OFF 0 > +#define IFCVF_MSI_QUEUE_OFF 1 > +#define IFCVF_PCI_MAX_RESOURCE 6 > + > +#define IFCVF_LM_CFG_SIZE 0x40 > +#define IFCVF_LM_RING_STATE_OFFSET 0x20 > +#define IFCVF_LM_BAR 4 > + > +#define IFCVF_32_BIT_MASK 0xfff...
2019 Oct 21
0
[RFC 2/2] vhost: IFC VF vdpa layer
...+} >>> + >>> +static u32 ifcvf_mdev_get_vendor_id(struct mdev_device *mdev) >>> +{ >>> +??? return IFCVF_VENDOR_ID; >>> +} >>> + >>> +static u16 ifcvf_mdev_get_vq_align(struct mdev_device *mdev) >>> +{ >>> +??? return IFCVF_QUEUE_ALIGNMENT; >>> +} >>> + >>> +static int ifcvf_start_datapath(void *private) >>> +{ >>> +??? int i, ret; >>> +??? struct ifcvf_hw *vf = IFC_PRIVATE_TO_VF(private); >>> + >>> +??? for (i = 0; i < (IFCVF_MAX_QUEUE_PAIRS * 2); i++) {...
2019 Nov 05
0
[PATCH 1/2] IFC hardware operation layer
...) /* not fully supported */ what does this last one mean? shouldn't we clear the bit if it's incomplete? > + > +//Not support MQ, only one queue pair for now. /* comments like this pls */ > +#define IFCVF_MAX_QUEUE_PAIRS 1 > +#define IFCVF_MAX_QUEUES 2 > + > +#define IFCVF_QUEUE_ALIGNMENT PAGE_SIZE > + > +#define IFCVF_MSI_CONFIG_OFF 0 > +#define IFCVF_MSI_QUEUE_OFF 1 > +#define IFCVF_PCI_MAX_RESOURCE 6 > + > +#define IFCVF_LM_CFG_SIZE 0x40 > +#define IFCVF_LM_RING_STATE_OFFSET 0x20 > +#define IFCVF_LM_BAR 4 > + > +#define IFCVF_32_BIT_MASK 0xfff...
2019 Oct 16
0
[RFC 2/2] vhost: IFC VF vdpa layer
...evice_id(struct mdev_device *mdev) > +{ > + return IFCVF_DEVICE_ID; > +} > + > +static u32 ifcvf_mdev_get_vendor_id(struct mdev_device *mdev) > +{ > + return IFCVF_VENDOR_ID; > +} > + > +static u16 ifcvf_mdev_get_vq_align(struct mdev_device *mdev) > +{ > + return IFCVF_QUEUE_ALIGNMENT; > +} > + > +static int ifcvf_start_datapath(void *private) > +{ > + int i, ret; > + struct ifcvf_hw *vf = IFC_PRIVATE_TO_VF(private); > + > + for (i = 0; i < (IFCVF_MAX_QUEUE_PAIRS * 2); i++) { > + if (!vf->vring[i].ready) > + break; Looks like error sh...
2019 Nov 06
0
[PATCH 1/2] IFC hardware operation layer
...F_STATUS) | \ > + (1ULL << VIRTIO_NET_F_MRG_RXBUF)) /* not fully supported */ If it was not fully supported, we need to remove it. > + > +//Not support MQ, only one queue pair for now. > +#define IFCVF_MAX_QUEUE_PAIRS 1 > +#define IFCVF_MAX_QUEUES 2 > + > +#define IFCVF_QUEUE_ALIGNMENT PAGE_SIZE > + > +#define IFCVF_MSI_CONFIG_OFF 0 > +#define IFCVF_MSI_QUEUE_OFF 1 > +#define IFCVF_PCI_MAX_RESOURCE 6 > + > +#define IFCVF_LM_CFG_SIZE 0x40 > +#define IFCVF_LM_RING_STATE_OFFSET 0x20 > +#define IFCVF_LM_BAR 4 > + > +#define IFCVF_32_BIT_MASK 0xfff...
2019 Oct 16
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...GUEST_ANNOUNCE) | \ > + (1ULL << VIRTIO_NET_F_CTRL_VQ) | \ > + (1ULL << VIRTIO_NET_F_STATUS) | \ > + (1ULL << VIRTIO_NET_F_MRG_RXBUF)) /* not fully supported */ > + > +#define IFCVF_MAX_QUEUE_PAIRS 1 > +#define IFCVF_MAX_QUEUES 2 > + > +#define IFCVF_QUEUE_ALIGNMENT PAGE_SIZE > + > +#define IFCVF_MSI_CONFIG_OFF 0 > +#define IFCVF_MSI_QUEUE_OFF 1 > +#define IFCVF_PCI_MAX_RESOURCE 6 > + > +/* 46 bit CPU physical address, avoid overlap */ > +#define LM_IOVA 0x400000000000 > + > +#define IFCVF_LM_CFG_SIZE 0x40 > +#define IFCVF_L...
2019 Nov 06
0
[PATCH 2/2] IFC VDPA layer
..._device_id(struct mdev_device *mdev) > +{ > + return VIRTIO_ID_NET; > +} > + > +static u32 ifcvf_mdev_get_vendor_id(struct mdev_device *mdev) > +{ > + return IFCVF_VENDOR_ID; > +} > + > +static u16 ifcvf_mdev_get_vq_align(struct mdev_device *mdev) > +{ > + return IFCVF_QUEUE_ALIGNMENT; > +} > + > +static u64 ifcvf_mdev_get_mdev_features(struct mdev_device *mdev) > +{ > + return VIRTIO_MDEV_F_VERSION_1; > +} We've decide to remove this API. > + > +static int ifcvf_start_datapath(void *private) > +{ > + struct ifcvf_hw *vf = IFC_PRIVATE_TO_V...
2019 Oct 21
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...?????? (1ULL << VIRTIO_NET_F_STATUS)??????????? | \ >>> +???????? (1ULL << VIRTIO_NET_F_MRG_RXBUF)) /* not fully supported */ >>> + >>> +#define IFCVF_MAX_QUEUE_PAIRS??????? 1 >>> +#define IFCVF_MAX_QUEUES??????? 2 >>> + >>> +#define IFCVF_QUEUE_ALIGNMENT??????? PAGE_SIZE >>> + >>> +#define IFCVF_MSI_CONFIG_OFF??? 0 >>> +#define IFCVF_MSI_QUEUE_OFF??? 1 >>> +#define IFCVF_PCI_MAX_RESOURCE??? 6 >>> + >>> +/* 46 bit CPU physical address, avoid overlap */ >>> +#define LM_IOVA 0x40000000...
2020 Sep 24
30
[RFC PATCH 00/24] Control VQ support in vDPA
Hi All: This series tries to add the support for control virtqueue in vDPA. Control virtqueue is used by networking device for accepting various commands from the driver. It's a must to support multiqueue and other configurations. When used by vhost-vDPA bus driver for VM, the control virtqueue should be shadowed via userspace VMM (Qemu) instead of being assigned directly to Guest. This is
2020 Sep 24
30
[RFC PATCH 00/24] Control VQ support in vDPA
Hi All: This series tries to add the support for control virtqueue in vDPA. Control virtqueue is used by networking device for accepting various commands from the driver. It's a must to support multiqueue and other configurations. When used by vhost-vDPA bus driver for VM, the control virtqueue should be shadowed via userspace VMM (Qemu) instead of being assigned directly to Guest. This is