aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/main.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2011-07-07 12:58:24 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-07-08 11:42:24 -0400
commit8b9bda759e5b7c042c2b3ae852aaa332c0ee4495 (patch)
treeb5f25f1989ed6bc62505c2c5d041697fa1b5cfee /drivers/net/wireless/b43/main.c
parent42d98795505314c7af42c7c6b988425300958ed3 (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.c40
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: