* [PATCH 2.6.39] iwlegacy: led stay solid on when no traffic @ 2011-04-23 17:08 Wey-Yi Guy 2011-04-24 8:08 ` Johannes Berg 0 siblings, 1 reply; 3+ messages in thread From: Wey-Yi Guy @ 2011-04-23 17:08 UTC (permalink / raw) To: linville; +Cc: linux-wireless, ipw3945-devel, Wey-Yi Guy commit 843f26f06a41c5797f19e843c23ca4ed2a71a0bc change the led behavior for iwlwifi driver; the side effect cause led blink all the time. Modify the led blink table to fix this problem Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> --- drivers/net/wireless/iwlegacy/iwl-led.c | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/iwlegacy/iwl-led.c b/drivers/net/wireless/iwlegacy/iwl-led.c index 15eb8b7..b226a3c 100644 --- a/drivers/net/wireless/iwlegacy/iwl-led.c +++ b/drivers/net/wireless/iwlegacy/iwl-led.c @@ -48,8 +48,22 @@ module_param(led_mode, int, S_IRUGO); MODULE_PARM_DESC(led_mode, "0=system default, " "1=On(RF On)/Off(RF Off), 2=blinking"); +/* Throughput OFF time(ms) ON time (ms) + * >300 25 25 + * >200 to 300 40 40 + * >100 to 200 55 55 + * >70 to 100 65 65 + * >50 to 70 75 75 + * >20 to 50 85 85 + * >10 to 20 95 95 + * >5 to 10 110 110 + * >1 to 5 130 130 + * >0 to 1 167 167 + * <=0 SOLID ON + */ static const struct ieee80211_tpt_blink iwl_blink[] = { - { .throughput = 0 * 1024 - 1, .blink_time = 334 }, + { .throughput = 0 * 1024 - 1, .blink_time = 0 }, + { .throughput = 0 * 1024, .blink_time = 334 }, { .throughput = 1 * 1024 - 1, .blink_time = 260 }, { .throughput = 5 * 1024 - 1, .blink_time = 220 }, { .throughput = 10 * 1024 - 1, .blink_time = 190 }, @@ -101,6 +115,12 @@ static int iwl_legacy_led_cmd(struct iwl_priv *priv, if (priv->blink_on == on && priv->blink_off == off) return 0; + if (on == 0) { + /* led is SOLID_ON */ + on = IWL_LED_SOLID; + off = 0; + } + IWL_DEBUG_LED(priv, "Led blink time compensation=%u\n", priv->cfg->base_params->led_compensation); led_cmd.on = iwl_legacy_blink_compensation(priv, on, -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 2.6.39] iwlegacy: led stay solid on when no traffic 2011-04-23 17:08 [PATCH 2.6.39] iwlegacy: led stay solid on when no traffic Wey-Yi Guy @ 2011-04-24 8:08 ` Johannes Berg 2011-04-24 16:10 ` wwguy 0 siblings, 1 reply; 3+ messages in thread From: Johannes Berg @ 2011-04-24 8:08 UTC (permalink / raw) To: Wey-Yi Guy; +Cc: linville, linux-wireless, ipw3945-devel On Sat, 2011-04-23 at 10:08 -0700, Wey-Yi Guy wrote: > commit 843f26f06a41c5797f19e843c23ca4ed2a71a0bc change the led behavior > for iwlwifi driver; the side effect cause led blink all the time. Uh, no, it didn't change behaviour, that was intentional and was the way it was before as well... > Modify the led blink table to fix this problem Fine with me. > Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> > --- > drivers/net/wireless/iwlegacy/iwl-led.c | 22 +++++++++++++++++++++- > 1 files changed, 21 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/wireless/iwlegacy/iwl-led.c b/drivers/net/wireless/iwlegacy/iwl-led.c > index 15eb8b7..b226a3c 100644 > --- a/drivers/net/wireless/iwlegacy/iwl-led.c > +++ b/drivers/net/wireless/iwlegacy/iwl-led.c > @@ -48,8 +48,22 @@ module_param(led_mode, int, S_IRUGO); > MODULE_PARM_DESC(led_mode, "0=system default, " > "1=On(RF On)/Off(RF Off), 2=blinking"); > > +/* Throughput OFF time(ms) ON time (ms) > + * >300 25 25 > + * >200 to 300 40 40 > + * >100 to 200 55 55 > + * >70 to 100 65 65 > + * >50 to 70 75 75 > + * >20 to 50 85 85 > + * >10 to 20 95 95 > + * >5 to 10 110 110 > + * >1 to 5 130 130 > + * >0 to 1 167 167 > + * <=0 SOLID ON > + */ > static const struct ieee80211_tpt_blink iwl_blink[] = { > - { .throughput = 0 * 1024 - 1, .blink_time = 334 }, > + { .throughput = 0 * 1024 - 1, .blink_time = 0 }, > + { .throughput = 0 * 1024, .blink_time = 334 }, The -1, 0 is default, so you can leave that line out. johannes > { .throughput = 1 * 1024 - 1, .blink_time = 260 }, > { .throughput = 5 * 1024 - 1, .blink_time = 220 }, > { .throughput = 10 * 1024 - 1, .blink_time = 190 }, > @@ -101,6 +115,12 @@ static int iwl_legacy_led_cmd(struct iwl_priv *priv, > if (priv->blink_on == on && priv->blink_off == off) > return 0; > > + if (on == 0) { > + /* led is SOLID_ON */ > + on = IWL_LED_SOLID; > + off = 0; > + } Why would you want to do that? johannes ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 2.6.39] iwlegacy: led stay solid on when no traffic 2011-04-24 8:08 ` Johannes Berg @ 2011-04-24 16:10 ` wwguy 0 siblings, 0 replies; 3+ messages in thread From: wwguy @ 2011-04-24 16:10 UTC (permalink / raw) To: Johannes Berg Cc: linville@tuxdriver.com, linux-wireless@vger.kernel.org, ipw3945-devel@lists.sourceforge.net Hi Johannes, On Sun, 2011-04-24 at 01:08 -0700, Johannes Berg wrote: > On Sat, 2011-04-23 at 10:08 -0700, Wey-Yi Guy wrote: > > commit 843f26f06a41c5797f19e843c23ca4ed2a71a0bc change the led behavior > > for iwlwifi driver; the side effect cause led blink all the time. > > Uh, no, it didn't change behaviour, that was intentional and was the way > it was before as well... > > > Modify the led blink table to fix this problem > > Fine with me. > > > Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> > > --- > > drivers/net/wireless/iwlegacy/iwl-led.c | 22 +++++++++++++++++++++- > > 1 files changed, 21 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/net/wireless/iwlegacy/iwl-led.c b/drivers/net/wireless/iwlegacy/iwl-led.c > > index 15eb8b7..b226a3c 100644 > > --- a/drivers/net/wireless/iwlegacy/iwl-led.c > > +++ b/drivers/net/wireless/iwlegacy/iwl-led.c > > @@ -48,8 +48,22 @@ module_param(led_mode, int, S_IRUGO); > > MODULE_PARM_DESC(led_mode, "0=system default, " > > "1=On(RF On)/Off(RF Off), 2=blinking"); > > > > +/* Throughput OFF time(ms) ON time (ms) > > + * >300 25 25 > > + * >200 to 300 40 40 > > + * >100 to 200 55 55 > > + * >70 to 100 65 65 > > + * >50 to 70 75 75 > > + * >20 to 50 85 85 > > + * >10 to 20 95 95 > > + * >5 to 10 110 110 > > + * >1 to 5 130 130 > > + * >0 to 1 167 167 > > + * <=0 SOLID ON > > + */ > > static const struct ieee80211_tpt_blink iwl_blink[] = { > > - { .throughput = 0 * 1024 - 1, .blink_time = 334 }, > > + { .throughput = 0 * 1024 - 1, .blink_time = 0 }, > > + { .throughput = 0 * 1024, .blink_time = 334 }, > > The -1, 0 is default, so you can leave that line out. > > johannes > > > { .throughput = 1 * 1024 - 1, .blink_time = 260 }, > > { .throughput = 5 * 1024 - 1, .blink_time = 220 }, > > { .throughput = 10 * 1024 - 1, .blink_time = 190 }, > > @@ -101,6 +115,12 @@ static int iwl_legacy_led_cmd(struct iwl_priv *priv, > > if (priv->blink_on == on && priv->blink_off == off) > > return 0; > > > > + if (on == 0) { on = 1; off = 0; for (i = tpt_trig->blink_table_len - 1; i >= 0; i--) { if (tpt_trig->blink_table[i].throughput < 0 || tpt > tpt_trig->blink_table[i].throughput) { off = tpt_trig->blink_table[i].blink_time / 2; on = tpt_trig->blink_table[i].blink_time - off; break; } } > > + /* led is SOLID_ON */ > > + on = IWL_LED_SOLID; > > + off = 0; > > + } > > Why would you want to do that? > Maybe I mis-understand the behavior, but in mac80211 for (i = tpt_trig->blink_table_len - 1; i >= 0; i--) { if (tpt_trig->blink_table[i].throughput < 0 || tpt > tpt_trig->blink_table[i].throughput) { off = tpt_trig->blink_table[i].blink_time / 2; on = tpt_trig->blink_table[i].blink_time - off; break; } } if throughput < 0, it will continue blink, now I change the table to as following static const struct ieee80211_tpt_blink iwl_blink[] = { - { .throughput = 0 * 1024 - 1, .blink_time = 334 }, + { .throughput = 0 * 1024 - 1, .blink_time = 0 }, + { .throughput = 0 * 1024, .blink_time = 334 }, when throughput become negative number, the "blink_time = 0". so mac80211 will call iwlwifi with both "on" and "off" equal to "0". and I want to make sure in this case, the LED stay solid. Wey ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-04-24 16:13 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-23 17:08 [PATCH 2.6.39] iwlegacy: led stay solid on when no traffic Wey-Yi Guy 2011-04-24 8:08 ` Johannes Berg 2011-04-24 16:10 ` wwguy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).