@@ -1774,14 +1774,26 @@ static int ath11k_qmi_request_target_cap(struct ath11k_base *ab)
if (resp.soc_info_valid)
ab->qmi.target.soc_id = resp.soc_info.soc_id;
- if (resp.fw_version_info_valid)
+ if (resp.fw_version_info_valid) {
ab->qmi.target.fw_version = resp.fw_version_info.fw_version;
+ strlcpy(ab->qmi.target.fw_build_timestamp,
+ resp.fw_version_info.fw_build_timestamp,
+ sizeof(ab->qmi.target.fw_build_timestamp));
+ }
+
+ if (resp.fw_build_id_valid)
+ strlcpy(ab->qmi.target.fw_build_id, resp.fw_build_id,
+ sizeof(ab->qmi.target.fw_build_id));
ath11k_info(ab, "qmi target: chip_id: 0x%x, chip_family: 0x%x,"
- "board_id: 0x%x, soc_id: 0x%x, fw_version: 0x%x\n",
+ "board_id: 0x%x, soc_id: 0x%x\n",
ab->qmi.target.chip_id, ab->qmi.target.chip_family,
- ab->qmi.target.board_id, ab->qmi.target.soc_id,
- ab->qmi.target.fw_version);
+ ab->qmi.target.board_id, ab->qmi.target.soc_id);
+
+ ath11k_info(ab, "qmi fw_version: 0x%x fw_build_timestamp: %s fw_build_id: %s",
+ ab->qmi.target.fw_version,
+ ab->qmi.target.fw_build_timestamp,
+ ab->qmi.target.fw_build_id);
out:
return ret;
@@ -98,6 +98,7 @@ struct target_info {
u32 soc_id;
u32 fw_version;
char fw_build_timestamp[ATH11K_QMI_WLANFW_MAX_TIMESTAMP_LEN_V01 + 1];
+ char fw_build_id[ATH11K_QMI_WLANFW_MAX_BUILD_ID_LEN_V01 + 1];
};
struct ath11k_qmi {
Print fw info like version, time stamp and fw build info during boot. Signed-off-by: Manikanta Pubbisetty <mpubbise@codeaurora.org> --- drivers/net/wireless/ath/ath11k/qmi.c | 20 ++++++++++++++++---- drivers/net/wireless/ath/ath11k/qmi.h | 1 + 2 files changed, 17 insertions(+), 4 deletions(-)