Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Aug 2011 19:59:05 +0800
From:      Kang Yin Su <cantona@cantona.net>
To:        Adrian Chadd <adrian@freebsd.org>, freebsd-wireless@freebsd.org
Subject:   [Patch] Set timers mode for AR5416 on TDMA support
Message-ID:  <CAHjFwoAyYYSD1VpW7f_=OSQ04paWUhzPJA%2BuT67s_OS124hbjQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hi all,

AR5416+ requires a timer mode flag to enable timer register in otder to have
software beacon interrupt in tdma mode. AR521X which do not support timer
mode register (0x8240) will just ignore this flag.

Thanks,
Yin

[-- Attachment #2 --]
Index: sys/dev/ath/if_ath.c
===================================================================
--- sys/dev/ath/if_ath.c	(revision 225126)
+++ sys/dev/ath/if_ath.c	(working copy)
@@ -5480,6 +5480,13 @@
 	struct ath_hal *ah = sc->sc_ah;
 	HAL_BEACON_TIMERS bt;
 
+	/*
+	 * YIN: AR5416+ requires a timer mode flag to enable timer,
+	 * AR521X which do not support timer mode register (0x8240)
+	 * will just ignore this flag.
+	 */
+	bt.bt_flags = HAL_BEACON_TBTT_EN | HAL_BEACON_DBA_EN | HAL_BEACON_SWBA_EN;
+ 
 	bt.bt_intval = bintval | HAL_BEACON_ENA;
 	bt.bt_nexttbtt = nexttbtt;
 	bt.bt_nextdba = (nexttbtt<<3) - sc->sc_tdmadbaprep;

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHjFwoAyYYSD1VpW7f_=OSQ04paWUhzPJA%2BuT67s_OS124hbjQ>