Displaying 20 results from an estimated 27 matches for "pci_iov_enable".
2008 Sep 27
1
[PATCH 6/6 v3] PCI: document the change
...ver doesn't want to create new entries
+under /sys/bus/pci/devices/BB:DD.F/iov/N/.
+
+To unregister SR-IOV service, Physical Function device driver needs to call:
+ void pci_iov_unregister(struct pci_dev *dev)
+
+To enable SR-IOV, Physical Function device driver needs to call:
+ int pci_iov_enable(struct pci_dev *dev, int numvfs)
+
+To disable SR-IOV, Physical Function device driver needs to call:
+ void pci_iov_disable(struct pci_dev *dev)
+
+Note: above two functions sleeps 1 second waiting on hardware transaction
+completion according to SR-IOV specification.
+
+To read or write VFs...
2008 Sep 27
1
[PATCH 6/6 v3] PCI: document the change
...ver doesn't want to create new entries
+under /sys/bus/pci/devices/BB:DD.F/iov/N/.
+
+To unregister SR-IOV service, Physical Function device driver needs to call:
+ void pci_iov_unregister(struct pci_dev *dev)
+
+To enable SR-IOV, Physical Function device driver needs to call:
+ int pci_iov_enable(struct pci_dev *dev, int numvfs)
+
+To disable SR-IOV, Physical Function device driver needs to call:
+ void pci_iov_disable(struct pci_dev *dev)
+
+Note: above two functions sleeps 1 second waiting on hardware transaction
+completion according to SR-IOV specification.
+
+To read or write VFs...
2008 Sep 27
0
[PATCH 4/9] dom0 PCI: support SR-IOV capability
..._bus_device(tmp);
+}
+
+static int iov_enable(struct pci_iov *iov)
+{
+ int rc;
+ int i, j;
+ u16 ctrl;
+
+ if (!iov->notify)
+ return -ENODEV;
+
+ if (iov->is_enabled)
+ return 0;
+
+ iov->notify(iov->dev, iov->numvfs | PCI_IOV_ENABLE);
+ pci_read_config_word(iov->dev, iov->cap + PCI_IOV_CTRL, &ctrl);
+ ctrl |= (PCI_IOV_CTRL_VFE | PCI_IOV_CTRL_MSE);
+ pci_write_config_word(iov->dev, iov->cap + PCI_IOV_CTRL, ctrl);
+ ssleep(1);
+
+ for (i = 0; i < iov->numvfs; i++) {
+...
2008 Aug 12
1
SR-IOV: patches are available for Linux kernel [4/4]
...d as hot-plugged PCI devices in the kernel,
+so they should be able to work in the same way as real PCI devices.
+NOTE: Virtual Function device driver must be loaded to make it work.
+
+
+3. Developer Guide
+
+3.1 SR-IOV APIs
+
+To enable SR-IOV, Physical Function device driver needs to call:
+ int pci_iov_enable(struct pci_dev *dev, int nvfs,
+ int (*cb)(struct pci_dev *, int, int))
+NOTE: this function sleeps 2 seconds waiting on hardware transaction
+completion according to SR-IOV specification.
+
+To disable SR-IOV, Physical Function device driver needs to call:
+ void pci_iov_disable(struct pci_dev...
2008 Aug 12
1
SR-IOV: patches are available for Linux kernel [4/4]
...d as hot-plugged PCI devices in the kernel,
+so they should be able to work in the same way as real PCI devices.
+NOTE: Virtual Function device driver must be loaded to make it work.
+
+
+3. Developer Guide
+
+3.1 SR-IOV APIs
+
+To enable SR-IOV, Physical Function device driver needs to call:
+ int pci_iov_enable(struct pci_dev *dev, int nvfs,
+ int (*cb)(struct pci_dev *, int, int))
+NOTE: this function sleeps 2 seconds waiting on hardware transaction
+completion according to SR-IOV specification.
+
+To disable SR-IOV, Physical Function device driver needs to call:
+ void pci_iov_disable(struct pci_dev...
2008 Aug 12
1
SR-IOV: patches are available for Linux kernel [4/4]
...d as hot-plugged PCI devices in the kernel,
+so they should be able to work in the same way as real PCI devices.
+NOTE: Virtual Function device driver must be loaded to make it work.
+
+
+3. Developer Guide
+
+3.1 SR-IOV APIs
+
+To enable SR-IOV, Physical Function device driver needs to call:
+ int pci_iov_enable(struct pci_dev *dev, int nvfs,
+ int (*cb)(struct pci_dev *, int, int))
+NOTE: this function sleeps 2 seconds waiting on hardware transaction
+completion according to SR-IOV specification.
+
+To disable SR-IOV, Physical Function device driver needs to call:
+ void pci_iov_disable(struct pci_dev...
2008 Oct 14
8
[PATCH 0/8 v4] PCI: Linux kernel SR-IOV support
Greetings,
Following patches are intended to support SR-IOV capability in the
Linux kernel. With these patches, people can turn a PCI device with
the capability into multiple ones from software perspective, which
will benefit KVM and achieve other purposes such as QoS, security,
and etc.
[PATCH 1/8 v4] PCI: define PCI resource names in a 'enum'
[PATCH 2/8 v4] PCI: export __pci_read_base
2008 Oct 14
8
[PATCH 0/8 v4] PCI: Linux kernel SR-IOV support
Greetings,
Following patches are intended to support SR-IOV capability in the
Linux kernel. With these patches, people can turn a PCI device with
the capability into multiple ones from software perspective, which
will benefit KVM and achieve other purposes such as QoS, security,
and etc.
[PATCH 1/8 v4] PCI: define PCI resource names in a 'enum'
[PATCH 2/8 v4] PCI: export __pci_read_base
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [3/4]
.../
+int pci_iov_max_virtfn(struct pci_dev *dev)
+{
+ u16 reg;
+ int pos;
+
+ pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_IOV);
+ if (!pos)
+ return -ENODEV;
+
+ pci_read_config_word(dev, pos + PCI_IOV_INITIAL_VF, ®);
+
+ return reg;
+}
+EXPORT_SYMBOL_GPL(pci_iov_max_virtfn);
+
+/**
+ * pci_iov_enable - enable device's SR-IOV capability
+ * @dev: PCI device
+ * @nvfs: number of Virtual Functions that are available
+ * @cb: callback used to notify Physical Function driver
+ *
+ * Returns 0 on success, and negative on failure.
+ *
+ * This function initializes SR-IOV capability. Number of avai...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [3/4]
.../
+int pci_iov_max_virtfn(struct pci_dev *dev)
+{
+ u16 reg;
+ int pos;
+
+ pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_IOV);
+ if (!pos)
+ return -ENODEV;
+
+ pci_read_config_word(dev, pos + PCI_IOV_INITIAL_VF, ®);
+
+ return reg;
+}
+EXPORT_SYMBOL_GPL(pci_iov_max_virtfn);
+
+/**
+ * pci_iov_enable - enable device's SR-IOV capability
+ * @dev: PCI device
+ * @nvfs: number of Virtual Functions that are available
+ * @cb: callback used to notify Physical Function driver
+ *
+ * Returns 0 on success, and negative on failure.
+ *
+ * This function initializes SR-IOV capability. Number of avai...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [3/4]
.../
+int pci_iov_max_virtfn(struct pci_dev *dev)
+{
+ u16 reg;
+ int pos;
+
+ pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_IOV);
+ if (!pos)
+ return -ENODEV;
+
+ pci_read_config_word(dev, pos + PCI_IOV_INITIAL_VF, ®);
+
+ return reg;
+}
+EXPORT_SYMBOL_GPL(pci_iov_max_virtfn);
+
+/**
+ * pci_iov_enable - enable device's SR-IOV capability
+ * @dev: PCI device
+ * @nvfs: number of Virtual Functions that are available
+ * @cb: callback used to notify Physical Function driver
+ *
+ * Returns 0 on success, and negative on failure.
+ *
+ * This function initializes SR-IOV capability. Number of avai...
2008 Sep 27
3
[PATCH 4/6 v3] PCI: support SR-IOV capability
..._bus_device(tmp);
+}
+
+static int iov_enable(struct pci_iov *iov)
+{
+ int rc;
+ int i, j;
+ u16 ctrl;
+
+ if (!iov->notify)
+ return -ENODEV;
+
+ if (iov->is_enabled)
+ return 0;
+
+ iov->notify(iov->dev, iov->numvfs | PCI_IOV_ENABLE);
+ pci_read_config_word(iov->dev, iov->cap + PCI_IOV_CTRL, &ctrl);
+ ctrl |= (PCI_IOV_CTRL_VFE | PCI_IOV_CTRL_MSE);
+ pci_write_config_word(iov->dev, iov->cap + PCI_IOV_CTRL, ctrl);
+ ssleep(1);
+
+ for (i = 0; i < iov->numvfs; i++) {
+...
2008 Sep 27
3
[PATCH 4/6 v3] PCI: support SR-IOV capability
..._bus_device(tmp);
+}
+
+static int iov_enable(struct pci_iov *iov)
+{
+ int rc;
+ int i, j;
+ u16 ctrl;
+
+ if (!iov->notify)
+ return -ENODEV;
+
+ if (iov->is_enabled)
+ return 0;
+
+ iov->notify(iov->dev, iov->numvfs | PCI_IOV_ENABLE);
+ pci_read_config_word(iov->dev, iov->cap + PCI_IOV_CTRL, &ctrl);
+ ctrl |= (PCI_IOV_CTRL_VFE | PCI_IOV_CTRL_MSE);
+ pci_write_config_word(iov->dev, iov->cap + PCI_IOV_CTRL, ctrl);
+ ssleep(1);
+
+ for (i = 0; i < iov->numvfs; i++) {
+...
2008 Oct 21
16
[PATCH 0/15 v5] PCI: Linux kernel SR-IOV support
Greetings,
Following patches are intended to support SR-IOV capability in the
Linux kernel. With these patches, people can turn a PCI device with
the capability into multiple ones from software perspective, which
will benefit KVM and achieve other purposes such as QoS, security,
and etc.
Major changes between v4 -> v5:
1, remove interfaces for PF driver to create sysfs entries (Matthew
2008 Oct 21
16
[PATCH 0/15 v5] PCI: Linux kernel SR-IOV support
Greetings,
Following patches are intended to support SR-IOV capability in the
Linux kernel. With these patches, people can turn a PCI device with
the capability into multiple ones from software perspective, which
will benefit KVM and achieve other purposes such as QoS, security,
and etc.
Major changes between v4 -> v5:
1, remove interfaces for PF driver to create sysfs entries (Matthew
2008 Oct 22
20
[PATCH 0/16 v6] PCI: Linux kernel SR-IOV support
Greetings,
Following patches are intended to support SR-IOV capability in the
Linux kernel. With these patches, people can turn a PCI device with
the capability into multiple ones from software perspective, which
will benefit KVM and achieve other purposes such as QoS, security,
and etc.
Changes from v5 to v6:
1, update ABI document to include SR-IOV sysfs entries (Greg KH)
2, fix two coding
2008 Oct 22
20
[PATCH 0/16 v6] PCI: Linux kernel SR-IOV support
Greetings,
Following patches are intended to support SR-IOV capability in the
Linux kernel. With these patches, people can turn a PCI device with
the capability into multiple ones from software perspective, which
will benefit KVM and achieve other purposes such as QoS, security,
and etc.
Changes from v5 to v6:
1, update ABI document to include SR-IOV sysfs entries (Greg KH)
2, fix two coding
2008 Oct 22
20
[PATCH 0/16 v6] PCI: Linux kernel SR-IOV support
Greetings,
Following patches are intended to support SR-IOV capability in the
Linux kernel. With these patches, people can turn a PCI device with
the capability into multiple ones from software perspective, which
will benefit KVM and achieve other purposes such as QoS, security,
and etc.
Changes from v5 to v6:
1, update ABI document to include SR-IOV sysfs entries (Greg KH)
2, fix two coding
2008 Sep 01
2
[PATCH 3/4 v2] PCI: support SR-IOV capability
...ci_dev *dev, int resno,
+ enum pci_bar_type *type)
+{
+ if (resno < PCI_IOV_RESOURCES || resno > PCI_IOV_RESOURCES_END)
+ return 0;
+
+ BUG_ON(!dev->iov);
+
+ *type = pci_bar_unknown;
+ return dev->iov->cap + PCI_IOV_BAR_0 +
+ 4 * (resno - PCI_IOV_RESOURCES);
+}
+
+/**
+ * pci_iov_enable - enable device's SR-IOV capability
+ * @dev: the PCI device
+ * @cb: callback used to notify Physical Function driver
+ *
+ * Returns 0 on success, or negative on failure.
+ */
+int pci_iov_enable(struct pci_dev *dev,
+ int (*cb)(struct pci_dev *, int, int, char *))
+{
+ int i;
+ int rc;
+...
2008 Sep 01
2
[PATCH 3/4 v2] PCI: support SR-IOV capability
...ci_dev *dev, int resno,
+ enum pci_bar_type *type)
+{
+ if (resno < PCI_IOV_RESOURCES || resno > PCI_IOV_RESOURCES_END)
+ return 0;
+
+ BUG_ON(!dev->iov);
+
+ *type = pci_bar_unknown;
+ return dev->iov->cap + PCI_IOV_BAR_0 +
+ 4 * (resno - PCI_IOV_RESOURCES);
+}
+
+/**
+ * pci_iov_enable - enable device's SR-IOV capability
+ * @dev: the PCI device
+ * @cb: callback used to notify Physical Function driver
+ *
+ * Returns 0 on success, or negative on failure.
+ */
+int pci_iov_enable(struct pci_dev *dev,
+ int (*cb)(struct pci_dev *, int, int, char *))
+{
+ int i;
+ int rc;
+...