Loading drivers/net/wireless/cnss2/bus.c +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ enum cnss_dev_bus_type cnss_get_bus_type(unsigned long device_id) case QCA6174_DEVICE_ID: case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: return CNSS_BUS_PCI; default: cnss_pr_err("Unknown device_id: 0x%lx\n", device_id); Loading drivers/net/wireless/cnss2/bus.h +2 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ #define QCA6290_DEVICE_ID 0x1100 #define QCA6290_EMULATION_VENDOR_ID 0x168C #define QCA6290_EMULATION_DEVICE_ID 0xABCD #define QCN7605_VENDOR_ID 0x17CB #define QCN7605_DEVICE_ID 0x1102 enum cnss_dev_bus_type cnss_get_dev_bus_type(struct device *dev); enum cnss_dev_bus_type cnss_get_bus_type(unsigned long device_id); Loading drivers/net/wireless/cnss2/main.c +12 −1 Original line number Diff line number Diff line Loading @@ -461,6 +461,8 @@ static int cnss_fw_mem_ready_hdlr(struct cnss_plat_data *plat_priv) if (ret) goto out; if (plat_priv->device_id == QCN7605_DEVICE_ID) goto skip_m3_dnld; ret = cnss_bus_load_m3(plat_priv); if (ret) goto out; Loading @@ -468,7 +470,7 @@ static int cnss_fw_mem_ready_hdlr(struct cnss_plat_data *plat_priv) ret = cnss_wlfw_m3_dnld_send_sync(plat_priv); if (ret) goto out; skip_m3_dnld: return 0; out: return ret; Loading Loading @@ -1103,7 +1105,10 @@ static int cnss_cold_boot_cal_done_hdlr(struct cnss_plat_data *plat_priv) { plat_priv->cal_done = true; cnss_wlfw_wlan_mode_send_sync(plat_priv, QMI_WLFW_OFF_V01); if (plat_priv->device_id == QCN7605_DEVICE_ID) goto skip_shutdown; cnss_bus_dev_shutdown(plat_priv); skip_shutdown: clear_bit(CNSS_COLD_BOOT_CAL, &plat_priv->driver_state); return 0; Loading Loading @@ -1234,6 +1239,9 @@ int cnss_register_subsys(struct cnss_plat_data *plat_priv) case QCA6290_DEVICE_ID: subsys_info->subsys_desc.name = "QCA6290"; break; case QCN7605_DEVICE_ID: subsys_info->subsys_desc.name = "QCN7605"; break; default: cnss_pr_err("Unknown device ID: 0x%lx\n", plat_priv->device_id); ret = -ENODEV; Loading Loading @@ -1449,6 +1457,7 @@ int cnss_register_ramdump(struct cnss_plat_data *plat_priv) break; case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: ret = cnss_register_ramdump_v2(plat_priv); break; default: Loading Loading @@ -1537,6 +1546,7 @@ static ssize_t cnss_fs_ready_store(struct device *dev, switch (plat_priv->device_id) { case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: break; default: cnss_pr_err("Not supported for device ID 0x%lx\n", Loading Loading @@ -1599,6 +1609,7 @@ static void cnss_event_work_deinit(struct cnss_plat_data *plat_priv) static const struct platform_device_id cnss_platform_id_table[] = { { .name = "qca6174", .driver_data = QCA6174_DEVICE_ID, }, { .name = "qca6290", .driver_data = QCA6290_DEVICE_ID, }, { .name = "qcn7605", .driver_data = QCN7605_DEVICE_ID, }, }; static const struct of_device_id cnss_of_match_table[] = { Loading drivers/net/wireless/cnss2/pci.c +5 −0 Original line number Diff line number Diff line Loading @@ -619,6 +619,7 @@ int cnss_pci_dev_powerup(struct cnss_pci_data *pci_priv) break; case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: ret = cnss_qca6290_powerup(pci_priv); break; default: Loading @@ -645,6 +646,7 @@ int cnss_pci_dev_shutdown(struct cnss_pci_data *pci_priv) break; case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: ret = cnss_qca6290_shutdown(pci_priv); break; default: Loading Loading @@ -2162,6 +2164,7 @@ static int cnss_pci_probe(struct pci_dev *pci_dev, switch (pci_dev->device) { case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: if (!mhi_is_device_ready(&plat_priv->plat_dev->dev, MHI_NODE_NAME)) { cnss_pr_err("MHI driver is not ready, defer PCI probe!\n"); Loading Loading @@ -2249,6 +2252,7 @@ static int cnss_pci_probe(struct pci_dev *pci_dev, break; case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: ret = cnss_pci_enable_msi(pci_priv); if (ret) goto disable_bus; Loading Loading @@ -2324,6 +2328,7 @@ static const struct pci_device_id cnss_pci_id_table[] = { { QCA6290_EMULATION_VENDOR_ID, QCA6290_EMULATION_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID }, { QCA6290_VENDOR_ID, QCA6290_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID }, {QCN7605_VENDOR_ID, QCN7605_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID}, { 0 } }; MODULE_DEVICE_TABLE(pci, cnss_pci_id_table); Loading Loading
drivers/net/wireless/cnss2/bus.c +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ enum cnss_dev_bus_type cnss_get_bus_type(unsigned long device_id) case QCA6174_DEVICE_ID: case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: return CNSS_BUS_PCI; default: cnss_pr_err("Unknown device_id: 0x%lx\n", device_id); Loading
drivers/net/wireless/cnss2/bus.h +2 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ #define QCA6290_DEVICE_ID 0x1100 #define QCA6290_EMULATION_VENDOR_ID 0x168C #define QCA6290_EMULATION_DEVICE_ID 0xABCD #define QCN7605_VENDOR_ID 0x17CB #define QCN7605_DEVICE_ID 0x1102 enum cnss_dev_bus_type cnss_get_dev_bus_type(struct device *dev); enum cnss_dev_bus_type cnss_get_bus_type(unsigned long device_id); Loading
drivers/net/wireless/cnss2/main.c +12 −1 Original line number Diff line number Diff line Loading @@ -461,6 +461,8 @@ static int cnss_fw_mem_ready_hdlr(struct cnss_plat_data *plat_priv) if (ret) goto out; if (plat_priv->device_id == QCN7605_DEVICE_ID) goto skip_m3_dnld; ret = cnss_bus_load_m3(plat_priv); if (ret) goto out; Loading @@ -468,7 +470,7 @@ static int cnss_fw_mem_ready_hdlr(struct cnss_plat_data *plat_priv) ret = cnss_wlfw_m3_dnld_send_sync(plat_priv); if (ret) goto out; skip_m3_dnld: return 0; out: return ret; Loading Loading @@ -1103,7 +1105,10 @@ static int cnss_cold_boot_cal_done_hdlr(struct cnss_plat_data *plat_priv) { plat_priv->cal_done = true; cnss_wlfw_wlan_mode_send_sync(plat_priv, QMI_WLFW_OFF_V01); if (plat_priv->device_id == QCN7605_DEVICE_ID) goto skip_shutdown; cnss_bus_dev_shutdown(plat_priv); skip_shutdown: clear_bit(CNSS_COLD_BOOT_CAL, &plat_priv->driver_state); return 0; Loading Loading @@ -1234,6 +1239,9 @@ int cnss_register_subsys(struct cnss_plat_data *plat_priv) case QCA6290_DEVICE_ID: subsys_info->subsys_desc.name = "QCA6290"; break; case QCN7605_DEVICE_ID: subsys_info->subsys_desc.name = "QCN7605"; break; default: cnss_pr_err("Unknown device ID: 0x%lx\n", plat_priv->device_id); ret = -ENODEV; Loading Loading @@ -1449,6 +1457,7 @@ int cnss_register_ramdump(struct cnss_plat_data *plat_priv) break; case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: ret = cnss_register_ramdump_v2(plat_priv); break; default: Loading Loading @@ -1537,6 +1546,7 @@ static ssize_t cnss_fs_ready_store(struct device *dev, switch (plat_priv->device_id) { case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: break; default: cnss_pr_err("Not supported for device ID 0x%lx\n", Loading Loading @@ -1599,6 +1609,7 @@ static void cnss_event_work_deinit(struct cnss_plat_data *plat_priv) static const struct platform_device_id cnss_platform_id_table[] = { { .name = "qca6174", .driver_data = QCA6174_DEVICE_ID, }, { .name = "qca6290", .driver_data = QCA6290_DEVICE_ID, }, { .name = "qcn7605", .driver_data = QCN7605_DEVICE_ID, }, }; static const struct of_device_id cnss_of_match_table[] = { Loading
drivers/net/wireless/cnss2/pci.c +5 −0 Original line number Diff line number Diff line Loading @@ -619,6 +619,7 @@ int cnss_pci_dev_powerup(struct cnss_pci_data *pci_priv) break; case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: ret = cnss_qca6290_powerup(pci_priv); break; default: Loading @@ -645,6 +646,7 @@ int cnss_pci_dev_shutdown(struct cnss_pci_data *pci_priv) break; case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: ret = cnss_qca6290_shutdown(pci_priv); break; default: Loading Loading @@ -2162,6 +2164,7 @@ static int cnss_pci_probe(struct pci_dev *pci_dev, switch (pci_dev->device) { case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: if (!mhi_is_device_ready(&plat_priv->plat_dev->dev, MHI_NODE_NAME)) { cnss_pr_err("MHI driver is not ready, defer PCI probe!\n"); Loading Loading @@ -2249,6 +2252,7 @@ static int cnss_pci_probe(struct pci_dev *pci_dev, break; case QCA6290_EMULATION_DEVICE_ID: case QCA6290_DEVICE_ID: case QCN7605_DEVICE_ID: ret = cnss_pci_enable_msi(pci_priv); if (ret) goto disable_bus; Loading Loading @@ -2324,6 +2328,7 @@ static const struct pci_device_id cnss_pci_id_table[] = { { QCA6290_EMULATION_VENDOR_ID, QCA6290_EMULATION_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID }, { QCA6290_VENDOR_ID, QCA6290_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID }, {QCN7605_VENDOR_ID, QCN7605_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID}, { 0 } }; MODULE_DEVICE_TABLE(pci, cnss_pci_id_table); Loading