mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
nfp: use correct macro for LengthSelect in BAR config
commitb3d4f7f228upstream. The 1st and 2nd expansion BAR configuration registers are configured, when the driver starts up, in variables 'barcfg_msix_general' and 'barcfg_msix_xpb', respectively. The 'LengthSelect' field is ORed in from bit 0, which is incorrect. The 'LengthSelect' field should start from bit 27. This has largely gone un-noticed because NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT happens to be 0. Fixes:4cb584e0ee("nfp: add CPP access core") Cc: stable@vger.kernel.org # 4.11+ Signed-off-by: Daniel Basilio <daniel.basilio@corigine.com> Signed-off-by: Louis Peens <louis.peens@corigine.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9c82920359
commit
0bb84600c2
|
|
@ -537,11 +537,13 @@ static int enable_bars(struct nfp6000_pcie *nfp, u16 interface)
|
|||
const u32 barcfg_msix_general =
|
||||
NFP_PCIE_BAR_PCIE2CPP_MapType(
|
||||
NFP_PCIE_BAR_PCIE2CPP_MapType_GENERAL) |
|
||||
NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT;
|
||||
NFP_PCIE_BAR_PCIE2CPP_LengthSelect(
|
||||
NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT);
|
||||
const u32 barcfg_msix_xpb =
|
||||
NFP_PCIE_BAR_PCIE2CPP_MapType(
|
||||
NFP_PCIE_BAR_PCIE2CPP_MapType_BULK) |
|
||||
NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT |
|
||||
NFP_PCIE_BAR_PCIE2CPP_LengthSelect(
|
||||
NFP_PCIE_BAR_PCIE2CPP_LengthSelect_32BIT) |
|
||||
NFP_PCIE_BAR_PCIE2CPP_Target_BaseAddress(
|
||||
NFP_CPP_TARGET_ISLAND_XPB);
|
||||
const u32 barcfg_explicit[4] = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user