* [ath9k-devel] [RFC 1/2] ath9k: Remove redundant beacon_interval from struct ath_softc
@ 2011-01-27 22:18 Steve Brown
2011-01-28 8:14 ` Mohammed Shafi
2011-02-07 15:12 ` Mohammed Shafi
0 siblings, 2 replies; 3+ messages in thread
From: Steve Brown @ 2011-01-27 22:18 UTC (permalink / raw)
To: ath9k-devel
The variable appears in both in ath_softc and ath_beacon_config.
The struct ath_beacon_config is embedded in ath_softc. The extra
variable was added by commit id 57c4d7b4c4986037be51476b8e3025d5ba18d8b8.
---
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -369,7 +369,7 @@ struct ath_vif {
#define IEEE80211_MS_TO_TU(x) (((x) * 1000) / 1024)
struct ath_beacon_config {
- u16 beacon_interval;
+ int beacon_interval;
u16 listen_interval;
u16 dtim_period;
u16 bmiss_timeout;
@@ -621,8 +621,6 @@ struct ath_softc {
struct ath9k_hw_cal_data caldata;
int last_rssi;
- int beacon_interval;
-
#ifdef CONFIG_ATH9K_DEBUGFS
struct ath9k_debug debug;
spinlock_t nodes_lock;
--- a/drivers/net/wireless/ath/ath9k/beacon.c
+++ b/drivers/net/wireless/ath/ath9k/beacon.c
@@ -226,6 +226,7 @@ int ath_beacon_alloc(struct ath_softc *s
struct ath_vif *avp;
struct ath_buf *bf;
struct sk_buff *skb;
+ struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
__le64 tstamp;
avp = (void *)vif->drv_priv;
@@ -282,7 +283,7 @@ int ath_beacon_alloc(struct ath_softc *s
u64 tsfadjust;
int intval;
- intval = sc->beacon_interval ? : ATH_DEFAULT_BINTVAL;
+ intval = cur_conf->beacon_interval ? : ATH_DEFAULT_BINTVAL;
/*
* Calculate the TSF offset for this beacon slot, i.e., the
@@ -346,6 +347,7 @@ void ath_beacon_return(struct ath_softc
void ath_beacon_tasklet(unsigned long data)
{
struct ath_softc *sc = (struct ath_softc *)data;
+ struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
struct ath_hw *ah = sc->sc_ah;
struct ath_common *common = ath9k_hw_common(ah);
struct ath_buf *bf = NULL;
@@ -393,7 +395,7 @@ void ath_beacon_tasklet(unsigned long da
* on the tsf to safeguard against missing an swba.
*/
- intval = sc->beacon_interval ? : ATH_DEFAULT_BINTVAL;
+ intval = cur_conf->beacon_interval ? : ATH_DEFAULT_BINTVAL;
tsf = ath9k_hw_gettsf64(ah);
tsftu = TSF_TO_TU(tsf>>32, tsf);
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1922,6 +1922,7 @@ static void ath9k_bss_info_changed(struc
u32 changed)
{
struct ath_softc *sc = hw->priv;
+ struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
struct ath_hw *ah = sc->sc_ah;
struct ath_common *common = ath9k_hw_common(ah);
struct ath_vif *avp = (void *)vif->drv_priv;
@@ -1980,7 +1981,7 @@ static void ath9k_bss_info_changed(struc
ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq);
if (changed & BSS_CHANGED_BEACON_INT) {
- sc->beacon_interval = bss_conf->beacon_int;
+ cur_conf->beacon_interval = bss_conf->beacon_int;
/*
* In case of AP mode, the HW TSF has to be reset
* when the beacon interval changes.
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -1054,6 +1054,7 @@ int ath_txq_update(struct ath_softc *sc,
int ath_cabq_update(struct ath_softc *sc)
{
struct ath9k_tx_queue_info qi;
+ struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
int qnum = sc->beacon.cabq->axq_qnum;
ath9k_hw_get_txq_props(sc->sc_ah, qnum, &qi);
@@ -1065,7 +1066,7 @@ int ath_cabq_update(struct ath_softc *sc
else if (sc->config.cabqReadytime > ATH9K_READY_TIME_HI_BOUND)
sc->config.cabqReadytime = ATH9K_READY_TIME_HI_BOUND;
- qi.tqi_readyTime = (sc->beacon_interval *
+ qi.tqi_readyTime = (cur_conf->beacon_interval *
sc->config.cabqReadytime) / 100;
ath_txq_update(sc, qnum, &qi);
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ath9k-devel] [RFC 1/2] ath9k: Remove redundant beacon_interval from struct ath_softc
2011-01-27 22:18 [ath9k-devel] [RFC 1/2] ath9k: Remove redundant beacon_interval from struct ath_softc Steve Brown
@ 2011-01-28 8:14 ` Mohammed Shafi
2011-02-07 15:12 ` Mohammed Shafi
1 sibling, 0 replies; 3+ messages in thread
From: Mohammed Shafi @ 2011-01-28 8:14 UTC (permalink / raw)
To: ath9k-devel
On Fri, Jan 28, 2011 at 3:48 AM, Steve Brown <sbrown@cortland.com> wrote:
>
> The variable appears in both in ath_softc and ath_beacon_config.
> The struct ath_beacon_config is embedded in ath_softc. The extra
> variable was added by commit id 57c4d7b4c4986037be51476b8e3025d5ba18d8b8.
>
> ---
>
> --- a/drivers/net/wireless/ath/ath9k/ath9k.h
> +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
> @@ -369,7 +369,7 @@ struct ath_vif {
> ?#define IEEE80211_MS_TO_TU(x) ? ? ? ? ? (((x) * 1000) / 1024)
>
> ?struct ath_beacon_config {
> - ? ? ? u16 beacon_interval;
> + ? ? ? int beacon_interval;
> ? ? ? ?u16 listen_interval;
> ? ? ? ?u16 dtim_period;
> ? ? ? ?u16 bmiss_timeout;
> @@ -621,8 +621,6 @@ struct ath_softc {
> ? ? ? ?struct ath9k_hw_cal_data caldata;
> ? ? ? ?int last_rssi;
>
> - ? ? ? int beacon_interval;
> -
> ?#ifdef CONFIG_ATH9K_DEBUGFS
> ? ? ? ?struct ath9k_debug debug;
> ? ? ? ?spinlock_t nodes_lock;
> --- a/drivers/net/wireless/ath/ath9k/beacon.c
> +++ b/drivers/net/wireless/ath/ath9k/beacon.c
> @@ -226,6 +226,7 @@ int ath_beacon_alloc(struct ath_softc *s
> ? ? ? ?struct ath_vif *avp;
> ? ? ? ?struct ath_buf *bf;
> ? ? ? ?struct sk_buff *skb;
> + ? ? ? struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
> ? ? ? ?__le64 tstamp;
>
> ? ? ? ?avp = (void *)vif->drv_priv;
> @@ -282,7 +283,7 @@ int ath_beacon_alloc(struct ath_softc *s
> ? ? ? ? ? ? ? ?u64 tsfadjust;
> ? ? ? ? ? ? ? ?int intval;
>
> - ? ? ? ? ? ? ? intval = sc->beacon_interval ? : ATH_DEFAULT_BINTVAL;
> + ? ? ? ? ? ? ? intval = cur_conf->beacon_interval ? : ATH_DEFAULT_BINTVAL;
>
> ? ? ? ? ? ? ? ?/*
> ? ? ? ? ? ? ? ? * Calculate the TSF offset for this beacon slot, i.e., the
> @@ -346,6 +347,7 @@ void ath_beacon_return(struct ath_softc
> ?void ath_beacon_tasklet(unsigned long data)
> ?{
> ? ? ? ?struct ath_softc *sc = (struct ath_softc *)data;
> + ? ? ? struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
> ? ? ? ?struct ath_hw *ah = sc->sc_ah;
> ? ? ? ?struct ath_common *common = ath9k_hw_common(ah);
> ? ? ? ?struct ath_buf *bf = NULL;
> @@ -393,7 +395,7 @@ void ath_beacon_tasklet(unsigned long da
> ? ? ? ? * on the tsf to safeguard against missing an swba.
> ? ? ? ? */
>
> - ? ? ? intval = sc->beacon_interval ? : ATH_DEFAULT_BINTVAL;
> + ? ? ? intval = cur_conf->beacon_interval ? : ATH_DEFAULT_BINTVAL;
>
> ? ? ? ?tsf = ath9k_hw_gettsf64(ah);
> ? ? ? ?tsftu = TSF_TO_TU(tsf>>32, tsf);
> --- a/drivers/net/wireless/ath/ath9k/main.c
> +++ b/drivers/net/wireless/ath/ath9k/main.c
> @@ -1922,6 +1922,7 @@ static void ath9k_bss_info_changed(struc
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? u32 changed)
> ?{
> ? ? ? ?struct ath_softc *sc = hw->priv;
> + ? ? ? struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
> ? ? ? ?struct ath_hw *ah = sc->sc_ah;
> ? ? ? ?struct ath_common *common = ath9k_hw_common(ah);
> ? ? ? ?struct ath_vif *avp = (void *)vif->drv_priv;
> @@ -1980,7 +1981,7 @@ static void ath9k_bss_info_changed(struc
> ? ? ? ? ? ? ? ?ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq);
>
> ? ? ? ?if (changed & BSS_CHANGED_BEACON_INT) {
> - ? ? ? ? ? ? ? sc->beacon_interval = bss_conf->beacon_int;
> + ? ? ? ? ? ? ? cur_conf->beacon_interval = bss_conf->beacon_int;
> ? ? ? ? ? ? ? ?/*
> ? ? ? ? ? ? ? ? * In case of AP mode, the HW TSF has to be reset
> ? ? ? ? ? ? ? ? * when the beacon interval changes.
> --- a/drivers/net/wireless/ath/ath9k/xmit.c
> +++ b/drivers/net/wireless/ath/ath9k/xmit.c
> @@ -1054,6 +1054,7 @@ int ath_txq_update(struct ath_softc *sc,
> ?int ath_cabq_update(struct ath_softc *sc)
> ?{
> ? ? ? ?struct ath9k_tx_queue_info qi;
> + ? ? ? struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
> ? ? ? ?int qnum = sc->beacon.cabq->axq_qnum;
>
> ? ? ? ?ath9k_hw_get_txq_props(sc->sc_ah, qnum, &qi);
> @@ -1065,7 +1066,7 @@ int ath_cabq_update(struct ath_softc *sc
> ? ? ? ?else if (sc->config.cabqReadytime > ATH9K_READY_TIME_HI_BOUND)
> ? ? ? ? ? ? ? ?sc->config.cabqReadytime = ATH9K_READY_TIME_HI_BOUND;
>
> - ? ? ? qi.tqi_readyTime = (sc->beacon_interval *
> + ? ? ? qi.tqi_readyTime = (cur_conf->beacon_interval *
> ? ? ? ? ? ? ? ? ? ? ? ? ? ?sc->config.cabqReadytime) / 100;
> ? ? ? ?ath_txq_update(sc, qnum, &qi);
>
>
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>
Thanks Steve... could not find any mistake in it.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ath9k-devel] [RFC 1/2] ath9k: Remove redundant beacon_interval from struct ath_softc
2011-01-27 22:18 [ath9k-devel] [RFC 1/2] ath9k: Remove redundant beacon_interval from struct ath_softc Steve Brown
2011-01-28 8:14 ` Mohammed Shafi
@ 2011-02-07 15:12 ` Mohammed Shafi
1 sibling, 0 replies; 3+ messages in thread
From: Mohammed Shafi @ 2011-02-07 15:12 UTC (permalink / raw)
To: ath9k-devel
On Fri, Jan 28, 2011 at 3:48 AM, Steve Brown <sbrown@cortland.com> wrote:
>
> The variable appears in both in ath_softc and ath_beacon_config.
> The struct ath_beacon_config is embedded in ath_softc. The extra
> variable was added by commit id 57c4d7b4c4986037be51476b8e3025d5ba18d8b8.
>
> ---
>
> --- a/drivers/net/wireless/ath/ath9k/ath9k.h
> +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
> @@ -369,7 +369,7 @@ struct ath_vif {
> ?#define IEEE80211_MS_TO_TU(x) ? ? ? ? ? (((x) * 1000) / 1024)
>
> ?struct ath_beacon_config {
> - ? ? ? u16 beacon_interval;
> + ? ? ? int beacon_interval;
> ? ? ? ?u16 listen_interval;
> ? ? ? ?u16 dtim_period;
> ? ? ? ?u16 bmiss_timeout;
> @@ -621,8 +621,6 @@ struct ath_softc {
> ? ? ? ?struct ath9k_hw_cal_data caldata;
> ? ? ? ?int last_rssi;
>
> - ? ? ? int beacon_interval;
> -
> ?#ifdef CONFIG_ATH9K_DEBUGFS
> ? ? ? ?struct ath9k_debug debug;
> ? ? ? ?spinlock_t nodes_lock;
> --- a/drivers/net/wireless/ath/ath9k/beacon.c
> +++ b/drivers/net/wireless/ath/ath9k/beacon.c
> @@ -226,6 +226,7 @@ int ath_beacon_alloc(struct ath_softc *s
> ? ? ? ?struct ath_vif *avp;
> ? ? ? ?struct ath_buf *bf;
> ? ? ? ?struct sk_buff *skb;
> + ? ? ? struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
> ? ? ? ?__le64 tstamp;
>
> ? ? ? ?avp = (void *)vif->drv_priv;
> @@ -282,7 +283,7 @@ int ath_beacon_alloc(struct ath_softc *s
> ? ? ? ? ? ? ? ?u64 tsfadjust;
> ? ? ? ? ? ? ? ?int intval;
>
> - ? ? ? ? ? ? ? intval = sc->beacon_interval ? : ATH_DEFAULT_BINTVAL;
> + ? ? ? ? ? ? ? intval = cur_conf->beacon_interval ? : ATH_DEFAULT_BINTVAL;
>
> ? ? ? ? ? ? ? ?/*
> ? ? ? ? ? ? ? ? * Calculate the TSF offset for this beacon slot, i.e., the
> @@ -346,6 +347,7 @@ void ath_beacon_return(struct ath_softc
> ?void ath_beacon_tasklet(unsigned long data)
> ?{
> ? ? ? ?struct ath_softc *sc = (struct ath_softc *)data;
> + ? ? ? struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
> ? ? ? ?struct ath_hw *ah = sc->sc_ah;
> ? ? ? ?struct ath_common *common = ath9k_hw_common(ah);
> ? ? ? ?struct ath_buf *bf = NULL;
> @@ -393,7 +395,7 @@ void ath_beacon_tasklet(unsigned long da
> ? ? ? ? * on the tsf to safeguard against missing an swba.
> ? ? ? ? */
>
> - ? ? ? intval = sc->beacon_interval ? : ATH_DEFAULT_BINTVAL;
> + ? ? ? intval = cur_conf->beacon_interval ? : ATH_DEFAULT_BINTVAL;
>
> ? ? ? ?tsf = ath9k_hw_gettsf64(ah);
> ? ? ? ?tsftu = TSF_TO_TU(tsf>>32, tsf);
> --- a/drivers/net/wireless/ath/ath9k/main.c
> +++ b/drivers/net/wireless/ath/ath9k/main.c
> @@ -1922,6 +1922,7 @@ static void ath9k_bss_info_changed(struc
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? u32 changed)
> ?{
> ? ? ? ?struct ath_softc *sc = hw->priv;
> + ? ? ? struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
> ? ? ? ?struct ath_hw *ah = sc->sc_ah;
> ? ? ? ?struct ath_common *common = ath9k_hw_common(ah);
> ? ? ? ?struct ath_vif *avp = (void *)vif->drv_priv;
> @@ -1980,7 +1981,7 @@ static void ath9k_bss_info_changed(struc
> ? ? ? ? ? ? ? ?ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq);
>
> ? ? ? ?if (changed & BSS_CHANGED_BEACON_INT) {
> - ? ? ? ? ? ? ? sc->beacon_interval = bss_conf->beacon_int;
> + ? ? ? ? ? ? ? cur_conf->beacon_interval = bss_conf->beacon_int;
> ? ? ? ? ? ? ? ?/*
> ? ? ? ? ? ? ? ? * In case of AP mode, the HW TSF has to be reset
> ? ? ? ? ? ? ? ? * when the beacon interval changes.
> --- a/drivers/net/wireless/ath/ath9k/xmit.c
> +++ b/drivers/net/wireless/ath/ath9k/xmit.c
> @@ -1054,6 +1054,7 @@ int ath_txq_update(struct ath_softc *sc,
> ?int ath_cabq_update(struct ath_softc *sc)
> ?{
> ? ? ? ?struct ath9k_tx_queue_info qi;
> + ? ? ? struct ath_beacon_config *cur_conf = &sc->cur_beacon_conf;
> ? ? ? ?int qnum = sc->beacon.cabq->axq_qnum;
>
> ? ? ? ?ath9k_hw_get_txq_props(sc->sc_ah, qnum, &qi);
> @@ -1065,7 +1066,7 @@ int ath_cabq_update(struct ath_softc *sc
> ? ? ? ?else if (sc->config.cabqReadytime > ATH9K_READY_TIME_HI_BOUND)
> ? ? ? ? ? ? ? ?sc->config.cabqReadytime = ATH9K_READY_TIME_HI_BOUND;
>
> - ? ? ? qi.tqi_readyTime = (sc->beacon_interval *
> + ? ? ? qi.tqi_readyTime = (cur_conf->beacon_interval *
> ? ? ? ? ? ? ? ? ? ? ? ? ? ?sc->config.cabqReadytime) / 100;
> ? ? ? ?ath_txq_update(sc, qnum, &qi);
This patch was not there in wireless-testing..can you please send the
patch to wireless testing
>
>
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel at lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-02-07 15:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-27 22:18 [ath9k-devel] [RFC 1/2] ath9k: Remove redundant beacon_interval from struct ath_softc Steve Brown
2011-01-28 8:14 ` Mohammed Shafi
2011-02-07 15:12 ` Mohammed Shafi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.