hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_pcie_linux.c
old mode 100644new mode 100755
....@@ -47,6 +47,9 @@
4747 #include <pcicfg.h>
4848 #include <dhd_pcie.h>
4949 #include <dhd_linux.h>
50
+#ifdef CUSTOMER_HW_ROCKCHIP
51
+#include <rk_dhd_pcie_linux.h>
52
+#endif /* CUSTOMER_HW_ROCKCHIP */
5053 #ifdef OEM_ANDROID
5154 #ifdef CONFIG_ARCH_MSM
5255 #if defined(CONFIG_PCI_MSM) || defined(CONFIG_ARCH_MSM8996)
....@@ -268,7 +271,7 @@
268271
269272 static struct pci_driver dhdpcie_driver = {
270273 node: {&dhdpcie_driver.node, &dhdpcie_driver.node},
271
- name: "pcieh"BUS_TYPE,
274
+ name: "pcieh",
272275 id_table: dhdpcie_pci_devid,
273276 probe: dhdpcie_pci_probe,
274277 remove: dhdpcie_pci_remove,
....@@ -617,6 +620,10 @@
617620 uint32 rc_l1ss_cap;
618621 uint32 ep_l1ss_cap;
619622
623
+#ifdef CUSTOMER_HW_ROCKCHIP
624
+ if (IS_ENABLED(CONFIG_PCIEASPM_ROCKCHIP_WIFI_EXTENSION))
625
+ return rk_dhd_bus_is_rc_ep_l1ss_capable(bus);
626
+#endif
620627 /* RC Extendend Capacility */
621628 rc_l1ss_cap = dhdpcie_access_cap(bus->rc_dev, PCIE_EXTCAP_ID_L1SS,
622629 PCIE_EXTCAP_L1SS_CONTROL_OFFSET, TRUE, FALSE, 0);
....@@ -1737,7 +1744,7 @@
17371744 {
17381745 dhd_bus_t *bus = dhdpcie_info->bus;
17391746 struct pci_dev *pdev = dhdpcie_info->bus->dev;
1740
- int host_irq_disabled, err = 0;
1747
+ int host_irq_disabled;
17411748
17421749 if (!bus->irq_registered) {
17431750 snprintf(dhdpcie_info->pciname, sizeof(dhdpcie_info->pciname),
....@@ -1752,14 +1759,13 @@
17521759 }
17531760
17541761 if (bus->d2h_intr_method == PCIE_MSI)
1755
- printf("%s: MSI enabled, irq=%d\n", __FUNCTION__, pdev->irq);
1762
+ printf("%s: MSI enabled\n", __FUNCTION__);
17561763 else
1757
- printf("%s: INTx enabled, irq=%d\n", __FUNCTION__, pdev->irq);
1764
+ printf("%s: INTx enabled\n", __FUNCTION__);
17581765
1759
- err = request_irq(pdev->irq, dhdpcie_isr, IRQF_SHARED,
1760
- dhdpcie_info->pciname, bus);
1761
- if (err < 0) {
1762
- DHD_ERROR(("%s: request_irq() failed with %d\n", __FUNCTION__, err));
1766
+ if (request_irq(pdev->irq, dhdpcie_isr, IRQF_SHARED,
1767
+ dhdpcie_info->pciname, bus) < 0) {
1768
+ DHD_ERROR(("%s: request_irq() failed\n", __FUNCTION__));
17631769 if (bus->d2h_intr_method == PCIE_MSI) {
17641770 dhdpcie_disable_msi(pdev);
17651771 }
....@@ -2051,12 +2057,8 @@
20512057 adapter->bus_num = pdev->bus->number;
20522058 adapter->slot_num = PCI_SLOT(pdev->devfn);
20532059 adapter->pci_dev = pdev;
2054
- } else {
2060
+ } else
20552061 DHD_ERROR(("%s: can't find adapter info for this chip\n", __FUNCTION__));
2056
-#ifdef ADAPTER_IDX
2057
- break;
2058
-#endif
2059
- }
20602062 osl_static_mem_init(osh, adapter);
20612063
20622064 /* allocate linux spcific pcie structure here */
....@@ -2291,8 +2293,7 @@
22912293
22922294 if (dhdpcie_info)
22932295 dhdpcie_detach(dhdpcie_info);
2294
- if (adapter)
2295
- pci_disable_device(pdev);
2296
+ pci_disable_device(pdev);
22962297 if (osh)
22972298 osl_detach(osh);
22982299 if (adapter != NULL) {
....@@ -3357,9 +3358,7 @@
33573358 dhd_bus_mem_dump(g_dhd_bus->dhd);
33583359 return 0;
33593360 }
3360
-#ifndef BCMDHD_MDRIVER
33613361 EXPORT_SYMBOL(dhd_dongle_mem_dump);
3362
-#endif
33633362 #endif /* DHD_FW_COREDUMP */
33643363
33653364 #ifdef CONFIG_ARCH_MSM
....@@ -3390,6 +3389,4 @@
33903389
33913390 return isup;
33923391 }
3393
-#ifndef BCMDHD_MDRIVER
33943392 EXPORT_SYMBOL(dhd_bus_check_driver_up);
3395
-#endif