Commit 74955cb8 authored by Damien Le Moal's avatar Damien Le Moal Committed by Lorenzo Pieralisi

PCI: endpoint: Drop PCI_EPC_IRQ_XXX definitions

linux/pci.h defines the IRQ flags PCI_IRQ_INTX, PCI_IRQ_MSI and
PCI_IRQ_MSIX. Let's use these flags directly instead of the endpoint
definitions provided by enum pci_epc_irq_type. This removes the need
for defining this enum type completely.

Link: https://lore.kernel.org/r/20231122060406.14695-3-dlemoal@kernel.orgSigned-off-by: default avatarDamien Le Moal <dlemoal@kernel.org>
Signed-off-by: default avatarLorenzo Pieralisi <lpieralisi@kernel.org>
Reviewed-by: default avatarSerge Semin <fancer.lancer@gmail.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
parent 58ff9c5a
...@@ -532,25 +532,24 @@ static int cdns_pcie_ep_send_msix_irq(struct cdns_pcie_ep *ep, u8 fn, u8 vfn, ...@@ -532,25 +532,24 @@ static int cdns_pcie_ep_send_msix_irq(struct cdns_pcie_ep *ep, u8 fn, u8 vfn,
} }
static int cdns_pcie_ep_raise_irq(struct pci_epc *epc, u8 fn, u8 vfn, static int cdns_pcie_ep_raise_irq(struct pci_epc *epc, u8 fn, u8 vfn,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct cdns_pcie_ep *ep = epc_get_drvdata(epc); struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
struct cdns_pcie *pcie = &ep->pcie; struct cdns_pcie *pcie = &ep->pcie;
struct device *dev = pcie->dev; struct device *dev = pcie->dev;
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
if (vfn > 0) { if (vfn > 0) {
dev_err(dev, "Cannot raise legacy interrupts for VF\n"); dev_err(dev, "Cannot raise legacy interrupts for VF\n");
return -EINVAL; return -EINVAL;
} }
return cdns_pcie_ep_send_legacy_irq(ep, fn, vfn, 0); return cdns_pcie_ep_send_legacy_irq(ep, fn, vfn, 0);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return cdns_pcie_ep_send_msi_irq(ep, fn, vfn, interrupt_num); return cdns_pcie_ep_send_msi_irq(ep, fn, vfn, interrupt_num);
case PCI_EPC_IRQ_MSIX: case PCI_IRQ_MSIX:
return cdns_pcie_ep_send_msix_irq(ep, fn, vfn, interrupt_num); return cdns_pcie_ep_send_msix_irq(ep, fn, vfn, interrupt_num);
default: default:
......
...@@ -404,16 +404,16 @@ static void dra7xx_pcie_raise_msi_irq(struct dra7xx_pcie *dra7xx, ...@@ -404,16 +404,16 @@ static void dra7xx_pcie_raise_msi_irq(struct dra7xx_pcie *dra7xx,
} }
static int dra7xx_pcie_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int dra7xx_pcie_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, u16 interrupt_num) unsigned int type, u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci); struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
dra7xx_pcie_raise_legacy_irq(dra7xx); dra7xx_pcie_raise_legacy_irq(dra7xx);
break; break;
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
dra7xx_pcie_raise_msi_irq(dra7xx, interrupt_num); dra7xx_pcie_raise_msi_irq(dra7xx, interrupt_num);
break; break;
default: default:
......
...@@ -1058,17 +1058,16 @@ static void imx6_pcie_ep_init(struct dw_pcie_ep *ep) ...@@ -1058,17 +1058,16 @@ static void imx6_pcie_ep_init(struct dw_pcie_ep *ep)
} }
static int imx6_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int imx6_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
return dw_pcie_ep_raise_legacy_irq(ep, func_no); return dw_pcie_ep_raise_legacy_irq(ep, func_no);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
case PCI_EPC_IRQ_MSIX: case PCI_IRQ_MSIX:
return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
default: default:
dev_err(pci->dev, "UNKNOWN IRQ type\n"); dev_err(pci->dev, "UNKNOWN IRQ type\n");
......
...@@ -900,20 +900,19 @@ static void ks_pcie_am654_raise_legacy_irq(struct keystone_pcie *ks_pcie) ...@@ -900,20 +900,19 @@ static void ks_pcie_am654_raise_legacy_irq(struct keystone_pcie *ks_pcie)
} }
static int ks_pcie_am654_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int ks_pcie_am654_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
struct keystone_pcie *ks_pcie = to_keystone_pcie(pci); struct keystone_pcie *ks_pcie = to_keystone_pcie(pci);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
ks_pcie_am654_raise_legacy_irq(ks_pcie); ks_pcie_am654_raise_legacy_irq(ks_pcie);
break; break;
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num); dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
break; break;
case PCI_EPC_IRQ_MSIX: case PCI_IRQ_MSIX:
dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num); dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
break; break;
default: default:
......
...@@ -166,16 +166,16 @@ static void ls_pcie_ep_init(struct dw_pcie_ep *ep) ...@@ -166,16 +166,16 @@ static void ls_pcie_ep_init(struct dw_pcie_ep *ep)
} }
static int ls_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int ls_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, u16 interrupt_num) unsigned int type, u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
return dw_pcie_ep_raise_legacy_irq(ep, func_no); return dw_pcie_ep_raise_legacy_irq(ep, func_no);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
case PCI_EPC_IRQ_MSIX: case PCI_IRQ_MSIX:
return dw_pcie_ep_raise_msix_irq_doorbell(ep, func_no, return dw_pcie_ep_raise_msix_irq_doorbell(ep, func_no,
interrupt_num); interrupt_num);
default: default:
......
...@@ -352,15 +352,15 @@ static void artpec6_pcie_ep_init(struct dw_pcie_ep *ep) ...@@ -352,15 +352,15 @@ static void artpec6_pcie_ep_init(struct dw_pcie_ep *ep)
} }
static int artpec6_pcie_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int artpec6_pcie_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, u16 interrupt_num) unsigned int type, u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
dev_err(pci->dev, "EP cannot trigger legacy IRQs\n"); dev_err(pci->dev, "EP cannot trigger INTx IRQs\n");
return -EINVAL; return -EINVAL;
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
default: default:
dev_err(pci->dev, "UNKNOWN IRQ type\n"); dev_err(pci->dev, "UNKNOWN IRQ type\n");
......
...@@ -443,7 +443,7 @@ static int dw_pcie_ep_set_msix(struct pci_epc *epc, u8 func_no, u8 vfunc_no, ...@@ -443,7 +443,7 @@ static int dw_pcie_ep_set_msix(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
} }
static int dw_pcie_ep_raise_irq(struct pci_epc *epc, u8 func_no, u8 vfunc_no, static int dw_pcie_ep_raise_irq(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
enum pci_epc_irq_type type, u16 interrupt_num) unsigned int type, u16 interrupt_num)
{ {
struct dw_pcie_ep *ep = epc_get_drvdata(epc); struct dw_pcie_ep *ep = epc_get_drvdata(epc);
......
...@@ -42,17 +42,16 @@ static void dw_plat_pcie_ep_init(struct dw_pcie_ep *ep) ...@@ -42,17 +42,16 @@ static void dw_plat_pcie_ep_init(struct dw_pcie_ep *ep)
} }
static int dw_plat_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int dw_plat_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
return dw_pcie_ep_raise_legacy_irq(ep, func_no); return dw_pcie_ep_raise_legacy_irq(ep, func_no);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
case PCI_EPC_IRQ_MSIX: case PCI_IRQ_MSIX:
return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
default: default:
dev_err(pci->dev, "UNKNOWN IRQ type\n"); dev_err(pci->dev, "UNKNOWN IRQ type\n");
......
...@@ -335,7 +335,7 @@ struct dw_pcie_ep_ops { ...@@ -335,7 +335,7 @@ struct dw_pcie_ep_ops {
void (*ep_init)(struct dw_pcie_ep *ep); void (*ep_init)(struct dw_pcie_ep *ep);
void (*deinit)(struct dw_pcie_ep *ep); void (*deinit)(struct dw_pcie_ep *ep);
int (*raise_irq)(struct dw_pcie_ep *ep, u8 func_no, int (*raise_irq)(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, u16 interrupt_num); unsigned int type, u16 interrupt_num);
const struct pci_epc_features* (*get_features)(struct dw_pcie_ep *ep); const struct pci_epc_features* (*get_features)(struct dw_pcie_ep *ep);
/* /*
* Provide a method to implement the different func config space * Provide a method to implement the different func config space
......
...@@ -289,19 +289,18 @@ static void keembay_pcie_ep_init(struct dw_pcie_ep *ep) ...@@ -289,19 +289,18 @@ static void keembay_pcie_ep_init(struct dw_pcie_ep *ep)
} }
static int keembay_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int keembay_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
/* Legacy interrupts are not supported in Keem Bay */ /* INTx interrupts are not supported in Keem Bay */
dev_err(pci->dev, "Legacy IRQ is not supported\n"); dev_err(pci->dev, "INTx IRQ is not supported\n");
return -EINVAL; return -EINVAL;
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
case PCI_EPC_IRQ_MSIX: case PCI_IRQ_MSIX:
return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
default: default:
dev_err(pci->dev, "Unknown IRQ type %d\n", type); dev_err(pci->dev, "Unknown IRQ type %d\n", type);
......
...@@ -726,14 +726,14 @@ static int qcom_pcie_ep_enable_irq_resources(struct platform_device *pdev, ...@@ -726,14 +726,14 @@ static int qcom_pcie_ep_enable_irq_resources(struct platform_device *pdev,
} }
static int qcom_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int qcom_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, u16 interrupt_num) unsigned int type, u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
return dw_pcie_ep_raise_legacy_irq(ep, func_no); return dw_pcie_ep_raise_legacy_irq(ep, func_no);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
default: default:
dev_err(pci->dev, "Unknown IRQ type\n"); dev_err(pci->dev, "Unknown IRQ type\n");
......
...@@ -362,15 +362,14 @@ static void rcar_gen4_pcie_ep_deinit(struct dw_pcie_ep *ep) ...@@ -362,15 +362,14 @@ static void rcar_gen4_pcie_ep_deinit(struct dw_pcie_ep *ep)
} }
static int rcar_gen4_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int rcar_gen4_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct dw_pcie *dw = to_dw_pcie_from_ep(ep); struct dw_pcie *dw = to_dw_pcie_from_ep(ep);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
return dw_pcie_ep_raise_legacy_irq(ep, func_no); return dw_pcie_ep_raise_legacy_irq(ep, func_no);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num); return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
default: default:
dev_err(dw->dev, "Unknown IRQ type\n"); dev_err(dw->dev, "Unknown IRQ type\n");
......
...@@ -1979,20 +1979,19 @@ static int tegra_pcie_ep_raise_msix_irq(struct tegra_pcie_dw *pcie, u16 irq) ...@@ -1979,20 +1979,19 @@ static int tegra_pcie_ep_raise_msix_irq(struct tegra_pcie_dw *pcie, u16 irq)
} }
static int tegra_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int tegra_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
struct tegra_pcie_dw *pcie = to_tegra_pcie(pci); struct tegra_pcie_dw *pcie = to_tegra_pcie(pci);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
return tegra_pcie_ep_raise_legacy_irq(pcie, interrupt_num); return tegra_pcie_ep_raise_legacy_irq(pcie, interrupt_num);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return tegra_pcie_ep_raise_msi_irq(pcie, interrupt_num); return tegra_pcie_ep_raise_msi_irq(pcie, interrupt_num);
case PCI_EPC_IRQ_MSIX: case PCI_IRQ_MSIX:
return tegra_pcie_ep_raise_msix_irq(pcie, interrupt_num); return tegra_pcie_ep_raise_msix_irq(pcie, interrupt_num);
default: default:
......
...@@ -256,15 +256,14 @@ static int uniphier_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep, ...@@ -256,15 +256,14 @@ static int uniphier_pcie_ep_raise_msi_irq(struct dw_pcie_ep *ep,
} }
static int uniphier_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no, static int uniphier_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct dw_pcie *pci = to_dw_pcie_from_ep(ep); struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
return uniphier_pcie_ep_raise_legacy_irq(ep); return uniphier_pcie_ep_raise_legacy_irq(ep);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return uniphier_pcie_ep_raise_msi_irq(ep, func_no, return uniphier_pcie_ep_raise_msi_irq(ep, func_no,
interrupt_num); interrupt_num);
default: default:
......
...@@ -402,16 +402,15 @@ static int rcar_pcie_ep_assert_msi(struct rcar_pcie *pcie, ...@@ -402,16 +402,15 @@ static int rcar_pcie_ep_assert_msi(struct rcar_pcie *pcie,
} }
static int rcar_pcie_ep_raise_irq(struct pci_epc *epc, u8 fn, u8 vfn, static int rcar_pcie_ep_raise_irq(struct pci_epc *epc, u8 fn, u8 vfn,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
return rcar_pcie_ep_assert_intx(ep, fn, 0); return rcar_pcie_ep_assert_intx(ep, fn, 0);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return rcar_pcie_ep_assert_msi(&ep->pcie, fn, interrupt_num); return rcar_pcie_ep_assert_msi(&ep->pcie, fn, interrupt_num);
default: default:
......
...@@ -407,15 +407,14 @@ static int rockchip_pcie_ep_send_msi_irq(struct rockchip_pcie_ep *ep, u8 fn, ...@@ -407,15 +407,14 @@ static int rockchip_pcie_ep_send_msi_irq(struct rockchip_pcie_ep *ep, u8 fn,
} }
static int rockchip_pcie_ep_raise_irq(struct pci_epc *epc, u8 fn, u8 vfn, static int rockchip_pcie_ep_raise_irq(struct pci_epc *epc, u8 fn, u8 vfn,
enum pci_epc_irq_type type, unsigned int type, u16 interrupt_num)
u16 interrupt_num)
{ {
struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
switch (type) { switch (type) {
case PCI_EPC_IRQ_LEGACY: case PCI_IRQ_INTX:
return rockchip_pcie_ep_send_legacy_irq(ep, fn, 0); return rockchip_pcie_ep_send_legacy_irq(ep, fn, 0);
case PCI_EPC_IRQ_MSI: case PCI_IRQ_MSI:
return rockchip_pcie_ep_send_msi_irq(ep, fn, interrupt_num); return rockchip_pcie_ep_send_msi_irq(ep, fn, interrupt_num);
default: default:
return -EINVAL; return -EINVAL;
......
...@@ -205,7 +205,7 @@ static void pci_epf_mhi_raise_irq(struct mhi_ep_cntrl *mhi_cntrl, u32 vector) ...@@ -205,7 +205,7 @@ static void pci_epf_mhi_raise_irq(struct mhi_ep_cntrl *mhi_cntrl, u32 vector)
* MHI supplies 0 based MSI vectors but the API expects the vector * MHI supplies 0 based MSI vectors but the API expects the vector
* number to start from 1, so we need to increment the vector by 1. * number to start from 1, so we need to increment the vector by 1.
*/ */
pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no, PCI_EPC_IRQ_MSI, pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no, PCI_IRQ_MSI,
vector + 1); vector + 1);
} }
......
...@@ -140,9 +140,9 @@ static struct pci_epf_header epf_ntb_header = { ...@@ -140,9 +140,9 @@ static struct pci_epf_header epf_ntb_header = {
static int epf_ntb_link_up(struct epf_ntb *ntb, bool link_up) static int epf_ntb_link_up(struct epf_ntb *ntb, bool link_up)
{ {
enum pci_epc_interface_type type; enum pci_epc_interface_type type;
enum pci_epc_irq_type irq_type;
struct epf_ntb_epc *ntb_epc; struct epf_ntb_epc *ntb_epc;
struct epf_ntb_ctrl *ctrl; struct epf_ntb_ctrl *ctrl;
unsigned int irq_type;
struct pci_epc *epc; struct pci_epc *epc;
u8 func_no, vfunc_no; u8 func_no, vfunc_no;
bool is_msix; bool is_msix;
...@@ -159,7 +159,7 @@ static int epf_ntb_link_up(struct epf_ntb *ntb, bool link_up) ...@@ -159,7 +159,7 @@ static int epf_ntb_link_up(struct epf_ntb *ntb, bool link_up)
ctrl->link_status |= LINK_STATUS_UP; ctrl->link_status |= LINK_STATUS_UP;
else else
ctrl->link_status &= ~LINK_STATUS_UP; ctrl->link_status &= ~LINK_STATUS_UP;
irq_type = is_msix ? PCI_EPC_IRQ_MSIX : PCI_EPC_IRQ_MSI; irq_type = is_msix ? PCI_IRQ_MSIX : PCI_IRQ_MSI;
ret = pci_epc_raise_irq(epc, func_no, vfunc_no, irq_type, 1); ret = pci_epc_raise_irq(epc, func_no, vfunc_no, irq_type, 1);
if (ret) { if (ret) {
dev_err(&epc->dev, dev_err(&epc->dev,
......
...@@ -602,7 +602,7 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test, ...@@ -602,7 +602,7 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test,
switch (reg->irq_type) { switch (reg->irq_type) {
case IRQ_TYPE_LEGACY: case IRQ_TYPE_LEGACY:
pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no, pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
PCI_EPC_IRQ_LEGACY, 0); PCI_IRQ_INTX, 0);
break; break;
case IRQ_TYPE_MSI: case IRQ_TYPE_MSI:
count = pci_epc_get_msi(epc, epf->func_no, epf->vfunc_no); count = pci_epc_get_msi(epc, epf->func_no, epf->vfunc_no);
...@@ -612,7 +612,7 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test, ...@@ -612,7 +612,7 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test,
return; return;
} }
pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no, pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
PCI_EPC_IRQ_MSI, reg->irq_number); PCI_IRQ_MSI, reg->irq_number);
break; break;
case IRQ_TYPE_MSIX: case IRQ_TYPE_MSIX:
count = pci_epc_get_msix(epc, epf->func_no, epf->vfunc_no); count = pci_epc_get_msix(epc, epf->func_no, epf->vfunc_no);
...@@ -622,7 +622,7 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test, ...@@ -622,7 +622,7 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test,
return; return;
} }
pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no, pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
PCI_EPC_IRQ_MSIX, reg->irq_number); PCI_IRQ_MSIX, reg->irq_number);
break; break;
default: default:
dev_err(dev, "Failed to raise IRQ, unknown type\n"); dev_err(dev, "Failed to raise IRQ, unknown type\n");
......
...@@ -1172,11 +1172,8 @@ static int vntb_epf_peer_db_set(struct ntb_dev *ndev, u64 db_bits) ...@@ -1172,11 +1172,8 @@ static int vntb_epf_peer_db_set(struct ntb_dev *ndev, u64 db_bits)
func_no = ntb->epf->func_no; func_no = ntb->epf->func_no;
vfunc_no = ntb->epf->vfunc_no; vfunc_no = ntb->epf->vfunc_no;
ret = pci_epc_raise_irq(ntb->epf->epc, ret = pci_epc_raise_irq(ntb->epf->epc, func_no, vfunc_no,
func_no, PCI_IRQ_MSI, interrupt_num + 1);
vfunc_no,
PCI_EPC_IRQ_MSI,
interrupt_num + 1);
if (ret) if (ret)
dev_err(&ntb->ntb.dev, "Failed to raise IRQ\n"); dev_err(&ntb->ntb.dev, "Failed to raise IRQ\n");
......
...@@ -217,7 +217,7 @@ EXPORT_SYMBOL_GPL(pci_epc_start); ...@@ -217,7 +217,7 @@ EXPORT_SYMBOL_GPL(pci_epc_start);
* Invoke to raise an legacy, MSI or MSI-X interrupt * Invoke to raise an legacy, MSI or MSI-X interrupt
*/ */
int pci_epc_raise_irq(struct pci_epc *epc, u8 func_no, u8 vfunc_no, int pci_epc_raise_irq(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
enum pci_epc_irq_type type, u16 interrupt_num) unsigned int type, u16 interrupt_num)
{ {
int ret; int ret;
......
...@@ -19,13 +19,6 @@ enum pci_epc_interface_type { ...@@ -19,13 +19,6 @@ enum pci_epc_interface_type {
SECONDARY_INTERFACE, SECONDARY_INTERFACE,
}; };
enum pci_epc_irq_type {
PCI_EPC_IRQ_UNKNOWN,
PCI_EPC_IRQ_LEGACY,
PCI_EPC_IRQ_MSI,
PCI_EPC_IRQ_MSIX,
};
static inline const char * static inline const char *
pci_epc_interface_string(enum pci_epc_interface_type type) pci_epc_interface_string(enum pci_epc_interface_type type)
{ {
...@@ -79,7 +72,7 @@ struct pci_epc_ops { ...@@ -79,7 +72,7 @@ struct pci_epc_ops {
u16 interrupts, enum pci_barno, u32 offset); u16 interrupts, enum pci_barno, u32 offset);
int (*get_msix)(struct pci_epc *epc, u8 func_no, u8 vfunc_no); int (*get_msix)(struct pci_epc *epc, u8 func_no, u8 vfunc_no);
int (*raise_irq)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, int (*raise_irq)(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
enum pci_epc_irq_type type, u16 interrupt_num); unsigned int type, u16 interrupt_num);
int (*map_msi_irq)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, int (*map_msi_irq)(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
phys_addr_t phys_addr, u8 interrupt_num, phys_addr_t phys_addr, u8 interrupt_num,
u32 entry_size, u32 *msi_data, u32 entry_size, u32 *msi_data,
...@@ -229,7 +222,7 @@ int pci_epc_map_msi_irq(struct pci_epc *epc, u8 func_no, u8 vfunc_no, ...@@ -229,7 +222,7 @@ int pci_epc_map_msi_irq(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
phys_addr_t phys_addr, u8 interrupt_num, phys_addr_t phys_addr, u8 interrupt_num,
u32 entry_size, u32 *msi_data, u32 *msi_addr_offset); u32 entry_size, u32 *msi_data, u32 *msi_addr_offset);
int pci_epc_raise_irq(struct pci_epc *epc, u8 func_no, u8 vfunc_no, int pci_epc_raise_irq(struct pci_epc *epc, u8 func_no, u8 vfunc_no,
enum pci_epc_irq_type type, u16 interrupt_num); unsigned int type, u16 interrupt_num);
int pci_epc_start(struct pci_epc *epc); int pci_epc_start(struct pci_epc *epc);
void pci_epc_stop(struct pci_epc *epc); void pci_epc_stop(struct pci_epc *epc);
const struct pci_epc_features *pci_epc_get_features(struct pci_epc *epc, const struct pci_epc_features *pci_epc_get_features(struct pci_epc *epc,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment