|
@@ -48,8 +48,21 @@ module_param(led_mode, int, S_IRUGO);
|
|
MODULE_PARM_DESC(led_mode, "0=system default, "
|
|
MODULE_PARM_DESC(led_mode, "0=system default, "
|
|
"1=On(RF On)/Off(RF Off), 2=blinking");
|
|
"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[] = {
|
|
static const struct ieee80211_tpt_blink iwl_blink[] = {
|
|
- { .throughput = 0 * 1024 - 1, .blink_time = 334 },
|
|
|
|
|
|
+ { .throughput = 0, .blink_time = 334 },
|
|
{ .throughput = 1 * 1024 - 1, .blink_time = 260 },
|
|
{ .throughput = 1 * 1024 - 1, .blink_time = 260 },
|
|
{ .throughput = 5 * 1024 - 1, .blink_time = 220 },
|
|
{ .throughput = 5 * 1024 - 1, .blink_time = 220 },
|
|
{ .throughput = 10 * 1024 - 1, .blink_time = 190 },
|
|
{ .throughput = 10 * 1024 - 1, .blink_time = 190 },
|
|
@@ -125,6 +138,11 @@ static int iwl_led_cmd(struct iwl_priv *priv,
|
|
if (priv->blink_on == on && priv->blink_off == off)
|
|
if (priv->blink_on == on && priv->blink_off == off)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+ if (off == 0) {
|
|
|
|
+ /* led is SOLID_ON */
|
|
|
|
+ on = IWL_LED_SOLID;
|
|
|
|
+ }
|
|
|
|
+
|
|
IWL_DEBUG_LED(priv, "Led blink time compensation=%u\n",
|
|
IWL_DEBUG_LED(priv, "Led blink time compensation=%u\n",
|
|
priv->cfg->base_params->led_compensation);
|
|
priv->cfg->base_params->led_compensation);
|
|
led_cmd.on = iwl_blink_compensation(priv, on,
|
|
led_cmd.on = iwl_blink_compensation(priv, on,
|