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

Commit 4d165d12 authored by Arik Nemtsov's avatar Arik Nemtsov Committed by Emmanuel Grumbach
Browse files

iwlwifi: mvm: assign new TLV bit for multi-source LAR



According to FW methodology, the capability bits should be the only ones
that change per-HW. The API bits should remain constant across different
HWs.
Currently this is not the case with multi-source LAR (API bit 9). Assign
a new capability bit to eventually replace the API bit. Until the API bit
can be deprecated, the driver will check either to enable multi-source
LAR.

Signed-off-by: default avatarArik Nemtsov <arikx.nemtsov@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 81d62d5a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -290,6 +290,10 @@ enum iwl_ucode_tlv_api {
 * @IWL_UCODE_TLV_CAPA_HOTSPOT_SUPPORT: supports Hot Spot Command
 * @IWL_UCODE_TLV_CAPA_RADIO_BEACON_STATS: support radio and beacon statistics
 * @IWL_UCODE_TLV_CAPA_BT_COEX_PLCR: enabled BT Coex packet level co-running
 * @IWL_UCODE_TLV_CAPA_LAR_MULTI_MCC: ucode supports LAR updates with different
 *	sources for the MCC. This TLV bit is a future replacement to
 *	IWL_UCODE_TLV_API_WIFI_MCC_UPDATE. When either is set, multi-source LAR
 *	is supported.
 * @IWL_UCODE_TLV_CAPA_BT_COEX_RRC: supports BT Coex RRC
 */
enum iwl_ucode_tlv_capa {
@@ -307,6 +311,7 @@ enum iwl_ucode_tlv_capa {
	IWL_UCODE_TLV_CAPA_HOTSPOT_SUPPORT		= BIT(18),
	IWL_UCODE_TLV_CAPA_RADIO_BEACON_STATS		= BIT(22),
	IWL_UCODE_TLV_CAPA_BT_COEX_PLCR			= BIT(28),
	IWL_UCODE_TLV_CAPA_LAR_MULTI_MCC		= BIT(29),
	IWL_UCODE_TLV_CAPA_BT_COEX_RRC			= BIT(30),
};

+2 −1
Original line number Diff line number Diff line
@@ -936,7 +936,8 @@ static inline bool iwl_mvm_is_lar_supported(struct iwl_mvm *mvm)

static inline bool iwl_mvm_is_wifi_mcc_supported(struct iwl_mvm *mvm)
{
	return mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_WIFI_MCC_UPDATE;
	return mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_WIFI_MCC_UPDATE ||
	       mvm->fw->ucode_capa.capa[0] & IWL_UCODE_TLV_CAPA_LAR_MULTI_MCC;
}

static inline bool iwl_mvm_is_scd_cfg_supported(struct iwl_mvm *mvm)