Displaying 14 results from an estimated 14 matches for "pci_ari_fwd_enabled".
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [2/4]
...unsigned int ari_enabled:1; /* ARI forwarding on bridge */
unsigned int is_managed:1;
unsigned int is_pcie:1;
pci_dev_flags_t dev_flags;
@@ -1125,5 +1126,33 @@ static inline void pci_mmcfg_early_init(
static inline void pci_mmcfg_late_init(void) { }
#endif
+#ifdef CONFIG_PCI_ARI
+/**
+ * pci_ari_fwd_enabled - query ARI forwarding status
+ * @dev: PCI device
+ *
+ * Returns 1 if ARI forwarding is enabled, and 0 if it's not
+ * enabled; returns negative on failure.
+ */
+static inline int pci_ari_fwd_enabled(struct pci_dev *dev)
+{
+ return dev->ari_enabled;
+}
+extern void pci_ari_enable_fwd(str...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [2/4]
...unsigned int ari_enabled:1; /* ARI forwarding on bridge */
unsigned int is_managed:1;
unsigned int is_pcie:1;
pci_dev_flags_t dev_flags;
@@ -1125,5 +1126,33 @@ static inline void pci_mmcfg_early_init(
static inline void pci_mmcfg_late_init(void) { }
#endif
+#ifdef CONFIG_PCI_ARI
+/**
+ * pci_ari_fwd_enabled - query ARI forwarding status
+ * @dev: PCI device
+ *
+ * Returns 1 if ARI forwarding is enabled, and 0 if it's not
+ * enabled; returns negative on failure.
+ */
+static inline int pci_ari_fwd_enabled(struct pci_dev *dev)
+{
+ return dev->ari_enabled;
+}
+extern void pci_ari_enable_fwd(str...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [2/4]
...unsigned int ari_enabled:1; /* ARI forwarding on bridge */
unsigned int is_managed:1;
unsigned int is_pcie:1;
pci_dev_flags_t dev_flags;
@@ -1125,5 +1126,33 @@ static inline void pci_mmcfg_early_init(
static inline void pci_mmcfg_late_init(void) { }
#endif
+#ifdef CONFIG_PCI_ARI
+/**
+ * pci_ari_fwd_enabled - query ARI forwarding status
+ * @dev: PCI device
+ *
+ * Returns 1 if ARI forwarding is enabled, and 0 if it's not
+ * enabled; returns negative on failure.
+ */
+static inline int pci_ari_fwd_enabled(struct pci_dev *dev)
+{
+ return dev->ari_enabled;
+}
+extern void pci_ari_enable_fwd(str...
2008 Sep 01
1
[PATCH 2/4 v2] PCI: support ARI capability
...+ unsigned int ari_enabled:1; /* ARI forwarding */
unsigned int is_managed:1;
unsigned int is_pcie:1;
pci_dev_flags_t dev_flags;
@@ -1137,5 +1138,29 @@ static inline void pci_mmcfg_early_init(void) { }
static inline void pci_mmcfg_late_init(void) { }
#endif
+#ifdef CONFIG_PCI_ARI
+/**
+ * pci_ari_fwd_enabled - query ARI forwarding status
+ * @dev: the PCI device
+ *
+ * Returns 1 if ARI forwarding is enabled, or 0 if not enabled;
+ * returns negative on failure.
+ */
+static inline int pci_ari_fwd_enabled(struct pci_dev *dev)
+{
+ return dev->ari_enabled;
+}
+extern int pci_ari_next_fn(struct pci_de...
2008 Sep 01
1
[PATCH 2/4 v2] PCI: support ARI capability
...+ unsigned int ari_enabled:1; /* ARI forwarding */
unsigned int is_managed:1;
unsigned int is_pcie:1;
pci_dev_flags_t dev_flags;
@@ -1137,5 +1138,29 @@ static inline void pci_mmcfg_early_init(void) { }
static inline void pci_mmcfg_late_init(void) { }
#endif
+#ifdef CONFIG_PCI_ARI
+/**
+ * pci_ari_fwd_enabled - query ARI forwarding status
+ * @dev: the PCI device
+ *
+ * Returns 1 if ARI forwarding is enabled, or 0 if not enabled;
+ * returns negative on failure.
+ */
+static inline int pci_ari_fwd_enabled(struct pci_dev *dev)
+{
+ return dev->ari_enabled;
+}
+extern int pci_ari_next_fn(struct pci_de...
2008 Sep 01
1
[PATCH 2/4 v2] PCI: support ARI capability
...+ unsigned int ari_enabled:1; /* ARI forwarding */
unsigned int is_managed:1;
unsigned int is_pcie:1;
pci_dev_flags_t dev_flags;
@@ -1137,5 +1138,29 @@ static inline void pci_mmcfg_early_init(void) { }
static inline void pci_mmcfg_late_init(void) { }
#endif
+#ifdef CONFIG_PCI_ARI
+/**
+ * pci_ari_fwd_enabled - query ARI forwarding status
+ * @dev: the PCI device
+ *
+ * Returns 1 if ARI forwarding is enabled, or 0 if not enabled;
+ * returns negative on failure.
+ */
+static inline int pci_ari_fwd_enabled(struct pci_dev *dev)
+{
+ return dev->ari_enabled;
+}
+extern int pci_ari_next_fn(struct pci_de...
2008 Sep 27
2
[PATCH 3/6 v3] PCI: support ARI capability
...struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent,
extern int pci_resource_alignment(struct pci_dev *dev, int resno);
extern int pci_resource_bar(struct pci_dev *dev, int resno,
enum pci_bar_type *type);
+extern void pci_ari_init(struct pci_dev *dev);
+/**
+ * pci_ari_fwd_enabled - query ARI forwarding status
+ * @dev: the PCI device
+ *
+ * Returns 1 if ARI forwarding is enabled, or 0 if not enabled;
+ * returns negative on failure.
+ */
+static inline int pci_ari_enabled(struct pci_dev *dev)
+{
+ return dev->ari_enabled;
+}
#endif /* DRIVERS_PCI_H */
diff --git...
2008 Sep 27
2
[PATCH 3/6 v3] PCI: support ARI capability
...struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent,
extern int pci_resource_alignment(struct pci_dev *dev, int resno);
extern int pci_resource_bar(struct pci_dev *dev, int resno,
enum pci_bar_type *type);
+extern void pci_ari_init(struct pci_dev *dev);
+/**
+ * pci_ari_fwd_enabled - query ARI forwarding status
+ * @dev: the PCI device
+ *
+ * Returns 1 if ARI forwarding is enabled, or 0 if not enabled;
+ * returns negative on failure.
+ */
+static inline int pci_ari_enabled(struct pci_dev *dev)
+{
+ return dev->ari_enabled;
+}
#endif /* DRIVERS_PCI_H */
diff --git...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [3/4]
...->resource + i;
+ if (res->parent)
+ release_resource(res);
+ }
+}
+
+static void iov_set_vfe(struct pci_dev *pf, int enable)
+{
+ u16 reg;
+
+ pci_read_config_word(pf, pf->iov->cap + PCI_IOV_CTRL, ®);
+
+ if (enable) {
+ reg |= (PCI_IOV_CTRL_VFE | PCI_IOV_CTRL_MSE);
+
+ if (pci_ari_fwd_enabled(pf))
+ reg |= PCI_IOV_CTRL_ARI;
+ else
+ reg &= ~PCI_IOV_CTRL_ARI;
+ } else
+ reg &= ~(PCI_IOV_CTRL_VFE | PCI_IOV_CTRL_MSE);
+
+ pci_write_config_word(pf, pf->iov->cap + PCI_IOV_CTRL, reg);
+
+ ssleep(1);
+}
+
+static int iov_init(struct pci_dev *pf)
+{
+ int i;
+ u16 maxbus;
+...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [3/4]
...->resource + i;
+ if (res->parent)
+ release_resource(res);
+ }
+}
+
+static void iov_set_vfe(struct pci_dev *pf, int enable)
+{
+ u16 reg;
+
+ pci_read_config_word(pf, pf->iov->cap + PCI_IOV_CTRL, ®);
+
+ if (enable) {
+ reg |= (PCI_IOV_CTRL_VFE | PCI_IOV_CTRL_MSE);
+
+ if (pci_ari_fwd_enabled(pf))
+ reg |= PCI_IOV_CTRL_ARI;
+ else
+ reg &= ~PCI_IOV_CTRL_ARI;
+ } else
+ reg &= ~(PCI_IOV_CTRL_VFE | PCI_IOV_CTRL_MSE);
+
+ pci_write_config_word(pf, pf->iov->cap + PCI_IOV_CTRL, reg);
+
+ ssleep(1);
+}
+
+static int iov_init(struct pci_dev *pf)
+{
+ int i;
+ u16 maxbus;
+...
2008 Aug 12
0
SR-IOV: patches are available for Linux kernel [3/4]
...->resource + i;
+ if (res->parent)
+ release_resource(res);
+ }
+}
+
+static void iov_set_vfe(struct pci_dev *pf, int enable)
+{
+ u16 reg;
+
+ pci_read_config_word(pf, pf->iov->cap + PCI_IOV_CTRL, ®);
+
+ if (enable) {
+ reg |= (PCI_IOV_CTRL_VFE | PCI_IOV_CTRL_MSE);
+
+ if (pci_ari_fwd_enabled(pf))
+ reg |= PCI_IOV_CTRL_ARI;
+ else
+ reg &= ~PCI_IOV_CTRL_ARI;
+ } else
+ reg &= ~(PCI_IOV_CTRL_VFE | PCI_IOV_CTRL_MSE);
+
+ pci_write_config_word(pf, pf->iov->cap + PCI_IOV_CTRL, reg);
+
+ ssleep(1);
+}
+
+static int iov_init(struct pci_dev *pf)
+{
+ int i;
+ u16 maxbus;
+...
2008 Sep 01
2
[PATCH 3/4 v2] PCI: support SR-IOV capability
...dev *dev)
+{
+ int i;
+ int pos;
+ u32 pgsz;
+ u16 ctrl, total, offset, stride;
+ struct pci_iov *iov;
+ struct resource *res;
+
+ if (dev->pcie_type != PCI_EXP_TYPE_ENDPOINT)
+ return -ENODEV;
+
+ pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_IOV);
+ if (!pos)
+ return -ENODEV;
+
+ ctrl = pci_ari_fwd_enabled(dev) ? PCI_IOV_CTRL_ARI : 0;
+ pci_write_config_word(dev, pos + PCI_IOV_CTRL, ctrl);
+ ssleep(1);
+
+ pci_read_config_word(dev, pos + PCI_IOV_INITIAL_VF, &total);
+ pci_write_config_word(dev, pos + PCI_IOV_NUM_VF, total);
+ pci_read_config_word(dev, pos + PCI_IOV_VF_OFFSET, &offset);
+ pci_...
2008 Sep 01
2
[PATCH 3/4 v2] PCI: support SR-IOV capability
...dev *dev)
+{
+ int i;
+ int pos;
+ u32 pgsz;
+ u16 ctrl, total, offset, stride;
+ struct pci_iov *iov;
+ struct resource *res;
+
+ if (dev->pcie_type != PCI_EXP_TYPE_ENDPOINT)
+ return -ENODEV;
+
+ pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_IOV);
+ if (!pos)
+ return -ENODEV;
+
+ ctrl = pci_ari_fwd_enabled(dev) ? PCI_IOV_CTRL_ARI : 0;
+ pci_write_config_word(dev, pos + PCI_IOV_CTRL, ctrl);
+ ssleep(1);
+
+ pci_read_config_word(dev, pos + PCI_IOV_INITIAL_VF, &total);
+ pci_write_config_word(dev, pos + PCI_IOV_NUM_VF, total);
+ pci_read_config_word(dev, pos + PCI_IOV_VF_OFFSET, &offset);
+ pci_...
2008 Sep 01
2
[PATCH 3/4 v2] PCI: support SR-IOV capability
...dev *dev)
+{
+ int i;
+ int pos;
+ u32 pgsz;
+ u16 ctrl, total, offset, stride;
+ struct pci_iov *iov;
+ struct resource *res;
+
+ if (dev->pcie_type != PCI_EXP_TYPE_ENDPOINT)
+ return -ENODEV;
+
+ pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_IOV);
+ if (!pos)
+ return -ENODEV;
+
+ ctrl = pci_ari_fwd_enabled(dev) ? PCI_IOV_CTRL_ARI : 0;
+ pci_write_config_word(dev, pos + PCI_IOV_CTRL, ctrl);
+ ssleep(1);
+
+ pci_read_config_word(dev, pos + PCI_IOV_INITIAL_VF, &total);
+ pci_write_config_word(dev, pos + PCI_IOV_NUM_VF, total);
+ pci_read_config_word(dev, pos + PCI_IOV_VF_OFFSET, &offset);
+ pci_...