Skip to content

Commit cdb5003

Browse files
rwk-gitkwilczynski
authored andcommitted
PCI: rockchip: Use 64-bit mask on MSI 64-bit PCI address
A 32-bit mask was used on the 64-bit PCI address used for mapping MSIs. This would result in the upper 32 bits being unintentionally zeroed and MSIs getting mapped to incorrect PCI addresses if the address had any of the upper bits set. Replace 32-bit mask by appropriate 64-bit mask. [kwilczynski: use GENMASK_ULL() over GENMASK() for 32-bit compatibility] Fixes: dc73ed0 ("PCI: rockchip: Fix window mapping and address translation for endpoint") Closes: https://lore.kernel.org/linux-pci/8d19e5b7-8fa0-44a4-90e2-9bb06f5eb694@moroto.mountain Link: https://lore.kernel.org/linux-pci/20230703085845.2052008-1-rick.wertenbroek@gmail.com Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Signed-off-by: Rick Wertenbroek <rick.wertenbroek@gmail.com> Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Cc: stable@vger.kernel.org
1 parent 06c2afb commit cdb5003

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/pci/controller/pcie-rockchip.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,9 @@
158158
#define PCIE_RC_CONFIG_THP_CAP (PCIE_RC_CONFIG_BASE + 0x274)
159159
#define PCIE_RC_CONFIG_THP_CAP_NEXT_MASK GENMASK(31, 20)
160160

161-
#define PCIE_ADDR_MASK 0xffffff00
161+
#define MAX_AXI_IB_ROOTPORT_REGION_NUM 3
162+
#define MIN_AXI_ADDR_BITS_PASSED 8
163+
#define PCIE_ADDR_MASK GENMASK_ULL(63, MIN_AXI_ADDR_BITS_PASSED)
162164
#define PCIE_CORE_AXI_CONF_BASE 0xc00000
163165
#define PCIE_CORE_OB_REGION_ADDR0 (PCIE_CORE_AXI_CONF_BASE + 0x0)
164166
#define PCIE_CORE_OB_REGION_ADDR0_NUM_BITS 0x3f
@@ -185,8 +187,6 @@
185187
#define AXI_WRAPPER_TYPE1_CFG 0xb
186188
#define AXI_WRAPPER_NOR_MSG 0xc
187189

188-
#define MAX_AXI_IB_ROOTPORT_REGION_NUM 3
189-
#define MIN_AXI_ADDR_BITS_PASSED 8
190190
#define PCIE_RC_SEND_PME_OFF 0x11960
191191
#define ROCKCHIP_VENDOR_ID 0x1d87
192192
#define PCIE_LINK_IS_L2(x) \

0 commit comments

Comments
 (0)