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