Commit 3f244876 authored by Benjamin Berg's avatar Benjamin Berg Committed by Johannes Berg

wifi: iwlwifi: make debugfs entries link specific

All of the station elements are really elements for the link. Create
them from the correct callback and return the link specific information
rather than always using the default link.
Signed-off-by: default avatarBenjamin Berg <benjamin.berg@intel.com>
Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230612184434.a8e0c40d325e.I374d9433c3b8694667e1ce550d65f6f1f0d23c05@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 4cacadc0
...@@ -6255,7 +6255,7 @@ const struct ieee80211_ops iwl_mvm_hw_ops = { ...@@ -6255,7 +6255,7 @@ const struct ieee80211_ops iwl_mvm_hw_ops = {
.can_aggregate_in_amsdu = iwl_mvm_mac_can_aggregate, .can_aggregate_in_amsdu = iwl_mvm_mac_can_aggregate,
#ifdef CONFIG_IWLWIFI_DEBUGFS #ifdef CONFIG_IWLWIFI_DEBUGFS
.sta_add_debugfs = iwl_mvm_sta_add_debugfs, .link_sta_add_debugfs = iwl_mvm_link_sta_add_debugfs,
#endif #endif
.set_hw_timestamp = iwl_mvm_set_hw_timestamp, .set_hw_timestamp = iwl_mvm_set_hw_timestamp,
}; };
...@@ -1093,7 +1093,7 @@ const struct ieee80211_ops iwl_mvm_mld_hw_ops = { ...@@ -1093,7 +1093,7 @@ const struct ieee80211_ops iwl_mvm_mld_hw_ops = {
.abort_pmsr = iwl_mvm_abort_pmsr, .abort_pmsr = iwl_mvm_abort_pmsr,
#ifdef CONFIG_IWLWIFI_DEBUGFS #ifdef CONFIG_IWLWIFI_DEBUGFS
.sta_add_debugfs = iwl_mvm_sta_add_debugfs, .link_sta_add_debugfs = iwl_mvm_link_sta_add_debugfs,
#endif #endif
.set_hw_timestamp = iwl_mvm_set_hw_timestamp, .set_hw_timestamp = iwl_mvm_set_hw_timestamp,
......
...@@ -2337,10 +2337,10 @@ int iwl_mvm_get_sar_geo_profile(struct iwl_mvm *mvm); ...@@ -2337,10 +2337,10 @@ int iwl_mvm_get_sar_geo_profile(struct iwl_mvm *mvm);
int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm); int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm);
void iwl_mvm_get_acpi_tables(struct iwl_mvm *mvm); void iwl_mvm_get_acpi_tables(struct iwl_mvm *mvm);
#ifdef CONFIG_IWLWIFI_DEBUGFS #ifdef CONFIG_IWLWIFI_DEBUGFS
void iwl_mvm_sta_add_debugfs(struct ieee80211_hw *hw, void iwl_mvm_link_sta_add_debugfs(struct ieee80211_hw *hw,
struct ieee80211_vif *vif, struct ieee80211_vif *vif,
struct ieee80211_sta *sta, struct ieee80211_link_sta *link_sta,
struct dentry *dir); struct dentry *dir);
#endif #endif
/* new MLD related APIs */ /* new MLD related APIs */
......
...@@ -478,7 +478,7 @@ void iwl_mvm_tlc_update_notif(struct iwl_mvm *mvm, ...@@ -478,7 +478,7 @@ void iwl_mvm_tlc_update_notif(struct iwl_mvm *mvm,
IWL_DEBUG_RATE(mvm, "new rate: %s\n", pretty_rate); IWL_DEBUG_RATE(mvm, "new rate: %s\n", pretty_rate);
} }
if (flags & IWL_TLC_NOTIF_FLAG_AMSDU && !mvmsta->orig_amsdu_len) { if (flags & IWL_TLC_NOTIF_FLAG_AMSDU && !mvm_link_sta->orig_amsdu_len) {
u16 size = le32_to_cpu(notif->amsdu_size); u16 size = le32_to_cpu(notif->amsdu_size);
int i; int i;
...@@ -488,7 +488,7 @@ void iwl_mvm_tlc_update_notif(struct iwl_mvm *mvm, ...@@ -488,7 +488,7 @@ void iwl_mvm_tlc_update_notif(struct iwl_mvm *mvm,
* so also check with orig_amsdu_len which holds the * so also check with orig_amsdu_len which holds the
* original data before debugfs changed the value * original data before debugfs changed the value
*/ */
WARN_ON(mvmsta->orig_amsdu_len < size); WARN_ON(mvm_link_sta->orig_amsdu_len < size);
goto out; goto out;
} }
......
...@@ -336,6 +336,9 @@ struct iwl_mvm_rxq_dup_data { ...@@ -336,6 +336,9 @@ struct iwl_mvm_rxq_dup_data {
* @sta_id: the index of the station in the fw * @sta_id: the index of the station in the fw
* @lq_sta: holds rate scaling data, either for the case when RS is done in * @lq_sta: holds rate scaling data, either for the case when RS is done in
* the driver - %rs_drv or in the FW - %rs_fw. * the driver - %rs_drv or in the FW - %rs_fw.
* @orig_amsdu_len: used to save the original amsdu_len when it is changed via
* debugfs. If it's set to 0, it means that it is it's not set via
* debugfs.
* @avg_energy: energy as reported by FW statistics notification * @avg_energy: energy as reported by FW statistics notification
*/ */
struct iwl_mvm_link_sta { struct iwl_mvm_link_sta {
...@@ -346,6 +349,8 @@ struct iwl_mvm_link_sta { ...@@ -346,6 +349,8 @@ struct iwl_mvm_link_sta {
struct iwl_lq_sta rs_drv; struct iwl_lq_sta rs_drv;
} lq_sta; } lq_sta;
u16 orig_amsdu_len;
u8 avg_energy; u8 avg_energy;
}; };
...@@ -375,9 +380,6 @@ struct iwl_mvm_link_sta { ...@@ -375,9 +380,6 @@ struct iwl_mvm_link_sta {
* @amsdu_enabled: bitmap of TX AMSDU allowed TIDs. * @amsdu_enabled: bitmap of TX AMSDU allowed TIDs.
* In case TLC offload is not active it is either 0xFFFF or 0. * In case TLC offload is not active it is either 0xFFFF or 0.
* @max_amsdu_len: max AMSDU length * @max_amsdu_len: max AMSDU length
* @orig_amsdu_len: used to save the original amsdu_len when it is changed via
* debugfs. If it's set to 0, it means that it is it's not set via
* debugfs.
* @agg_tids: bitmap of tids whose status is operational aggregated (IWL_AGG_ON) * @agg_tids: bitmap of tids whose status is operational aggregated (IWL_AGG_ON)
* @sleeping: sta sleep transitions in power management * @sleeping: sta sleep transitions in power management
* @sleep_tx_count: the number of frames that we told the firmware to let out * @sleep_tx_count: the number of frames that we told the firmware to let out
...@@ -429,7 +431,6 @@ struct iwl_mvm_sta { ...@@ -429,7 +431,6 @@ struct iwl_mvm_sta {
bool disable_tx; bool disable_tx;
u16 amsdu_enabled; u16 amsdu_enabled;
u16 max_amsdu_len; u16 max_amsdu_len;
u16 orig_amsdu_len;
bool sleeping; bool sleeping;
u8 agg_tids; u8 agg_tids;
u8 sleep_tx_count; u8 sleep_tx_count;
......
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