Add in decode for the AR9300 RX descriptor.

This commit is contained in:
adrian 2014-10-04 08:32:15 +00:00
parent 096b5dca21
commit 0e5c14c836

View File

@ -317,6 +317,80 @@ ar9300_decode_rxstatus(struct if_ath_alq_payload *a)
(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