Loading drivers/net/wireless/cnss2/main.h +1 −0 Original line number Diff line number Diff line Loading @@ -269,6 +269,7 @@ enum cnss_ce_index { struct cnss_plat_data { struct platform_device *plat_dev; enum cnss_driver_mode driver_mode; void *bus_priv; enum cnss_dev_bus_type bus_type; struct list_head vreg_list; Loading drivers/net/wireless/cnss2/pci.c +24 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ #define DEFAULT_M3_FILE_NAME "m3.bin" #define DEFAULT_FW_FILE_NAME "amss.bin" #define FW_V2_FILE_NAME "amss20.bin" #define DEFAULT_GENOA_FW_FTM_NAME "genoaftm.bin" #define FW_V2_NUMBER 2 #define WAKE_MSI_NAME "WAKE" Loading Loading @@ -146,6 +148,8 @@ static DEFINE_SPINLOCK(pci_reg_window_lock); #define LINK_TRAINING_RETRY_MAX_TIMES 3 static void cnss_pci_update_fw_name(struct cnss_pci_data *pci_priv); static struct cnss_pci_reg ce_src[] = { { "SRC_RING_BASE_LSB", QCA6390_CE_SRC_RING_BASE_LSB_OFFSET }, { "SRC_RING_BASE_MSB", QCA6390_CE_SRC_RING_BASE_MSB_OFFSET }, Loading Loading @@ -1321,6 +1325,11 @@ int cnss_wlan_register_driver(struct cnss_wlan_driver *driver_ops) return -EEXIST; } if (driver_ops->get_driver_mode) { plat_priv->driver_mode = driver_ops->get_driver_mode(); cnss_pci_update_fw_name(pci_priv); } if (!test_bit(CNSS_COLD_BOOT_CAL, &plat_priv->driver_state)) goto register_driver; Loading Loading @@ -3059,7 +3068,21 @@ static void cnss_pci_update_fw_name(struct cnss_pci_data *pci_priv) "%s" FW_V2_FILE_NAME, cnss_get_fw_path(plat_priv)); mhi_ctrl->fw_image = plat_priv->firmware_name; } if (pci_priv->device_id == QCN7605_DEVICE_ID) { if (plat_priv->driver_mode == CNSS_FTM) { snprintf(plat_priv->firmware_name, sizeof(plat_priv->firmware_name), "%s" DEFAULT_GENOA_FW_FTM_NAME, cnss_get_fw_path(plat_priv)); mhi_ctrl->fw_image = plat_priv->firmware_name; } else { snprintf(plat_priv->firmware_name, sizeof(plat_priv->firmware_name), "%s" DEFAULT_FW_FILE_NAME, cnss_get_fw_path(plat_priv)); mhi_ctrl->fw_image = plat_priv->firmware_name; } } cnss_pr_dbg("Firmware name is %s\n", mhi_ctrl->fw_image); } Loading include/net/cnss2.h +1 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ struct cnss_wlan_driver { void (*update_status)(struct pci_dev *pdev, uint32_t status); struct cnss_wlan_runtime_ops *runtime_ops; const struct pci_device_id *id_table; enum cnss_driver_mode (*get_driver_mode)(void); }; struct cnss_usb_wlan_driver { Loading Loading
drivers/net/wireless/cnss2/main.h +1 −0 Original line number Diff line number Diff line Loading @@ -269,6 +269,7 @@ enum cnss_ce_index { struct cnss_plat_data { struct platform_device *plat_dev; enum cnss_driver_mode driver_mode; void *bus_priv; enum cnss_dev_bus_type bus_type; struct list_head vreg_list; Loading
drivers/net/wireless/cnss2/pci.c +24 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ #define DEFAULT_M3_FILE_NAME "m3.bin" #define DEFAULT_FW_FILE_NAME "amss.bin" #define FW_V2_FILE_NAME "amss20.bin" #define DEFAULT_GENOA_FW_FTM_NAME "genoaftm.bin" #define FW_V2_NUMBER 2 #define WAKE_MSI_NAME "WAKE" Loading Loading @@ -146,6 +148,8 @@ static DEFINE_SPINLOCK(pci_reg_window_lock); #define LINK_TRAINING_RETRY_MAX_TIMES 3 static void cnss_pci_update_fw_name(struct cnss_pci_data *pci_priv); static struct cnss_pci_reg ce_src[] = { { "SRC_RING_BASE_LSB", QCA6390_CE_SRC_RING_BASE_LSB_OFFSET }, { "SRC_RING_BASE_MSB", QCA6390_CE_SRC_RING_BASE_MSB_OFFSET }, Loading Loading @@ -1321,6 +1325,11 @@ int cnss_wlan_register_driver(struct cnss_wlan_driver *driver_ops) return -EEXIST; } if (driver_ops->get_driver_mode) { plat_priv->driver_mode = driver_ops->get_driver_mode(); cnss_pci_update_fw_name(pci_priv); } if (!test_bit(CNSS_COLD_BOOT_CAL, &plat_priv->driver_state)) goto register_driver; Loading Loading @@ -3059,7 +3068,21 @@ static void cnss_pci_update_fw_name(struct cnss_pci_data *pci_priv) "%s" FW_V2_FILE_NAME, cnss_get_fw_path(plat_priv)); mhi_ctrl->fw_image = plat_priv->firmware_name; } if (pci_priv->device_id == QCN7605_DEVICE_ID) { if (plat_priv->driver_mode == CNSS_FTM) { snprintf(plat_priv->firmware_name, sizeof(plat_priv->firmware_name), "%s" DEFAULT_GENOA_FW_FTM_NAME, cnss_get_fw_path(plat_priv)); mhi_ctrl->fw_image = plat_priv->firmware_name; } else { snprintf(plat_priv->firmware_name, sizeof(plat_priv->firmware_name), "%s" DEFAULT_FW_FILE_NAME, cnss_get_fw_path(plat_priv)); mhi_ctrl->fw_image = plat_priv->firmware_name; } } cnss_pr_dbg("Firmware name is %s\n", mhi_ctrl->fw_image); } Loading
include/net/cnss2.h +1 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ struct cnss_wlan_driver { void (*update_status)(struct pci_dev *pdev, uint32_t status); struct cnss_wlan_runtime_ops *runtime_ops; const struct pci_device_id *id_table; enum cnss_driver_mode (*get_driver_mode)(void); }; struct cnss_usb_wlan_driver { Loading