summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath10k/wmi.h
diff options
context:
space:
mode:
authorVenkateswara Naralasetty <vnaralas@codeaurora.org>2020-11-06 15:40:42 +0530
committerKalle Valo <kvalo@codeaurora.org>2020-11-23 20:07:20 +0200
commit9af7c32ceca85da27867dd863697d2aafc80a3f8 (patch)
tree6792cf4b9f080ca30d5800708016bc57afb6b89d /drivers/net/wireless/ath/ath10k/wmi.h
parent1057db1b8b7661c5031caa0244dfa6bee9adc938 (diff)
downloadlwn-9af7c32ceca85da27867dd863697d2aafc80a3f8.tar.gz
lwn-9af7c32ceca85da27867dd863697d2aafc80a3f8.zip
ath10k: add target IRAM recovery feature support
This target IRAM recovery feature support is to copy target IRAM contents available at ATH10K_MEM_REGION_TYPE_REG to host memory for back up after firmware loaded. Target IRAM contents are copied to wmi memory chunks allocated for the WMI_IRAM_RECOVERY_HOST_MEM_REQ_ID and provide the wmi chunks address to the firmware through wmi init command. If firmware detects andy IRAM corruption through periodic checksum validation, It will download the IRAM contents back from the provided wmi memory chunks address using hif_memcpy. This IRAM recovery feature prevent target assert in case of unexpected target IRAM corruptions. This patch also introduce a new feature flag 'iram-recovery' for backward compatibility. Tested-on: QCA9888 10.4-3.9.0.2-00094 Signed-off-by: Venkateswara Naralasetty <vnaralas@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/1604657442-23674-1-git-send-email-vnaralas@codeaurora.org
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/wmi.h')
-rw-r--r--drivers/net/wireless/ath/ath10k/wmi.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h
index 11300b1320a9..c32aabea8293 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -3060,6 +3060,8 @@ struct host_memory_chunk {
__le32 size;
} __packed;
+#define WMI_IRAM_RECOVERY_HOST_MEM_REQ_ID 8
+
struct wmi_host_mem_chunks {
__le32 count;
/* some fw revisions require at least 1 chunk regardless of count */