[U-Boot] [PATCHv4 12/12] pci: ls_pcie_g4: add Workaround for A-011452

Z.q. Hou zhiqiang.hou at nxp.com
Wed Mar 13 14:54:59 UTC 2019


Hi All,

Please ignore this patch, rev1.0 will not be production.

Thanks,
Zhiqiang


> -----Original Message-----
> From: Z.q. Hou
> Sent: 2019年3月11日 10:59
> To: u-boot at lists.denx.de; bmeng.cn at gmail.com; albert.u.boot at aribaud.net;
> Priyanka Jain <priyanka.jain at nxp.com>; York Sun <york.sun at nxp.com>;
> sriram.dash at nxp.com; yamada.masahiro at socionext.com; Prabhakar
> Kushwaha <prabhakar.kushwaha at nxp.com>; Mingkai Hu
> <mingkai.hu at nxp.com>; M.h. Lian <minghuan.lian at nxp.com>
> Cc: Z.q. Hou <zhiqiang.hou at nxp.com>
> Subject: [PATCHv4 12/12] pci: ls_pcie_g4: add Workaround for A-011452
> 
> From: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> 
> For PCIe controllers with SRIOV, MSIx table entries of all the VFs are not
> accessible if BAR size is set to less than 8MB.
> 
> This ERRATA is only for LX2160A Rev1.0 and will be fixed in Rev2.0.
> 
> Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> ---
> V4:
>  - No change
> 
>  drivers/pci/pcie_layerscape_gen4.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/pci/pcie_layerscape_gen4.c
> b/drivers/pci/pcie_layerscape_gen4.c
> index b530a9979c..3792dbdf55 100644
> --- a/drivers/pci/pcie_layerscape_gen4.c
> +++ b/drivers/pci/pcie_layerscape_gen4.c
> @@ -378,6 +378,11 @@ static void ls_pcie_g4_ep_set_bar_size(struct
> ls_pcie_g4 *pcie, int pf,
>  	u32 mask_l = lower_32_bits(~(size - 1));
>  	u32 mask_h = upper_32_bits(~(size - 1));
> 
> +	/* A-011452 workaround: set the VF BAR1 to 8MB */
> +	if (pcie->rev == REV_1_0 && vf_bar && bar == 1) {
> +		mask_l = lower_32_bits(~(SZ_8M - 1));
> +		mask_h = upper_32_bits(~(SZ_8M - 1));
> +	}
>  	ccsr_writel(pcie, GPEX_BAR_SELECT, bar_pos);
>  	ccsr_writel(pcie, GPEX_BAR_SIZE_LDW, mask_l);
>  	ccsr_writel(pcie, GPEX_BAR_SIZE_UDW, mask_h);
> --
> 2.17.1



More information about the U-Boot mailing list