wlcore: add print logs of radio_status in case of BIP calibration
FEM BIP calibration may fail with fw/phy radio status. In order to recognize these failures a log is added to the calibration answer (TEST_CMD_P2G_CAL) Signed-off-by: Yair Shapira <yair.shapira@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
committed by
Luciano Coelho
parent
05f48d4574
commit
b0b09e312a
@@ -652,4 +652,25 @@ struct wl12xx_cmd_stop_channel_switch {
|
|||||||
struct wl1271_cmd_header header;
|
struct wl1271_cmd_header header;
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
|
/* Used to check radio status after calibration */
|
||||||
|
#define MAX_TLV_LENGTH 500
|
||||||
|
#define TEST_CMD_P2G_CAL 2 /* TX BiP */
|
||||||
|
|
||||||
|
struct wl1271_cmd_cal_p2g {
|
||||||
|
struct wl1271_cmd_header header;
|
||||||
|
|
||||||
|
struct wl1271_cmd_test_header test;
|
||||||
|
|
||||||
|
__le32 ver;
|
||||||
|
__le16 len;
|
||||||
|
u8 buf[MAX_TLV_LENGTH];
|
||||||
|
u8 type;
|
||||||
|
u8 padding;
|
||||||
|
|
||||||
|
__le16 radio_status;
|
||||||
|
|
||||||
|
u8 sub_band_mask;
|
||||||
|
u8 padding2;
|
||||||
|
} __packed;
|
||||||
|
|
||||||
#endif /* __WL1271_CMD_H__ */
|
#endif /* __WL1271_CMD_H__ */
|
||||||
|
@@ -108,6 +108,20 @@ static int wl1271_tm_cmd_test(struct wl1271 *wl, struct nlattr *tb[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (answer) {
|
if (answer) {
|
||||||
|
/* If we got bip calibration answer print radio status */
|
||||||
|
struct wl1271_cmd_cal_p2g *params =
|
||||||
|
(struct wl1271_cmd_cal_p2g *) buf;
|
||||||
|
|
||||||
|
s16 radio_status = (s16) le16_to_cpu(params->radio_status);
|
||||||
|
|
||||||
|
if (params->test.id == TEST_CMD_P2G_CAL &&
|
||||||
|
radio_status < 0)
|
||||||
|
wl1271_warning("testmode cmd: radio status=%d",
|
||||||
|
radio_status);
|
||||||
|
else
|
||||||
|
wl1271_info("testmode cmd: radio status=%d",
|
||||||
|
radio_status);
|
||||||
|
|
||||||
len = nla_total_size(buf_len);
|
len = nla_total_size(buf_len);
|
||||||
skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len);
|
skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len);
|
||||||
if (!skb) {
|
if (!skb) {
|
||||||
|
Reference in New Issue
Block a user