search for: notify_off

Displaying 20 results from an estimated 21 matches for "notify_off".

2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...; + /* The IO mapping for the PCI config space */ >> + void __iomem * const *base; >> + struct virtio_pci_common_cfg __iomem *common; >> + void __iomem *device; >> + /* Base of vq notifications */ >> + void __iomem *notify; >> + >> + /* Multiplier for queue_notify_off. */ >> + u32 notify_off_multiplier; >> + >> + int modern_bars; >> + int vectors; >> +}; >> + >> +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) >> +{ >> + return container_of(vdpa, struct vp_vdpa, vdpa); >> +} >> + >&...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...; + /* The IO mapping for the PCI config space */ >> + void __iomem * const *base; >> + struct virtio_pci_common_cfg __iomem *common; >> + void __iomem *device; >> + /* Base of vq notifications */ >> + void __iomem *notify; >> + >> + /* Multiplier for queue_notify_off. */ >> + u32 notify_off_multiplier; >> + >> + int modern_bars; >> + int vectors; >> +}; >> + >> +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) >> +{ >> + return container_of(vdpa, struct vp_vdpa, vdpa); >> +} >> + >&...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...io_device_id id; + + struct vp_vring vring[VP_VDPA_MAX_QUEUE]; + + /* The IO mapping for the PCI config space */ + void __iomem * const *base; + struct virtio_pci_common_cfg __iomem *common; + void __iomem *device; + /* Base of vq notifications */ + void __iomem *notify; + + /* Multiplier for queue_notify_off. */ + u32 notify_off_multiplier; + + int modern_bars; + int vectors; +}; + +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) +{ + return container_of(vdpa, struct vp_vdpa, vdpa); +} + +/* + * Type-safe wrappers for io accesses. + * Use these to enforce at compile time the following spec...
2020 Jun 10
2
[PATCH V3] vdpa: introduce virtio pci driver
...io_device_id id; + + struct vp_vring vring[VP_VDPA_MAX_QUEUE]; + + /* The IO mapping for the PCI config space */ + void __iomem * const *base; + struct virtio_pci_common_cfg __iomem *common; + void __iomem *device; + /* Base of vq notifications */ + void __iomem *notify; + + /* Multiplier for queue_notify_off. */ + u32 notify_off_multiplier; + + int modern_bars; + int vectors; +}; + +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) +{ + return container_of(vdpa, struct vp_vdpa, vdpa); +} + +/* + * Type-safe wrappers for io accesses. + * Use these to enforce at compile time the following spec...
2020 Jun 10
2
[PATCH RESEND V2] vdpa: introduce virtio pci driver
...io_device_id id; + + struct vp_vring vring[VP_VDPA_MAX_QUEUE]; + + /* The IO mapping for the PCI config space */ + void __iomem * const *base; + struct virtio_pci_common_cfg __iomem *common; + void __iomem *device; + /* Base of vq notifications */ + void __iomem *notify; + + /* Multiplier for queue_notify_off. */ + u32 notify_off_multiplier; + + int modern_bars; + int vectors; +}; + +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) +{ + return container_of(vdpa, struct vp_vdpa, vdpa); +} + +/* + * Type-safe wrappers for io accesses. + * Use these to enforce at compile time the following spec...
2020 Jun 10
2
[PATCH RESEND V2] vdpa: introduce virtio pci driver
...io_device_id id; + + struct vp_vring vring[VP_VDPA_MAX_QUEUE]; + + /* The IO mapping for the PCI config space */ + void __iomem * const *base; + struct virtio_pci_common_cfg __iomem *common; + void __iomem *device; + /* Base of vq notifications */ + void __iomem *notify; + + /* Multiplier for queue_notify_off. */ + u32 notify_off_multiplier; + + int modern_bars; + int vectors; +}; + +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) +{ + return container_of(vdpa, struct vp_vdpa, vdpa); +} + +/* + * Type-safe wrappers for io accesses. + * Use these to enforce at compile time the following spec...
2020 Jun 10
0
[PATCH V3] vdpa: introduce virtio pci driver
...pace */ > > > + void __iomem * const *base; > > > + struct virtio_pci_common_cfg __iomem *common; > > > + void __iomem *device; > > > + /* Base of vq notifications */ > > > + void __iomem *notify; > > > + > > > + /* Multiplier for queue_notify_off. */ > > > + u32 notify_off_multiplier; > > > + > > > + int modern_bars; > > > + int vectors; > > > +}; > > > + > > > +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) > > > +{ > > > + return container_of(vdp...
2020 Jun 10
0
[PATCH RESEND V2] vdpa: introduce virtio pci driver
..._VDPA_MAX_QUEUE]; > + > + /* The IO mapping for the PCI config space */ > + void __iomem * const *base; > + struct virtio_pci_common_cfg __iomem *common; > + void __iomem *device; > + /* Base of vq notifications */ > + void __iomem *notify; > + > + /* Multiplier for queue_notify_off. */ > + u32 notify_off_multiplier; > + > + int modern_bars; > + int vectors; > +}; > + > +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) > +{ > + return container_of(vdpa, struct vp_vdpa, vdpa); > +} > + > +/* > + * Type-safe wrappers for io acces...
2020 Jun 10
0
[PATCH V3] vdpa: introduce virtio pci driver
..._VDPA_MAX_QUEUE]; > + > + /* The IO mapping for the PCI config space */ > + void __iomem * const *base; > + struct virtio_pci_common_cfg __iomem *common; > + void __iomem *device; > + /* Base of vq notifications */ > + void __iomem *notify; > + > + /* Multiplier for queue_notify_off. */ > + u32 notify_off_multiplier; > + > + int modern_bars; > + int vectors; > +}; > + > +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) > +{ > + return container_of(vdpa, struct vp_vdpa, vdpa); > +} > + > +/* > + * Type-safe wrappers for io acces...
2020 Jun 10
2
[PATCH V2] vdpa: introduce virtio pci driver
...io_device_id id; + + struct vp_vring vring[VP_VDPA_MAX_QUEUE]; + + /* The IO mapping for the PCI config space */ + void __iomem * const *base; + struct virtio_pci_common_cfg __iomem *common; + void __iomem *device; + /* Base of vq notifications */ + void __iomem *notify; + + /* Multiplier for queue_notify_off. */ + u32 notify_off_multiplier; + + int modern_bars; + int vectors; +}; + +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) +{ + return container_of(vdpa, struct vp_vdpa, vdpa); +} + +/* + * Type-safe wrappers for io accesses. + * Use these to enforce at compile time the following spec...
2020 Jun 10
2
[PATCH V2] vdpa: introduce virtio pci driver
...io_device_id id; + + struct vp_vring vring[VP_VDPA_MAX_QUEUE]; + + /* The IO mapping for the PCI config space */ + void __iomem * const *base; + struct virtio_pci_common_cfg __iomem *common; + void __iomem *device; + /* Base of vq notifications */ + void __iomem *notify; + + /* Multiplier for queue_notify_off. */ + u32 notify_off_multiplier; + + int modern_bars; + int vectors; +}; + +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) +{ + return container_of(vdpa, struct vp_vdpa, vdpa); +} + +/* + * Type-safe wrappers for io accesses. + * Use these to enforce at compile time the following spec...
2019 Nov 08
0
[PATCH 1/2] IFC hardware operation layer
...< size; i += 4) { > + ret = pci_read_config_dword(dev, where + i, val + i / 4); > + if (ret < 0) > + return ret; > + } > + > + return 0; > +} > + > +int ifcvf_init_hw(struct ifcvf_hw *hw, struct pci_dev *dev) > +{ > + struct virtio_pci_cap cap; > + u16 notify_off; > + int ret; > + u8 pos; > + u32 i; > + > + ret = pci_read_config_byte(dev, PCI_CAPABILITY_LIST, &pos); > + > + if (ret < 0) { > + IFC_ERR(&dev->dev, "Failed to read PCI capability list.\n"); > + return -EIO; > + } > + > + while (pos) {...
2019 Nov 05
1
[PATCH 1/2] IFC hardware operation layer
...< size; i += 4) { > + ret = pci_read_config_dword(dev, where + i, val + i / 4); > + if (ret < 0) > + return ret; > + } > + > + return 0; > +} > + > +int ifcvf_init_hw(struct ifcvf_hw *hw, struct pci_dev *dev) > +{ > + struct virtio_pci_cap cap; > + u16 notify_off; > + int ret; > + u8 pos; > + u32 i; > + > + ret = pci_read_config_byte(dev, PCI_CAPABILITY_LIST, &pos); > + > + if (ret < 0) { > + IFC_ERR(&dev->dev, "Failed to read PCI capability list.\n"); > + return -EIO; > + } > + > + while (pos) {...
2019 Nov 05
0
[PATCH 1/2] IFC hardware operation layer
...< size; i += 4) { > + ret = pci_read_config_dword(dev, where + i, val + i / 4); > + if (ret < 0) > + return ret; > + } > + > + return 0; > +} > + > +int ifcvf_init_hw(struct ifcvf_hw *hw, struct pci_dev *dev) > +{ > + struct virtio_pci_cap cap; > + u16 notify_off; > + int ret; > + u8 pos; > + u32 i; > + > + ret = pci_read_config_byte(dev, PCI_CAPABILITY_LIST, &pos); > + > + if (ret < 0) { > + IFC_ERR(&dev->dev, "Failed to read PCI capability list.\n"); > + return -EIO; > + } > + > + while (pos) {...
2019 Nov 06
0
[PATCH 1/2] IFC hardware operation layer
...< size; i += 4) { > + ret = pci_read_config_dword(dev, where + i, val + i / 4); > + if (ret < 0) > + return ret; > + } > + > + return 0; > +} > + > +int ifcvf_init_hw(struct ifcvf_hw *hw, struct pci_dev *dev) > +{ > + struct virtio_pci_cap cap; > + u16 notify_off; > + int ret; > + u8 pos; > + u32 i; > + > + ret = pci_read_config_byte(dev, PCI_CAPABILITY_LIST, &pos); > + > + if (ret < 0) { > + IFC_ERR(&dev->dev, "Failed to read PCI capability list.\n"); > + return -EIO; > + } > + > + while (pos) {...
2019 Oct 16
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...) { > + if (pci_read_config_dword(dev, where + i, val + i / 4) < 0) > + return -1; > + } > + return 0; > +} > + > +int ifcvf_init_hw(struct ifcvf_hw *hw, struct pci_dev *dev) > +{ > + int ret; > + u8 pos; > + struct virtio_pci_cap cap; > + u32 i; > + u16 notify_off; > + > + ret = pci_read_config_byte(dev, PCI_CAPABILITY_LIST, &pos); > + > + if (ret < 0) { > + IFC_ERR(&dev->dev, "failed to read PCI capability list.\n"); > + return -EIO; > + } > + > + while (pos) { > + ret = ifcvf_read_config_range(dev, (...
2019 Oct 21
0
[RFC 1/2] vhost: IFC VF hardware operation layer
...??? } >>> +??? return 0; >>> +} >>> + >>> +int ifcvf_init_hw(struct ifcvf_hw *hw, struct pci_dev *dev) >>> +{ >>> +??? int ret; >>> +??? u8 pos; >>> +??? struct virtio_pci_cap cap; >>> +??? u32 i; >>> +??? u16 notify_off; >>> + >>> +??? ret = pci_read_config_byte(dev, PCI_CAPABILITY_LIST, &pos); >>> + >>> +??? if (ret < 0) { >>> +??????? IFC_ERR(&dev->dev, "failed to read PCI capability list.\n"); >>> +??????? return -EIO; >>> +?...
2020 May 29
0
[PATCH 5/6] vdpa: introduce virtio pci driver
...io_device_id id; + + struct vp_vring vring[VP_VDPA_MAX_QUEUE]; + + /* The IO mapping for the PCI config space */ + void __iomem * const *base; + struct virtio_pci_common_cfg __iomem *common; + void __iomem *device; + /* Base of vq notifications */ + void __iomem *notify; + + /* Multiplier for queue_notify_off. */ + u32 notify_off_multiplier; + + int modern_bars; + int vectors; +}; + +static struct vp_vdpa *vdpa_to_vp(struct vdpa_device *vdpa) +{ + return container_of(vdpa, struct vp_vdpa, vdpa); +} + +/* + * Type-safe wrappers for io accesses. + * Use these to enforce at compile time the following spec...
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