* Re: [PATCH v3 2/2] PCI: endpoint: Drop PCI_EPC_IRQ_XXX definitions
2023-08-02 9:40 ` [PATCH v3 2/2] PCI: endpoint: Drop PCI_EPC_IRQ_XXX definitions Damien Le Moal
@ 2023-08-02 9:48 ` Serge Semin
2023-08-03 11:04 ` Manivannan Sadhasivami
1 sibling, 0 replies; 8+ messages in thread
From: Serge Semin @ 2023-08-02 9:48 UTC (permalink / raw)
To: Damien Le Moal
Cc: linux-pci, Bjorn Helgaas, Krzysztof Wilczyński,
Lorenzo Pieralisi, Kishon Vijay Abraham I,
Manivannan Sadhasivami, Yoshihiro Shimoda
On Wed, Aug 02, 2023 at 06:40:36PM +0900, Damien Le Moal wrote:
> 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.
>
> Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
-Serge(y)
> ---
> drivers/pci/controller/cadence/pcie-cadence-ep.c | 9 ++++-----
> drivers/pci/controller/dwc/pci-dra7xx.c | 6 +++---
> drivers/pci/controller/dwc/pci-imx6.c | 9 ++++-----
> drivers/pci/controller/dwc/pci-keystone.c | 9 ++++-----
> drivers/pci/controller/dwc/pci-layerscape-ep.c | 8 ++++----
> drivers/pci/controller/dwc/pcie-artpec6.c | 8 ++++----
> drivers/pci/controller/dwc/pcie-designware-ep.c | 2 +-
> drivers/pci/controller/dwc/pcie-designware-plat.c | 9 ++++-----
> drivers/pci/controller/dwc/pcie-designware.h | 2 +-
> drivers/pci/controller/dwc/pcie-keembay.c | 13 ++++++-------
> drivers/pci/controller/dwc/pcie-qcom-ep.c | 6 +++---
> drivers/pci/controller/dwc/pcie-tegra194.c | 9 ++++-----
> drivers/pci/controller/dwc/pcie-uniphier-ep.c | 7 +++----
> drivers/pci/controller/pcie-rcar-ep.c | 7 +++----
> drivers/pci/controller/pcie-rockchip-ep.c | 7 +++----
> drivers/pci/endpoint/functions/pci-epf-mhi.c | 2 +-
> drivers/pci/endpoint/functions/pci-epf-ntb.c | 4 ++--
> drivers/pci/endpoint/functions/pci-epf-test.c | 6 +++---
> drivers/pci/endpoint/functions/pci-epf-vntb.c | 7 ++-----
> drivers/pci/endpoint/pci-epc-core.c | 2 +-
> include/linux/pci-epc.h | 11 ++---------
> 21 files changed, 62 insertions(+), 81 deletions(-)
>
> diff --git a/drivers/pci/controller/cadence/pcie-cadence-ep.c b/drivers/pci/controller/cadence/pcie-cadence-ep.c
> index b8b655d4047e..885291bb1e28 100644
> --- a/drivers/pci/controller/cadence/pcie-cadence-ep.c
> +++ b/drivers/pci/controller/cadence/pcie-cadence-ep.c
> @@ -531,25 +531,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,
> - enum pci_epc_irq_type type,
> - u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
> struct cdns_pcie *pcie = &ep->pcie;
> struct device *dev = pcie->dev;
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> if (vfn > 0) {
> dev_err(dev, "Cannot raise legacy interrupts for VF\n");
> return -EINVAL;
> }
> 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);
>
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return cdns_pcie_ep_send_msix_irq(ep, fn, vfn, interrupt_num);
>
> default:
> diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c
> index b445ffe95e3f..f257a42f3314 100644
> --- a/drivers/pci/controller/dwc/pci-dra7xx.c
> +++ b/drivers/pci/controller/dwc/pci-dra7xx.c
> @@ -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,
> - 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 dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> dra7xx_pcie_raise_legacy_irq(dra7xx);
> break;
> - case PCI_EPC_IRQ_MSI:
> + case PCI_IRQ_MSI:
> dra7xx_pcie_raise_msi_irq(dra7xx, interrupt_num);
> break;
> default:
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 235ead4c807f..adda8a43d058 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -1057,17 +1057,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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
> default:
> dev_err(pci->dev, "UNKNOWN IRQ type\n");
> diff --git a/drivers/pci/controller/dwc/pci-keystone.c b/drivers/pci/controller/dwc/pci-keystone.c
> index 49aea6ce3e87..58170a4fc574 100644
> --- a/drivers/pci/controller/dwc/pci-keystone.c
> +++ b/drivers/pci/controller/dwc/pci-keystone.c
> @@ -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,
> - 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 keystone_pcie *ks_pcie = to_keystone_pcie(pci);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> ks_pcie_am654_raise_legacy_irq(ks_pcie);
> break;
> - case PCI_EPC_IRQ_MSI:
> + case PCI_IRQ_MSI:
> dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
> break;
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
> break;
> default:
> diff --git a/drivers/pci/controller/dwc/pci-layerscape-ep.c b/drivers/pci/controller/dwc/pci-layerscape-ep.c
> index de4c1758a6c3..6b65f1bcc550 100644
> --- a/drivers/pci/controller/dwc/pci-layerscape-ep.c
> +++ b/drivers/pci/controller/dwc/pci-layerscape-ep.c
> @@ -150,16 +150,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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return dw_pcie_ep_raise_msix_irq_doorbell(ep, func_no,
> interrupt_num);
> default:
> diff --git a/drivers/pci/controller/dwc/pcie-artpec6.c b/drivers/pci/controller/dwc/pcie-artpec6.c
> index 9b572a2b2c9a..fc426182443a 100644
> --- a/drivers/pci/controller/dwc/pcie-artpec6.c
> +++ b/drivers/pci/controller/dwc/pcie-artpec6.c
> @@ -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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> - dev_err(pci->dev, "EP cannot trigger legacy IRQs\n");
> + case PCI_IRQ_INTX:
> + dev_err(pci->dev, "EP cannot trigger INTx IRQs\n");
> return -EINVAL;
> - case PCI_EPC_IRQ_MSI:
> + case PCI_IRQ_MSI:
> return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
> default:
> dev_err(pci->dev, "UNKNOWN IRQ type\n");
> diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
> index f9182f8d552f..ab87ea3b0986 100644
> --- a/drivers/pci/controller/dwc/pcie-designware-ep.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
> @@ -426,7 +426,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,
> - enum pci_epc_irq_type type, u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> struct dw_pcie_ep *ep = epc_get_drvdata(epc);
>
> diff --git a/drivers/pci/controller/dwc/pcie-designware-plat.c b/drivers/pci/controller/dwc/pcie-designware-plat.c
> index b625841e98aa..c83968aa0149 100644
> --- a/drivers/pci/controller/dwc/pcie-designware-plat.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-plat.c
> @@ -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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
> default:
> dev_err(pci->dev, "UNKNOWN IRQ type\n");
> diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h
> index 615660640801..e039081eb947 100644
> --- a/drivers/pci/controller/dwc/pcie-designware.h
> +++ b/drivers/pci/controller/dwc/pcie-designware.h
> @@ -320,7 +320,7 @@ struct dw_pcie_rp {
> struct dw_pcie_ep_ops {
> void (*ep_init)(struct dw_pcie_ep *ep);
> 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);
> /*
> * Provide a method to implement the different func config space
> diff --git a/drivers/pci/controller/dwc/pcie-keembay.c b/drivers/pci/controller/dwc/pcie-keembay.c
> index 289bff99d762..8e0e2e28ef67 100644
> --- a/drivers/pci/controller/dwc/pcie-keembay.c
> +++ b/drivers/pci/controller/dwc/pcie-keembay.c
> @@ -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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> - /* Legacy interrupts are not supported in Keem Bay */
> - dev_err(pci->dev, "Legacy IRQ is not supported\n");
> + case PCI_IRQ_INTX:
> + /* INTx interrupts are not supported in Keem Bay */
> + dev_err(pci->dev, "INTx IRQ is not supported\n");
> return -EINVAL;
> - case PCI_EPC_IRQ_MSI:
> + case PCI_IRQ_MSI:
> 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);
> default:
> dev_err(pci->dev, "Unknown IRQ type %d\n", type);
> diff --git a/drivers/pci/controller/dwc/pcie-qcom-ep.c b/drivers/pci/controller/dwc/pcie-qcom-ep.c
> index 267e1247d548..5f95c33ae293 100644
> --- a/drivers/pci/controller/dwc/pcie-qcom-ep.c
> +++ b/drivers/pci/controller/dwc/pcie-qcom-ep.c
> @@ -655,14 +655,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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> default:
> dev_err(pci->dev, "Unknown IRQ type\n");
> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> index 383ba71d1e8f..42205f0675d0 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -1992,20 +1992,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,
> - 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 tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
>
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return tegra_pcie_ep_raise_msix_irq(pcie, interrupt_num);
>
> default:
> diff --git a/drivers/pci/controller/dwc/pcie-uniphier-ep.c b/drivers/pci/controller/dwc/pcie-uniphier-ep.c
> index cba3c88fcf39..d47236d5678d 100644
> --- a/drivers/pci/controller/dwc/pcie-uniphier-ep.c
> +++ b/drivers/pci/controller/dwc/pcie-uniphier-ep.c
> @@ -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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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,
> interrupt_num);
> default:
> diff --git a/drivers/pci/controller/pcie-rcar-ep.c b/drivers/pci/controller/pcie-rcar-ep.c
> index f9682df1da61..c21294bc430d 100644
> --- a/drivers/pci/controller/pcie-rcar-ep.c
> +++ b/drivers/pci/controller/pcie-rcar-ep.c
> @@ -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,
> - enum pci_epc_irq_type type,
> - u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
>
> default:
> diff --git a/drivers/pci/controller/pcie-rockchip-ep.c b/drivers/pci/controller/pcie-rockchip-ep.c
> index 0af0e965fb57..95b1c8ef59c3 100644
> --- a/drivers/pci/controller/pcie-rockchip-ep.c
> +++ b/drivers/pci/controller/pcie-rockchip-ep.c
> @@ -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,
> - enum pci_epc_irq_type type,
> - u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> default:
> return -EINVAL;
> diff --git a/drivers/pci/endpoint/functions/pci-epf-mhi.c b/drivers/pci/endpoint/functions/pci-epf-mhi.c
> index 9c1f5a154fbd..90b49e707392 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-mhi.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-mhi.c
> @@ -177,7 +177,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
> * 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);
> }
>
> diff --git a/drivers/pci/endpoint/functions/pci-epf-ntb.c b/drivers/pci/endpoint/functions/pci-epf-ntb.c
> index 9aac2c6f3bb9..fad00b1a8335 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-ntb.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-ntb.c
> @@ -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)
> {
> enum pci_epc_interface_type type;
> - enum pci_epc_irq_type irq_type;
> struct epf_ntb_epc *ntb_epc;
> struct epf_ntb_ctrl *ctrl;
> + unsigned int irq_type;
> struct pci_epc *epc;
> u8 func_no, vfunc_no;
> bool is_msix;
> @@ -159,7 +159,7 @@ static int epf_ntb_link_up(struct epf_ntb *ntb, bool link_up)
> ctrl->link_status |= LINK_STATUS_UP;
> else
> 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);
> if (ret) {
> dev_err(&epc->dev,
> diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
> index 1f0d2b84296a..9d39fda5c348 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-test.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-test.c
> @@ -602,7 +602,7 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test,
> switch (reg->irq_type) {
> case IRQ_TYPE_LEGACY:
> pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
> - PCI_EPC_IRQ_LEGACY, 0);
> + PCI_IRQ_INTX, 0);
> break;
> case IRQ_TYPE_MSI:
> 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,
> return;
> }
> 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;
> case IRQ_TYPE_MSIX:
> 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,
> return;
> }
> 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;
> default:
> dev_err(dev, "Failed to raise IRQ, unknown type\n");
> diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> index c8b423c3c26e..ba2fe0bb400a 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> @@ -1172,11 +1172,8 @@ static int vntb_epf_peer_db_set(struct ntb_dev *ndev, u64 db_bits)
> func_no = ntb->epf->func_no;
> vfunc_no = ntb->epf->vfunc_no;
>
> - ret = pci_epc_raise_irq(ntb->epf->epc,
> - func_no,
> - vfunc_no,
> - PCI_EPC_IRQ_MSI,
> - interrupt_num + 1);
> + ret = pci_epc_raise_irq(ntb->epf->epc, func_no, vfunc_no,
> + PCI_IRQ_MSI, interrupt_num + 1);
> if (ret)
> dev_err(&ntb->ntb.dev, "Failed to raise IRQ\n");
>
> diff --git a/drivers/pci/endpoint/pci-epc-core.c b/drivers/pci/endpoint/pci-epc-core.c
> index 5a4a8b0be626..c80d06db4249 100644
> --- a/drivers/pci/endpoint/pci-epc-core.c
> +++ b/drivers/pci/endpoint/pci-epc-core.c
> @@ -217,7 +217,7 @@ EXPORT_SYMBOL_GPL(pci_epc_start);
> * 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,
> - enum pci_epc_irq_type type, u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> int ret;
>
> diff --git a/include/linux/pci-epc.h b/include/linux/pci-epc.h
> index 5cb694031072..f498f9aa2ab0 100644
> --- a/include/linux/pci-epc.h
> +++ b/include/linux/pci-epc.h
> @@ -19,13 +19,6 @@ enum pci_epc_interface_type {
> 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 *
> pci_epc_interface_string(enum pci_epc_interface_type type)
> {
> @@ -79,7 +72,7 @@ struct pci_epc_ops {
> u16 interrupts, enum pci_barno, u32 offset);
> 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,
> - 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,
> phys_addr_t phys_addr, u8 interrupt_num,
> 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,
> phys_addr_t phys_addr, u8 interrupt_num,
> 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,
> - enum pci_epc_irq_type type, u16 interrupt_num);
> + unsigned int type, u16 interrupt_num);
> int pci_epc_start(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,
> --
> 2.41.0
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 2/2] PCI: endpoint: Drop PCI_EPC_IRQ_XXX definitions
2023-08-02 9:40 ` [PATCH v3 2/2] PCI: endpoint: Drop PCI_EPC_IRQ_XXX definitions Damien Le Moal
2023-08-02 9:48 ` Serge Semin
@ 2023-08-03 11:04 ` Manivannan Sadhasivami
2023-08-04 0:05 ` Damien Le Moal
1 sibling, 1 reply; 8+ messages in thread
From: Manivannan Sadhasivami @ 2023-08-03 11:04 UTC (permalink / raw)
To: Damien Le Moal
Cc: linux-pci, Bjorn Helgaas, Krzysztof Wilczyński,
Lorenzo Pieralisi, Kishon Vijay Abraham I, Serge Semin,
Yoshihiro Shimoda
On Wed, Aug 02, 2023 at 06:40:36PM +0900, Damien Le Moal wrote:
> 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.
>
> Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
"legacy" is still being mentioned in a lot of places (comments, function names).
So we need one more cleanup patch later (not now).
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> drivers/pci/controller/cadence/pcie-cadence-ep.c | 9 ++++-----
> drivers/pci/controller/dwc/pci-dra7xx.c | 6 +++---
> drivers/pci/controller/dwc/pci-imx6.c | 9 ++++-----
> drivers/pci/controller/dwc/pci-keystone.c | 9 ++++-----
> drivers/pci/controller/dwc/pci-layerscape-ep.c | 8 ++++----
> drivers/pci/controller/dwc/pcie-artpec6.c | 8 ++++----
> drivers/pci/controller/dwc/pcie-designware-ep.c | 2 +-
> drivers/pci/controller/dwc/pcie-designware-plat.c | 9 ++++-----
> drivers/pci/controller/dwc/pcie-designware.h | 2 +-
> drivers/pci/controller/dwc/pcie-keembay.c | 13 ++++++-------
> drivers/pci/controller/dwc/pcie-qcom-ep.c | 6 +++---
> drivers/pci/controller/dwc/pcie-tegra194.c | 9 ++++-----
> drivers/pci/controller/dwc/pcie-uniphier-ep.c | 7 +++----
> drivers/pci/controller/pcie-rcar-ep.c | 7 +++----
> drivers/pci/controller/pcie-rockchip-ep.c | 7 +++----
> drivers/pci/endpoint/functions/pci-epf-mhi.c | 2 +-
> drivers/pci/endpoint/functions/pci-epf-ntb.c | 4 ++--
> drivers/pci/endpoint/functions/pci-epf-test.c | 6 +++---
> drivers/pci/endpoint/functions/pci-epf-vntb.c | 7 ++-----
> drivers/pci/endpoint/pci-epc-core.c | 2 +-
> include/linux/pci-epc.h | 11 ++---------
> 21 files changed, 62 insertions(+), 81 deletions(-)
>
> diff --git a/drivers/pci/controller/cadence/pcie-cadence-ep.c b/drivers/pci/controller/cadence/pcie-cadence-ep.c
> index b8b655d4047e..885291bb1e28 100644
> --- a/drivers/pci/controller/cadence/pcie-cadence-ep.c
> +++ b/drivers/pci/controller/cadence/pcie-cadence-ep.c
> @@ -531,25 +531,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,
> - enum pci_epc_irq_type type,
> - u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> struct cdns_pcie_ep *ep = epc_get_drvdata(epc);
> struct cdns_pcie *pcie = &ep->pcie;
> struct device *dev = pcie->dev;
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> if (vfn > 0) {
> dev_err(dev, "Cannot raise legacy interrupts for VF\n");
> return -EINVAL;
> }
> 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);
>
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return cdns_pcie_ep_send_msix_irq(ep, fn, vfn, interrupt_num);
>
> default:
> diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c
> index b445ffe95e3f..f257a42f3314 100644
> --- a/drivers/pci/controller/dwc/pci-dra7xx.c
> +++ b/drivers/pci/controller/dwc/pci-dra7xx.c
> @@ -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,
> - 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 dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> dra7xx_pcie_raise_legacy_irq(dra7xx);
> break;
> - case PCI_EPC_IRQ_MSI:
> + case PCI_IRQ_MSI:
> dra7xx_pcie_raise_msi_irq(dra7xx, interrupt_num);
> break;
> default:
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 235ead4c807f..adda8a43d058 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -1057,17 +1057,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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
> default:
> dev_err(pci->dev, "UNKNOWN IRQ type\n");
> diff --git a/drivers/pci/controller/dwc/pci-keystone.c b/drivers/pci/controller/dwc/pci-keystone.c
> index 49aea6ce3e87..58170a4fc574 100644
> --- a/drivers/pci/controller/dwc/pci-keystone.c
> +++ b/drivers/pci/controller/dwc/pci-keystone.c
> @@ -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,
> - 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 keystone_pcie *ks_pcie = to_keystone_pcie(pci);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> ks_pcie_am654_raise_legacy_irq(ks_pcie);
> break;
> - case PCI_EPC_IRQ_MSI:
> + case PCI_IRQ_MSI:
> dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
> break;
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
> break;
> default:
> diff --git a/drivers/pci/controller/dwc/pci-layerscape-ep.c b/drivers/pci/controller/dwc/pci-layerscape-ep.c
> index de4c1758a6c3..6b65f1bcc550 100644
> --- a/drivers/pci/controller/dwc/pci-layerscape-ep.c
> +++ b/drivers/pci/controller/dwc/pci-layerscape-ep.c
> @@ -150,16 +150,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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return dw_pcie_ep_raise_msix_irq_doorbell(ep, func_no,
> interrupt_num);
> default:
> diff --git a/drivers/pci/controller/dwc/pcie-artpec6.c b/drivers/pci/controller/dwc/pcie-artpec6.c
> index 9b572a2b2c9a..fc426182443a 100644
> --- a/drivers/pci/controller/dwc/pcie-artpec6.c
> +++ b/drivers/pci/controller/dwc/pcie-artpec6.c
> @@ -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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> - dev_err(pci->dev, "EP cannot trigger legacy IRQs\n");
> + case PCI_IRQ_INTX:
> + dev_err(pci->dev, "EP cannot trigger INTx IRQs\n");
> return -EINVAL;
> - case PCI_EPC_IRQ_MSI:
> + case PCI_IRQ_MSI:
> return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
> default:
> dev_err(pci->dev, "UNKNOWN IRQ type\n");
> diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
> index f9182f8d552f..ab87ea3b0986 100644
> --- a/drivers/pci/controller/dwc/pcie-designware-ep.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
> @@ -426,7 +426,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,
> - enum pci_epc_irq_type type, u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> struct dw_pcie_ep *ep = epc_get_drvdata(epc);
>
> diff --git a/drivers/pci/controller/dwc/pcie-designware-plat.c b/drivers/pci/controller/dwc/pcie-designware-plat.c
> index b625841e98aa..c83968aa0149 100644
> --- a/drivers/pci/controller/dwc/pcie-designware-plat.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-plat.c
> @@ -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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
> default:
> dev_err(pci->dev, "UNKNOWN IRQ type\n");
> diff --git a/drivers/pci/controller/dwc/pcie-designware.h b/drivers/pci/controller/dwc/pcie-designware.h
> index 615660640801..e039081eb947 100644
> --- a/drivers/pci/controller/dwc/pcie-designware.h
> +++ b/drivers/pci/controller/dwc/pcie-designware.h
> @@ -320,7 +320,7 @@ struct dw_pcie_rp {
> struct dw_pcie_ep_ops {
> void (*ep_init)(struct dw_pcie_ep *ep);
> 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);
> /*
> * Provide a method to implement the different func config space
> diff --git a/drivers/pci/controller/dwc/pcie-keembay.c b/drivers/pci/controller/dwc/pcie-keembay.c
> index 289bff99d762..8e0e2e28ef67 100644
> --- a/drivers/pci/controller/dwc/pcie-keembay.c
> +++ b/drivers/pci/controller/dwc/pcie-keembay.c
> @@ -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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> - /* Legacy interrupts are not supported in Keem Bay */
> - dev_err(pci->dev, "Legacy IRQ is not supported\n");
> + case PCI_IRQ_INTX:
> + /* INTx interrupts are not supported in Keem Bay */
> + dev_err(pci->dev, "INTx IRQ is not supported\n");
> return -EINVAL;
> - case PCI_EPC_IRQ_MSI:
> + case PCI_IRQ_MSI:
> 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);
> default:
> dev_err(pci->dev, "Unknown IRQ type %d\n", type);
> diff --git a/drivers/pci/controller/dwc/pcie-qcom-ep.c b/drivers/pci/controller/dwc/pcie-qcom-ep.c
> index 267e1247d548..5f95c33ae293 100644
> --- a/drivers/pci/controller/dwc/pcie-qcom-ep.c
> +++ b/drivers/pci/controller/dwc/pcie-qcom-ep.c
> @@ -655,14 +655,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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> default:
> dev_err(pci->dev, "Unknown IRQ type\n");
> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> index 383ba71d1e8f..42205f0675d0 100644
> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> @@ -1992,20 +1992,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,
> - 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 tegra_pcie_dw *pcie = to_tegra_pcie(pci);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
>
> - case PCI_EPC_IRQ_MSIX:
> + case PCI_IRQ_MSIX:
> return tegra_pcie_ep_raise_msix_irq(pcie, interrupt_num);
>
> default:
> diff --git a/drivers/pci/controller/dwc/pcie-uniphier-ep.c b/drivers/pci/controller/dwc/pcie-uniphier-ep.c
> index cba3c88fcf39..d47236d5678d 100644
> --- a/drivers/pci/controller/dwc/pcie-uniphier-ep.c
> +++ b/drivers/pci/controller/dwc/pcie-uniphier-ep.c
> @@ -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,
> - 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);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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,
> interrupt_num);
> default:
> diff --git a/drivers/pci/controller/pcie-rcar-ep.c b/drivers/pci/controller/pcie-rcar-ep.c
> index f9682df1da61..c21294bc430d 100644
> --- a/drivers/pci/controller/pcie-rcar-ep.c
> +++ b/drivers/pci/controller/pcie-rcar-ep.c
> @@ -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,
> - enum pci_epc_irq_type type,
> - u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
>
> default:
> diff --git a/drivers/pci/controller/pcie-rockchip-ep.c b/drivers/pci/controller/pcie-rockchip-ep.c
> index 0af0e965fb57..95b1c8ef59c3 100644
> --- a/drivers/pci/controller/pcie-rockchip-ep.c
> +++ b/drivers/pci/controller/pcie-rockchip-ep.c
> @@ -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,
> - enum pci_epc_irq_type type,
> - u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
>
> switch (type) {
> - case PCI_EPC_IRQ_LEGACY:
> + case PCI_IRQ_INTX:
> 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);
> default:
> return -EINVAL;
> diff --git a/drivers/pci/endpoint/functions/pci-epf-mhi.c b/drivers/pci/endpoint/functions/pci-epf-mhi.c
> index 9c1f5a154fbd..90b49e707392 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-mhi.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-mhi.c
> @@ -177,7 +177,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
> * 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);
> }
>
> diff --git a/drivers/pci/endpoint/functions/pci-epf-ntb.c b/drivers/pci/endpoint/functions/pci-epf-ntb.c
> index 9aac2c6f3bb9..fad00b1a8335 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-ntb.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-ntb.c
> @@ -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)
> {
> enum pci_epc_interface_type type;
> - enum pci_epc_irq_type irq_type;
> struct epf_ntb_epc *ntb_epc;
> struct epf_ntb_ctrl *ctrl;
> + unsigned int irq_type;
> struct pci_epc *epc;
> u8 func_no, vfunc_no;
> bool is_msix;
> @@ -159,7 +159,7 @@ static int epf_ntb_link_up(struct epf_ntb *ntb, bool link_up)
> ctrl->link_status |= LINK_STATUS_UP;
> else
> 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);
> if (ret) {
> dev_err(&epc->dev,
> diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
> index 1f0d2b84296a..9d39fda5c348 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-test.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-test.c
> @@ -602,7 +602,7 @@ static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test,
> switch (reg->irq_type) {
> case IRQ_TYPE_LEGACY:
> pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
> - PCI_EPC_IRQ_LEGACY, 0);
> + PCI_IRQ_INTX, 0);
> break;
> case IRQ_TYPE_MSI:
> 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,
> return;
> }
> 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;
> case IRQ_TYPE_MSIX:
> 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,
> return;
> }
> 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;
> default:
> dev_err(dev, "Failed to raise IRQ, unknown type\n");
> diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> index c8b423c3c26e..ba2fe0bb400a 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> @@ -1172,11 +1172,8 @@ static int vntb_epf_peer_db_set(struct ntb_dev *ndev, u64 db_bits)
> func_no = ntb->epf->func_no;
> vfunc_no = ntb->epf->vfunc_no;
>
> - ret = pci_epc_raise_irq(ntb->epf->epc,
> - func_no,
> - vfunc_no,
> - PCI_EPC_IRQ_MSI,
> - interrupt_num + 1);
> + ret = pci_epc_raise_irq(ntb->epf->epc, func_no, vfunc_no,
> + PCI_IRQ_MSI, interrupt_num + 1);
> if (ret)
> dev_err(&ntb->ntb.dev, "Failed to raise IRQ\n");
>
> diff --git a/drivers/pci/endpoint/pci-epc-core.c b/drivers/pci/endpoint/pci-epc-core.c
> index 5a4a8b0be626..c80d06db4249 100644
> --- a/drivers/pci/endpoint/pci-epc-core.c
> +++ b/drivers/pci/endpoint/pci-epc-core.c
> @@ -217,7 +217,7 @@ EXPORT_SYMBOL_GPL(pci_epc_start);
> * 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,
> - enum pci_epc_irq_type type, u16 interrupt_num)
> + unsigned int type, u16 interrupt_num)
> {
> int ret;
>
> diff --git a/include/linux/pci-epc.h b/include/linux/pci-epc.h
> index 5cb694031072..f498f9aa2ab0 100644
> --- a/include/linux/pci-epc.h
> +++ b/include/linux/pci-epc.h
> @@ -19,13 +19,6 @@ enum pci_epc_interface_type {
> 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 *
> pci_epc_interface_string(enum pci_epc_interface_type type)
> {
> @@ -79,7 +72,7 @@ struct pci_epc_ops {
> u16 interrupts, enum pci_barno, u32 offset);
> 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,
> - 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,
> phys_addr_t phys_addr, u8 interrupt_num,
> 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,
> phys_addr_t phys_addr, u8 interrupt_num,
> 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,
> - enum pci_epc_irq_type type, u16 interrupt_num);
> + unsigned int type, u16 interrupt_num);
> int pci_epc_start(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,
> --
> 2.41.0
>
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 8+ messages in thread