Commit 24bc49d1 authored by Miri Korenblit's avatar Miri Korenblit
Browse files

wifi: iwlwifi: remove support of several iwl_ppag_table_cmd versions

parent 493681d9
Loading
Loading
Loading
Loading
+4 −16
Original line number Diff line number Diff line
@@ -571,8 +571,7 @@ enum iwl_ppag_flags {
/**
 * union iwl_ppag_table_cmd - union for all versions of PPAG command
 * @v1: command version 1 structure.
 * @v2: command version from 2 to 6 are same structure as v2.
 *	but has a different format of the flags bitmap
 * @v2: command version 5 structure.
 * @v3: command version 7 structure.
 * @v1.flags: values from &enum iwl_ppag_flags
 * @v1.gain: table of antenna gain values per chain and sub-band
@@ -593,9 +592,7 @@ union iwl_ppag_table_cmd {
		__le32 flags;
		s8 gain[IWL_NUM_CHAIN_LIMITS][IWL_NUM_SUB_BANDS_V2];
		s8 reserved[2];
	} __packed v2; /* PER_PLAT_ANTENNA_GAIN_CMD_API_S_VER_2, VER3, VER4,
			* VER5, VER6
			*/
	} __packed v2; /* PER_PLAT_ANTENNA_GAIN_CMD_API_S_VER_5 */
	struct {
		struct bios_value_u32 ppag_config_info;
		s8 gain[IWL_NUM_CHAIN_LIMITS][IWL_NUM_SUB_BANDS_V2];
@@ -603,20 +600,11 @@ union iwl_ppag_table_cmd {
	} __packed v3; /* PER_PLAT_ANTENNA_GAIN_CMD_API_S_VER_7 */
} __packed;

#define IWL_PPAG_CMD_V4_MASK (IWL_PPAG_ETSI_MASK | IWL_PPAG_CHINA_MASK)
#define IWL_PPAG_CMD_V5_MASK (IWL_PPAG_CMD_V4_MASK | \
#define IWL_PPAG_CMD_V1_MASK (IWL_PPAG_ETSI_MASK | IWL_PPAG_CHINA_MASK)
#define IWL_PPAG_CMD_V5_MASK (IWL_PPAG_CMD_V1_MASK | \
			      IWL_PPAG_ETSI_LPI_UHB_MASK | \
			      IWL_PPAG_USA_LPI_UHB_MASK)

#define IWL_PPAG_CMD_V6_MASK (IWL_PPAG_CMD_V5_MASK |		\
			      IWL_PPAG_ETSI_VLP_UHB_MASK |	\
			      IWL_PPAG_ETSI_SP_UHB_MASK |	\
			      IWL_PPAG_USA_VLP_UHB_MASK |	\
			      IWL_PPAG_USA_SP_UHB_MASK |	\
			      IWL_PPAG_CANADA_LPI_UHB_MASK |	\
			      IWL_PPAG_CANADA_VLP_UHB_MASK |	\
			      IWL_PPAG_CANADA_SP_UHB_MASK)

#define MCC_TO_SAR_OFFSET_TABLE_ROW_SIZE	26
#define MCC_TO_SAR_OFFSET_TABLE_COL_SIZE	13

+6 −14
Original line number Diff line number Diff line
@@ -344,18 +344,18 @@ int iwl_fill_ppag_table(struct iwl_fw_runtime *fwrt,
		num_sub_bands = IWL_NUM_SUB_BANDS_V1;
		gain = cmd->v1.gain[0];
		*cmd_size = sizeof(cmd->v1);
		cmd->v1.flags = cpu_to_le32(fwrt->ppag_flags);
		cmd->v1.flags = cpu_to_le32(fwrt->ppag_flags & IWL_PPAG_CMD_V1_MASK);
		if (fwrt->ppag_bios_rev >= 1) {
			/* in this case FW supports revision 0 */
			IWL_DEBUG_RADIO(fwrt,
					"PPAG table rev is %d, send truncated table\n",
					fwrt->ppag_bios_rev);
		}
	} else if (cmd_ver >= 2 && cmd_ver <= 6) {
	} else if (cmd_ver == 5) {
		num_sub_bands = IWL_NUM_SUB_BANDS_V2;
		gain = cmd->v2.gain[0];
		*cmd_size = sizeof(cmd->v2);
		cmd->v2.flags = cpu_to_le32(fwrt->ppag_flags);
		cmd->v2.flags = cpu_to_le32(fwrt->ppag_flags & IWL_PPAG_CMD_V5_MASK);
		if (fwrt->ppag_bios_rev == 0) {
			/* in this case FW supports revisions 1,2 or 3 */
			IWL_DEBUG_RADIO(fwrt,
@@ -378,17 +378,9 @@ int iwl_fill_ppag_table(struct iwl_fw_runtime *fwrt,
			"PPAG MODE bits were read from bios: %d\n",
			fwrt->ppag_flags);

	if (cmd_ver == 6)
		cmd->v1.flags &= cpu_to_le32(IWL_PPAG_CMD_V6_MASK);
	else if (cmd_ver == 5)
		cmd->v1.flags &= cpu_to_le32(IWL_PPAG_CMD_V5_MASK);
	else if (cmd_ver < 5)
		cmd->v1.flags &= cpu_to_le32(IWL_PPAG_CMD_V4_MASK);

	if ((cmd_ver == 1 &&
	if (cmd_ver == 1 &&
	    !fw_has_capa(&fwrt->fw->ucode_capa,
			  IWL_UCODE_TLV_CAPA_PPAG_CHINA_BIOS_SUPPORT)) ||
	    (cmd_ver == 2 && fwrt->ppag_bios_rev >= 2)) {
			 IWL_UCODE_TLV_CAPA_PPAG_CHINA_BIOS_SUPPORT)) {
		cmd->v1.flags &= cpu_to_le32(IWL_PPAG_ETSI_MASK);
		IWL_DEBUG_RADIO(fwrt, "masking ppag China bit\n");
	} else {