diff options
author | Dirk Brandewie <dirk.j.brandewie@intel.com> | 2009-08-13 16:48:29 -0400 |
---|---|---|
committer | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-10-19 02:55:40 -0400 |
commit | c30836580b35ae5cab3de97a3df16878fe097868 (patch) | |
tree | f88a13e7b9455b9f92260d95f9d9d3854911deaa | |
parent | a134fd6b103b78378e3beb6af94d8d8c2abdd19d (diff) |
wimax/i2400m: Make boot retries a BUS-specific parameter
In i2400m-based devices, the driver's bootloader will retry to load
the firmware when things go wrong. The driver currently has a constant
(I2400M_BOOT_RETRIES) which governs the max number of tries.
However, different SKUs of the same hardware may admit or require
different numbers of retries due to it's particulars, so it is made a
BUS specific parameter and different values are assigned for 5x50
devices versus the 3200 ones.
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Cindy H Kao <cindy.h.kao@intel.com>
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
-rw-r--r-- | drivers/net/wimax/i2400m/fw.c | 2 | ||||
-rw-r--r-- | drivers/net/wimax/i2400m/i2400m-sdio.h | 1 | ||||
-rw-r--r-- | drivers/net/wimax/i2400m/i2400m-usb.h | 1 | ||||
-rw-r--r-- | drivers/net/wimax/i2400m/i2400m.h | 3 | ||||
-rw-r--r-- | drivers/net/wimax/i2400m/sdio.c | 2 | ||||
-rw-r--r-- | drivers/net/wimax/i2400m/usb.c | 2 |
6 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/wimax/i2400m/fw.c b/drivers/net/wimax/i2400m/fw.c index e81750e54452..55bd69e913b9 100644 --- a/drivers/net/wimax/i2400m/fw.c +++ b/drivers/net/wimax/i2400m/fw.c | |||
@@ -602,7 +602,7 @@ int i2400m_bootrom_init(struct i2400m *i2400m, enum i2400m_bri flags) | |||
602 | struct device *dev = i2400m_dev(i2400m); | 602 | struct device *dev = i2400m_dev(i2400m); |
603 | struct i2400m_bootrom_header *cmd; | 603 | struct i2400m_bootrom_header *cmd; |
604 | struct i2400m_bootrom_header ack; | 604 | struct i2400m_bootrom_header ack; |
605 | int count = I2400M_BOOT_RETRIES; | 605 | int count = i2400m->bus_bm_retries; |
606 | int ack_timeout_cnt = 1; | 606 | int ack_timeout_cnt = 1; |
607 | 607 | ||
608 | BUILD_BUG_ON(sizeof(*cmd) != sizeof(i2400m_NBOOT_BARKER)); | 608 | BUILD_BUG_ON(sizeof(*cmd) != sizeof(i2400m_NBOOT_BARKER)); |
diff --git a/drivers/net/wimax/i2400m/i2400m-sdio.h b/drivers/net/wimax/i2400m/i2400m-sdio.h index 9c4e3189f7b5..66884eb59b26 100644 --- a/drivers/net/wimax/i2400m/i2400m-sdio.h +++ b/drivers/net/wimax/i2400m/i2400m-sdio.h | |||
@@ -67,6 +67,7 @@ | |||
67 | 67 | ||
68 | /* Host-Device interface for SDIO */ | 68 | /* Host-Device interface for SDIO */ |
69 | enum { | 69 | enum { |
70 | I2400M_SDIO_BOOT_RETRIES = 3, | ||
70 | I2400MS_BLK_SIZE = 256, | 71 | I2400MS_BLK_SIZE = 256, |
71 | I2400MS_PL_SIZE_MAX = 0x3E00, | 72 | I2400MS_PL_SIZE_MAX = 0x3E00, |
72 | 73 | ||
diff --git a/drivers/net/wimax/i2400m/i2400m-usb.h b/drivers/net/wimax/i2400m/i2400m-usb.h index 6f76558b170f..79c37534c200 100644 --- a/drivers/net/wimax/i2400m/i2400m-usb.h +++ b/drivers/net/wimax/i2400m/i2400m-usb.h | |||
@@ -137,6 +137,7 @@ static inline int edc_inc(struct edc *edc, u16 max_err, u16 timeframe) | |||
137 | 137 | ||
138 | /* Host-Device interface for USB */ | 138 | /* Host-Device interface for USB */ |
139 | enum { | 139 | enum { |
140 | I2400M_USB_BOOT_RETRIES = 3, | ||
140 | I2400MU_MAX_NOTIFICATION_LEN = 256, | 141 | I2400MU_MAX_NOTIFICATION_LEN = 256, |
141 | I2400MU_BLK_SIZE = 16, | 142 | I2400MU_BLK_SIZE = 16, |
142 | I2400MU_PL_SIZE_MAX = 0x3EFF, | 143 | I2400MU_PL_SIZE_MAX = 0x3EFF, |
diff --git a/drivers/net/wimax/i2400m/i2400m.h b/drivers/net/wimax/i2400m/i2400m.h index a6e59f1c881d..73b4e6a15135 100644 --- a/drivers/net/wimax/i2400m/i2400m.h +++ b/drivers/net/wimax/i2400m/i2400m.h | |||
@@ -148,9 +148,6 @@ | |||
148 | 148 | ||
149 | /* Misc constants */ | 149 | /* Misc constants */ |
150 | enum { | 150 | enum { |
151 | /* Firmware uploading */ | ||
152 | I2400M_BOOT_RETRIES = 3, | ||
153 | I3200_BOOT_RETRIES = 3, | ||
154 | /* Size of the Boot Mode Command buffer */ | 151 | /* Size of the Boot Mode Command buffer */ |
155 | I2400M_BM_CMD_BUF_SIZE = 16 * 1024, | 152 | I2400M_BM_CMD_BUF_SIZE = 16 * 1024, |
156 | I2400M_BM_ACK_BUF_SIZE = 256, | 153 | I2400M_BM_ACK_BUF_SIZE = 256, |
diff --git a/drivers/net/wimax/i2400m/sdio.c b/drivers/net/wimax/i2400m/sdio.c index a68232aa2915..1429608164b0 100644 --- a/drivers/net/wimax/i2400m/sdio.c +++ b/drivers/net/wimax/i2400m/sdio.c | |||
@@ -430,7 +430,7 @@ int i2400ms_probe(struct sdio_func *func, | |||
430 | i2400m->bus_reset = i2400ms_bus_reset; | 430 | i2400m->bus_reset = i2400ms_bus_reset; |
431 | /* The iwmc3200-wimax sometimes requires the driver to try | 431 | /* The iwmc3200-wimax sometimes requires the driver to try |
432 | * hard when we paint it into a corner. */ | 432 | * hard when we paint it into a corner. */ |
433 | i2400m->bus_bm_retries = I3200_BOOT_RETRIES; | 433 | i2400m->bus_bm_retries = I2400M_SDIO_BOOT_RETRIES; |
434 | i2400m->bus_bm_cmd_send = i2400ms_bus_bm_cmd_send; | 434 | i2400m->bus_bm_cmd_send = i2400ms_bus_bm_cmd_send; |
435 | i2400m->bus_bm_wait_for_ack = i2400ms_bus_bm_wait_for_ack; | 435 | i2400m->bus_bm_wait_for_ack = i2400ms_bus_bm_wait_for_ack; |
436 | i2400m->bus_fw_names = i2400ms_bus_fw_names; | 436 | i2400m->bus_fw_names = i2400ms_bus_fw_names; |
diff --git a/drivers/net/wimax/i2400m/usb.c b/drivers/net/wimax/i2400m/usb.c index 49d7554ad707..8f7b16a6bf3c 100644 --- a/drivers/net/wimax/i2400m/usb.c +++ b/drivers/net/wimax/i2400m/usb.c | |||
@@ -406,7 +406,7 @@ int i2400mu_probe(struct usb_interface *iface, | |||
406 | i2400m->bus_dev_stop = i2400mu_bus_dev_stop; | 406 | i2400m->bus_dev_stop = i2400mu_bus_dev_stop; |
407 | i2400m->bus_tx_kick = i2400mu_bus_tx_kick; | 407 | i2400m->bus_tx_kick = i2400mu_bus_tx_kick; |
408 | i2400m->bus_reset = i2400mu_bus_reset; | 408 | i2400m->bus_reset = i2400mu_bus_reset; |
409 | i2400m->bus_bm_retries = I2400M_BOOT_RETRIES; | 409 | i2400m->bus_bm_retries = I2400M_USB_BOOT_RETRIES; |
410 | i2400m->bus_bm_cmd_send = i2400mu_bus_bm_cmd_send; | 410 | i2400m->bus_bm_cmd_send = i2400mu_bus_bm_cmd_send; |
411 | i2400m->bus_bm_wait_for_ack = i2400mu_bus_bm_wait_for_ack; | 411 | i2400m->bus_bm_wait_for_ack = i2400mu_bus_bm_wait_for_ack; |
412 | i2400m->bus_fw_names = i2400mu_bus_fw_names; | 412 | i2400m->bus_fw_names = i2400mu_bus_fw_names; |