Date: Fri, 8 Jul 2016 19:16:50 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r302446 - head/sys/dev/ath/ath_hal Message-ID: <201607081916.u68JGoLd023998@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Fri Jul 8 19:16:50 2016 New Revision: 302446 URL: https://svnweb.freebsd.org/changeset/base/302446 Log: [ath_hal] extend the TX/RX descriptor layout to include location/beamforming fields. * extend the TX timestamp to 32 bits, as the AR5416 and later does a full 32 bit TX timestamp instead of 15 or 16 bits. * add RX descriptor fields for PHY uploaded information (coming soon) * add flags for RX/TX fast timestamp, hardware upload, etc * add a flag for TX to request ToD/ToA location information. Modified: head/sys/dev/ath/ath_hal/ah_desc.h Modified: head/sys/dev/ath/ath_hal/ah_desc.h ============================================================================== --- head/sys/dev/ath/ath_hal/ah_desc.h Fri Jul 8 19:16:45 2016 (r302445) +++ head/sys/dev/ath/ath_hal/ah_desc.h Fri Jul 8 19:16:50 2016 (r302446) @@ -46,7 +46,8 @@ */ struct ath_tx_status { uint16_t ts_seqnum; /* h/w assigned sequence number */ - uint16_t ts_tstamp; /* h/w assigned timestamp */ + uint16_t ts_pad1[1]; + uint32_t ts_tstamp; /* h/w assigned timestamp */ uint8_t ts_status; /* frame status, 0 => xmit ok */ uint8_t ts_rate; /* h/w transmit rate index */ int8_t ts_rssi; /* tx ack RSSI */ @@ -86,6 +87,7 @@ struct ath_tx_status { #define HAL_TX_DESC_CFG_ERR 0x10 /* Error in 20/40 desc config */ #define HAL_TX_DATA_UNDERRUN 0x20 /* Tx buffer underrun */ #define HAL_TX_DELIM_UNDERRUN 0x40 /* Tx delimiter underrun */ +#define HAL_TX_FAST_TS 0x80 /* Tx locationing timestamp */ /* * Receive descriptor status. This structure is filled @@ -128,6 +130,9 @@ struct ath_rx_status { uint16_t rs_flags; /* misc flags */ uint8_t rs_num_delims; /* number of delims in aggr */ uint8_t rs_spare0; /* padding */ + uint8_t rs_ness; /* number of extension spatial streams */ + uint8_t rs_hw_upload_data_type; /* hw upload format */ + uint16_t rs_spare1; uint32_t rs_evm0; /* evm bytes */ uint32_t rs_evm1; uint32_t rs_evm2; @@ -156,6 +161,11 @@ struct ath_rx_status { #define HAL_RX_HI_RX_CHAIN 0x0080 /* SM power save: hi Rx chain control */ #define HAL_RX_IS_APSD 0x0100 /* Is ASPD trigger frame */ #define HAL_RX_STBC 0x0200 /* Is an STBC frame */ +#define HAL_RX_LOC_INFO 0x0400 /* RX locationing information */ + +#define HAL_RX_HW_UPLOAD_DATA 0x1000 /* This is a hardware data frame */ +#define HAL_RX_HW_SOUNDING 0x2000 /* Rx sounding frame (TxBF, positioning) */ +#define HAL_RX_UPLOAD_VALID 0x4000 /* This hardware data frame is valid */ /* * This is the format of RSSI[2] on the AR9285/AR9485. @@ -282,6 +292,7 @@ struct ath_desc_status { #define HAL_TXDESC_LOWRXCHAIN 0x0400 /* switch to low RX chain */ #define HAL_TXDESC_LDPC 0x1000 /* Set LDPC TX for all rates */ #define HAL_TXDESC_HWTS 0x2000 /* Request Azimuth Timestamp in TX payload */ +#define HAL_TXDESC_POS 0x4000 /* Request ToD/ToA locationing */ /* flags passed to rx descriptor setup methods */ #define HAL_RXDESC_INTREQ 0x0020 /* enable per-descriptor interrupt */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201607081916.u68JGoLd023998>