2012-12-17 09:39:53

by Matt Chen

[permalink] [raw]
Subject: [rt2x00-users] [PATCH] rt2800lib : Add a patch to disable/enable power save mode.

This patch is to enable/disable power save mode. rt2800lib
disables PCI WLAN module power save mode default. It allows
to enable the power save mode.

Sign-off-by: Chen, Chien-Chia <[email protected]>
---
drivers/net/wireless/rt2x00/rt2800lib.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 197b446..8ddbf83 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -44,6 +44,13 @@
#include "rt2800.h"

/*
+ * Allow power save mode to be disabled.
+ */
+static bool power_save_disabled = true;
+module_param(power_save_disabled, bool, 0444);
+MODULE_PARM_DESC(power_save_disabled, " Disable power save. (default: disable. 1=disable, 0=enable.)");
+
+/*
* Register access.
* All access to the CSR registers will go through the methods
* rt2800_register_read and rt2800_register_write.
@@ -5079,7 +5086,8 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
/*
* Disable powersaving as default on PCI devices.
*/
- if (rt2x00_is_pci(rt2x00dev) || rt2x00_is_soc(rt2x00dev))
+ if ((rt2x00_is_pci(rt2x00dev) || rt2x00_is_soc(rt2x00dev)) &&
+ power_save_disabled)
rt2x00dev->hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;

/*
--
1.6.0.2



2012-12-17 09:41:01

by Ivo Van Doorn

[permalink] [raw]
Subject: Re: [rt2x00-users] [PATCH] rt2800lib : Add a patch to disable/enable power save mode.

On Mon, Dec 17, 2012 at 10:43 AM, Chen, Chien-Chia <[email protected]> wrote:
> This patch is to enable/disable power save mode. rt2800lib
> disables PCI WLAN module power save mode default. It allows
> to enable the power save mode.

And what is wrong by doing this using the 'iwconfig'/'iw' tools?

> Sign-off-by: Chen, Chien-Chia <[email protected]>
> ---
> drivers/net/wireless/rt2x00/rt2800lib.c | 10 +++++++++-
> 1 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
> index 197b446..8ddbf83 100644
> --- a/drivers/net/wireless/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
> @@ -44,6 +44,13 @@
> #include "rt2800.h"
>
> /*
> + * Allow power save mode to be disabled.
> + */
> +static bool power_save_disabled = true;
> +module_param(power_save_disabled, bool, 0444);
> +MODULE_PARM_DESC(power_save_disabled, " Disable power save. (default: disable. 1=disable, 0=enable.)");
> +
> +/*
> * Register access.
> * All access to the CSR registers will go through the methods
> * rt2800_register_read and rt2800_register_write.
> @@ -5079,7 +5086,8 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
> /*
> * Disable powersaving as default on PCI devices.
> */
> - if (rt2x00_is_pci(rt2x00dev) || rt2x00_is_soc(rt2x00dev))
> + if ((rt2x00_is_pci(rt2x00dev) || rt2x00_is_soc(rt2x00dev)) &&
> + power_save_disabled)
> rt2x00dev->hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
>
> /*
> --
> 1.6.0.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2012-12-17 10:01:59

by Ivo Van Doorn

[permalink] [raw]
Subject: Re: [rt2x00-users] [PATCH] rt2800lib : Add a patch to disable/enable power save mode.

On Mon, Dec 17, 2012 at 10:57 AM, Matt Chen <[email protected]> wrote:
>
>
> 2012/12/17 Ivo Van Doorn <[email protected]>
>>
>> On Mon, Dec 17, 2012 at 10:43 AM, Chen, Chien-Chia <[email protected]>
>> wrote:
>> > This patch is to enable/disable power save mode. rt2800lib
>> > disables PCI WLAN module power save mode default. It allows
>> > to enable the power save mode.
>>
>> And what is wrong by doing this using the 'iwconfig'/'iw' tools?
>
> Compared with iwlwifi [modinfo iwlwifi], it provides the parameter in
> driver.

I don't consider that a valid excuse.

>> > Sign-off-by: Chen, Chien-Chia <[email protected]>

NACK

There is no point on having this as module parameter, there are sufficient
userspace tools to control it already. Having it as a module parameter, is
just redundant.

Ivo

>> > ---
>> > drivers/net/wireless/rt2x00/rt2800lib.c | 10 +++++++++-
>> > 1 files changed, 9 insertions(+), 1 deletions(-)
>> >
>> > diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c
>> > b/drivers/net/wireless/rt2x00/rt2800lib.c
>> > index 197b446..8ddbf83 100644
>> > --- a/drivers/net/wireless/rt2x00/rt2800lib.c
>> > +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
>> > @@ -44,6 +44,13 @@
>> > #include "rt2800.h"
>> >
>> > /*
>> > + * Allow power save mode to be disabled.
>> > + */
>> > +static bool power_save_disabled = true;
>> > +module_param(power_save_disabled, bool, 0444);
>> > +MODULE_PARM_DESC(power_save_disabled, " Disable power save. (default:
>> > disable. 1=disable, 0=enable.)");
>> > +
>> > +/*
>> > * Register access.
>> > * All access to the CSR registers will go through the methods
>> > * rt2800_register_read and rt2800_register_write.
>> > @@ -5079,7 +5086,8 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev
>> > *rt2x00dev)
>> > /*
>> > * Disable powersaving as default on PCI devices.
>> > */
>> > - if (rt2x00_is_pci(rt2x00dev) || rt2x00_is_soc(rt2x00dev))
>> > + if ((rt2x00_is_pci(rt2x00dev) || rt2x00_is_soc(rt2x00dev)) &&
>> > + power_save_disabled)
>> > rt2x00dev->hw->wiphy->flags &=
>> > ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
>> >
>> > /*
>> > --
>> > 1.6.0.2
>> >
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe
>> > linux-wireless" in
>> > the body of a message to [email protected]
>> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>> _______________________________________________
>> users mailing list
>> [email protected]
>>
>> http://rt2x00.serialmonkey.com/mailman/listinfo/users_rt2x00.serialmonkey.com
>>
>