.. | .. |
---|
2329 | 2329 | } |
---|
2330 | 2330 | } |
---|
2331 | 2331 | |
---|
2332 | | -u32 halbtcoutsrc_Read_scbd(void *pBtcContext, u32* score_board_val) |
---|
| 2332 | +u16 halbtcoutsrc_Read_scbd(void *pBtcContext, u16* score_board_val) |
---|
| 2333 | +{ |
---|
| 2334 | + PBTC_COEXIST btc = (PBTC_COEXIST)pBtcContext; |
---|
| 2335 | + struct btc_coex_sta *coex_sta = &btc->coex_sta; |
---|
| 2336 | + const struct btc_chip_para *chip_para = btc->chip_para; |
---|
| 2337 | + |
---|
| 2338 | + if (!chip_para->scbd_support) |
---|
| 2339 | + return 0; |
---|
| 2340 | + |
---|
| 2341 | + *score_board_val = (btc->btc_read_2byte(btc, chip_para->scbd_reg)) |
---|
| 2342 | + & 0x7fff; |
---|
| 2343 | + coex_sta->score_board_BW = *score_board_val; |
---|
| 2344 | + |
---|
| 2345 | + return coex_sta->score_board_BW; |
---|
| 2346 | +} |
---|
| 2347 | + |
---|
| 2348 | +u32 halbtcoutsrc_Read_scbd_32bit(void *pBtcContext, u32* score_board_val) |
---|
2333 | 2349 | { |
---|
2334 | 2350 | PBTC_COEXIST btc = (PBTC_COEXIST)pBtcContext; |
---|
2335 | 2351 | struct btc_coex_sta *coex_sta = &btc->coex_sta; |
---|
.. | .. |
---|
2340 | 2356 | |
---|
2341 | 2357 | *score_board_val = (btc->btc_read_4byte(btc, chip_para->scbd_reg)) |
---|
2342 | 2358 | & 0x7fffffff; |
---|
2343 | | - coex_sta->score_board_BW = *score_board_val; |
---|
| 2359 | + coex_sta->score_board_BW_32bit = *score_board_val; |
---|
2344 | 2360 | |
---|
2345 | | - return coex_sta->score_board_BW; |
---|
| 2361 | + return coex_sta->score_board_BW_32bit; |
---|
2346 | 2362 | } |
---|
2347 | 2363 | |
---|
2348 | | -void halbtcoutsrc_Write_scbd(void *pBtcContext, u32 bitpos, u8 state) |
---|
| 2364 | +void halbtcoutsrc_Write_scbd(void *pBtcContext, u16 bitpos, u8 state) |
---|
2349 | 2365 | { |
---|
2350 | 2366 | PBTC_COEXIST btc = (PBTC_COEXIST)pBtcContext; |
---|
2351 | 2367 | struct btc_coex_sta *coex_sta = &btc->coex_sta; |
---|
2352 | 2368 | const struct btc_chip_para *chip_para = btc->chip_para; |
---|
2353 | | - u32 val = 0x2; |
---|
2354 | | - u8* btc_dbg_buf = &gl_btc_trace_buf[0]; |
---|
| 2369 | + u16 val = 0x2; |
---|
2355 | 2370 | |
---|
2356 | 2371 | if (!chip_para->scbd_support) |
---|
2357 | 2372 | return; |
---|
.. | .. |
---|
2375 | 2390 | |
---|
2376 | 2391 | if (val != coex_sta->score_board_WB) { |
---|
2377 | 2392 | coex_sta->score_board_WB = val; |
---|
| 2393 | + val = val | 0x8000; |
---|
2378 | 2394 | |
---|
2379 | | - if(chip_para->scbd_bit_num == BTC_SCBD_32_BIT) |
---|
2380 | | - val = val | 0x80000000; |
---|
2381 | | - else |
---|
2382 | | - val = val | 0x8000; |
---|
2383 | | - |
---|
2384 | | - btc->btc_write_4byte(btc, chip_para->scbd_reg, val); |
---|
2385 | | - |
---|
2386 | | - BTC_SPRINTF(btc_dbg_buf, BT_TMP_BUF_SIZE, |
---|
2387 | | - "[BTCoex], write scoreboard 0x%x\n", val); |
---|
| 2395 | + btc->btc_write_2byte(btc, chip_para->scbd_reg, val); |
---|
| 2396 | + |
---|
| 2397 | + RTW_DBG("[BTC], write scoreboard 0x%x\n", val); |
---|
2388 | 2398 | } else { |
---|
2389 | | - BTC_SPRINTF(btc_dbg_buf, BT_TMP_BUF_SIZE, |
---|
2390 | | - "[BTCoex], %s: return for nochange\n", __func__); |
---|
| 2399 | + RTW_DBG("[BTC], return for nochange\n"); |
---|
| 2400 | + } |
---|
| 2401 | +} |
---|
| 2402 | + |
---|
| 2403 | +void halbtcoutsrc_Write_scbd_32bit(void *pBtcContext, u32 bitpos, u8 state) |
---|
| 2404 | +{ |
---|
| 2405 | + PBTC_COEXIST btc = (PBTC_COEXIST)pBtcContext; |
---|
| 2406 | + struct btc_coex_sta *coex_sta = &btc->coex_sta; |
---|
| 2407 | + const struct btc_chip_para *chip_para = btc->chip_para; |
---|
| 2408 | + u32 val = 0x2; |
---|
| 2409 | + |
---|
| 2410 | + if (!chip_para->scbd_support) |
---|
| 2411 | + return; |
---|
| 2412 | + |
---|
| 2413 | + val = val | coex_sta->score_board_WB; |
---|
| 2414 | + |
---|
| 2415 | + /* for 8822b, Scoreboard[10]: 0: CQDDR off, 1: CQDDR on |
---|
| 2416 | + * for 8822c, Scoreboard[10]: 0: CQDDR on, 1:CQDDR fix 2M |
---|
| 2417 | + */ |
---|
| 2418 | + if (!btc->chip_para->new_scbd10_def && (bitpos & BTC_SCBD_FIX2M)) { |
---|
| 2419 | + if (state) |
---|
| 2420 | + val = val & (~BTC_SCBD_FIX2M); |
---|
| 2421 | + else |
---|
| 2422 | + val = val | BTC_SCBD_FIX2M; |
---|
| 2423 | + } else { |
---|
| 2424 | + if (state) |
---|
| 2425 | + val = val | bitpos; |
---|
| 2426 | + else |
---|
| 2427 | + val = val & (~bitpos); |
---|
| 2428 | + } |
---|
| 2429 | + |
---|
| 2430 | + if (val != coex_sta->score_board_WB_32bit) { |
---|
| 2431 | + coex_sta->score_board_WB_32bit = val; |
---|
| 2432 | + val = val | 0x80000000; |
---|
| 2433 | + |
---|
| 2434 | + btc->btc_write_4byte(btc, chip_para->scbd_reg, val); |
---|
| 2435 | + |
---|
| 2436 | + RTW_DBG("[BTC], write scoreboard 0x%x\n", val); |
---|
| 2437 | + } else { |
---|
| 2438 | + RTW_DBG("[BTC], return for nochange\n"); |
---|
2391 | 2439 | } |
---|
2392 | 2440 | } |
---|
2393 | 2441 | |
---|
.. | .. |
---|
3211 | 3259 | pBtCoexist->chip_para = &btc_chip_para_8192f; |
---|
3212 | 3260 | } |
---|
3213 | 3261 | #endif |
---|
| 3262 | +#ifdef PLATFORM_LINUX |
---|
3214 | 3263 | #ifdef CONFIG_RTL8723F |
---|
3215 | 3264 | else if (IS_HARDWARE_TYPE_8723F(padapter)) { |
---|
3216 | 3265 | pBtCoexist->chip_type = BTC_CHIP_RTL8723F; |
---|
3217 | 3266 | pBtCoexist->chip_para = &btc_chip_para_8723f; |
---|
3218 | 3267 | } |
---|
| 3268 | +#endif |
---|
3219 | 3269 | #endif |
---|
3220 | 3270 | else { |
---|
3221 | 3271 | pBtCoexist->chip_type = BTC_CHIP_UNDEF; |
---|
.. | .. |
---|
3291 | 3341 | pBtCoexist->btc_write_linderct = halbtcoutsrc_WriteLIndirectReg; |
---|
3292 | 3342 | |
---|
3293 | 3343 | pBtCoexist->btc_read_scbd = halbtcoutsrc_Read_scbd; |
---|
| 3344 | + pBtCoexist->btc_read_scbd_32bit = halbtcoutsrc_Read_scbd_32bit; |
---|
3294 | 3345 | pBtCoexist->btc_write_scbd = halbtcoutsrc_Write_scbd; |
---|
| 3346 | + pBtCoexist->btc_write_scbd_32bit = halbtcoutsrc_Write_scbd_32bit; |
---|
3295 | 3347 | |
---|
3296 | 3348 | pBtCoexist->btc_set_bb_reg = halbtcoutsrc_SetBbReg; |
---|
3297 | 3349 | pBtCoexist->btc_get_bb_reg = halbtcoutsrc_GetBbReg; |
---|