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