diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2024-08-08 22:22:42 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2024-08-27 10:28:54 +0200 |
commit | 4d8ff1f7df43ee8560818b0b6cdec6e9ce703748 (patch) | |
tree | 412ea979d1804d5ee0463a36e5f3584be9c2e3ba | |
parent | wifi: iwlwifi: mvm: exit EMLSR if both links are missing beacons (diff) | |
download | linux-4d8ff1f7df43ee8560818b0b6cdec6e9ce703748.tar.xz linux-4d8ff1f7df43ee8560818b0b6cdec6e9ce703748.zip |
wifi: iwlwifi: mvm: add API for EML OMN frame failure
When the firmware fails to send EML OMN frames, it notifies the host and
the host need to take proper action.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240808232017.0c6bc216ef8c.Ida85d2062734a569e1af35f47d14cc5bb4bf893e@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h b/drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h index 5fc7967df6c5..6a2c5bed357e 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h +++ b/drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h @@ -66,6 +66,10 @@ enum iwl_mac_conf_subcmd_ids { */ MISSED_BEACONS_NOTIF = 0xF6, /** + * @EMLSR_TRANS_FAIL_NOTIF: &struct iwl_esr_trans_fail_notif + */ + EMLSR_TRANS_FAIL_NOTIF = 0xF7, + /** * @ROC_NOTIF: &struct iwl_roc_notif */ ROC_NOTIF = 0xF8, @@ -690,4 +694,30 @@ struct iwl_missed_beacons_notif { __le32 consec_missed_beacons_other_link; } __packed; /* MISSED_BEACON_NTFY_API_S_VER_5 */ +/* + * enum iwl_esr_trans_fail_code: to be used to parse the notif below + * + * @ESR_TRANS_FAILED_TX_STATUS_ERROR: failed to TX EML OMN frame + * @ESR_TRANSITION_FAILED_TX_TIMEOUT: timeout on the EML OMN frame + * @ESR_TRANSITION_FAILED_BEACONS_NOT_HEARD: can't get a beacon on the new link + */ +enum iwl_esr_trans_fail_code { + ESR_TRANS_FAILED_TX_STATUS_ERROR, + ESR_TRANSITION_FAILED_TX_TIMEOUT, + ESR_TRANSITION_FAILED_BEACONS_NOT_HEARD, +}; + +/** + * struct iwl_esr_trans_fail_notif - FW reports a failure in EMLSR transition + * + * @link_id: the link_id that was activated / de-activated + * @activation: true if the link was activated, false otherwise + * @err_code: see &enum iwl_esr_trans_fail_code + */ +struct iwl_esr_trans_fail_notif { + __le32 link_id; + __le32 activation; + __le32 err_code; +} __packed; /* ESR_TRANSITION_FAILED_NTFY_API_S_VER_1 */ + #endif /* __iwl_fw_api_mac_cfg_h__ */ |