2009-03-30 10:02:55

by Sujith

[permalink] [raw]
Subject: [PATCH 11/17] ath9k: Remove TIM from the interrupt mask

We never handle TIM, TIM_TIMER is used instead.
Remove this and the unnecessary swBeaconProcess variable.

Signed-off-by: Sujith <[email protected]>
---
drivers/net/wireless/ath9k/ath9k.h | 1 -
drivers/net/wireless/ath9k/main.c | 14 --------------
2 files changed, 0 insertions(+), 15 deletions(-)

diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/ath9k/ath9k.h
index bdd5c6b..6aba991 100644
--- a/drivers/net/wireless/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath9k/ath9k.h
@@ -70,7 +70,6 @@ struct ath_config {
u32 ath_aggr_prot;
u16 txpowlimit;
u8 cabqReadytime;
- u8 swBeaconProcess;
};

/*************************/
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index b252a1f..d510c4e 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -1543,9 +1543,6 @@ static int ath_init(u16 devid, struct ath_softc *sc)
sc->beacon.bslot_aphy[i] = NULL;
}

- /* save MISC configurations */
- sc->config.swBeaconProcess = 1;
-
/* setup channels and rates */

sc->sbands[IEEE80211_BAND_2GHZ].channels = ath9k_2ghz_chantable;
@@ -2254,17 +2251,6 @@ static int ath9k_add_interface(struct ieee80211_hw *hw,
sc->imask |= ATH9K_INT_TSFOOR;
}

- /*
- * Some hardware processes the TIM IE and fires an
- * interrupt when the TIM bit is set. For hardware
- * that does, if not overridden by configuration,
- * enable the TIM interrupt when operating as station.
- */
- if ((sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_ENHANCEDPM) &&
- (conf->type == NL80211_IFTYPE_STATION) &&
- !sc->config.swBeaconProcess)
- sc->imask |= ATH9K_INT_TIM;
-
ath9k_hw_set_interrupts(sc->sc_ah, sc->imask);

if (conf->type == NL80211_IFTYPE_AP) {
--
1.6.2.1



2009-03-30 17:35:06

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 11/17] ath9k: Remove TIM from the interrupt mask

Sujith <[email protected]> writes:

> - /*
> - * Some hardware processes the TIM IE and fires an
> - * interrupt when the TIM bit is set. For hardware
> - * that does, if not overridden by configuration,
> - * enable the TIM interrupt when operating as station.
> - */

This might be useful for beacon filtering. Does the hardware know to
parse the beacons in more detail, for example ERP protection or WMM
settings?

--
Kalle Valo

2009-03-31 12:09:01

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH 11/17] ath9k: Remove TIM from the interrupt mask

Vivek Natarajan <[email protected]> writes:

>> This might be useful for beacon filtering. Does the hardware know to
>> parse the beacons in more detail, for example ERP protection or WMM
>> settings?
>
> After a quick glance into the datasheet, I understand that the
> current version of hardware supports reading TIM, TSF and some more
> bits related to DTIM from a beacon.

Is the datasheet available somewhere?

> As far as this patch is concerned, since ath9k can use mac80211 for
> sending a null data frame, it is quite redundant to enable the TIM
> interrupt as it can be parsed in mac80211 itself.

Sure. But I was thinking the possibility of having beacon filtering in
ath9k and then mac80211 wouldn't receive the beacons.

--
Kalle Valo

2009-03-31 06:22:17

by Vivek Natarajan

[permalink] [raw]
Subject: Re: [PATCH 11/17] ath9k: Remove TIM from the interrupt mask

On Mon, Mar 30, 2009 at 11:05 PM, Kalle Valo <[email protected]> wrote:
> Sujith <[email protected]> writes:
>
>> - =A0 =A0 /*
>> - =A0 =A0 =A0* Some hardware processes the TIM IE and fires an
>> - =A0 =A0 =A0* interrupt when the TIM bit is set. =A0For hardware
>> - =A0 =A0 =A0* that does, if not overridden by configuration,
>> - =A0 =A0 =A0* enable the TIM interrupt when operating as station.
>> - =A0 =A0 =A0*/
>
> This might be useful for beacon filtering. Does the hardware know to
> parse the beacons in more detail, for example ERP protection or WMM
> settings?

After a quick glance into the datasheet, I understand that the current =
version
of hardware supports reading TIM, TSF and some more bits related to D=
TIM
from a beacon.

As far as this patch is concerned, since ath9k can use mac80211 for sen=
ding
a null data frame, it is quite redundant to enable the TIM interrupt
as it can be
parsed in mac80211 itself.

Vivek.

2009-04-01 03:26:57

by Sujith

[permalink] [raw]
Subject: Re: [PATCH 11/17] ath9k: Remove TIM from the interrupt mask

Kalle Valo wrote:
> Vivek Natarajan <[email protected]> writes:
>
> >> This might be useful for beacon filtering. Does the hardware know to
> >> parse the beacons in more detail, for example ERP protection or WMM
> >> settings?
> >
> > After a quick glance into the datasheet, I understand that the
> > current version of hardware supports reading TIM, TSF and some more
> > bits related to DTIM from a beacon.
>
> Is the datasheet available somewhere?

Sorry, the datasheets are not available outside. :)

> > As far as this patch is concerned, since ath9k can use mac80211 for
> > sending a null data frame, it is quite redundant to enable the TIM
> > interrupt as it can be parsed in mac80211 itself.
>
> Sure. But I was thinking the possibility of having beacon filtering in
> ath9k and then mac80211 wouldn't receive the beacons.

Atheros HW can't currently support beacon filtering, so there is no
need to handle TIM interrupt anyway.

Sujith