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

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
...@@ -636,14 +636,17 @@ static int iwl_parse_tlv_firmware(struct iwl_drv *drv, ...@@ -636,14 +636,17 @@ static int iwl_parse_tlv_firmware(struct iwl_drv *drv,
case IWL_UCODE_TLV_SEC_RT: case IWL_UCODE_TLV_SEC_RT:
iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_REGULAR, iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_REGULAR,
tlv_len); tlv_len);
drv->fw.mvm_fw = true;
break; break;
case IWL_UCODE_TLV_SEC_INIT: case IWL_UCODE_TLV_SEC_INIT:
iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_INIT, iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_INIT,
tlv_len); tlv_len);
drv->fw.mvm_fw = true;
break; break;
case IWL_UCODE_TLV_SEC_WOWLAN: case IWL_UCODE_TLV_SEC_WOWLAN:
iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_WOWLAN, iwl_store_ucode_sec(pieces, tlv_data, IWL_UCODE_WOWLAN,
tlv_len); tlv_len);
drv->fw.mvm_fw = true;
break; break;
case IWL_UCODE_TLV_DEF_CALIB: case IWL_UCODE_TLV_DEF_CALIB:
if (tlv_len != sizeof(struct iwl_tlv_calib_data)) 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) ...@@ -870,7 +873,11 @@ static void iwl_ucode_callback(const struct firmware *ucode_raw, void *context)
goto try_again; 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; goto try_again;
/* Allocate ucode buffers for card's bus-master loading ... */ /* Allocate ucode buffers for card's bus-master loading ... */
......
...@@ -170,6 +170,8 @@ struct iwl_fw { ...@@ -170,6 +170,8 @@ struct iwl_fw {
u64 default_calib[IWL_UCODE_TYPE_MAX]; u64 default_calib[IWL_UCODE_TYPE_MAX];
u32 phy_config; u32 phy_config;
bool mvm_fw;
}; };
#endif /* __iwl_fw_h__ */ #endif /* __iwl_fw_h__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment