Skip to content

Commit 199b03d

Browse files
floatiousbjorn-helgaas
authored andcommitted
misc: pci_endpoint_test: Add support for Rockchip rk3588
Rockchip rk3588 requires 64KB alignment for BARs. While there is an existing device_id:vendor_id in the driver with 64KB alignment, that device_id:vendor_id is am654, which uses BAR2 instead of BAR0 as the test_reg_bar, and also has special is_am654_pci_dev() checks in the driver to disallow BAR0. In order to allow testing all BARs, add a new rk3588 entry in the driver. We intentionally do not add the vendor id to pci_ids.h, since the policy for that file is that the vendor id has to be used by multiple drivers. Hopefully, this new entry will be short-lived, as there is a series on the mailing list which intends to move the address alignment restrictions from this driver to the endpoint side. Add a new entry for rk3588 in order to allow us to test all BARs. Link: https://lore.kernel.org/linux-pci/[email protected] Signed-off-by: Niklas Cassel <[email protected]> Signed-off-by: Krzysztof Wilczyński <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Reviewed-by: Manivannan Sadhasivam <[email protected]>
1 parent 6bba3c0 commit 199b03d

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

drivers/misc/pci_endpoint_test.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@
8484
#define PCI_DEVICE_ID_RENESAS_R8A774E1 0x0025
8585
#define PCI_DEVICE_ID_RENESAS_R8A779F0 0x0031
8686

87+
#define PCI_VENDOR_ID_ROCKCHIP 0x1d87
88+
#define PCI_DEVICE_ID_ROCKCHIP_RK3588 0x3588
89+
8790
static DEFINE_IDA(pci_endpoint_test_ida);
8891

8992
#define to_endpoint_test(priv) container_of((priv), struct pci_endpoint_test, \
@@ -980,6 +983,11 @@ static const struct pci_endpoint_test_data j721e_data = {
980983
.irq_type = IRQ_TYPE_MSI,
981984
};
982985

986+
static const struct pci_endpoint_test_data rk3588_data = {
987+
.alignment = SZ_64K,
988+
.irq_type = IRQ_TYPE_MSI,
989+
};
990+
983991
static const struct pci_device_id pci_endpoint_test_tbl[] = {
984992
{ PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_DRA74x),
985993
.driver_data = (kernel_ulong_t)&default_data,
@@ -1017,6 +1025,9 @@ static const struct pci_device_id pci_endpoint_test_tbl[] = {
10171025
{ PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_J721S2),
10181026
.driver_data = (kernel_ulong_t)&j721e_data,
10191027
},
1028+
{ PCI_DEVICE(PCI_VENDOR_ID_ROCKCHIP, PCI_DEVICE_ID_ROCKCHIP_RK3588),
1029+
.driver_data = (kernel_ulong_t)&rk3588_data,
1030+
},
10201031
{ }
10211032
};
10221033
MODULE_DEVICE_TABLE(pci, pci_endpoint_test_tbl);

0 commit comments

Comments
 (0)