Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Nov 2012 04:55:43 +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: r242509 - in head/sys/dev/ath/ath_hal: . ar5416
Message-ID:  <201211030455.qA34thnV089151@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Sat Nov  3 04:55:43 2012
New Revision: 242509
URL: http://svn.freebsd.org/changeset/base/242509

Log:
  HAL API changes!
  
  * introduce a new HAL API method to pull out the TX status descriptor
    contents.
  
  * Add num_delims to the 11n first aggr method.  This isn't used by the
    driver at the moment so it won't affect anything.

Modified:
  head/sys/dev/ath/ath_hal/ah.h
  head/sys/dev/ath/ath_hal/ar5416/ar5416.h
  head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c

Modified: head/sys/dev/ath/ath_hal/ah.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah.h	Sat Nov  3 04:53:44 2012	(r242508)
+++ head/sys/dev/ath/ath_hal/ah.h	Sat Nov  3 04:55:43 2012	(r242509)
@@ -570,6 +570,15 @@ typedef enum {
 	HAL_GPIO_INTR_DISABLE		= 2
 } HAL_GPIO_INTR_TYPE;
 
+typedef struct halCounters {
+    u_int32_t   tx_frame_count;
+    u_int32_t   rx_frame_count;
+    u_int32_t   rx_clear_count;
+    u_int32_t   cycle_count;
+    u_int8_t    is_rx_active;     // true (1) or false (0)
+    u_int8_t    is_tx_active;     // true (1) or false (0)
+} HAL_COUNTERS;
+
 typedef enum {
 	HAL_RFGAIN_INACTIVE		= 0,
 	HAL_RFGAIN_READ_REQUESTED	= 1,
@@ -1314,6 +1323,7 @@ struct ath_hal {
 	void	  __ahdecl(*ah_setupTxStatusRing)(struct ath_hal *,
 				void *ts_start, uint32_t ts_paddr_start,
 				uint16_t size);
+	void	  __ahdecl(*ah_getTxRawTxDesc)(struct ath_hal *, u_int32_t *);
 
 	/* Receive Functions */
 	uint32_t __ahdecl(*ah_getRxDP)(struct ath_hal*, HAL_RX_QUEUE);
@@ -1469,7 +1479,7 @@ struct ath_hal {
 				void *, u_int, HAL_PKT_TYPE, u_int, u_int,
 				u_int);
 	void	  __ahdecl(*ah_set11nAggrFirst)(struct ath_hal *,
-				struct ath_desc *, u_int);
+				struct ath_desc *, u_int, u_int);
 	void	  __ahdecl(*ah_set11nAggrMiddle)(struct ath_hal *,
 	    			struct ath_desc *, u_int);
 	void	  __ahdecl(*ah_set11nAggrLast)(struct ath_hal *,

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416.h	Sat Nov  3 04:53:44 2012	(r242508)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416.h	Sat Nov  3 04:55:43 2012	(r242509)
@@ -391,7 +391,7 @@ extern	void ar5416Set11nRateScenario(str
 		u_int nseries, u_int flags);
 
 extern void ar5416Set11nAggrFirst(struct ath_hal *ah, struct ath_desc *ds,
-		u_int aggrLen);
+		u_int aggrLen, u_int numDelims);
 extern	void ar5416Set11nAggrMiddle(struct ath_hal *ah, struct ath_desc *ds, u_int numDelims);
 extern void ar5416Set11nAggrLast(struct ath_hal *ah, struct ath_desc *ds);
 

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c	Sat Nov  3 04:53:44 2012	(r242508)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c	Sat Nov  3 04:55:43 2012	(r242509)
@@ -735,7 +735,8 @@ ar5416Set11nRateScenario(struct ath_hal 
 }
 
 void
-ar5416Set11nAggrFirst(struct ath_hal *ah, struct ath_desc *ds, u_int aggrLen)
+ar5416Set11nAggrFirst(struct ath_hal *ah, struct ath_desc *ds, u_int aggrLen,
+    u_int numDelims)
 {
 	struct ar5416_desc *ads = AR5416DESC(ds);
 
@@ -743,6 +744,7 @@ ar5416Set11nAggrFirst(struct ath_hal *ah
 
 	ads->ds_ctl6 &= ~(AR_AggrLen | AR_PadDelim);
 	ads->ds_ctl6 |= SM(aggrLen, AR_AggrLen);
+	ads->ds_ctl6 |= SM(numDelims, AR_PadDelim);
 }
 
 void



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211030455.qA34thnV089151>