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