All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mohammed Shafi <mshajakhan@atheros.com>
To: "John W. Linville" <linville@tuxdriver.com>
Cc: Mohammed Shajakhan <Mohammed.Shajakhan@Atheros.com>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	Luis Rodriguez <Luis.Rodriguez@Atheros.com>,
	"stable@kernel.org" <stable@kernel.org>
Subject: Re: [RFC] ath9k: Fix ath9k prevents CPU to enter C3 states
Date: Fri, 4 Mar 2011 19:56:53 +0530	[thread overview]
Message-ID: <4D70F6AD.7050700@atheros.com> (raw)
In-Reply-To: <20110304133722.GA9866@tuxdriver.com>

On Friday 04 March 2011 07:07 PM, John W. Linville wrote:
> On Fri, Mar 04, 2011 at 11:36:37AM +0530, Mohammed Shafi wrote:
>    
>> On Wednesday 16 February 2011 10:35 AM, Mohammed Shafi wrote:
>>      
>>> On Tuesday 15 February 2011 09:42 PM, John W. Linville wrote:
>>>        
>>>> Despite the [RFC], I am applying this.  I should have reverted all
>>>> of this three weeks ago...
>>>>          
>> John can you please push this to stable kernel ?
>>      
> Stable folks, this is the commit in Linus's tree;
>    
Thanks a lot John.
> commit 0f5cd45960173ba5b36727decbb4a241cbd35ef9
> Author: Mohammed Shafi Shajakhan<mshajakhan@atheros.com>
> Date:   Tue Feb 15 21:29:32 2011 +0530
>
>      ath9k: Fix ath9k prevents CPU to enter C3 states
>
>      The DMA latency issue is observed only in Intel pinetrail platforms
>      but in the driver we had a default PM-QOS value of 55. This caused
>      unnecessary power consumption and battery drain in other platforms.
>
>      Remove the pm-qos thing in the driver code and address the throughput
>      issue in Intel pinetrail platfroms in user space using any one of
>      the scripts in below links:
>
>      http://www.kernel.org/pub/linux/kernel/people/mcgrof/scripts/cpudmalatency.c
>      http://johannes.sipsolutions.net/files/netlatency.c.txt
>
>      More details can be found in the following bugzilla link:
>
>      https://bugzilla.kernel.org/show_bug.cgi?id=27532
>
>      This reverts the following commits:
>
>          98c316e348bedffa730e6f1e4baeb8a3c3e0f28b
>          4dc3530df7c0428b41c00399a7ee8c929406d181
>          10598c124ecabbbfd7522f74de19b8f7d52a1bee
>
>      Signed-off-by: Mohammed Shafi Shajakhan<mshajakhan@atheros.com>
>      Signed-off-by: John W. Linville<linville@tuxdriver.com>
>
>    
>>> Thanks John.
>>>        
>>>> John
>>>>
>>>> On Tue, Feb 15, 2011 at 09:29:32PM +0530, Mohammed Shafi
>>>> Shajakhan wrote:
>>>>          
>>>>> From: Mohammed Shafi Shajakhan<mshajakhan@atheros.com>
>>>>>
>>>>> The DMA latency issue is observed only in Intel pinetrail platforms but
>>>>> in the driver we had a default PM-QOS value of 55. This caused
>>>>> unnecessary power consumption and battery drain in other platforms.
>>>>>     Remove the pm-qos thing in the driver code and address the
>>>>> throughput issue in
>>>>> Intel pinetrail platfroms in user space using any one of the
>>>>> scripts in below links:
>>>>> http://www.kernel.org/pub/linux/kernel/people/mcgrof/scripts/cpudmalatency.c
>>>>>
>>>>> http://johannes.sipsolutions.net/files/netlatency.c.txt
>>>>> More details can be found in the following bugzilla link:
>>>>> https://bugzilla.kernel.org/show_bug.cgi?id=27532
>>>>>
>>>>> Signed-off-by: Mohammed Shafi Shajakhan<mshajakhan@atheros.com>
>>>>> ---
>>>>>   drivers/net/wireless/ath/ath9k/ath9k.h |    5 -----
>>>>>   drivers/net/wireless/ath/ath9k/init.c  |    7 -------
>>>>>   drivers/net/wireless/ath/ath9k/main.c  |    8 --------
>>>>>   3 files changed, 0 insertions(+), 20 deletions(-)
>>>>>
>>>>> diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h
>>>>> b/drivers/net/wireless/ath/ath9k/ath9k.h
>>>>> index ba436cd..0052f64 100644
>>>>> --- a/drivers/net/wireless/ath/ath9k/ath9k.h
>>>>> +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
>>>>> @@ -21,7 +21,6 @@
>>>>>   #include<linux/device.h>
>>>>>   #include<linux/leds.h>
>>>>>   #include<linux/completion.h>
>>>>> -#include<linux/pm_qos_params.h>
>>>>>
>>>>>   #include "debug.h"
>>>>>   #include "common.h"
>>>>> @@ -57,8 +56,6 @@ struct ath_node;
>>>>>
>>>>>   #define A_MAX(a, b) ((a)>   (b) ? (a) : (b))
>>>>>
>>>>> -#define ATH9K_PM_QOS_DEFAULT_VALUE    55
>>>>> -
>>>>>   #define TSF_TO_TU(_h,_l) \
>>>>>       ((((u32)(_h))<<   22) | (((u32)(_l))>>   10))
>>>>>
>>>>> @@ -650,7 +647,6 @@ struct ath_softc {
>>>>>
>>>>>       struct ath_ant_comb ant_comb;
>>>>>
>>>>> -    struct pm_qos_request_list pm_qos_req;
>>>>>   };
>>>>>
>>>>>   void ath9k_tasklet(unsigned long data);
>>>>> @@ -665,7 +661,6 @@ static inline void
>>>>> ath_read_cachesize(struct ath_common *common, int *csz)
>>>>>   extern struct ieee80211_ops ath9k_ops;
>>>>>   extern int ath9k_modparam_nohwcrypt;
>>>>>   extern int led_blink;
>>>>> -extern int ath9k_pm_qos_value;
>>>>>   extern bool is_ath9k_unloaded;
>>>>>
>>>>>   irqreturn_t ath_isr(int irq, void *dev);
>>>>> diff --git a/drivers/net/wireless/ath/ath9k/init.c
>>>>> b/drivers/net/wireless/ath/ath9k/init.c
>>>>> index e5c1eea..8fed4e4 100644
>>>>> --- a/drivers/net/wireless/ath/ath9k/init.c
>>>>> +++ b/drivers/net/wireless/ath/ath9k/init.c
>>>>> @@ -41,9 +41,6 @@ static int ath9k_btcoex_enable;
>>>>>   module_param_named(btcoex_enable, ath9k_btcoex_enable, int, 0444);
>>>>>   MODULE_PARM_DESC(btcoex_enable, "Enable wifi-BT coexistence");
>>>>>
>>>>> -int ath9k_pm_qos_value = ATH9K_PM_QOS_DEFAULT_VALUE;
>>>>> -module_param_named(pmqos, ath9k_pm_qos_value, int, S_IRUSR |
>>>>> S_IRGRP | S_IROTH);
>>>>> -MODULE_PARM_DESC(pmqos, "User specified PM-QOS value");
>>>>>
>>>>>   bool is_ath9k_unloaded;
>>>>>   /* We use the hw_value as an index into our private channel
>>>>> structure */
>>>>> @@ -760,9 +757,6 @@ int ath9k_init_device(u16 devid, struct
>>>>> ath_softc *sc, u16 subsysid,
>>>>>       ath_init_leds(sc);
>>>>>       ath_start_rfkill_poll(sc);
>>>>>
>>>>> -    pm_qos_add_request(&sc->pm_qos_req, PM_QOS_CPU_DMA_LATENCY,
>>>>> -               PM_QOS_DEFAULT_VALUE);
>>>>> -
>>>>>       return 0;
>>>>>
>>>>>   error_world:
>>>>> @@ -819,7 +813,6 @@ void ath9k_deinit_device(struct ath_softc *sc)
>>>>>       ath9k_ps_restore(sc);
>>>>>
>>>>>       ieee80211_unregister_hw(hw);
>>>>> -    pm_qos_remove_request(&sc->pm_qos_req);
>>>>>       ath_rx_cleanup(sc);
>>>>>       ath_tx_cleanup(sc);
>>>>>       ath9k_deinit_softc(sc);
>>>>> diff --git a/drivers/net/wireless/ath/ath9k/main.c
>>>>> b/drivers/net/wireless/ath/ath9k/main.c
>>>>> index 4f568b8..1d2c7c3 100644
>>>>> --- a/drivers/net/wireless/ath/ath9k/main.c
>>>>> +++ b/drivers/net/wireless/ath/ath9k/main.c
>>>>> @@ -1117,12 +1117,6 @@ static int ath9k_start(struct ieee80211_hw *hw)
>>>>>               ath9k_btcoex_timer_resume(sc);
>>>>>       }
>>>>>
>>>>> -    /* User has the option to provide pm-qos value as a module
>>>>> -     * parameter rather than using the default value of
>>>>> -     * 'ATH9K_PM_QOS_DEFAULT_VALUE'.
>>>>> -     */
>>>>> -    pm_qos_update_request(&sc->pm_qos_req, ath9k_pm_qos_value);
>>>>> -
>>>>>       if (ah->caps.pcie_lcr_extsync_en&&
>>>>> common->bus_ops->extn_synch_en)
>>>>>           common->bus_ops->extn_synch_en(common);
>>>>>
>>>>> @@ -1267,8 +1261,6 @@ static void ath9k_stop(struct ieee80211_hw *hw)
>>>>>
>>>>>       sc->sc_flags |= SC_OP_INVALID;
>>>>>
>>>>> -    pm_qos_update_request(&sc->pm_qos_req, PM_QOS_DEFAULT_VALUE);
>>>>> -
>>>>>       mutex_unlock(&sc->mutex);
>>>>>
>>>>>       ath_dbg(common, ATH_DBG_CONFIG, "Driver halt\n");
>>>>> -- 
>>>>> 1.7.0.4
>>>>>
>>>>>
>>>>>            
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>      
>    

  reply	other threads:[~2011-03-04 14:26 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-15 15:59 [RFC] ath9k: Fix ath9k prevents CPU to enter C3 states Mohammed Shafi Shajakhan
2011-02-15 16:12 ` John W. Linville
2011-02-16  5:05   ` Mohammed Shafi
2011-03-04  6:06     ` Mohammed Shafi
2011-03-04 13:37       ` John W. Linville
2011-03-04 14:26         ` Mohammed Shafi [this message]
2011-03-04 21:37         ` [stable] " Greg KH
2011-03-04 22:00           ` [PATCH] " Thomas Bächler
2011-03-07  5:39             ` Mohammed Shafi
2011-03-07  5:44           ` [stable] [RFC] " Mohammed Shafi
  -- strict thread matches above, loose matches on Subject: below --
2011-02-09 14:33 Mohammed Shafi Shajakhan
2011-02-09 14:42 ` John W. Linville
2011-02-09 14:50   ` Mohammed Shafi
2011-02-09 16:48 ` Richard Schütz
2011-02-10 14:19   ` Mohammed Shafi
2011-02-10 17:41     ` Luis R. Rodriguez
2011-02-10 17:44       ` Richard Schütz
2011-02-11 13:31         ` Richard Schütz
2011-02-09 19:58 ` Luis R. Rodriguez
2011-02-10 14:18   ` Mohammed Shafi
2011-02-10 14:18     ` Mohammed Shafi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D70F6AD.7050700@atheros.com \
    --to=mshajakhan@atheros.com \
    --cc=Luis.Rodriguez@Atheros.com \
    --cc=Mohammed.Shajakhan@Atheros.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=stable@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.