summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath/ath_hal
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-04-28 08:15:40 +0000
committeradrian <adrian@FreeBSD.org>2012-04-28 08:15:40 +0000
commitab1ec605a6dd93a9836b79128f0a8a03fb8fcfcc (patch)
tree447fea8bc5866c605ac29c939277bbca71099c6e /sys/dev/ath/ath_hal
parentdb8d363ac8d5c29ddac25bb7357c5142877fc922 (diff)
downloadFreeBSD-src-ab1ec605a6dd93a9836b79128f0a8a03fb8fcfcc.zip
FreeBSD-src-ab1ec605a6dd93a9836b79128f0a8a03fb8fcfcc.tar.gz
Fetch the channel survey code from the HAL.
This information is currently not being populated by any of the HAL modules.
Diffstat (limited to 'sys/dev/ath/ath_hal')
-rw-r--r--sys/dev/ath/ath_hal/ar5212/ar5212.h1
-rw-r--r--sys/dev/ath/ath_hal/ar5212/ar5212_misc.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/ath/ath_hal/ar5212/ar5212.h b/sys/dev/ath/ath_hal/ar5212/ar5212.h
index 606f615..6a71fe8 100644
--- a/sys/dev/ath/ath_hal/ar5212/ar5212.h
+++ b/sys/dev/ath/ath_hal/ar5212/ar5212.h
@@ -320,6 +320,7 @@ struct ath_hal_5212 {
struct ar5212AniParams ah_aniParams5; /* 5GHz parameters */
struct ar5212AniState *ah_curani; /* cached last reference */
struct ar5212AniState ah_ani[AH_MAXCHAN]; /* per-channel state */
+ HAL_CHANNEL_SURVEY ah_chansurvey[AH_MAXCHAN]; /* channel survey */
/* AR5416 uses some of the AR5212 ANI code; these are the ANI methods */
HAL_BOOL (*ah_aniControl) (struct ath_hal *, HAL_ANI_CMD cmd, int param);
diff --git a/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c b/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
index 9cbf320..0e628b8 100644
--- a/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
+++ b/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
@@ -1090,6 +1090,14 @@ ar5212GetDiagState(struct ath_hal *ah, int request,
return AH_FALSE;
return ar5212AniSetParams(ah, args, args);
}
+ break;
+ case HAL_DIAG_CHANSURVEY:
+ if (AH_PRIVATE(ah)->ah_curchan == NULL)
+ return AH_FALSE;
+ *result =
+ &ahp->ah_chansurvey[AH_PRIVATE(ah)->ah_curchan->ic_devdata];
+ *resultsize = sizeof(HAL_CHANNEL_SURVEY);
+ return AH_TRUE;
}
return AH_FALSE;
}
OpenPOWER on IntegriCloud