Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F163262870
D49783.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
17 KB
Referenced Files
None
Subscribers
None
D49783.diff
View Options
diff --git a/sys/dev/iwx/if_iwx.c b/sys/dev/iwx/if_iwx.c
--- a/sys/dev/iwx/if_iwx.c
+++ b/sys/dev/iwx/if_iwx.c
@@ -5111,9 +5111,6 @@
static int
iwx_send_cmd(struct iwx_softc *sc, struct iwx_host_cmd *hcmd)
{
-#ifdef IWX_DEBUG
- iwx_bbl_add_entry(hcmd->id, IWX_BBL_CMD_TX, ticks);
-#endif
struct iwx_tx_ring *ring = &sc->txq[IWX_DQA_CMD_QUEUE];
struct iwx_tfh_tfd *desc;
struct iwx_tx_data *txdata;
@@ -5717,9 +5714,6 @@
memcpy(tx->hdr, wh, hdrlen);
txcmd_size = sizeof(*tx);
}
-#if IWX_DEBUG
- iwx_bbl_add_entry(totlen, IWX_BBL_PKT_TX, ticks);
-#endif
/* Trim 802.11 header. */
m_adj(m, hdrlen);
@@ -8565,9 +8559,6 @@
if (--sc->sc_tx_timer[i] == 0) {
printf("%s: device timeout\n", DEVNAME(sc));
- if (sc->sc_debug)
- iwx_bbl_print_log();
-
iwx_nic_error(sc);
iwx_dump_driver_status(sc);
ieee80211_restart_all(ic);
@@ -8892,9 +8883,7 @@
if (!iwx_rx_pkt_valid(pkt))
break;
-#ifdef IWX_DEBUG
- iwx_bbl_add_entry(pkt->hdr.code, IWX_BBL_CMD_RX, ticks);
-#endif
+
/*
* XXX Intel inside (tm)
* Any commands in the LONG_GROUP could actually be in the
@@ -9507,7 +9496,6 @@
(inta_hw & IWX_MSIX_HW_INT_CAUSES_REG_SW_ERR) ||
(inta_hw & IWX_MSIX_HW_INT_CAUSES_REG_SW_ERR_V2)) {
if (sc->sc_debug) {
- iwx_bbl_print_log();
iwx_nic_error(sc);
iwx_dump_driver_status(sc);
}
diff --git a/sys/dev/iwx/if_iwx_debug.h b/sys/dev/iwx/if_iwx_debug.h
--- a/sys/dev/iwx/if_iwx_debug.h
+++ b/sys/dev/iwx/if_iwx_debug.h
@@ -53,213 +53,7 @@
#define IWX_DPRINTF(sc, m, fmt, ...) do { (void) sc; } while (0)
#endif
-void print_opcode(const char *, int, int, uint32_t);
+void print_opcode(const char *, int, uint32_t);
void print_ratenflags(const char *, int , uint32_t , int );
-void iwx_dump_cmd(uint32_t , void *, uint16_t, const char *, int);
-void iwx_bbl_add_entry(uint32_t, int, int);
-void iwx_bbl_print_log(void);
-
-#define IWX_BBL_NONE 0x00
-#define IWX_BBL_PKT_TX 0x01
-#define IWX_BBL_PKT_RX 0x02
-#define IWX_BBL_PKT_DUP 0x04
-#define IWX_BBL_CMD_TX 0x10
-#define IWX_BBL_CMD_RX 0x20
-#define IWX_BBL_ANY 0xFF
-
-static int print_mask = IWX_BBL_NONE; //IWX_BBL_NONE | IWX_BBL_CMD_TX;
-static int print_codes[][2] = {
-#if 0
- for example:
- IWX_LEGACY_GROUP, IWX_ADD_STA_KEY,
- IWX_LEGACY_GROUP, IWX_SCD_QUEUE_CONFIG_CMD,
- IWX_LEGACY_GROUP, IWX_ADD_STA,
- IWX_LEGACY_GROUP, IWX_REMOVE_STA,
-#endif
-};
-
-static int dump_mask = IWX_BBL_NONE;
-static int dump_codes[][2] = {
-#if 0
- for example:
- IWX_LEGACY_GROUP, IWX_ADD_STA_KEY,
- IWX_LEGACY_GROUP, IWX_SCD_QUEUE_CONFIG_CMD,
- IWX_LEGACY_GROUP, IWX_ADD_STA,
- IWX_LEGACY_GROUP, IWX_REMOVE_STA,
-#endif
-};
-
-struct opcode_label {
- uint8_t opcode;
- const char *label;
-};
-
-static struct opcode_label command_group[] = {
- { 0x0, "IWX_LEGACY_GROUP"},
- { 0x1, "IWX_LONG_GROUP"},
- { 0x2, "IWX_SYSTEM_GROUP"},
- { 0x3, "IWX_MAC_CONF_GROUP"},
- { 0x4, "IWX_PHY_OPS_GROUP"},
- { 0x5, "IWX_DATA_PATH_GROUP"},
- { 0xb, "IWX_PROT_OFFLOAD_GROUP"},
- { 0xc, "IWX_REGULATORY_AND_NVM_GROUP"},
- { 0, NULL }
-};
-
-static struct opcode_label legacy_opcodes[] = {
- { 0xc0, "IWX_REPLY_RX_PHY_CMD" },
- { 0xc1, "IWX_REPLY_RX_MPDU_CMD" },
- { 0xc2, "IWX_BAR_FRAME_RELEASE" },
- { 0xc3, "IWX_FRAME_RELEASE" },
- { 0xc5, "IWX_BA_NOTIF" },
- { 0x62, "IWX_TEMPERATURE_NOTIFICATION" },
- { 0xc8, "IWX_MCC_UPDATE_CMD" },
- { 0xc9, "IWX_MCC_CHUB_UPDATE_CMD" },
- { 0x65, "IWX_CALIBRATION_CFG_CMD" },
- { 0x66, "IWX_CALIBRATION_RES_NOTIFICATION" },
- { 0x67, "IWX_CALIBRATION_COMPLETE_NOTIFICATION" },
- { 0x68, "IWX_RADIO_VERSION_NOTIFICATION" },
- { 0x00, "IWX_CMD_DTS_MEASUREMENT_TRIGGER_WIDE" },
- { 0x01, "IWX_SOC_CONFIGURATION_CMD" },
- { 0x02, "IWX_REPLY_ERROR" },
- { 0x03, "IWX_CTDP_CONFIG_CMD" },
- { 0x04, "IWX_INIT_COMPLETE_NOTIF" },
- { 0x05, "IWX_SESSION_PROTECTION_CMD" },
- { 0x5d, "IWX_BT_COEX_CI" },
- { 0x07, "IWX_FW_ERROR_RECOVERY_CMD" },
- { 0x08, "IWX_RLC_CONFIG_CMD" },
- { 0xd0, "IWX_MCAST_FILTER_CMD" },
- { 0xd1, "IWX_REPLY_SF_CFG_CMD" },
- { 0xd2, "IWX_REPLY_BEACON_FILTERING_CMD" },
- { 0xd3, "IWX_D3_CONFIG_CMD" },
- { 0xd4, "IWX_PROT_OFFLOAD_CONFIG_CMD" },
- { 0xd5, "IWX_OFFLOADS_QUERY_CMD" },
- { 0xd6, "IWX_REMOTE_WAKE_CONFIG_CMD" },
- { 0x77, "IWX_POWER_TABLE_CMD" },
- { 0x78, "IWX_PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION" },
- { 0xcc, "IWX_BT_COEX_PRIO_TABLE" },
- { 0xcd, "IWX_BT_COEX_PROT_ENV" },
- { 0xce, "IWX_BT_PROFILE_NOTIFICATION" },
- { 0x6a, "IWX_PHY_CONFIGURATION_CMD" },
- { 0x16, "IWX_RX_BAID_ALLOCATION_CONFIG_CMD" },
- { 0x17, "IWX_ADD_STA_KEY" },
- { 0x18, "IWX_ADD_STA" },
- { 0x19, "IWX_REMOVE_STA" },
- { 0xe0, "IWX_WOWLAN_PATTERNS" },
- { 0xe1, "IWX_WOWLAN_CONFIGURATION" },
- { 0xe2, "IWX_WOWLAN_TSC_RSC_PARAM" },
- { 0xe3, "IWX_WOWLAN_TKIP_PARAM" },
- { 0xe4, "IWX_WOWLAN_KEK_KCK_MATERIAL" },
- { 0xe5, "IWX_WOWLAN_GET_STATUSES" },
- { 0xe6, "IWX_WOWLAN_TX_POWER_PER_DB" },
- { 0x0f, "IWX_SCAN_COMPLETE_UMAC" },
- { 0x88, "IWX_NVM_ACCESS_CMD" },
- { 0x20, "IWX_WEP_KEY" },
- { 0xdc, "IWX_CMD_DTS_MEASUREMENT_TRIGGER" },
- { 0xdd, "IWX_DTS_MEASUREMENT_NOTIFICATION" },
- { 0x28, "IWX_MAC_CONTEXT_CMD" },
- { 0x29, "IWX_TIME_EVENT_CMD" },
- { 0x01, "IWX_ALIVE" },
- { 0xf0, "IWX_REPLY_DEBUG_CMD" },
- { 0x90, "IWX_BEACON_NOTIFICATION" },
- { 0xf5, "IWX_RX_NO_DATA_NOTIF" },
- { 0x08, "IWX_PHY_CONTEXT_CMD" },
- { 0x91, "IWX_BEACON_TEMPLATE_CMD" },
- { 0xf6, "IWX_THERMAL_DUAL_CHAIN_REQUEST" },
- { 0x09, "IWX_DBG_CFG" },
- { 0xf7, "IWX_DEBUG_LOG_MSG" },
- { 0x1c, "IWX_TX_CMD" },
- { 0x1d, "IWX_SCD_QUEUE_CFG" },
- { 0x1e, "IWX_TXPATH_FLUSH" },
- { 0x1f, "IWX_MGMT_MCAST_KEY" },
- { 0x98, "IWX_TX_ANT_CONFIGURATION_CMD" },
- { 0xee, "IWX_LTR_CONFIG" },
- { 0x8e, "IWX_SET_CALIB_DEFAULT_CMD" },
- { 0xFE, "IWX_CT_KILL_NOTIFICATION" },
- { 0xFF, "IWX_DTS_MEASUREMENT_NOTIF_WIDE" },
- { 0x2a, "IWX_TIME_EVENT_NOTIFICATION" },
- { 0x2b, "IWX_BINDING_CONTEXT_CMD" },
- { 0x2c, "IWX_TIME_QUOTA_CMD" },
- { 0x2d, "IWX_NON_QOS_TX_COUNTER_CMD" },
- { 0xa0, "IWX_CARD_STATE_CMD" },
- { 0xa1, "IWX_CARD_STATE_NOTIFICATION" },
- { 0xa2, "IWX_MISSED_BEACONS_NOTIFICATION" },
- { 0x0c, "IWX_SCAN_CFG_CMD" },
- { 0x0d, "IWX_SCAN_REQ_UMAC" },
- { 0xfb, "IWX_SESSION_PROTECTION_NOTIF" },
- { 0x0e, "IWX_SCAN_ABORT_UMAC" },
- { 0xfe, "IWX_PNVM_INIT_COMPLETE" },
- { 0xa9, "IWX_MAC_PM_POWER_TABLE" },
- { 0xff, "IWX_FSEQ_VER_MISMATCH_NOTIFICATION | IWX_REPLY_MAX" },
- { 0x9b, "IWX_BT_CONFIG" },
- { 0x9c, "IWX_STATISTICS_CMD" },
- { 0x9d, "IWX_STATISTICS_NOTIFICATION" },
- { 0x9f, "IWX_REDUCE_TX_POWER_CMD" },
- { 0xb1, "IWX_MFUART_LOAD_NOTIFICATION" },
- { 0xb5, "IWX_SCAN_ITERATION_COMPLETE_UMAC" },
- { 0x54, "IWX_NET_DETECT_CONFIG_CMD" },
- { 0x56, "IWX_NET_DETECT_PROFILES_QUERY_CMD" },
- { 0x57, "IWX_NET_DETECT_PROFILES_CMD" },
- { 0x58, "IWX_NET_DETECT_HOTSPOTS_CMD" },
- { 0x59, "IWX_NET_DETECT_HOTSPOTS_QUERY_CMD" },
- { 0, NULL }
-};
-
-/* SYSTEM_GROUP group subcommand IDs */
-static struct opcode_label system_opcodes[] = {
- { 0x00, "IWX_SHARED_MEM_CFG_CMD" },
- { 0x01, "IWX_SOC_CONFIGURATION_CMD" },
- { 0x03, "IWX_INIT_EXTENDED_CFG_CMD" },
- { 0x07, "IWX_FW_ERROR_RECOVERY_CMD" },
- { 0xff, "IWX_FSEQ_VER_MISMATCH_NOTIFICATION | IWX_REPLY_MAX" },
- { 0, NULL }
-};
-
-/* MAC_CONF group subcommand IDs */
-static struct opcode_label macconf_opcodes[] = {
- { 0x05, "IWX_SESSION_PROTECTION_CMD" },
- { 0xfb, "IWX_SESSION_PROTECTION_NOTIF" },
- { 0, NULL }
-};
-
-/* DATA_PATH group subcommand IDs */
-static struct opcode_label data_opcodes[] = {
- { 0x00, "IWX_DQA_ENABLE_CMD" },
- { 0x08, "IWX_RLC_CONFIG_CMD" },
- { 0x0f, "IWX_TLC_MNG_CONFIG_CMD" },
- { 0x16, "IWX_RX_BAID_ALLOCATION_CONFIG_CMD" },
- { 0x17, "IWX_SCD_QUEUE_CONFIG_CMD" },
- { 0xf5, "IWX_RX_NO_DATA_NOTIF" },
- { 0xf6, "IWX_THERMAL_DUAL_CHAIN_REQUEST" },
- { 0xf7, "IWX_TLC_MNG_UPDATE_NOTIF" },
- { 0, NULL }
-};
-
-/* REGULATORY_AND_NVM group subcommand IDs */
-static struct opcode_label reg_opcodes[] = {
- { 0x00, "IWX_NVM_ACCESS_COMPLETE" },
- { 0x02, "IWX_NVM_GET_INFO " },
- { 0xfe, "IWX_PNVM_INIT_COMPLETE" },
- { 0, NULL }
-};
-
-/* PHY_OPS subcommand IDs */
-static struct opcode_label phyops_opcodes[] = {
- {0x00, "IWX_CMD_DTS_MEASUREMENT_TRIGGER_WIDE"},
- {0x03, "IWX_CTDP_CONFIG_CMD"},
- {0x04, "IWX_TEMP_REPORTING_THRESHOLDS_CMD"},
- {0xFE, "IWX_CT_KILL_NOTIFICATION"},
- {0xFF, "IWX_DTS_MEASUREMENT_NOTIF_WIDE"},
-};
-
-struct iwx_bbl_entry {
- uint8_t type;
- uint32_t code;
- uint32_t seq;
- uint32_t ticks;
- uint32_t count;
-};
-#define IWX_BBL_ENTRIES 2000
-static struct iwx_bbl_entry iwx_bb_log[IWX_BBL_ENTRIES];
#endif /* __IF_IWX_DEBUG_H__ */
diff --git a/sys/dev/iwx/if_iwx_debug.c b/sys/dev/iwx/if_iwx_debug.c
--- a/sys/dev/iwx/if_iwx_debug.c
+++ b/sys/dev/iwx/if_iwx_debug.c
@@ -19,30 +19,178 @@
#include <dev/iwx/if_iwxreg.h>
#include <dev/iwx/if_iwx_debug.h>
-static uint16_t bbl_idx = 0;
-static uint32_t bbl_seq = 0;
-static uint8_t bbl_compress = 1;
+static int print_codes[][2] = {
+#if 0
+ for example:
+ IWX_LEGACY_GROUP, IWX_ADD_STA_KEY,
+ IWX_LEGACY_GROUP, IWX_SCD_QUEUE_CONFIG_CMD,
+ IWX_LEGACY_GROUP, IWX_ADD_STA,
+ IWX_LEGACY_GROUP, IWX_REMOVE_STA,
+#endif
+};
-static const char *
-iwx_bbl_to_str(int type)
-{
- switch(type) {
- case IWX_BBL_PKT_TX:
- return ("IWX_BBL_PKT_TX");
- case IWX_BBL_PKT_RX:
- return ("IWX_BBL_PKT_RX");
- case IWX_BBL_PKT_DUP:
- return ("IWX_BBL_PKT_DUP");
- case IWX_BBL_CMD_TX:
- return ("IWX_BBL_CMD_TX");
- case IWX_BBL_CMD_RX:
- return ("IWX_BBL_CMD_RX");
- case IWX_BBL_ANY:
- return ("IWX_BBL_ANY");
- default:
- return ("ERROR");
- }
-}
+struct opcode_label {
+ uint8_t opcode;
+ const char *label;
+};
+
+static struct opcode_label command_group[] = {
+ { 0x0, "IWX_LEGACY_GROUP"},
+ { 0x1, "IWX_LONG_GROUP"},
+ { 0x2, "IWX_SYSTEM_GROUP"},
+ { 0x3, "IWX_MAC_CONF_GROUP"},
+ { 0x4, "IWX_PHY_OPS_GROUP"},
+ { 0x5, "IWX_DATA_PATH_GROUP"},
+ { 0xb, "IWX_PROT_OFFLOAD_GROUP"},
+ { 0xc, "IWX_REGULATORY_AND_NVM_GROUP"},
+ { 0, NULL }
+};
+
+static struct opcode_label legacy_opcodes[] = {
+ { 0xc0, "IWX_REPLY_RX_PHY_CMD" },
+ { 0xc1, "IWX_REPLY_RX_MPDU_CMD" },
+ { 0xc2, "IWX_BAR_FRAME_RELEASE" },
+ { 0xc3, "IWX_FRAME_RELEASE" },
+ { 0xc5, "IWX_BA_NOTIF" },
+ { 0x62, "IWX_TEMPERATURE_NOTIFICATION" },
+ { 0xc8, "IWX_MCC_UPDATE_CMD" },
+ { 0xc9, "IWX_MCC_CHUB_UPDATE_CMD" },
+ { 0x65, "IWX_CALIBRATION_CFG_CMD" },
+ { 0x66, "IWX_CALIBRATION_RES_NOTIFICATION" },
+ { 0x67, "IWX_CALIBRATION_COMPLETE_NOTIFICATION" },
+ { 0x68, "IWX_RADIO_VERSION_NOTIFICATION" },
+ { 0x00, "IWX_CMD_DTS_MEASUREMENT_TRIGGER_WIDE" },
+ { 0x01, "IWX_SOC_CONFIGURATION_CMD" },
+ { 0x02, "IWX_REPLY_ERROR" },
+ { 0x03, "IWX_CTDP_CONFIG_CMD" },
+ { 0x04, "IWX_INIT_COMPLETE_NOTIF" },
+ { 0x05, "IWX_SESSION_PROTECTION_CMD" },
+ { 0x5d, "IWX_BT_COEX_CI" },
+ { 0x07, "IWX_FW_ERROR_RECOVERY_CMD" },
+ { 0x08, "IWX_RLC_CONFIG_CMD" },
+ { 0xd0, "IWX_MCAST_FILTER_CMD" },
+ { 0xd1, "IWX_REPLY_SF_CFG_CMD" },
+ { 0xd2, "IWX_REPLY_BEACON_FILTERING_CMD" },
+ { 0xd3, "IWX_D3_CONFIG_CMD" },
+ { 0xd4, "IWX_PROT_OFFLOAD_CONFIG_CMD" },
+ { 0xd5, "IWX_OFFLOADS_QUERY_CMD" },
+ { 0xd6, "IWX_REMOTE_WAKE_CONFIG_CMD" },
+ { 0x77, "IWX_POWER_TABLE_CMD" },
+ { 0x78, "IWX_PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION" },
+ { 0xcc, "IWX_BT_COEX_PRIO_TABLE" },
+ { 0xcd, "IWX_BT_COEX_PROT_ENV" },
+ { 0xce, "IWX_BT_PROFILE_NOTIFICATION" },
+ { 0x6a, "IWX_PHY_CONFIGURATION_CMD" },
+ { 0x16, "IWX_RX_BAID_ALLOCATION_CONFIG_CMD" },
+ { 0x17, "IWX_ADD_STA_KEY" },
+ { 0x18, "IWX_ADD_STA" },
+ { 0x19, "IWX_REMOVE_STA" },
+ { 0xe0, "IWX_WOWLAN_PATTERNS" },
+ { 0xe1, "IWX_WOWLAN_CONFIGURATION" },
+ { 0xe2, "IWX_WOWLAN_TSC_RSC_PARAM" },
+ { 0xe3, "IWX_WOWLAN_TKIP_PARAM" },
+ { 0xe4, "IWX_WOWLAN_KEK_KCK_MATERIAL" },
+ { 0xe5, "IWX_WOWLAN_GET_STATUSES" },
+ { 0xe6, "IWX_WOWLAN_TX_POWER_PER_DB" },
+ { 0x0f, "IWX_SCAN_COMPLETE_UMAC" },
+ { 0x88, "IWX_NVM_ACCESS_CMD" },
+ { 0x20, "IWX_WEP_KEY" },
+ { 0xdc, "IWX_CMD_DTS_MEASUREMENT_TRIGGER" },
+ { 0xdd, "IWX_DTS_MEASUREMENT_NOTIFICATION" },
+ { 0x28, "IWX_MAC_CONTEXT_CMD" },
+ { 0x29, "IWX_TIME_EVENT_CMD" },
+ { 0x01, "IWX_ALIVE" },
+ { 0xf0, "IWX_REPLY_DEBUG_CMD" },
+ { 0x90, "IWX_BEACON_NOTIFICATION" },
+ { 0xf5, "IWX_RX_NO_DATA_NOTIF" },
+ { 0x08, "IWX_PHY_CONTEXT_CMD" },
+ { 0x91, "IWX_BEACON_TEMPLATE_CMD" },
+ { 0xf6, "IWX_THERMAL_DUAL_CHAIN_REQUEST" },
+ { 0x09, "IWX_DBG_CFG" },
+ { 0xf7, "IWX_DEBUG_LOG_MSG" },
+ { 0x1c, "IWX_TX_CMD" },
+ { 0x1d, "IWX_SCD_QUEUE_CFG" },
+ { 0x1e, "IWX_TXPATH_FLUSH" },
+ { 0x1f, "IWX_MGMT_MCAST_KEY" },
+ { 0x98, "IWX_TX_ANT_CONFIGURATION_CMD" },
+ { 0xee, "IWX_LTR_CONFIG" },
+ { 0x8e, "IWX_SET_CALIB_DEFAULT_CMD" },
+ { 0xFE, "IWX_CT_KILL_NOTIFICATION" },
+ { 0xFF, "IWX_DTS_MEASUREMENT_NOTIF_WIDE" },
+ { 0x2a, "IWX_TIME_EVENT_NOTIFICATION" },
+ { 0x2b, "IWX_BINDING_CONTEXT_CMD" },
+ { 0x2c, "IWX_TIME_QUOTA_CMD" },
+ { 0x2d, "IWX_NON_QOS_TX_COUNTER_CMD" },
+ { 0xa0, "IWX_CARD_STATE_CMD" },
+ { 0xa1, "IWX_CARD_STATE_NOTIFICATION" },
+ { 0xa2, "IWX_MISSED_BEACONS_NOTIFICATION" },
+ { 0x0c, "IWX_SCAN_CFG_CMD" },
+ { 0x0d, "IWX_SCAN_REQ_UMAC" },
+ { 0xfb, "IWX_SESSION_PROTECTION_NOTIF" },
+ { 0x0e, "IWX_SCAN_ABORT_UMAC" },
+ { 0xfe, "IWX_PNVM_INIT_COMPLETE" },
+ { 0xa9, "IWX_MAC_PM_POWER_TABLE" },
+ { 0xff, "IWX_FSEQ_VER_MISMATCH_NOTIFICATION | IWX_REPLY_MAX" },
+ { 0x9b, "IWX_BT_CONFIG" },
+ { 0x9c, "IWX_STATISTICS_CMD" },
+ { 0x9d, "IWX_STATISTICS_NOTIFICATION" },
+ { 0x9f, "IWX_REDUCE_TX_POWER_CMD" },
+ { 0xb1, "IWX_MFUART_LOAD_NOTIFICATION" },
+ { 0xb5, "IWX_SCAN_ITERATION_COMPLETE_UMAC" },
+ { 0x54, "IWX_NET_DETECT_CONFIG_CMD" },
+ { 0x56, "IWX_NET_DETECT_PROFILES_QUERY_CMD" },
+ { 0x57, "IWX_NET_DETECT_PROFILES_CMD" },
+ { 0x58, "IWX_NET_DETECT_HOTSPOTS_CMD" },
+ { 0x59, "IWX_NET_DETECT_HOTSPOTS_QUERY_CMD" },
+ { 0, NULL }
+};
+
+/* SYSTEM_GROUP group subcommand IDs */
+static struct opcode_label system_opcodes[] = {
+ { 0x00, "IWX_SHARED_MEM_CFG_CMD" },
+ { 0x01, "IWX_SOC_CONFIGURATION_CMD" },
+ { 0x03, "IWX_INIT_EXTENDED_CFG_CMD" },
+ { 0x07, "IWX_FW_ERROR_RECOVERY_CMD" },
+ { 0xff, "IWX_FSEQ_VER_MISMATCH_NOTIFICATION | IWX_REPLY_MAX" },
+ { 0, NULL }
+};
+
+/* MAC_CONF group subcommand IDs */
+static struct opcode_label macconf_opcodes[] = {
+ { 0x05, "IWX_SESSION_PROTECTION_CMD" },
+ { 0xfb, "IWX_SESSION_PROTECTION_NOTIF" },
+ { 0, NULL }
+};
+
+/* DATA_PATH group subcommand IDs */
+static struct opcode_label data_opcodes[] = {
+ { 0x00, "IWX_DQA_ENABLE_CMD" },
+ { 0x08, "IWX_RLC_CONFIG_CMD" },
+ { 0x0f, "IWX_TLC_MNG_CONFIG_CMD" },
+ { 0x16, "IWX_RX_BAID_ALLOCATION_CONFIG_CMD" },
+ { 0x17, "IWX_SCD_QUEUE_CONFIG_CMD" },
+ { 0xf5, "IWX_RX_NO_DATA_NOTIF" },
+ { 0xf6, "IWX_THERMAL_DUAL_CHAIN_REQUEST" },
+ { 0xf7, "IWX_TLC_MNG_UPDATE_NOTIF" },
+ { 0, NULL }
+};
+
+/* REGULATORY_AND_NVM group subcommand IDs */
+static struct opcode_label reg_opcodes[] = {
+ { 0x00, "IWX_NVM_ACCESS_COMPLETE" },
+ { 0x02, "IWX_NVM_GET_INFO " },
+ { 0xfe, "IWX_PNVM_INIT_COMPLETE" },
+ { 0, NULL }
+};
+
+/* PHY_OPS subcommand IDs */
+static struct opcode_label phyops_opcodes[] = {
+ {0x00, "IWX_CMD_DTS_MEASUREMENT_TRIGGER_WIDE"},
+ {0x03, "IWX_CTDP_CONFIG_CMD"},
+ {0x04, "IWX_TEMP_REPORTING_THRESHOLDS_CMD"},
+ {0xFE, "IWX_CT_KILL_NOTIFICATION"},
+ {0xFF, "IWX_DTS_MEASUREMENT_NOTIF_WIDE"},
+};
static const char *
get_label(struct opcode_label *table, uint8_t opcode)
@@ -87,9 +235,9 @@
}
void
-print_opcode(const char *func, int line, int type, uint32_t code)
+print_opcode(const char *func, int line, uint32_t code)
{
- int print = print_mask & type;
+ int print = 0;
uint8_t opcode = iwx_cmd_opcode(code);
uint8_t group = iwx_cmd_groupid(code);
@@ -104,111 +252,12 @@
print = 1;
if (print) {
- printf("%s:%d %s\t%s\t%s\t(0x%08x)\n", func, line,
- iwx_bbl_to_str(type), get_label(command_group, group),
+ printf("%s:%d \t%s\t%s\t(0x%08x)\n", func, line,
+ get_label(command_group, group),
get_label(table, opcode), code);
}
}
-void
-iwx_dump_cmd(uint32_t id, void *data, uint16_t len, const char *str, int type)
-{
- int dump = dump_mask & type;
- uint8_t opcode = iwx_cmd_opcode(id);
- uint8_t group = iwx_cmd_groupid(id);
-
- for (int i = 0; i < nitems(dump_codes); i++)
- if (dump_codes[i][0] == group && dump_codes[i][1] == opcode)
- dump = 1;
-
- if (dump)
- hexdump(data, len, str, 0);
-}
-
-void
-iwx_bbl_add_entry(uint32_t code, int type, int ticks)
-{
- /*
- * Compress together repeated notifications, but increment the sequence
- * number so we can track things processing.
- */
- if (bbl_compress && (iwx_bb_log[bbl_idx].code == code &&
- iwx_bb_log[bbl_idx].type == type)) {
- iwx_bb_log[bbl_idx].count++;
- iwx_bb_log[bbl_idx].seq = bbl_seq++;
- iwx_bb_log[bbl_idx].ticks = ticks;
- return;
- }
-
- if (bbl_idx++ > IWX_BBL_ENTRIES) {
-#if 0
- printf("iwx bbl roll over: type %d (%lu)\n", type, code);
-#endif
- bbl_idx = 0;
- }
- iwx_bb_log[bbl_idx].code = code;
- iwx_bb_log[bbl_idx].type = type;
- iwx_bb_log[bbl_idx].seq = bbl_seq++;
- iwx_bb_log[bbl_idx].ticks = ticks;
- iwx_bb_log[bbl_idx].count = 1;
-}
-
-static void
-iwx_bbl_print_entry(struct iwx_bbl_entry *e)
-{
- uint8_t opcode = iwx_cmd_opcode(e->code);
- uint8_t group = iwx_cmd_groupid(e->code);
-
- switch(e->type) {
- case IWX_BBL_PKT_TX:
- printf("pkt ");
- printf("seq %08d\t pkt len %u",
- e->seq, e->code);
- break;
- printf("pkt dup ");
- printf("seq %08d\t dup count %u",
- e->seq, e->code);
- break;
- case IWX_BBL_CMD_TX:
- printf("tx -> ");
- printf("seq %08d\tcode 0x%08x (%s:%s)",
- e->seq, e->code, get_label(command_group, group),
- get_label(get_table(group), opcode));
- break;
- case IWX_BBL_CMD_RX:
- printf("rx ");
- printf("seq %08d\tcode 0x%08x (%s:%s)",
- e->seq, e->code, get_label(command_group, group),
- get_label(get_table(group), opcode));
- break;
- }
- if (e->count > 1)
- printf(" (count %d)", e->count);
- printf("\n");
-}
-
-void
-iwx_bbl_print_log(void)
-{
- int start = -1;
-
- start = bbl_idx+1;
- if (start > IWX_BBL_ENTRIES-1)
- start = 0;
-
- for (int i = start; i < IWX_BBL_ENTRIES; i++) {
- struct iwx_bbl_entry *e = &iwx_bb_log[i];
- printf("bbl entry %05d %05d: ", i, e->ticks);
- iwx_bbl_print_entry(e);
- }
- for (int i = 0; i < start; i++) {
- struct iwx_bbl_entry *e = &iwx_bb_log[i];
- printf("bbl entry %05d %05d: ", i, e->ticks);
- iwx_bbl_print_entry(e);
- }
- printf("iwx bblog index %d seq %d\n", bbl_idx, bbl_seq);
-}
-
void
print_ratenflags(const char *func, int line, uint32_t flags, int ver)
{
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jul 22, 1:36 PM (6 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35365694
Default Alt Text
D49783.diff (17 KB)
Attached To
Mode
D49783: if_iwx: Remove debug logging code
Attached
Detach File
Event Timeline
Log In to Comment