Skip to content

Commit 33bb2d1

Browse files
Yuxue Liumstsirkin
authored andcommitted
vdpa/vp_vdpa: implement kick_vq_with_data callback
Implement the kick_vq_with_data vDPA callback. On kick, we pass the next available data to the hardware by writing it in the kick offset. Signed-off-by: Yuxue Liu <[email protected]> Message-Id: <[email protected]> Signed-off-by: Michael S. Tsirkin <[email protected]> Acked-by: Jason Wang <[email protected]>
1 parent 302b49d commit 33bb2d1

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

drivers/vdpa/virtio_pci/vp_vdpa.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,14 @@ static void vp_vdpa_kick_vq(struct vdpa_device *vdpa, u16 qid)
367367
vp_iowrite16(qid, vp_vdpa->vring[qid].notify);
368368
}
369369

370+
static void vp_vdpa_kick_vq_with_data(struct vdpa_device *vdpa, u32 data)
371+
{
372+
struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa);
373+
u16 qid = data & 0xFFFF;
374+
375+
vp_iowrite32(data, vp_vdpa->vring[qid].notify);
376+
}
377+
370378
static u32 vp_vdpa_get_generation(struct vdpa_device *vdpa)
371379
{
372380
struct virtio_pci_modern_device *mdev = vdpa_to_mdev(vdpa);
@@ -472,6 +480,7 @@ static const struct vdpa_config_ops vp_vdpa_ops = {
472480
.get_vq_size = vp_vdpa_get_vq_size,
473481
.set_vq_address = vp_vdpa_set_vq_address,
474482
.kick_vq = vp_vdpa_kick_vq,
483+
.kick_vq_with_data = vp_vdpa_kick_vq_with_data,
475484
.get_generation = vp_vdpa_get_generation,
476485
.get_device_id = vp_vdpa_get_device_id,
477486
.get_vendor_id = vp_vdpa_get_vendor_id,

0 commit comments

Comments
 (0)