mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
Merge "cnss2: Update the wlan fw name for Genoa"
This commit is contained in:
commit
bf8e2cbe97
@ -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;
|
||||
|
@ -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"
|
||||
@ -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 },
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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…
x
Reference in New Issue
Block a user