[PATCH] PCI: cadence: Fix next function value in case of ARI
Siddharth Vadapalli
s-vadapalli at ti.com
Wed Jan 18 01:06:03 PST 2023
Hello Achal,
On 18/01/23 12:50, Achal Verma wrote:
> From: Jasko-EXT Wojciech <wojciech.jasko-EXT at continental-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 at continental-corporation.com>
> Signed-off-by: Achal Verma <a-verma1 at ti.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.
More information about the linux-arm-kernel
mailing list