aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-6000.c
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2009-09-11 13:38:14 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-10-07 16:39:32 -0400
commitf2d0d0e2bab7a325071dbaba3bef51c90868e1e6 (patch)
treea61e9e036b0172483105834d064aa7f1a1a252b9 /drivers/net/wireless/iwlwifi/iwl-6000.c
parentc812ee24855e20f43cf211e51e3eb53fe6dc6f1d (diff)
iwlwifi: Adjust blink rate to compensate Clock difference
Adjust led blink rate to compensate on a MAC Clock difference on every HW. Led blink rate analysis showed an average deviation of 0% on 3945, 5% on 4965 HW and 20% on 5000 series and up. Need to compensate on the led on/off time per HW according to the deviation to achieve the desired led frequency The calculation is: (100-averageDeviation)/100 * blinkTime For code efficiency the calculation will be: compensation = (100 - averageDeviation) * 64 / 100 NewBlinkTime = (compensation * BlinkTime) / 64 Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-6000.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index 4b3fb4095678..48b2b7d2170c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -258,6 +258,7 @@ struct iwl_cfg iwl6000h_2agn_cfg = {
258 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 258 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
259 .shadow_ram_support = true, 259 .shadow_ram_support = true,
260 .ht_greenfield_support = true, 260 .ht_greenfield_support = true,
261 .led_compensation = 51,
261}; 262};
262 263
263/* 264/*
@@ -281,6 +282,7 @@ struct iwl_cfg iwl6000i_2agn_cfg = {
281 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 282 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
282 .shadow_ram_support = true, 283 .shadow_ram_support = true,
283 .ht_greenfield_support = true, 284 .ht_greenfield_support = true,
285 .led_compensation = 51,
284}; 286};
285 287
286struct iwl_cfg iwl6050_2agn_cfg = { 288struct iwl_cfg iwl6050_2agn_cfg = {
@@ -301,6 +303,7 @@ struct iwl_cfg iwl6050_2agn_cfg = {
301 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 303 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
302 .shadow_ram_support = true, 304 .shadow_ram_support = true,
303 .ht_greenfield_support = true, 305 .ht_greenfield_support = true,
306 .led_compensation = 51,
304}; 307};
305 308
306struct iwl_cfg iwl6000_3agn_cfg = { 309struct iwl_cfg iwl6000_3agn_cfg = {
@@ -321,6 +324,7 @@ struct iwl_cfg iwl6000_3agn_cfg = {
321 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 324 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
322 .shadow_ram_support = true, 325 .shadow_ram_support = true,
323 .ht_greenfield_support = true, 326 .ht_greenfield_support = true,
327 .led_compensation = 51,
324}; 328};
325 329
326struct iwl_cfg iwl6050_3agn_cfg = { 330struct iwl_cfg iwl6050_3agn_cfg = {
@@ -341,6 +345,7 @@ struct iwl_cfg iwl6050_3agn_cfg = {
341 .max_ll_items = OTP_MAX_LL_ITEMS_6x00, 345 .max_ll_items = OTP_MAX_LL_ITEMS_6x00,
342 .shadow_ram_support = true, 346 .shadow_ram_support = true,
343 .ht_greenfield_support = true, 347 .ht_greenfield_support = true,
348 .led_compensation = 51,
344}; 349};
345 350
346MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX)); 351MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX));