Date: Sun, 1 Jul 2012 03:15:18 +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: r237868 - in head/sys/dev/ath/ath_hal: . ar5416 Message-ID: <201207010315.q613FII3062067@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Sun Jul 1 03:15:18 2012 New Revision: 237868 URL: http://svn.freebsd.org/changeset/base/237868 Log: Migrate the MAC/BB hang structures out from ar5416_misc.h into the HAL. The ar9300 HAL also uses these types, so it makes no sense to duplicate them. Modified: head/sys/dev/ath/ath_hal/ah_internal.h head/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Modified: head/sys/dev/ath/ath_hal/ah_internal.h ============================================================================== --- head/sys/dev/ath/ath_hal/ah_internal.h Sun Jul 1 02:57:30 2012 (r237867) +++ head/sys/dev/ath/ath_hal/ah_internal.h Sun Jul 1 03:15:18 2012 (r237868) @@ -649,6 +649,46 @@ extern HAL_BOOL ath_hal_setcapability(st /* The diagnostic codes used to be internally defined here -adrian */ #include "ah_diagcodes.h" +/* + * The AR5416 and later HALs have MAC and baseband hang checking. + */ +typedef struct { + uint32_t hang_reg_offset; + uint32_t hang_val; + uint32_t hang_mask; + uint32_t hang_offset; +} hal_hw_hang_check_t; + +typedef struct { + uint32_t dma_dbg_3; + uint32_t dma_dbg_4; + uint32_t dma_dbg_5; + uint32_t dma_dbg_6; +} mac_dbg_regs_t; + +typedef enum { + dcu_chain_state = 0x1, + dcu_complete_state = 0x2, + qcu_state = 0x4, + qcu_fsp_ok = 0x8, + qcu_fsp_state = 0x10, + qcu_stitch_state = 0x20, + qcu_fetch_state = 0x40, + qcu_complete_state = 0x80 +} hal_mac_hangs_t; + +typedef struct { + int states; + uint8_t dcu_chain_state; + uint8_t dcu_complete_state; + uint8_t qcu_state; + uint8_t qcu_fsp_ok; + uint8_t qcu_fsp_state; + uint8_t qcu_stitch_state; + uint8_t qcu_fetch_state; + uint8_t qcu_complete_state; +} hal_mac_hang_check_t; + enum { HAL_BB_HANG_DFS = 0x0001, HAL_BB_HANG_RIFS = 0x0002, Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Sun Jul 1 02:57:30 2012 (r237867) +++ head/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Sun Jul 1 03:15:18 2012 (r237868) @@ -493,36 +493,6 @@ ar5416GetDiagState(struct ath_hal *ah, i args, argsize, result, resultsize); } -typedef struct { - uint32_t dma_dbg_3; - uint32_t dma_dbg_4; - uint32_t dma_dbg_5; - uint32_t dma_dbg_6; -} mac_dbg_regs_t; - -typedef enum { - dcu_chain_state = 0x1, - dcu_complete_state = 0x2, - qcu_state = 0x4, - qcu_fsp_ok = 0x8, - qcu_fsp_state = 0x10, - qcu_stitch_state = 0x20, - qcu_fetch_state = 0x40, - qcu_complete_state = 0x80 -} hal_mac_hangs_t; - -typedef struct { - int states; - uint8_t dcu_chain_state; - uint8_t dcu_complete_state; - uint8_t qcu_state; - uint8_t qcu_fsp_ok; - uint8_t qcu_fsp_state; - uint8_t qcu_stitch_state; - uint8_t qcu_fetch_state; - uint8_t qcu_complete_state; -} hal_mac_hang_check_t; - HAL_BOOL ar5416SetRifsDelay(struct ath_hal *ah, const struct ieee80211_channel *chan, HAL_BOOL enable)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207010315.q613FII3062067>