Displaying 17 results from an estimated 17 matches for "vp_vdpa_get_vq_ready".
2020 Jun 02
2
[PATCH 5/6] vdpa: introduce virtio pci driver
...vdpa_to_vp(vdpa);
> +
> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
> + vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
> +}
> +
Looks like this needs to check and just skip the write if
ready == 0, right? Of course vdpa core then insists on calling
vp_vdpa_get_vq_ready which will warn. Maybe just drop the
check from core, move it to drivers which need it?
...
> +static const struct pci_device_id vp_vdpa_id_table[] = {
> + { PCI_DEVICE(PCI_VENDOR_ID_REDHAT_QUMRANET, PCI_ANY_ID) },
> + { 0 }
> +};
This looks like it'll create a mess with either...
2020 Jun 02
2
[PATCH 5/6] vdpa: introduce virtio pci driver
...vdpa_to_vp(vdpa);
> +
> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
> + vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
> +}
> +
Looks like this needs to check and just skip the write if
ready == 0, right? Of course vdpa core then insists on calling
vp_vdpa_get_vq_ready which will warn. Maybe just drop the
check from core, move it to drivers which need it?
...
> +static const struct pci_device_id vp_vdpa_id_table[] = {
> + { PCI_DEVICE(PCI_VENDOR_ID_REDHAT_QUMRANET, PCI_ANY_ID) },
> + { 0 }
> +};
This looks like it'll create a mess with either...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...gt; + u16 qid, bool ready)
>> +{
>> + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
>> +
>> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
>> + vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
>> +}
>> +
>> +static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
>> +{
>> + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
>> +
>> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
>> +
>> + return vp_ioread16(&vp_vdpa->common->queue_enable);
>> +}
>> +
>>...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...gt; + u16 qid, bool ready)
>> +{
>> + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
>> +
>> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
>> + vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
>> +}
>> +
>> +static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
>> +{
>> + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
>> +
>> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
>> +
>> + return vp_ioread16(&vp_vdpa->common->queue_enable);
>> +}
>> +
>>...
2020 Jun 02
0
[PATCH 5/6] vdpa: introduce virtio pci driver
...gt; + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
>> + vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
>> +}
>> +
> Looks like this needs to check and just skip the write if
> ready == 0, right? Of course vdpa core then insists on calling
> vp_vdpa_get_vq_ready which will warn. Maybe just drop the
> check from core, move it to drivers which need it?
>
> ...
That may work, but it may cause inconsistent semantic for set_vq_ready
if we leave it to the driver.
>
>
>> +static const struct pci_device_id vp_vdpa_id_table[] = {
>>...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
....cb = *cb;
+}
+
+static void vp_vdpa_set_vq_ready(struct vdpa_device *vdpa,
+ u16 qid, bool ready)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+ vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
+}
+
+static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+
+ return vp_ioread16(&vp_vdpa->common->queue_enable);
+}
+
+static void vp_vdpa_set_vq_num(struct vdpa_device *vdpa, u16 qid,
+ u...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
....cb = *cb;
+}
+
+static void vp_vdpa_set_vq_ready(struct vdpa_device *vdpa,
+ u16 qid, bool ready)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+ vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
+}
+
+static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+
+ return vp_ioread16(&vp_vdpa->common->queue_enable);
+}
+
+static void vp_vdpa_set_vq_num(struct vdpa_device *vdpa, u16 qid,
+ u...
2020 Jun 10
2
[PATCH RESEND V2] vdpa: introduce virtio pci driver
....cb = *cb;
+}
+
+static void vp_vdpa_set_vq_ready(struct vdpa_device *vdpa,
+ u16 qid, bool ready)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+ vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
+}
+
+static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+
+ return vp_ioread16(&vp_vdpa->common->queue_enable);
+}
+
+static void vp_vdpa_set_vq_num(struct vdpa_device *vdpa, u16 qid,
+ u...
2020 Jun 10
2
[PATCH RESEND V2] vdpa: introduce virtio pci driver
....cb = *cb;
+}
+
+static void vp_vdpa_set_vq_ready(struct vdpa_device *vdpa,
+ u16 qid, bool ready)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+ vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
+}
+
+static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+
+ return vp_ioread16(&vp_vdpa->common->queue_enable);
+}
+
+static void vp_vdpa_set_vq_num(struct vdpa_device *vdpa, u16 qid,
+ u...
2020 Jun 10
0
[PATCH V3] vdpa: introduce virtio pci driver
...> > > + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
> > > +
> > > + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
> > > + vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
> > > +}
> > > +
> > > +static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
> > > +{
> > > + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
> > > +
> > > + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
> > > +
> > > + return vp_ioread16(&vp_vdpa->common->queue_ena...
2020 May 29
0
[PATCH 5/6] vdpa: introduce virtio pci driver
....cb = *cb;
+}
+
+static void vp_vdpa_set_vq_ready(struct vdpa_device *vdpa,
+ u16 qid, bool ready)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+ vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
+}
+
+static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+
+ return vp_ioread16(&vp_vdpa->common->queue_enable);
+}
+
+static void vp_vdpa_set_vq_num(struct vdpa_device *vdpa, u16 qid,
+ u...
2020 Jun 10
0
[PATCH RESEND V2] vdpa: introduce virtio pci driver
...eady(struct vdpa_device *vdpa,
> + u16 qid, bool ready)
> +{
> + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
> +
> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
> + vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
> +}
> +
> +static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
> +{
> + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
> +
> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
> +
> + return vp_ioread16(&vp_vdpa->common->queue_enable);
> +}
> +
> +static void vp_vdpa_set_vq_num(st...
2020 Jun 10
0
[PATCH V3] vdpa: introduce virtio pci driver
...eady(struct vdpa_device *vdpa,
> + u16 qid, bool ready)
> +{
> + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
> +
> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
> + vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
> +}
> +
> +static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
> +{
> + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
> +
> + vp_iowrite16(qid, &vp_vdpa->common->queue_select);
> +
> + return vp_ioread16(&vp_vdpa->common->queue_enable);
> +}
> +
> +static void vp_vdpa_set_vq_num(st...
2020 Jun 10
2
[PATCH V2] vdpa: introduce virtio pci driver
....cb = *cb;
+}
+
+static void vp_vdpa_set_vq_ready(struct vdpa_device *vdpa,
+ u16 qid, bool ready)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+ vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
+}
+
+static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+
+ return vp_ioread16(&vp_vdpa->common->queue_enable);
+}
+
+static void vp_vdpa_set_vq_num(struct vdpa_device *vdpa, u16 qid,
+ u...
2020 Jun 10
2
[PATCH V2] vdpa: introduce virtio pci driver
....cb = *cb;
+}
+
+static void vp_vdpa_set_vq_ready(struct vdpa_device *vdpa,
+ u16 qid, bool ready)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+ vp_iowrite16(ready, &vp_vdpa->common->queue_enable);
+}
+
+static bool vp_vdpa_get_vq_ready(struct vdpa_device *vdpa, u16 qid)
+{
+ struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
+
+ vp_iowrite16(qid, &vp_vdpa->common->queue_select);
+
+ return vp_ioread16(&vp_vdpa->common->queue_enable);
+}
+
+static void vp_vdpa_set_vq_num(struct vdpa_device *vdpa, u16 qid,
+ u...
2020 May 29
12
[PATCH 0/6] vDPA: doorbell mapping
Hi all:
This series introduce basic functionality of doorbell mapping support
for vhost-vDPA. Userspace program may use mmap() to map a the doorbell
of a specific virtqueue into its address space. This is help to reudce
the syscall or vmexit overhead.
A new vdpa_config_ops was introduced to report the location of the
doorbell, vhost_vdpa may then choose to map the doorbell when:
- The doorbell
2020 May 29
12
[PATCH 0/6] vDPA: doorbell mapping
Hi all:
This series introduce basic functionality of doorbell mapping support
for vhost-vDPA. Userspace program may use mmap() to map a the doorbell
of a specific virtqueue into its address space. This is help to reudce
the syscall or vmexit overhead.
A new vdpa_config_ops was introduced to report the location of the
doorbell, vhost_vdpa may then choose to map the doorbell when:
- The doorbell