All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.