diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2011-07-07 12:58:24 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-07-08 11:42:24 -0400 |
commit | 8b9bda759e5b7c042c2b3ae852aaa332c0ee4495 (patch) | |
tree | b5f25f1989ed6bc62505c2c5d041697fa1b5cfee /drivers/net/wireless/b43/main.c | |
parent | 42d98795505314c7af42c7c6b988425300958ed3 (diff) |
b43: define firmwares for HT and LCN PHYs
We were uploading different firmwares to the hardware until finding
responding one.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r-- | drivers/net/wireless/b43/main.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 5a3454ab038d..fceb5716e9ce 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -2159,6 +2159,8 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2159 | u32 tmshigh; | 2159 | u32 tmshigh; |
2160 | int err; | 2160 | int err; |
2161 | 2161 | ||
2162 | /* Files for HT and LCN were found by trying one by one */ | ||
2163 | |||
2162 | /* Get microcode */ | 2164 | /* Get microcode */ |
2163 | if ((rev >= 5) && (rev <= 10)) { | 2165 | if ((rev >= 5) && (rev <= 10)) { |
2164 | filename = "ucode5"; | 2166 | filename = "ucode5"; |
@@ -2178,6 +2180,18 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2178 | else | 2180 | else |
2179 | goto err_no_ucode; | 2181 | goto err_no_ucode; |
2180 | break; | 2182 | break; |
2183 | case B43_PHYTYPE_HT: | ||
2184 | if (rev == 29) | ||
2185 | filename = "ucode29_mimo"; | ||
2186 | else | ||
2187 | goto err_no_ucode; | ||
2188 | break; | ||
2189 | case B43_PHYTYPE_LCN: | ||
2190 | if (rev == 24) | ||
2191 | filename = "ucode24_mimo"; | ||
2192 | else | ||
2193 | goto err_no_ucode; | ||
2194 | break; | ||
2181 | default: | 2195 | default: |
2182 | goto err_no_ucode; | 2196 | goto err_no_ucode; |
2183 | } | 2197 | } |
@@ -2240,6 +2254,18 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2240 | else | 2254 | else |
2241 | goto err_no_initvals; | 2255 | goto err_no_initvals; |
2242 | break; | 2256 | break; |
2257 | case B43_PHYTYPE_HT: | ||
2258 | if (rev == 29) | ||
2259 | filename = "ht0initvals29"; | ||
2260 | else | ||
2261 | goto err_no_initvals; | ||
2262 | break; | ||
2263 | case B43_PHYTYPE_LCN: | ||
2264 | if (rev == 24) | ||
2265 | filename = "lcn0initvals24"; | ||
2266 | else | ||
2267 | goto err_no_initvals; | ||
2268 | break; | ||
2243 | default: | 2269 | default: |
2244 | goto err_no_initvals; | 2270 | goto err_no_initvals; |
2245 | } | 2271 | } |
@@ -2287,6 +2313,18 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2287 | else | 2313 | else |
2288 | goto err_no_initvals; | 2314 | goto err_no_initvals; |
2289 | break; | 2315 | break; |
2316 | case B43_PHYTYPE_HT: | ||
2317 | if (rev == 29) | ||
2318 | filename = "ht0bsinitvals29"; | ||
2319 | else | ||
2320 | goto err_no_initvals; | ||
2321 | break; | ||
2322 | case B43_PHYTYPE_LCN: | ||
2323 | if (rev == 24) | ||
2324 | filename = "lcn0bsinitvals24"; | ||
2325 | else | ||
2326 | goto err_no_initvals; | ||
2327 | break; | ||
2290 | default: | 2328 | default: |
2291 | goto err_no_initvals; | 2329 | goto err_no_initvals; |
2292 | } | 2330 | } |
@@ -4976,6 +5014,8 @@ static int b43_wireless_core_attach(struct b43_wldev *dev) | |||
4976 | #endif | 5014 | #endif |
4977 | case B43_PHYTYPE_G: | 5015 | case B43_PHYTYPE_G: |
4978 | case B43_PHYTYPE_N: | 5016 | case B43_PHYTYPE_N: |
5017 | case B43_PHYTYPE_HT: | ||
5018 | case B43_PHYTYPE_LCN: | ||
4979 | have_2ghz_phy = 1; | 5019 | have_2ghz_phy = 1; |
4980 | break; | 5020 | break; |
4981 | default: | 5021 | default: |