svn commit: r272508 - head/tools/tools/ath/athalq

Adrian Chadd adrian at FreeBSD.org
Sat Oct 4 08:32:16 UTC 2014


Author: adrian
Date: Sat Oct  4 08:32:15 2014
New Revision: 272508
URL: https://svnweb.freebsd.org/changeset/base/272508

Log:
  Add in decode for the AR9300 RX descriptor.

Modified:
  head/tools/tools/ath/athalq/ar9300_ds.c

Modified: head/tools/tools/ath/athalq/ar9300_ds.c
==============================================================================
--- head/tools/tools/ath/athalq/ar9300_ds.c	Sat Oct  4 08:29:48 2014	(r272507)
+++ head/tools/tools/ath/athalq/ar9300_ds.c	Sat Oct  4 08:32:15 2014	(r272508)
@@ -317,6 +317,80 @@ ar9300_decode_rxstatus(struct if_ath_alq
 	    (unsigned int) be32toh(a->hdr.tstamp_sec),
 	    (unsigned int) be32toh(a->hdr.tstamp_usec),
 	    (unsigned long long) be64toh(a->hdr.threadid));
+
+	/* status1 */
+	/* .. and status5 */
+	printf("    RSSI %d/%d/%d / %d/%d/%d; combined: %d; rate=0x%02x\n",
+	    MS(rxs.status1, AR_rx_rssi_ant00),
+	    MS(rxs.status1, AR_rx_rssi_ant01),
+	    MS(rxs.status1, AR_rx_rssi_ant02),
+	    MS(rxs.status5, AR_rx_rssi_ant10),
+	    MS(rxs.status5, AR_rx_rssi_ant11),
+	    MS(rxs.status5, AR_rx_rssi_ant12),
+	    MS(rxs.status5, AR_rx_rssi_combined),
+	    MS(rxs.status1, AR_rx_rate));
+
+	/* status2 */
+	printf("    Len: %d; more=%d, delim=%d, upload=%d\n",
+	    MS(rxs.status2, AR_data_len),
+	    MF(rxs.status2, AR_rx_more),
+	    MS(rxs.status2, AR_num_delim),
+	    MS(rxs.status2, AR_hw_upload_data));
+
+	/* status3 */
+	printf("    RX timestamp: %d\n", rxs.status3);
+
+	/* status4 */
+	printf("    GI: %d, 2040: %d, parallel40: %d, stbc=%d\n",
+	    MF(rxs.status4, AR_gi),
+	    MF(rxs.status4, AR_2040),
+	    MF(rxs.status4, AR_parallel40),
+	    MF(rxs.status4, AR_rx_stbc));
+	printf("    Not sounding: %d, ness: %d, upload_valid: %d\n",
+	    MF(rxs.status4, AR_rx_not_sounding),
+	    MS(rxs.status4, AR_rx_ness),
+	    MS(rxs.status4, AR_hw_upload_data_valid));
+	printf("    RX antenna: 0x%08x\n",
+	    MS(rxs.status4, AR_rx_antenna));
+
+	/* EVM */
+	/* status6 - 9 */
+	printf("    EVM: 0x%08x; 0x%08x; 0x%08x; 0x%08x\n",
+	    rxs.status6,
+	    rxs.status7,
+	    rxs.status8,
+	    rxs.status9);
+
+	/* status10 - ? */
+
+	/* status11 */
+	printf("    RX done: %d, RX frame ok: %d, CRC error: %d\n",
+	    MF(rxs.status11, AR_rx_done),
+	    MF(rxs.status11, AR_rx_frame_ok),
+	    MF(rxs.status11, AR_crc_err));
+	printf("    Decrypt CRC err: %d, PHY err: %d, MIC err: %d\n",
+	    MF(rxs.status11, AR_decrypt_crc_err),
+	    MF(rxs.status11, AR_phyerr),
+	    MF(rxs.status11, AR_michael_err));
+	printf("    Pre delim CRC err: %d, uAPSD Trig: %d\n",
+	    MF(rxs.status11, AR_pre_delim_crc_err),
+	    MF(rxs.status11, AR_apsd_trig));
+	printf("    RXKeyIdxValid: %d, KeyIdx: %d, PHY error: %d\n",
+	    MF(rxs.status11, AR_rx_key_idx_valid),
+	    MS(rxs.status11, AR_key_idx),
+	    MS(rxs.status11, AR_phy_err_code));
+	printf("    RX more Aggr: %d, RX aggr %d, post delim CRC err: %d\n",
+	    MF(rxs.status11, AR_rx_more_aggr),
+	    MF(rxs.status11, AR_rx_aggr),
+	    MF(rxs.status11, AR_post_delim_crc_err));
+	printf("    hw upload data type: %d; position bit: %d\n",
+	    MS(rxs.status11, AR_hw_upload_data_type),
+	    MF(rxs.status11, AR_position_bit));
+	printf("    Hi RX chain: %d, RxFirstAggr: %d, DecryptBusy: %d, KeyMiss: %d\n",
+	    MF(rxs.status11, AR_hi_rx_chain),
+	    MF(rxs.status11, AR_rx_first_aggr),
+	    MF(rxs.status11, AR_decrypt_busy_err),
+	    MF(rxs.status11, AR_key_miss));
 }
 
 void


More information about the svn-src-head mailing list