[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <998410e8-7856-2b15-4312-e8f6fe868587@ti.com>
Date: Wed, 18 Jan 2023 14:36:03 +0530
From: Siddharth Vadapalli <s-vadapalli@...com>
To: Achal Verma <a-verma1@...com>
CC: Tom Joseph <tjoseph@...ence.com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Wilczy_ski <kw@...ux.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Vignesh Raghavendra <vigneshr@...com>,
<linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-omap@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
Milind Parab <mparab@...ence.com>,
Jian Wang <jian-wang@...com>, <s-vadapalli@...com>
Subject: Re: [PATCH] PCI: cadence: Fix next function value in case of ARI
Hello Achal,
On 18/01/23 12:50, Achal Verma wrote:
> From: Jasko-EXT Wojciech <wojciech.jasko-EXT@...tinental-corporation.com>
>
> Next function field in ARI_CAP_AND_CTR field register for last
> function should be zero but thats not the case, so this patch
> programs the next function field for last function as zero.
>
> Signed-off-by: Jasko-EXT Wojciech <wojciech.jasko-EXT@...tinental-corporation.com>
> Signed-off-by: Achal Verma <a-verma1@...com>
> ---
> drivers/pci/controller/cadence/pcie-cadence-ep.c | 15 ++++++++++++++-
> drivers/pci/controller/cadence/pcie-cadence.h | 6 ++++++
> 2 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/cadence/pcie-cadence-ep.c b/drivers/pci/controller/cadence/pcie-cadence-ep.c
> index b8b655d4047e..6b6904cf0123 100644
> --- a/drivers/pci/controller/cadence/pcie-cadence-ep.c
> +++ b/drivers/pci/controller/cadence/pcie-cadence-ep.c
> @@ -565,7 +565,8 @@ static int cdns_pcie_ep_start(struct pci_epc *epc)
> struct cdns_pcie *pcie = &ep->pcie;
> struct device *dev = pcie->dev;
> int max_epfs = sizeof(epc->function_num_map) * 8;
> - int ret, value, epf;
> + int ret, epf, last_fn;
> + u32 reg, value;
>
> /*
> * BIT(0) is hardwired to 1, hence function 0 is always enabled
> @@ -573,6 +574,18 @@ static int cdns_pcie_ep_start(struct pci_epc *epc)
> */
> cdns_pcie_writel(pcie, CDNS_PCIE_LM_EP_FUNC_CFG, epc->function_num_map);
>
> + /* Setup ARI Next Function Number.
Please follow the standard multi-line commenting style with the first line being
"/*" followed by the comment on the next line.
> + * This field should point to the next physical Function and 0 for
> + * last Function.
> + */
> + last_fn = find_last_bit(&epc->function_num_map, BITS_PER_LONG);
> + reg = CDNS_PCIE_CORE_PF_I_ARI_CAP_AND_CTRL(last_fn);
> +
> + // Clear Next Function Number for the last function used.
Please enclose the comment within /* and */.
Regards,
Siddharth.
Powered by blists - more mailing lists