Bluetooth: btqca: Add support to read FW build version for WCN3991 BTSoC
PATCH v4 1/1 Bluetooth: btqca: Add support to read FW build version for WCN3991 BTSoC
Add support to read FW build version from debugfs node. This info can be read from /sys/kernel/debug/bluetooth/hci0/firmware_info
--- drivers/bluetooth/btqca.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++ drivers/bluetooth/btqca.h | 1 + 2 files changed, 55 insertions(+)
drivers/bluetooth/btqca.c +54 -0
@@ -94,6 +94,53 @@ int qca_read_soc_version(struct hci_dev *hdev, struct qca_btsoc_version *ver, }EXPORT_SYMBOL_GPL (qca_read_soc_version); +static int qca_read_fw_build_info (struct hci_dev *hdev) +{ +struct sk_buff *skb; +struct edl_event_hdr *edl; +char cmd, build_label[QCA_FW_BUILD_VER_LEN ]; +int build_lbl_len, err =0 ; + +bt_dev_dbg (hdev,"QCA read fw build info" ); + + cmd =EDL_GET_BUILD_INFO_CMD ; + skb =__hci_cmd_sync_ev (hdev,EDL_PATCH_CMD_OPCODE ,EDL_PATCH_CMD_LEN , + &cmd,0 ,HCI_INIT_TIMEOUT ); +if (IS_ERR (skb)) { + err =PTR_ERR (skb); +bt_dev_err (hdev,"Reading QCA fw build info failed (%d)" , + err); +return err; + } + + edl = (struct edl_event_hdr *)(skb->data); +if (!edl) { +bt_dev_err (hdev,"QCA read fw build info with no header" ); + err = -EILSEQ ; + goto out; + } + +if (edl->cresp !=EDL_CMD_REQ_RES_EVT || + edl->rtype !=EDL_GET_BUILD_INFO_CMD ) { +bt_dev_err (hdev,"QCA Wrong packet received %d %d" , edl->cresp, + edl->rtype); + err = -EIO ; + goto out; + } + + build_lbl_len = edl->data[0 ]; +if (build_lbl_len <=QCA_FW_BUILD_VER_LEN -1 ) { +memcpy (build_label, edl->data +1 , build_lbl_len); + *(build_label + build_lbl_len) ='\0' ; + } + +hci_set_fw_info (hdev,"%s" , build_label); + +out: +kfree_skb (skb); +return err; +} +static int qca_send_reset (struct hci_dev *hdev) {struct sk_buff *skb;
@@ -524,6 +571,13 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,return err; } +if (soc_type ==QCA_WCN3991 ) { +/* get fw build info */ + err =qca_read_fw_build_info (hdev); +if (err <0 ) +return err; + } +bt_dev_info (hdev,"QCA setup on UART is completed" );return 0 ;
drivers/bluetooth/btqca.h +1 -0
@@ -11,6 +11,7 @@#define EDL_PATCH_CMD_LEN (1)#define EDL_PATCH_VER_REQ_CMD (0x19)#define EDL_PATCH_TLV_REQ_CMD (0x1E) +#define EDL_GET_BUILD_INFO_CMD (0x20)#define EDL_NVM_ACCESS_SET_REQ_CMD (0x01)#define MAX_SIZE_PER_TLV_SEGMENT (243)#define QCA_PRE_SHUTDOWN_CMD (0xFC08)
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=398171
---Test result---
##############################
Test: CheckPatch - PASS
##############################
Test: CheckGitLint - PASS
##############################
Test: CheckBuildK - PASS
---
Regards,
Linux Bluetooth
Marcel Holtmann
maintainerHi Venkata,
Quoted 9 lines
Add support to read FW build version from debugfs node. This info can be read from
/sys/kernel/debug/bluetooth/hci0/firmware_infoSigned-off-by Venkata Lakshmi Narayana Gubba <[email protected]>---
drivers/bluetooth/btqca.c| 54 +++++++++++++++++++++++++++++++++++++++++++++++drivers/bluetooth/btqca.h| 1 +2 files changed, 55 insertions(+)
patch has been applied to bluetooth-next tree.
Regards
Marcel
This patch was applied to qcom/linux.git (refs/heads/for-next):
Hello:
This patch was applied to qcom/linux.git (refs/heads/for-next):
Quoted 9 lines · On Tue, 8 Dec 2020 17:25:29 +0530 you wrote:
Add support to read FW build version from debugfs node. This info can be read from
/sys/kernel/debug/bluetooth/hci0/firmware_infoSigned-off-by Venkata Lakshmi Narayana Gubba <[email protected]>--- drivers/bluetooth/btqca.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++ drivers/bluetooth/btqca.h | 1 + 2 files changed, 55 insertions(+)
Here is the summary with links:
- [v4] Bluetooth: btqca: Add support to read FW build version for WCN3991 BTSoC
https://git.kernel.org/qcom/c/c0187b0bd3e9
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html