search for: vp_vdpa_driver

Displaying 17 results from an estimated 17 matches for "vp_vdpa_driver".

2020 Jun 02
2
[PATCH 5/6] vdpa: introduce virtio pci driver
...ke it'll create a mess with either virtio pci or vdpa being loaded at random. Maybe just don't specify any IDs for now. Down the road we could get a distinct vendor ID or a range of device IDs for this. > +MODULE_DEVICE_TABLE(pci, vp_vdpa_id_table); > + > +static struct pci_driver vp_vdpa_driver = { > + .name = "vp-vdpa", > + .id_table = vp_vdpa_id_table, > + .probe = vp_vdpa_probe, > + .remove = vp_vdpa_remove, > +}; > + > +module_pci_driver(vp_vdpa_driver); > + > +MODULE_AUTHOR("Jason Wang <jasowang at redhat.com>"); > +MODULE_DE...
2020 Jun 02
2
[PATCH 5/6] vdpa: introduce virtio pci driver
...ke it'll create a mess with either virtio pci or vdpa being loaded at random. Maybe just don't specify any IDs for now. Down the road we could get a distinct vendor ID or a range of device IDs for this. > +MODULE_DEVICE_TABLE(pci, vp_vdpa_id_table); > + > +static struct pci_driver vp_vdpa_driver = { > + .name = "vp-vdpa", > + .id_table = vp_vdpa_id_table, > + .probe = vp_vdpa_probe, > + .remove = vp_vdpa_remove, > +}; > + > +module_pci_driver(vp_vdpa_driver); > + > +MODULE_AUTHOR("Jason Wang <jasowang at redhat.com>"); > +MODULE_DE...
2020 Jun 02
0
[PATCH 5/6] vdpa: introduce virtio pci driver
...dpa being loaded at random. Maybe just don't specify > any IDs for now. Down the road we could get a > distinct vendor ID or a range of device IDs for this. Right, will do. Thanks > >> +MODULE_DEVICE_TABLE(pci, vp_vdpa_id_table); >> + >> +static struct pci_driver vp_vdpa_driver = { >> + .name = "vp-vdpa", >> + .id_table = vp_vdpa_id_table, >> + .probe = vp_vdpa_probe, >> + .remove = vp_vdpa_remove, >> +}; >> + >> +module_pci_driver(vp_vdpa_driver); >> + >> +MODULE_AUTHOR("Jason Wang <jasowang at re...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...gt; >> +#include <linux/virtio_ring.h> >> +#include <linux/virtio_pci.h> >> + >> +/* TBD: read from config space */ >> +#define VP_VDPA_MAX_QUEUE 2 > We need to fix that right? Otherwise lots of devices break ... Yes, will fix. > >> +#define VP_VDPA_DRIVER_NAME "vp_vdpa" > not sure why you need this macro ... Used only once, so I will remove this. > >> + >> +#define VP_VDPA_FEATURES \ >> + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ > > This is presumably for transitional devices only. In fact looking at &g...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...gt; >> +#include <linux/virtio_ring.h> >> +#include <linux/virtio_pci.h> >> + >> +/* TBD: read from config space */ >> +#define VP_VDPA_MAX_QUEUE 2 > We need to fix that right? Otherwise lots of devices break ... Yes, will fix. > >> +#define VP_VDPA_DRIVER_NAME "vp_vdpa" > not sure why you need this macro ... Used only once, so I will remove this. > >> + >> +#define VP_VDPA_FEATURES \ >> + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ > > This is presumably for transitional devices only. In fact looking at &g...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...ux/module.h> +#include <linux/pci.h> +#include <linux/vdpa.h> +#include <linux/virtio.h> +#include <linux/virtio_config.h> +#include <linux/virtio_ring.h> +#include <linux/virtio_pci.h> + +/* TBD: read from config space */ +#define VP_VDPA_MAX_QUEUE 2 +#define VP_VDPA_DRIVER_NAME "vp_vdpa" + +#define VP_VDPA_FEATURES \ + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ + (1ULL << VIRTIO_F_VERSION_1) | \ + (1ULL << VIRTIO_F_ORDER_PLATFORM) | \ + (1ULL << VIRTIO_F_IOMMU_PLATFORM)) + +struct vp_vring { + void __iomem *notify; + char msix_name[2...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...ux/module.h> +#include <linux/pci.h> +#include <linux/vdpa.h> +#include <linux/virtio.h> +#include <linux/virtio_config.h> +#include <linux/virtio_ring.h> +#include <linux/virtio_pci.h> + +/* TBD: read from config space */ +#define VP_VDPA_MAX_QUEUE 2 +#define VP_VDPA_DRIVER_NAME "vp_vdpa" + +#define VP_VDPA_FEATURES \ + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ + (1ULL << VIRTIO_F_VERSION_1) | \ + (1ULL << VIRTIO_F_ORDER_PLATFORM) | \ + (1ULL << VIRTIO_F_IOMMU_PLATFORM)) + +struct vp_vring { + void __iomem *notify; + char msix_name[2...
2020 Jun 10
2
[PATCH RESEND V2] vdpa: introduce virtio pci driver
...ux/module.h> +#include <linux/pci.h> +#include <linux/vdpa.h> +#include <linux/virtio.h> +#include <linux/virtio_config.h> +#include <linux/virtio_ring.h> +#include <linux/virtio_pci.h> + +/* TBD: read from config space */ +#define VP_VDPA_MAX_QUEUE 2 +#define VP_VDPA_DRIVER_NAME "vp_vdpa" + +#define VP_VDPA_FEATURES \ + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ + (1ULL << VIRTIO_F_VERSION_1) | \ + (1ULL << VIRTIO_F_ORDER_PLATFORM) | \ + (1ULL << VIRTIO_F_IOMMU_PLATFORM)) + +struct vp_vring { + void __iomem *notify; + char msix_name[2...
2020 Jun 10
2
[PATCH RESEND V2] vdpa: introduce virtio pci driver
...ux/module.h> +#include <linux/pci.h> +#include <linux/vdpa.h> +#include <linux/virtio.h> +#include <linux/virtio_config.h> +#include <linux/virtio_ring.h> +#include <linux/virtio_pci.h> + +/* TBD: read from config space */ +#define VP_VDPA_MAX_QUEUE 2 +#define VP_VDPA_DRIVER_NAME "vp_vdpa" + +#define VP_VDPA_FEATURES \ + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ + (1ULL << VIRTIO_F_VERSION_1) | \ + (1ULL << VIRTIO_F_ORDER_PLATFORM) | \ + (1ULL << VIRTIO_F_IOMMU_PLATFORM)) + +struct vp_vring { + void __iomem *notify; + char msix_name[2...
2020 Jun 10
0
[PATCH V3] vdpa: introduce virtio pci driver
...; > + dev_err(&pdev->dev, > > > + "vp_vdpa: missing device capabilities\n"); > > > + ret = -EINVAL; > > > + goto err; > > > + } > > > + > > > + ret = pcim_iomap_regions(pdev, vp_vdpa->modern_bars, > > > + VP_VDPA_DRIVER_NAME); > > > + if (ret) > > > + goto err; > > > + > > > + vp_vdpa->base = pcim_iomap_table(pdev); > > > + > > > + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); > > > + if (ret) > > > + ret = dma_set...
2020 May 29
0
[PATCH 5/6] vdpa: introduce virtio pci driver
...ux/module.h> +#include <linux/pci.h> +#include <linux/vdpa.h> +#include <linux/virtio.h> +#include <linux/virtio_config.h> +#include <linux/virtio_ring.h> +#include <linux/virtio_pci.h> + +/* TBD: read from config space */ +#define VP_VDPA_MAX_QUEUE 2 +#define VP_VDPA_DRIVER_NAME "vp_vdpa" + +#define VP_VDPA_FEATURES \ + (1ULL << VIRTIO_F_ANY_LAYOUT) | \ + (1ULL << VIRTIO_F_VERSION_1) | \ + (1ULL << VIRTIO_F_ORDER_PLATFORM) | \ + (1ULL << VIRTIO_F_IOMMU_PLATFORM) + +struct vp_vring { + void __iomem *notify; + char msix_name[25...
2020 Jun 10
0
[PATCH RESEND V2] vdpa: introduce virtio pci driver
...> +#include <linux/vdpa.h> > +#include <linux/virtio.h> > +#include <linux/virtio_config.h> > +#include <linux/virtio_ring.h> > +#include <linux/virtio_pci.h> > + > +/* TBD: read from config space */ > +#define VP_VDPA_MAX_QUEUE 2 > +#define VP_VDPA_DRIVER_NAME "vp_vdpa" > + > +#define VP_VDPA_FEATURES \ > + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ > + (1ULL << VIRTIO_F_VERSION_1) | \ > + (1ULL << VIRTIO_F_ORDER_PLATFORM) | \ > + (1ULL << VIRTIO_F_IOMMU_PLATFORM)) > + > +struct vp_vring { &g...
2020 Jun 10
0
[PATCH V3] vdpa: introduce virtio pci driver
...tio.h> > +#include <linux/virtio_config.h> > +#include <linux/virtio_ring.h> > +#include <linux/virtio_pci.h> > + > +/* TBD: read from config space */ > +#define VP_VDPA_MAX_QUEUE 2 We need to fix that right? Otherwise lots of devices break ... > +#define VP_VDPA_DRIVER_NAME "vp_vdpa" not sure why you need this macro ... > + > +#define VP_VDPA_FEATURES \ > + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ This is presumably for transitional devices only. In fact looking at code it seems that only net in legacy mode accepts VIRTIO_F_ANY_LAYOUT. S...
2020 Jun 10
2
[PATCH V2] vdpa: introduce virtio pci driver
...ux/module.h> +#include <linux/pci.h> +#include <linux/vdpa.h> +#include <linux/virtio.h> +#include <linux/virtio_config.h> +#include <linux/virtio_ring.h> +#include <linux/virtio_pci.h> + +/* TBD: read from config space */ +#define VP_VDPA_MAX_QUEUE 2 +#define VP_VDPA_DRIVER_NAME "vp_vdpa" + +#define VP_VDPA_FEATURES \ + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ + (1ULL << VIRTIO_F_VERSION_1) | \ + (1ULL << VIRTIO_F_ORDER_PLATFORM) | \ + (1ULL << VIRTIO_F_IOMMU_PLATFORM)) + +struct vp_vring { + void __iomem *notify; + char msix_name[2...
2020 Jun 10
2
[PATCH V2] vdpa: introduce virtio pci driver
...ux/module.h> +#include <linux/pci.h> +#include <linux/vdpa.h> +#include <linux/virtio.h> +#include <linux/virtio_config.h> +#include <linux/virtio_ring.h> +#include <linux/virtio_pci.h> + +/* TBD: read from config space */ +#define VP_VDPA_MAX_QUEUE 2 +#define VP_VDPA_DRIVER_NAME "vp_vdpa" + +#define VP_VDPA_FEATURES \ + ((1ULL << VIRTIO_F_ANY_LAYOUT) | \ + (1ULL << VIRTIO_F_VERSION_1) | \ + (1ULL << VIRTIO_F_ORDER_PLATFORM) | \ + (1ULL << VIRTIO_F_IOMMU_PLATFORM)) + +struct vp_vring { + void __iomem *notify; + char msix_name[2...
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