Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b0b09e31 authored by Yair Shapira's avatar Yair Shapira Committed by Luciano Coelho
Browse files

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: default avatarYair Shapira <yair.shapira@ti.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent 05f48d45
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -652,4 +652,25 @@ struct wl12xx_cmd_stop_channel_switch {
	struct wl1271_cmd_header header;
} __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__ */
+14 −0
Original line number Diff line number Diff line
@@ -108,6 +108,20 @@ static int wl1271_tm_cmd_test(struct wl1271 *wl, struct nlattr *tb[])
	}

	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);
		skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len);
		if (!skb) {