PCI: epf-mhi: Add support for SM8450
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Mon, 17 Jul 2023 06:54:57 +0000 (12:24 +0530)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Sat, 26 Aug 2023 16:54:46 +0000 (16:54 +0000)
Add support for Qualcomm Snapdragon SM8450 SoC to the EPF driver. SM8450
has the dedicated PID (0x0306) and supports eDMA. Currently, it has no
fixed PCI class, so it is being advertised as "PCI_CLASS_OTHERS".

Link: https://lore.kernel.org/linux-pci/20230717065459.14138-6-manivannan.sadhasivam@linaro.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
drivers/pci/endpoint/functions/pci-epf-mhi.c

index 272eabc..fec9743 100644 (file)
@@ -97,6 +97,23 @@ static const struct pci_epf_mhi_ep_info sdx55_info = {
        .mru = 0x8000,
 };
 
+static struct pci_epf_header sm8450_header = {
+       .vendorid = PCI_VENDOR_ID_QCOM,
+       .deviceid = 0x0306,
+       .baseclass_code = PCI_CLASS_OTHERS,
+       .interrupt_pin = PCI_INTERRUPT_INTA,
+};
+
+static const struct pci_epf_mhi_ep_info sm8450_info = {
+       .config = &mhi_v1_config,
+       .epf_header = &sm8450_header,
+       .bar_num = BAR_0,
+       .epf_flags = PCI_BASE_ADDRESS_MEM_TYPE_32,
+       .msi_count = 32,
+       .mru = 0x8000,
+       .flags = MHI_EPF_USE_DMA,
+};
+
 struct pci_epf_mhi {
        const struct pci_epc_features *epc_features;
        const struct pci_epf_mhi_ep_info *info;
@@ -654,9 +671,8 @@ static int pci_epf_mhi_probe(struct pci_epf *epf,
 }
 
 static const struct pci_epf_device_id pci_epf_mhi_ids[] = {
-       {
-               .name = "sdx55", .driver_data = (kernel_ulong_t)&sdx55_info,
-       },
+       { .name = "sdx55", .driver_data = (kernel_ulong_t)&sdx55_info },
+       { .name = "sm8450", .driver_data = (kernel_ulong_t)&sm8450_info },
        {},
 };