svn commit: r217814 - head/sys/dev/ath/ath_hal

Adrian Chadd adrian at FreeBSD.org
Tue Jan 25 07:37:12 UTC 2011


Author: adrian
Date: Tue Jan 25 07:37:12 2011
New Revision: 217814
URL: http://svn.freebsd.org/changeset/base/217814

Log:
  * Re-format the v4k header to be consistent
  * Re-do the structure size/component math to make sure the struct matches
    the expected size
  * Just to be clear that we care about bitmask ordering, revert my previous
    change and instead define that macro if we're on big-endian.

Modified:
  head/sys/dev/ath/ath_hal/ah_eeprom_v4k.h

Modified: head/sys/dev/ath/ath_hal/ah_eeprom_v4k.h
==============================================================================
--- head/sys/dev/ath/ath_hal/ah_eeprom_v4k.h	Tue Jan 25 05:47:50 2011	(r217813)
+++ head/sys/dev/ath/ath_hal/ah_eeprom_v4k.h	Tue Jan 25 07:37:12 2011	(r217814)
@@ -23,6 +23,10 @@
 #include "ah_eeprom.h"
 #include "ah_eeprom_v14.h"
 
+#if	_BYTE_ORDER == _BIG_ENDIAN
+#define	__BIG_ENDIAN_BITFIELD
+#endif
+
 #define	AR9285_RDEXT_DEFAULT	0x1F
 
 #undef owl_eep_start_loc
@@ -70,15 +74,15 @@ typedef struct BaseEepHeader4k {
 } __packed BASE_EEP4K_HEADER; // 32 B
 
 typedef struct ModalEepHeader4k {
-	uint32_t	antCtrlChain[AR5416_4K_MAX_CHAINS];	// 12
+	uint32_t	antCtrlChain[AR5416_4K_MAX_CHAINS];	// 4
 	uint32_t	antCtrlCommon;				// 4
 	int8_t		antennaGainCh[AR5416_4K_MAX_CHAINS];	// 1
 	uint8_t		switchSettling;				// 1
-	uint8_t		txRxAttenCh[AR5416_4K_MAX_CHAINS];		// 1
+	uint8_t		txRxAttenCh[AR5416_4K_MAX_CHAINS];	// 1
 	uint8_t		rxTxMarginCh[AR5416_4K_MAX_CHAINS];	// 1
 	uint8_t		adcDesiredSize;				// 1
 	int8_t		pgaDesiredSize;				// 1
-	uint8_t		xlnaGainCh[AR5416_4K_MAX_CHAINS];		// 1
+	uint8_t		xlnaGainCh[AR5416_4K_MAX_CHAINS];	// 1
 	uint8_t		txEndToXpaOff;				// 1
 	uint8_t		txEndToRxOn;				// 1
 	uint8_t		txFrameToXpaOn;				// 1
@@ -91,9 +95,9 @@ typedef struct ModalEepHeader4k {
 
 	uint8_t		pdGainOverlap;				// 1
 
-#ifdef _BYTE_ORDER == _BIG_ENDIAN
-	uint8_t		ob_1:4, ob_0:4;
-	uint8_t		db1_1:4, db1_0:4;
+#ifdef __BIG_ENDIAN_BITFIELD
+	uint8_t		ob_1:4, ob_0:4;				// 1
+	uint8_t		db1_1:4, db1_0:4;			// 1
 #else
 	uint8_t		ob_0:4, ob_1:4;
 	uint8_t		db1_0:4, db1_1:4;
@@ -109,33 +113,33 @@ typedef struct ModalEepHeader4k {
 	uint8_t		xatten2Db[AR5416_4K_MAX_CHAINS];    	// 1
 	uint8_t		xatten2Margin[AR5416_4K_MAX_CHAINS];	// 1
 
-#ifdef _BYTE_ORDER == _BIG_ENDIAN
-        uint8_t db2_1:4, db2_0:4;				// 1
+#ifdef __BIG_ENDIAN_BITFIELD
+        uint8_t		db2_1:4, db2_0:4;			// 1
 #else
-	uint8_t db2_0:4, db2_1:4;				// 1
+	uint8_t		db2_0:4, db2_1:4;			// 1
 #endif
 
-	uint8_t version;					// 1
+	uint8_t		version;				// 1
 
-#ifdef _BYTE_ORDER == _BIG_ENDIAN
-	uint8_t ob_3:4, ob_2:4;
-	uint8_t antdiv_ctl1:4, ob_4:4;
-	uint8_t db1_3:4, db1_2:4;
-	uint8_t antdiv_ctl2:4, db1_4:4;
-	uint8_t db2_2:4, db2_3:4;
-	uint8_t reserved:4, db2_4:4;
+#ifdef __BIG_ENDIAN_BITFIELD
+	uint8_t		ob_3:4, ob_2:4;				// 1
+	uint8_t		antdiv_ctl1:4, ob_4:4;			// 1
+	uint8_t		db1_3:4, db1_2:4;			// 1
+	uint8_t		antdiv_ctl2:4, db1_4:4;			// 1
+	uint8_t		db2_2:4, db2_3:4;			// 1
+	uint8_t		reserved:4, db2_4:4;			// 1
 #else
-	uint8_t ob_2:4, ob_3:4;
-	uint8_t ob_4:4, antdiv_ctl1:4;
-	uint8_t db1_2:4, db1_3:4;
-	uint8_t db1_4:4, antdiv_ctl2:4;
-	uint8_t db2_2:4, db2_3:4;
-	uint8_t db2_4:4, reserved:4;
+	uint8_t		ob_2:4, ob_3:4;
+	uint8_t		ob_4:4, antdiv_ctl1:4;
+	uint8_t		db1_2:4, db1_3:4;
+	uint8_t		db1_4:4, antdiv_ctl2:4;
+	uint8_t		db2_2:4, db2_3:4;
+	uint8_t		db2_4:4, reserved:4;
 #endif
-	uint8_t futureModal[4];
+	uint8_t		futureModal[4];				// 4
 
 	SPUR_CHAN spurChans[AR5416_EEPROM_MODAL_SPURS];	// 20 B
-} __packed MODAL_EEP4K_HEADER;				// == ? B
+} __packed MODAL_EEP4K_HEADER;				// == 68 B
 
 typedef struct CalCtlData4k {
 	CAL_CTL_EDGES		ctlEdges[AR5416_4K_MAX_CHAINS][AR5416_4K_NUM_BAND_EDGES];


More information about the svn-src-all mailing list