Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf8e2cbe authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "cnss2: Update the wlan fw name for Genoa"

parents 98bf49c0 9d4b05d5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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;
+24 −1
Original line number Diff line number Diff line
@@ -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);
}

+1 −0
Original line number Diff line number Diff line
@@ -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 {