Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
ath.git patches for v5.5. Major changes: ath10k * request for PM_QOS_CPU_DMA_LATENCY to improve firmware initialisation time
This commit is contained in:
commit
8550179018
@ -11,6 +11,7 @@
|
|||||||
#include <linux/property.h>
|
#include <linux/property.h>
|
||||||
#include <linux/dmi.h>
|
#include <linux/dmi.h>
|
||||||
#include <linux/ctype.h>
|
#include <linux/ctype.h>
|
||||||
|
#include <linux/pm_qos.h>
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
|
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
@ -1027,6 +1028,7 @@ static int ath10k_download_fw(struct ath10k *ar)
|
|||||||
u32 address, data_len;
|
u32 address, data_len;
|
||||||
const void *data;
|
const void *data;
|
||||||
int ret;
|
int ret;
|
||||||
|
struct pm_qos_request latency_qos;
|
||||||
|
|
||||||
address = ar->hw_params.patch_load_addr;
|
address = ar->hw_params.patch_load_addr;
|
||||||
|
|
||||||
@ -1060,8 +1062,14 @@ static int ath10k_download_fw(struct ath10k *ar)
|
|||||||
ret);
|
ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ath10k_bmi_fast_download(ar, address,
|
memset(&latency_qos, 0, sizeof(latency_qos));
|
||||||
data, data_len);
|
pm_qos_add_request(&latency_qos, PM_QOS_CPU_DMA_LATENCY, 0);
|
||||||
|
|
||||||
|
ret = ath10k_bmi_fast_download(ar, address, data, data_len);
|
||||||
|
|
||||||
|
pm_qos_remove_request(&latency_qos);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ath10k_core_free_board_files(struct ath10k *ar)
|
void ath10k_core_free_board_files(struct ath10k *ar)
|
||||||
|
@ -6604,6 +6604,7 @@ static int ath10k_sta_state(struct ieee80211_hw *hw,
|
|||||||
arsta->tx_stats = kzalloc(sizeof(*arsta->tx_stats),
|
arsta->tx_stats = kzalloc(sizeof(*arsta->tx_stats),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!arsta->tx_stats) {
|
if (!arsta->tx_stats) {
|
||||||
|
ath10k_mac_dec_num_stations(arvif, sta);
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
@ -6638,12 +6639,8 @@ static int ath10k_sta_state(struct ieee80211_hw *hw,
|
|||||||
|
|
||||||
spin_unlock_bh(&ar->data_lock);
|
spin_unlock_bh(&ar->data_lock);
|
||||||
|
|
||||||
if (!sta->tdls) {
|
if (!sta->tdls)
|
||||||
ath10k_peer_delete(ar, arvif->vdev_id, sta->addr);
|
|
||||||
ath10k_mac_dec_num_stations(arvif, sta);
|
|
||||||
kfree(arsta->tx_stats);
|
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
|
||||||
|
|
||||||
ret = ath10k_wmi_update_fw_tdls_state(ar, arvif->vdev_id,
|
ret = ath10k_wmi_update_fw_tdls_state(ar, arvif->vdev_id,
|
||||||
WMI_TDLS_ENABLE_ACTIVE);
|
WMI_TDLS_ENABLE_ACTIVE);
|
||||||
|
@ -773,6 +773,13 @@ static void ath10k_qmi_event_server_arrive(struct ath10k_qmi *qmi)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* HACK: sleep for a while inbetween receiving the msa info response
|
||||||
|
* and the XPU update to prevent SDM845 from crashing due to a security
|
||||||
|
* violation, when running MPSS.AT.4.0.c2-01184-SDM845_GEN_PACK-1.
|
||||||
|
*/
|
||||||
|
msleep(20);
|
||||||
|
|
||||||
ret = ath10k_qmi_setup_msa_permissions(qmi);
|
ret = ath10k_qmi_setup_msa_permissions(qmi);
|
||||||
if (ret)
|
if (ret)
|
||||||
return;
|
return;
|
||||||
|
@ -95,6 +95,8 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt,
|
|||||||
|
|
||||||
info = IEEE80211_SKB_CB(msdu);
|
info = IEEE80211_SKB_CB(msdu);
|
||||||
memset(&info->status, 0, sizeof(info->status));
|
memset(&info->status, 0, sizeof(info->status));
|
||||||
|
info->status.rates[0].idx = -1;
|
||||||
|
|
||||||
trace_ath10k_txrx_tx_unref(ar, tx_done->msdu_id);
|
trace_ath10k_txrx_tx_unref(ar, tx_done->msdu_id);
|
||||||
|
|
||||||
if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
|
if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
|
||||||
|
@ -2091,7 +2091,7 @@ struct wcn36xx_hal_set_bss_key_rsp_msg {
|
|||||||
/*
|
/*
|
||||||
* This is used configure the key information on a given station.
|
* This is used configure the key information on a given station.
|
||||||
* When the sec_type is WEP40 or WEP104, the def_wep_idx is used to locate
|
* When the sec_type is WEP40 or WEP104, the def_wep_idx is used to locate
|
||||||
* a preconfigured key from a BSS the station assoicated with; otherwise
|
* a preconfigured key from a BSS the station associated with; otherwise
|
||||||
* a new key descriptor is created based on the key field.
|
* a new key descriptor is created based on the key field.
|
||||||
*/
|
*/
|
||||||
struct wcn36xx_hal_set_sta_key_req_msg {
|
struct wcn36xx_hal_set_sta_key_req_msg {
|
||||||
|
Loading…
Reference in New Issue
Block a user