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

Commit 4db2c9ae authored by David Spinadel's avatar David Spinadel Committed by John W. Linville
Browse files

iwlwifi: Add bool mvm_ucode to iwl_fw



mvm_ucode is true when mvm TLVs arive.

Signed-off-by: default avatarDavid Spinadel <david.spinadel@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 6dfa8d01
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -636,14 +636,17 @@ static int iwl_parse_tlv_firmware(struct iwl_drv *drv,
		 case IWL_UCODE_TLV_SEC_RT:
			iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_REGULAR,
					    tlv_len);
			drv->fw.mvm_fw = true;
			break;
		case IWL_UCODE_TLV_SEC_INIT:
			iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_INIT,
					    tlv_len);
			drv->fw.mvm_fw = true;
			break;
		case IWL_UCODE_TLV_SEC_WOWLAN:
			iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_WOWLAN,
					    tlv_len);
			drv->fw.mvm_fw = true;
			break;
		case IWL_UCODE_TLV_DEF_CALIB:
			if (tlv_len != sizeof(struct iwl_tlv_calib_data))
@@ -870,7 +873,11 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
		goto try_again;
	}

	if (validate_sec_sizes(drv, &pieces, cfg))
	/*
	 * In mvm uCode there is no difference between data and instructions
	 * sections.
	 */
	if (!fw->mvm_fw && validate_sec_sizes(drv, &pieces, cfg))
		goto try_again;

	/* Allocate ucode buffers for card's bus-master loading ... */
+2 −0
Original line number Diff line number Diff line
@@ -170,6 +170,8 @@ struct iwl_fw {

	u64 default_calib[IWL_UCODE_TYPE_MAX];
	u32 phy_config;

	bool mvm_fw;
};

#endif  /* __iwl_fw_h__ */