Commit 17813af5 authored by Kiran K's avatar Kiran K Committed by Luiz Augusto von Dentz

Bluetooth: btintel_pcie: Print Firmware Sequencer information

Firmware sequencer (FSEQ) is a common code shared across Bluetooth
and Wifi. Printing FSEQ will help to debug if there is any mismatch
between Bluetooth and Wifi FSEQ.

Make 'btintel_print_fseq_info' public and use it in btintel_pcie.c.

dmesg:

....

[ 5335.695740] Bluetooth: hci0: Device booted in 33872 usecs
[ 5335.695918] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-0190-0291.ddc
[ 5335.697011] Bluetooth: hci0: Applying Intel DDC parameters completed
[ 5335.697837] Bluetooth: hci0: Firmware timestamp 2024.20 buildtype 0 build 62871
[ 5335.697848] Bluetooth: hci0: Firmware SHA1: 0xeffdce06
[ 5335.698655] Bluetooth: hci0: Fseq status: Success (0x00)
[ 5335.698666] Bluetooth: hci0: Fseq executed: 00.00.04.176
[ 5335.698670] Bluetooth: hci0: Fseq BT Top: 00.00.04.176
[ 5335.750204] Bluetooth: MGMT ver 1.22
Signed-off-by: default avatarKiran K <kiran.k@intel.com>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent 064aee50
...@@ -2662,7 +2662,7 @@ void btintel_set_msft_opcode(struct hci_dev *hdev, u8 hw_variant) ...@@ -2662,7 +2662,7 @@ void btintel_set_msft_opcode(struct hci_dev *hdev, u8 hw_variant)
} }
EXPORT_SYMBOL_GPL(btintel_set_msft_opcode); EXPORT_SYMBOL_GPL(btintel_set_msft_opcode);
static void btintel_print_fseq_info(struct hci_dev *hdev) void btintel_print_fseq_info(struct hci_dev *hdev)
{ {
struct sk_buff *skb; struct sk_buff *skb;
u8 *p; u8 *p;
...@@ -2774,6 +2774,7 @@ static void btintel_print_fseq_info(struct hci_dev *hdev) ...@@ -2774,6 +2774,7 @@ static void btintel_print_fseq_info(struct hci_dev *hdev)
kfree_skb(skb); kfree_skb(skb);
} }
EXPORT_SYMBOL_GPL(btintel_print_fseq_info);
static int btintel_setup_combined(struct hci_dev *hdev) static int btintel_setup_combined(struct hci_dev *hdev)
{ {
......
...@@ -244,6 +244,7 @@ int btintel_bootloader_setup_tlv(struct hci_dev *hdev, ...@@ -244,6 +244,7 @@ int btintel_bootloader_setup_tlv(struct hci_dev *hdev,
struct intel_version_tlv *ver); struct intel_version_tlv *ver);
int btintel_shutdown_combined(struct hci_dev *hdev); int btintel_shutdown_combined(struct hci_dev *hdev);
void btintel_hw_error(struct hci_dev *hdev, u8 code); void btintel_hw_error(struct hci_dev *hdev, u8 code);
void btintel_print_fseq_info(struct hci_dev *hdev);
#else #else
static inline int btintel_check_bdaddr(struct hci_dev *hdev) static inline int btintel_check_bdaddr(struct hci_dev *hdev)
...@@ -373,4 +374,8 @@ static inline int btintel_shutdown_combined(struct hci_dev *hdev) ...@@ -373,4 +374,8 @@ static inline int btintel_shutdown_combined(struct hci_dev *hdev)
static inline void btintel_hw_error(struct hci_dev *hdev, u8 code) static inline void btintel_hw_error(struct hci_dev *hdev, u8 code)
{ {
} }
static inline void btintel_print_fseq_info(struct hci_dev *hdev)
{
}
#endif #endif
...@@ -1197,9 +1197,11 @@ static int btintel_pcie_setup(struct hci_dev *hdev) ...@@ -1197,9 +1197,11 @@ static int btintel_pcie_setup(struct hci_dev *hdev)
bt_dev_err(hdev, "Unsupported Intel hw variant (%u)", bt_dev_err(hdev, "Unsupported Intel hw variant (%u)",
INTEL_HW_VARIANT(ver_tlv.cnvi_bt)); INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
err = -EINVAL; err = -EINVAL;
goto exit_error;
break; break;
} }
btintel_print_fseq_info(hdev);
exit_error: exit_error:
kfree_skb(skb); kfree_skb(skb);
......
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