[PATCH] Print names of SMD commands in debug messages

Pontus Fuchs pontus.fuchs at gmail.com
Tue Jun 11 10:57:39 EDT 2013


Makes it a a little easier to read the debug logs.

Signed-off-by: Pontus Fuchs <pontus.fuchs at gmail.com>
---
 smd.c | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 205 insertions(+)

diff --git a/smd.c b/smd.c
index c83481e..61af19e 100644
--- a/smd.c
+++ b/smd.c
@@ -18,13 +18,216 @@
 
 #include <linux/etherdevice.h>
 
+#define C2S(x) case x: return #x;
+
+static const char *cmd2name(int cmd)
+{
+	switch (cmd) {
+	C2S(WCN36XX_HAL_START_REQ)
+	C2S(WCN36XX_HAL_START_RSP)
+	C2S(WCN36XX_HAL_STOP_REQ)
+	C2S(WCN36XX_HAL_STOP_RSP)
+	C2S(WCN36XX_HAL_INIT_SCAN_REQ)
+	C2S(WCN36XX_HAL_INIT_SCAN_RSP)
+	C2S(WCN36XX_HAL_START_SCAN_REQ)
+	C2S(WCN36XX_HAL_START_SCAN_RSP)
+	C2S(WCN36XX_HAL_END_SCAN_REQ)
+	C2S(WCN36XX_HAL_END_SCAN_RSP)
+	C2S(WCN36XX_HAL_FINISH_SCAN_REQ)
+	C2S(WCN36XX_HAL_FINISH_SCAN_RSP)
+	C2S(WCN36XX_HAL_CONFIG_STA_REQ)
+	C2S(WCN36XX_HAL_CONFIG_STA_RSP)
+	C2S(WCN36XX_HAL_DELETE_STA_REQ)
+	C2S(WCN36XX_HAL_DELETE_STA_RSP)
+	C2S(WCN36XX_HAL_CONFIG_BSS_REQ)
+	C2S(WCN36XX_HAL_CONFIG_BSS_RSP)
+	C2S(WCN36XX_HAL_DELETE_BSS_REQ)
+	C2S(WCN36XX_HAL_DELETE_BSS_RSP)
+	C2S(WCN36XX_HAL_JOIN_REQ)
+	C2S(WCN36XX_HAL_JOIN_RSP)
+	C2S(WCN36XX_HAL_POST_ASSOC_REQ)
+	C2S(WCN36XX_HAL_POST_ASSOC_RSP)
+	C2S(WCN36XX_HAL_SET_BSSKEY_REQ)
+	C2S(WCN36XX_HAL_SET_BSSKEY_RSP)
+	C2S(WCN36XX_HAL_SET_STAKEY_REQ)
+	C2S(WCN36XX_HAL_SET_STAKEY_RSP)
+	C2S(WCN36XX_HAL_RMV_BSSKEY_REQ)
+	C2S(WCN36XX_HAL_RMV_BSSKEY_RSP)
+	C2S(WCN36XX_HAL_RMV_STAKEY_REQ)
+	C2S(WCN36XX_HAL_RMV_STAKEY_RSP)
+	C2S(WCN36XX_HAL_ADD_TS_REQ)
+	C2S(WCN36XX_HAL_ADD_TS_RSP)
+	C2S(WCN36XX_HAL_DEL_TS_REQ)
+	C2S(WCN36XX_HAL_DEL_TS_RSP)
+	C2S(WCN36XX_HAL_UPD_EDCA_PARAMS_REQ)
+	C2S(WCN36XX_HAL_UPD_EDCA_PARAMS_RSP)
+	C2S(WCN36XX_HAL_ADD_BA_REQ)
+	C2S(WCN36XX_HAL_ADD_BA_RSP)
+	C2S(WCN36XX_HAL_DEL_BA_REQ)
+	C2S(WCN36XX_HAL_DEL_BA_RSP)
+	C2S(WCN36XX_HAL_CH_SWITCH_REQ)
+	C2S(WCN36XX_HAL_CH_SWITCH_RSP)
+	C2S(WCN36XX_HAL_SET_LINK_ST_REQ)
+	C2S(WCN36XX_HAL_SET_LINK_ST_RSP)
+	C2S(WCN36XX_HAL_GET_STATS_REQ)
+	C2S(WCN36XX_HAL_GET_STATS_RSP)
+	C2S(WCN36XX_HAL_UPDATE_CFG_REQ)
+	C2S(WCN36XX_HAL_UPDATE_CFG_RSP)
+	C2S(WCN36XX_HAL_MISSED_BEACON_IND)
+	C2S(WCN36XX_HAL_UNKNOWN_ADDR2_FRAME_RX_IND)
+	C2S(WCN36XX_HAL_MIC_FAILURE_IND)
+	C2S(WCN36XX_HAL_FATAL_ERROR_IND)
+	C2S(WCN36XX_HAL_SET_KEYDONE_MSG)
+	C2S(WCN36XX_HAL_DOWNLOAD_NV_REQ)
+	C2S(WCN36XX_HAL_DOWNLOAD_NV_RSP)
+	C2S(WCN36XX_HAL_ADD_BA_SESSION_REQ)
+	C2S(WCN36XX_HAL_ADD_BA_SESSION_RSP)
+	C2S(WCN36XX_HAL_TRIGGER_BA_REQ)
+	C2S(WCN36XX_HAL_TRIGGER_BA_RSP)
+	C2S(WCN36XX_HAL_UPDATE_BEACON_REQ)
+	C2S(WCN36XX_HAL_UPDATE_BEACON_RSP)
+	C2S(WCN36XX_HAL_SEND_BEACON_REQ)
+	C2S(WCN36XX_HAL_SEND_BEACON_RSP)
+	C2S(WCN36XX_HAL_SET_BCASTKEY_REQ)
+	C2S(WCN36XX_HAL_SET_BCASTKEY_RSP)
+	C2S(WCN36XX_HAL_DELETE_STA_CONTEXT_IND)
+	C2S(WCN36XX_HAL_UPDATE_PROBE_RSP_TEMPLATE_REQ)
+	C2S(WCN36XX_HAL_UPDATE_PROBE_RSP_TEMPLATE_RSP)
+	C2S(WCN36XX_HAL_PROCESS_PTT_REQ)
+	C2S(WCN36XX_HAL_PROCESS_PTT_RSP)
+	C2S(WCN36XX_HAL_SIGNAL_BTAMP_EVENT_REQ)
+	C2S(WCN36XX_HAL_SIGNAL_BTAMP_EVENT_RSP)
+	C2S(WCN36XX_HAL_TL_HAL_FLUSH_AC_REQ)
+	C2S(WCN36XX_HAL_TL_HAL_FLUSH_AC_RSP)
+	C2S(WCN36XX_HAL_ENTER_IMPS_REQ)
+	C2S(WCN36XX_HAL_EXIT_IMPS_REQ)
+	C2S(WCN36XX_HAL_ENTER_BMPS_REQ)
+	C2S(WCN36XX_HAL_EXIT_BMPS_REQ)
+	C2S(WCN36XX_HAL_ENTER_UAPSD_REQ)
+	C2S(WCN36XX_HAL_EXIT_UAPSD_REQ)
+	C2S(WCN36XX_HAL_UPDATE_UAPSD_PARAM_REQ)
+	C2S(WCN36XX_HAL_CONFIGURE_RXP_FILTER_REQ)
+	C2S(WCN36XX_HAL_ADD_BCN_FILTER_REQ)
+	C2S(WCN36XX_HAL_REM_BCN_FILTER_REQ)
+	C2S(WCN36XX_HAL_ADD_WOWL_BCAST_PTRN)
+	C2S(WCN36XX_HAL_DEL_WOWL_BCAST_PTRN)
+	C2S(WCN36XX_HAL_ENTER_WOWL_REQ)
+	C2S(WCN36XX_HAL_EXIT_WOWL_REQ)
+	C2S(WCN36XX_HAL_HOST_OFFLOAD_REQ)
+	C2S(WCN36XX_HAL_SET_RSSI_THRESH_REQ)
+	C2S(WCN36XX_HAL_GET_RSSI_REQ)
+	C2S(WCN36XX_HAL_SET_UAPSD_AC_PARAMS_REQ)
+	C2S(WCN36XX_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ)
+	C2S(WCN36XX_HAL_ENTER_IMPS_RSP)
+	C2S(WCN36XX_HAL_EXIT_IMPS_RSP)
+	C2S(WCN36XX_HAL_ENTER_BMPS_RSP)
+	C2S(WCN36XX_HAL_EXIT_BMPS_RSP)
+	C2S(WCN36XX_HAL_ENTER_UAPSD_RSP)
+	C2S(WCN36XX_HAL_EXIT_UAPSD_RSP)
+	C2S(WCN36XX_HAL_SET_UAPSD_AC_PARAMS_RSP)
+	C2S(WCN36XX_HAL_UPDATE_UAPSD_PARAM_RSP)
+	C2S(WCN36XX_HAL_CONFIGURE_RXP_FILTER_RSP)
+	C2S(WCN36XX_HAL_ADD_BCN_FILTER_RSP)
+	C2S(WCN36XX_HAL_REM_BCN_FILTER_RSP)
+	C2S(WCN36XX_HAL_SET_RSSI_THRESH_RSP)
+	C2S(WCN36XX_HAL_HOST_OFFLOAD_RSP)
+	C2S(WCN36XX_HAL_ADD_WOWL_BCAST_PTRN_RSP)
+	C2S(WCN36XX_HAL_DEL_WOWL_BCAST_PTRN_RSP)
+	C2S(WCN36XX_HAL_ENTER_WOWL_RSP)
+	C2S(WCN36XX_HAL_EXIT_WOWL_RSP)
+	C2S(WCN36XX_HAL_RSSI_NOTIFICATION_IND)
+	C2S(WCN36XX_HAL_GET_RSSI_RSP)
+	C2S(WCN36XX_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_RSP)
+	C2S(WCN36XX_HAL_SET_MAX_TX_POWER_REQ)
+	C2S(WCN36XX_HAL_SET_MAX_TX_POWER_RSP)
+	C2S(WCN36XX_HAL_AGGR_ADD_TS_REQ)
+	C2S(WCN36XX_HAL_AGGR_ADD_TS_RSP)
+	C2S(WCN36XX_HAL_SET_P2P_GONOA_REQ)
+	C2S(WCN36XX_HAL_SET_P2P_GONOA_RSP)
+	C2S(WCN36XX_HAL_DUMP_COMMAND_REQ)
+	C2S(WCN36XX_HAL_DUMP_COMMAND_RSP)
+	C2S(WCN36XX_HAL_START_OEM_DATA_REQ)
+	C2S(WCN36XX_HAL_START_OEM_DATA_RSP)
+	C2S(WCN36XX_HAL_ADD_STA_SELF_REQ)
+	C2S(WCN36XX_HAL_ADD_STA_SELF_RSP)
+	C2S(WCN36XX_HAL_DEL_STA_SELF_REQ)
+	C2S(WCN36XX_HAL_DEL_STA_SELF_RSP)
+	C2S(WCN36XX_HAL_COEX_IND)
+	C2S(WCN36XX_HAL_OTA_TX_COMPL_IND)
+	C2S(WCN36XX_HAL_HOST_SUSPEND_IND)
+	C2S(WCN36XX_HAL_HOST_RESUME_REQ)
+	C2S(WCN36XX_HAL_HOST_RESUME_RSP)
+	C2S(WCN36XX_HAL_SET_TX_POWER_REQ)
+	C2S(WCN36XX_HAL_SET_TX_POWER_RSP)
+	C2S(WCN36XX_HAL_GET_TX_POWER_REQ)
+	C2S(WCN36XX_HAL_GET_TX_POWER_RSP)
+	C2S(WCN36XX_HAL_P2P_NOA_ATTR_IND)
+	C2S(WCN36XX_HAL_ENABLE_RADAR_DETECT_REQ)
+	C2S(WCN36XX_HAL_ENABLE_RADAR_DETECT_RSP)
+	C2S(WCN36XX_HAL_GET_TPC_REPORT_REQ)
+	C2S(WCN36XX_HAL_GET_TPC_REPORT_RSP)
+	C2S(WCN36XX_HAL_RADAR_DETECT_IND)
+	C2S(WCN36XX_HAL_RADAR_DETECT_INTR_IND)
+	C2S(WCN36XX_HAL_KEEP_ALIVE_REQ)
+	C2S(WCN36XX_HAL_KEEP_ALIVE_RSP)
+	C2S(WCN36XX_HAL_SET_PREF_NETWORK_REQ)
+	C2S(WCN36XX_HAL_SET_PREF_NETWORK_RSP)
+	C2S(WCN36XX_HAL_SET_RSSI_FILTER_REQ)
+	C2S(WCN36XX_HAL_SET_RSSI_FILTER_RSP)
+	C2S(WCN36XX_HAL_UPDATE_SCAN_PARAM_REQ)
+	C2S(WCN36XX_HAL_UPDATE_SCAN_PARAM_RSP)
+	C2S(WCN36XX_HAL_PREF_NETW_FOUND_IND)
+	C2S(WCN36XX_HAL_SET_TX_PER_TRACKING_REQ)
+	C2S(WCN36XX_HAL_SET_TX_PER_TRACKING_RSP)
+	C2S(WCN36XX_HAL_TX_PER_HIT_IND)
+	C2S(WCN36XX_HAL_8023_MULTICAST_LIST_REQ)
+	C2S(WCN36XX_HAL_8023_MULTICAST_LIST_RSP)
+	C2S(WCN36XX_HAL_SET_PACKET_FILTER_REQ)
+	C2S(WCN36XX_HAL_SET_PACKET_FILTER_RSP)
+	C2S(WCN36XX_HAL_PACKET_FILTER_MATCH_COUNT_REQ)
+	C2S(WCN36XX_HAL_PACKET_FILTER_MATCH_COUNT_RSP)
+	C2S(WCN36XX_HAL_CLEAR_PACKET_FILTER_REQ)
+	C2S(WCN36XX_HAL_CLEAR_PACKET_FILTER_RSP)
+	C2S(WCN36XX_HAL_INIT_SCAN_CON_REQ)
+	C2S(WCN36XX_HAL_SET_POWER_PARAMS_REQ)
+	C2S(WCN36XX_HAL_SET_POWER_PARAMS_RSP)
+	C2S(WCN36XX_HAL_TSM_STATS_REQ)
+	C2S(WCN36XX_HAL_TSM_STATS_RSP)
+	C2S(WCN36XX_HAL_WAKE_REASON_IND)
+	C2S(WCN36XX_HAL_GTK_OFFLOAD_REQ)
+	C2S(WCN36XX_HAL_GTK_OFFLOAD_RSP)
+	C2S(WCN36XX_HAL_GTK_OFFLOAD_GETINFO_REQ)
+	C2S(WCN36XX_HAL_GTK_OFFLOAD_GETINFO_RSP)
+	C2S(WCN36XX_HAL_FEATURE_CAPS_EXCHANGE_REQ)
+	C2S(WCN36XX_HAL_FEATURE_CAPS_EXCHANGE_RSP)
+	C2S(WCN36XX_HAL_EXCLUDE_UNENCRYPTED_IND)
+	C2S(WCN36XX_HAL_SET_THERMAL_MITIGATION_REQ)
+	C2S(WCN36XX_HAL_SET_THERMAL_MITIGATION_RSP)
+	C2S(WCN36XX_HAL_UPDATE_VHT_OP_MODE_REQ)
+	C2S(WCN36XX_HAL_UPDATE_VHT_OP_MODE_RSP)
+	C2S(WCN36XX_HAL_P2P_NOA_START_IND)
+	C2S(WCN36XX_HAL_GET_ROAM_RSSI_REQ)
+	C2S(WCN36XX_HAL_GET_ROAM_RSSI_RSP)
+	C2S(WCN36XX_HAL_CLASS_B_STATS_IND)
+	C2S(WCN36XX_HAL_DEL_BA_IND)
+	C2S(WCN36XX_HAL_DHCP_START_IND)
+	C2S(WCN36XX_HAL_DHCP_STOP_IND)
+	}
+	return "UNKNOWN";
+}
+
 static int wcn36xx_smd_send_and_wait(struct wcn36xx *wcn, size_t len)
 {
 	int avail;
+	struct wcn36xx_hal_msg_header *header;
+
+	header = (struct wcn36xx_hal_msg_header *) wcn->smd_buf;
 
 	init_completion(&wcn->smd_compl);
 	avail = smd_write_avail(wcn->smd_ch);
 
+	wcn36xx_dbg(WCN36XX_DBG_SMD, "SMD command %s (%d)",
+		    cmd2name(header->msg_type), header->msg_type);
 	wcn36xx_dbg_dump(WCN36XX_DBG_SMD_DUMP, "SMD >>> ", wcn->smd_buf, len);
 	if (avail >= len) {
 		avail = smd_write(wcn->smd_ch, wcn->smd_buf, len);
@@ -1030,6 +1233,8 @@ static void wcn36xx_smd_rsp_process(struct wcn36xx *wcn, void *buf, size_t len)
 {
 	struct wcn36xx_hal_msg_header *msg_header = buf;
 
+	wcn36xx_dbg(WCN36XX_DBG_SMD, "SMD RSP/IND %s (%d)",
+		    cmd2name(msg_header->msg_type), msg_header->msg_type);
 	wcn36xx_dbg_dump(WCN36XX_DBG_SMD_DUMP, "SMD <<< ", buf, len);
 	switch (msg_header->msg_type) {
 	case WCN36XX_HAL_START_RSP:
-- 
1.8.1.2




More information about the wcn36xx mailing list