tree:
https://git.linaro.org/people/lee.jones/linux.git tb-fix-w1-warnings
head: 4100a70a722e6bd00b7f9d8b84e52c86060952ca
commit: 478cc64221a3bd2377eb47a3c9e7350d4e93cdd3 [144/200] staging: rtl8723bs: hal:
rtl8723b_hal_init: Mark a bunch of debug variables as __maybe_unused
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add lee-linaro
https://git.linaro.org/people/lee.jones/linux.git
git fetch --no-tags lee-linaro tb-fix-w1-warnings
git checkout 478cc64221a3bd2377eb47a3c9e7350d4e93cdd3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c: In function
'SetHwReg8723B':
> drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c:3357:34: error:
'BrateCfg' undeclared (first use in this function)
3357 |
HalSetBrateCfg(padapter, val, &BrateCfg);
| ^~~~~~~~
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c:3357:34: note: each undeclared
identifier is reported only once for each function it appears in
vim +/BrateCfg +3357 drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
554c0a3abf216c Hans de Goede 2017-03-29 3319
554c0a3abf216c Hans de Goede 2017-03-29 3320 void SetHwReg8723B(struct adapter
*padapter, u8 variable, u8 *val)
554c0a3abf216c Hans de Goede 2017-03-29 3321 {
554c0a3abf216c Hans de Goede 2017-03-29 3322 struct hal_com_data *pHalData =
GET_HAL_DATA(padapter);
554c0a3abf216c Hans de Goede 2017-03-29 3323 u8 val8;
554c0a3abf216c Hans de Goede 2017-03-29 3324 u32 val32;
554c0a3abf216c Hans de Goede 2017-03-29 3325
554c0a3abf216c Hans de Goede 2017-03-29 3326 switch (variable) {
554c0a3abf216c Hans de Goede 2017-03-29 3327 case HW_VAR_MEDIA_STATUS:
554c0a3abf216c Hans de Goede 2017-03-29 3328 val8 = rtw_read8(padapter, MSR) &
0x0c;
554c0a3abf216c Hans de Goede 2017-03-29 3329 val8 |= *val;
554c0a3abf216c Hans de Goede 2017-03-29 3330 rtw_write8(padapter, MSR, val8);
554c0a3abf216c Hans de Goede 2017-03-29 3331 break;
554c0a3abf216c Hans de Goede 2017-03-29 3332
554c0a3abf216c Hans de Goede 2017-03-29 3333 case HW_VAR_MEDIA_STATUS1:
554c0a3abf216c Hans de Goede 2017-03-29 3334 val8 = rtw_read8(padapter, MSR) &
0x03;
554c0a3abf216c Hans de Goede 2017-03-29 3335 val8 |= *val << 2;
554c0a3abf216c Hans de Goede 2017-03-29 3336 rtw_write8(padapter, MSR, val8);
554c0a3abf216c Hans de Goede 2017-03-29 3337 break;
554c0a3abf216c Hans de Goede 2017-03-29 3338
554c0a3abf216c Hans de Goede 2017-03-29 3339 case HW_VAR_SET_OPMODE:
554c0a3abf216c Hans de Goede 2017-03-29 3340 hw_var_set_opmode(padapter, variable,
val);
554c0a3abf216c Hans de Goede 2017-03-29 3341 break;
554c0a3abf216c Hans de Goede 2017-03-29 3342
554c0a3abf216c Hans de Goede 2017-03-29 3343 case HW_VAR_MAC_ADDR:
554c0a3abf216c Hans de Goede 2017-03-29 3344 hw_var_set_macaddr(padapter, variable,
val);
554c0a3abf216c Hans de Goede 2017-03-29 3345 break;
554c0a3abf216c Hans de Goede 2017-03-29 3346
554c0a3abf216c Hans de Goede 2017-03-29 3347 case HW_VAR_BSSID:
554c0a3abf216c Hans de Goede 2017-03-29 3348 hw_var_set_bssid(padapter, variable,
val);
554c0a3abf216c Hans de Goede 2017-03-29 3349 break;
554c0a3abf216c Hans de Goede 2017-03-29 3350
554c0a3abf216c Hans de Goede 2017-03-29 3351 case HW_VAR_BASIC_RATE:
554c0a3abf216c Hans de Goede 2017-03-29 3352 {
554c0a3abf216c Hans de Goede 2017-03-29 3353 struct mlme_ext_info *mlmext_info =
&padapter->mlmeextpriv.mlmext_info;
554c0a3abf216c Hans de Goede 2017-03-29 3354 u16 rrsr_2g_force_mask =
(RRSR_11M|RRSR_5_5M|RRSR_1M);
554c0a3abf216c Hans de Goede 2017-03-29 3355 u16 rrsr_2g_allow_mask =
(RRSR_24M|RRSR_12M|RRSR_6M|RRSR_CCK_RATES);
554c0a3abf216c Hans de Goede 2017-03-29 3356
554c0a3abf216c Hans de Goede 2017-03-29 @3357 HalSetBrateCfg(padapter, val,
&BrateCfg);
554c0a3abf216c Hans de Goede 2017-03-29 3358
554c0a3abf216c Hans de Goede 2017-03-29 3359 /* apply force and allow mask */
554c0a3abf216c Hans de Goede 2017-03-29 3360 BrateCfg |= rrsr_2g_force_mask;
554c0a3abf216c Hans de Goede 2017-03-29 3361 BrateCfg &= rrsr_2g_allow_mask;
554c0a3abf216c Hans de Goede 2017-03-29 3362
554c0a3abf216c Hans de Goede 2017-03-29 3363 /* IOT consideration */
554c0a3abf216c Hans de Goede 2017-03-29 3364 if (mlmext_info->assoc_AP_vendor ==
HT_IOT_PEER_CISCO) {
554c0a3abf216c Hans de Goede 2017-03-29 3365 /* if peer is cisco and didn't
use ofdm rate, we enable 6M ack */
554c0a3abf216c Hans de Goede 2017-03-29 3366 if ((BrateCfg &
(RRSR_24M|RRSR_12M|RRSR_6M)) == 0)
554c0a3abf216c Hans de Goede 2017-03-29 3367 BrateCfg |= RRSR_6M;
554c0a3abf216c Hans de Goede 2017-03-29 3368 }
554c0a3abf216c Hans de Goede 2017-03-29 3369
554c0a3abf216c Hans de Goede 2017-03-29 3370 pHalData->BasicRateSet = BrateCfg;
554c0a3abf216c Hans de Goede 2017-03-29 3371
554c0a3abf216c Hans de Goede 2017-03-29 3372 /* Set RRSR rate table. */
554c0a3abf216c Hans de Goede 2017-03-29 3373 rtw_write16(padapter, REG_RRSR,
BrateCfg);
554c0a3abf216c Hans de Goede 2017-03-29 3374 rtw_write8(padapter, REG_RRSR+2,
rtw_read8(padapter, REG_RRSR+2)&0xf0);
554c0a3abf216c Hans de Goede 2017-03-29 3375 }
554c0a3abf216c Hans de Goede 2017-03-29 3376 break;
554c0a3abf216c Hans de Goede 2017-03-29 3377
554c0a3abf216c Hans de Goede 2017-03-29 3378 case HW_VAR_TXPAUSE:
554c0a3abf216c Hans de Goede 2017-03-29 3379 rtw_write8(padapter, REG_TXPAUSE,
*val);
554c0a3abf216c Hans de Goede 2017-03-29 3380 break;
554c0a3abf216c Hans de Goede 2017-03-29 3381
554c0a3abf216c Hans de Goede 2017-03-29 3382 case HW_VAR_BCN_FUNC:
554c0a3abf216c Hans de Goede 2017-03-29 3383 hw_var_set_bcn_func(padapter,
variable, val);
554c0a3abf216c Hans de Goede 2017-03-29 3384 break;
554c0a3abf216c Hans de Goede 2017-03-29 3385
554c0a3abf216c Hans de Goede 2017-03-29 3386 case HW_VAR_CORRECT_TSF:
554c0a3abf216c Hans de Goede 2017-03-29 3387 hw_var_set_correct_tsf(padapter,
variable, val);
554c0a3abf216c Hans de Goede 2017-03-29 3388 break;
554c0a3abf216c Hans de Goede 2017-03-29 3389
554c0a3abf216c Hans de Goede 2017-03-29 3390 case HW_VAR_CHECK_BSSID:
554c0a3abf216c Hans de Goede 2017-03-29 3391 {
554c0a3abf216c Hans de Goede 2017-03-29 3392 u32 val32;
554c0a3abf216c Hans de Goede 2017-03-29 3393 val32 = rtw_read32(padapter,
REG_RCR);
554c0a3abf216c Hans de Goede 2017-03-29 3394 if (*val)
554c0a3abf216c Hans de Goede 2017-03-29 3395 val32 |=
RCR_CBSSID_DATA|RCR_CBSSID_BCN;
554c0a3abf216c Hans de Goede 2017-03-29 3396 else
554c0a3abf216c Hans de Goede 2017-03-29 3397 val32 &=
~(RCR_CBSSID_DATA|RCR_CBSSID_BCN);
554c0a3abf216c Hans de Goede 2017-03-29 3398 rtw_write32(padapter, REG_RCR,
val32);
554c0a3abf216c Hans de Goede 2017-03-29 3399 }
554c0a3abf216c Hans de Goede 2017-03-29 3400 break;
554c0a3abf216c Hans de Goede 2017-03-29 3401
554c0a3abf216c Hans de Goede 2017-03-29 3402 case HW_VAR_MLME_DISCONNECT:
554c0a3abf216c Hans de Goede 2017-03-29 3403 hw_var_set_mlme_disconnect(padapter,
variable, val);
554c0a3abf216c Hans de Goede 2017-03-29 3404 break;
554c0a3abf216c Hans de Goede 2017-03-29 3405
554c0a3abf216c Hans de Goede 2017-03-29 3406 case HW_VAR_MLME_SITESURVEY:
554c0a3abf216c Hans de Goede 2017-03-29 3407 hw_var_set_mlme_sitesurvey(padapter,
variable, val);
554c0a3abf216c Hans de Goede 2017-03-29 3408
a47a70c25777ac Nishka Dasgupta 2019-07-02 3409 hal_btcoex_ScanNotify(padapter,
*val?true:false);
554c0a3abf216c Hans de Goede 2017-03-29 3410 break;
554c0a3abf216c Hans de Goede 2017-03-29 3411
554c0a3abf216c Hans de Goede 2017-03-29 3412 case HW_VAR_MLME_JOIN:
554c0a3abf216c Hans de Goede 2017-03-29 3413 hw_var_set_mlme_join(padapter,
variable, val);
554c0a3abf216c Hans de Goede 2017-03-29 3414
554c0a3abf216c Hans de Goede 2017-03-29 3415 switch (*val) {
554c0a3abf216c Hans de Goede 2017-03-29 3416 case 0:
554c0a3abf216c Hans de Goede 2017-03-29 3417 /* prepare to join */
8739e064de6f1f Nishka Dasgupta 2019-07-01 3418 hal_btcoex_ConnectNotify(padapter,
true);
554c0a3abf216c Hans de Goede 2017-03-29 3419 break;
554c0a3abf216c Hans de Goede 2017-03-29 3420 case 1:
554c0a3abf216c Hans de Goede 2017-03-29 3421 /* joinbss_event callback when join
res < 0 */
8739e064de6f1f Nishka Dasgupta 2019-07-01 3422 hal_btcoex_ConnectNotify(padapter,
false);
554c0a3abf216c Hans de Goede 2017-03-29 3423 break;
554c0a3abf216c Hans de Goede 2017-03-29 3424 case 2:
554c0a3abf216c Hans de Goede 2017-03-29 3425 /* sta add event callback */
554c0a3abf216c Hans de Goede 2017-03-29 3426 /*
rtw_btcoex_MediaStatusNotify(padapter, RT_MEDIA_CONNECT); */
554c0a3abf216c Hans de Goede 2017-03-29 3427 break;
554c0a3abf216c Hans de Goede 2017-03-29 3428 }
554c0a3abf216c Hans de Goede 2017-03-29 3429 break;
554c0a3abf216c Hans de Goede 2017-03-29 3430
554c0a3abf216c Hans de Goede 2017-03-29 3431 case HW_VAR_ON_RCR_AM:
554c0a3abf216c Hans de Goede 2017-03-29 3432 val32 = rtw_read32(padapter,
REG_RCR);
554c0a3abf216c Hans de Goede 2017-03-29 3433 val32 |= RCR_AM;
554c0a3abf216c Hans de Goede 2017-03-29 3434 rtw_write32(padapter, REG_RCR,
val32);
554c0a3abf216c Hans de Goede 2017-03-29 3435 break;
554c0a3abf216c Hans de Goede 2017-03-29 3436
554c0a3abf216c Hans de Goede 2017-03-29 3437 case HW_VAR_OFF_RCR_AM:
554c0a3abf216c Hans de Goede 2017-03-29 3438 val32 = rtw_read32(padapter,
REG_RCR);
554c0a3abf216c Hans de Goede 2017-03-29 3439 val32 &= ~RCR_AM;
554c0a3abf216c Hans de Goede 2017-03-29 3440 rtw_write32(padapter, REG_RCR,
val32);
554c0a3abf216c Hans de Goede 2017-03-29 3441 break;
554c0a3abf216c Hans de Goede 2017-03-29 3442
554c0a3abf216c Hans de Goede 2017-03-29 3443 case HW_VAR_BEACON_INTERVAL:
554c0a3abf216c Hans de Goede 2017-03-29 3444 rtw_write16(padapter,
REG_BCN_INTERVAL, *((u16 *)val));
554c0a3abf216c Hans de Goede 2017-03-29 3445 break;
554c0a3abf216c Hans de Goede 2017-03-29 3446
554c0a3abf216c Hans de Goede 2017-03-29 3447 case HW_VAR_SLOT_TIME:
554c0a3abf216c Hans de Goede 2017-03-29 3448 rtw_write8(padapter, REG_SLOT, *val);
554c0a3abf216c Hans de Goede 2017-03-29 3449 break;
554c0a3abf216c Hans de Goede 2017-03-29 3450
554c0a3abf216c Hans de Goede 2017-03-29 3451 case HW_VAR_RESP_SIFS:
554c0a3abf216c Hans de Goede 2017-03-29 3452 /* SIFS_Timer = 0x0a0a0808; */
554c0a3abf216c Hans de Goede 2017-03-29 3453 /* RESP_SIFS for CCK */
554c0a3abf216c Hans de Goede 2017-03-29 3454 rtw_write8(padapter,
REG_RESP_SIFS_CCK, val[0]); /* SIFS_T2T_CCK (0x08) */
554c0a3abf216c Hans de Goede 2017-03-29 3455 rtw_write8(padapter,
REG_RESP_SIFS_CCK+1, val[1]); /* SIFS_R2T_CCK(0x08) */
554c0a3abf216c Hans de Goede 2017-03-29 3456 /* RESP_SIFS for OFDM */
554c0a3abf216c Hans de Goede 2017-03-29 3457 rtw_write8(padapter,
REG_RESP_SIFS_OFDM, val[2]); /* SIFS_T2T_OFDM (0x0a) */
554c0a3abf216c Hans de Goede 2017-03-29 3458 rtw_write8(padapter,
REG_RESP_SIFS_OFDM+1, val[3]); /* SIFS_R2T_OFDM(0x0a) */
554c0a3abf216c Hans de Goede 2017-03-29 3459 break;
554c0a3abf216c Hans de Goede 2017-03-29 3460
554c0a3abf216c Hans de Goede 2017-03-29 3461 case HW_VAR_ACK_PREAMBLE:
554c0a3abf216c Hans de Goede 2017-03-29 3462 {
554c0a3abf216c Hans de Goede 2017-03-29 3463 u8 regTmp;
554c0a3abf216c Hans de Goede 2017-03-29 3464 u8 bShortPreamble = *val;
554c0a3abf216c Hans de Goede 2017-03-29 3465
554c0a3abf216c Hans de Goede 2017-03-29 3466 /* Joseph marked out for Netgear
3500 TKIP channel 7 issue.(Temporarily) */
554c0a3abf216c Hans de Goede 2017-03-29 3467 /* regTmp =
(pHalData->nCur40MhzPrimeSC)<<5; */
554c0a3abf216c Hans de Goede 2017-03-29 3468 regTmp = 0;
554c0a3abf216c Hans de Goede 2017-03-29 3469 if (bShortPreamble)
554c0a3abf216c Hans de Goede 2017-03-29 3470 regTmp |= 0x80;
554c0a3abf216c Hans de Goede 2017-03-29 3471 rtw_write8(padapter, REG_RRSR+2,
regTmp);
554c0a3abf216c Hans de Goede 2017-03-29 3472 }
554c0a3abf216c Hans de Goede 2017-03-29 3473 break;
554c0a3abf216c Hans de Goede 2017-03-29 3474
554c0a3abf216c Hans de Goede 2017-03-29 3475 case HW_VAR_CAM_EMPTY_ENTRY:
554c0a3abf216c Hans de Goede 2017-03-29 3476 {
554c0a3abf216c Hans de Goede 2017-03-29 3477 u8 ucIndex = *val;
554c0a3abf216c Hans de Goede 2017-03-29 3478 u8 i;
554c0a3abf216c Hans de Goede 2017-03-29 3479 u32 ulCommand = 0;
554c0a3abf216c Hans de Goede 2017-03-29 3480 u32 ulContent = 0;
554c0a3abf216c Hans de Goede 2017-03-29 3481 u32 ulEncAlgo = CAM_AES;
554c0a3abf216c Hans de Goede 2017-03-29 3482
554c0a3abf216c Hans de Goede 2017-03-29 3483 for (i = 0; i < CAM_CONTENT_COUNT;
i++) {
554c0a3abf216c Hans de Goede 2017-03-29 3484 /* filled id in CAM config 2 byte
*/
554c0a3abf216c Hans de Goede 2017-03-29 3485 if (i == 0) {
554c0a3abf216c Hans de Goede 2017-03-29 3486 ulContent |= (ucIndex & 0x03) |
((u16)(ulEncAlgo)<<2);
554c0a3abf216c Hans de Goede 2017-03-29 3487 /* ulContent |= CAM_VALID; */
554c0a3abf216c Hans de Goede 2017-03-29 3488 } else
554c0a3abf216c Hans de Goede 2017-03-29 3489 ulContent = 0;
554c0a3abf216c Hans de Goede 2017-03-29 3490
554c0a3abf216c Hans de Goede 2017-03-29 3491 /* polling bit, and No Write
enable, and address */
554c0a3abf216c Hans de Goede 2017-03-29 3492 ulCommand =
CAM_CONTENT_COUNT*ucIndex+i;
554c0a3abf216c Hans de Goede 2017-03-29 3493 ulCommand = ulCommand | CAM_POLLINIG
| CAM_WRITE;
554c0a3abf216c Hans de Goede 2017-03-29 3494 /* write content 0 is equall to
mark invalid */
554c0a3abf216c Hans de Goede 2017-03-29 3495 rtw_write32(padapter, WCAMI,
ulContent); /* mdelay(40); */
554c0a3abf216c Hans de Goede 2017-03-29 3496 rtw_write32(padapter, RWCAM,
ulCommand); /* mdelay(40); */
554c0a3abf216c Hans de Goede 2017-03-29 3497 }
554c0a3abf216c Hans de Goede 2017-03-29 3498 }
554c0a3abf216c Hans de Goede 2017-03-29 3499 break;
554c0a3abf216c Hans de Goede 2017-03-29 3500
554c0a3abf216c Hans de Goede 2017-03-29 3501 case HW_VAR_CAM_INVALID_ALL:
554c0a3abf216c Hans de Goede 2017-03-29 3502 rtw_write32(padapter, RWCAM,
BIT(31)|BIT(30));
554c0a3abf216c Hans de Goede 2017-03-29 3503 break;
554c0a3abf216c Hans de Goede 2017-03-29 3504
554c0a3abf216c Hans de Goede 2017-03-29 3505 case HW_VAR_CAM_WRITE:
554c0a3abf216c Hans de Goede 2017-03-29 3506 {
554c0a3abf216c Hans de Goede 2017-03-29 3507 u32 cmd;
554c0a3abf216c Hans de Goede 2017-03-29 3508 u32 *cam_val = (u32 *)val;
554c0a3abf216c Hans de Goede 2017-03-29 3509
554c0a3abf216c Hans de Goede 2017-03-29 3510 rtw_write32(padapter, WCAMI,
cam_val[0]);
554c0a3abf216c Hans de Goede 2017-03-29 3511
554c0a3abf216c Hans de Goede 2017-03-29 3512 cmd = CAM_POLLINIG | CAM_WRITE |
cam_val[1];
554c0a3abf216c Hans de Goede 2017-03-29 3513 rtw_write32(padapter, RWCAM, cmd);
554c0a3abf216c Hans de Goede 2017-03-29 3514 }
554c0a3abf216c Hans de Goede 2017-03-29 3515 break;
554c0a3abf216c Hans de Goede 2017-03-29 3516
554c0a3abf216c Hans de Goede 2017-03-29 3517 case HW_VAR_AC_PARAM_VO:
554c0a3abf216c Hans de Goede 2017-03-29 3518 rtw_write32(padapter,
REG_EDCA_VO_PARAM, *((u32 *)val));
554c0a3abf216c Hans de Goede 2017-03-29 3519 break;
554c0a3abf216c Hans de Goede 2017-03-29 3520
554c0a3abf216c Hans de Goede 2017-03-29 3521 case HW_VAR_AC_PARAM_VI:
554c0a3abf216c Hans de Goede 2017-03-29 3522 rtw_write32(padapter,
REG_EDCA_VI_PARAM, *((u32 *)val));
554c0a3abf216c Hans de Goede 2017-03-29 3523 break;
554c0a3abf216c Hans de Goede 2017-03-29 3524
554c0a3abf216c Hans de Goede 2017-03-29 3525 case HW_VAR_AC_PARAM_BE:
554c0a3abf216c Hans de Goede 2017-03-29 3526 pHalData->AcParam_BE = ((u32
*)(val))[0];
554c0a3abf216c Hans de Goede 2017-03-29 3527 rtw_write32(padapter,
REG_EDCA_BE_PARAM, *((u32 *)val));
554c0a3abf216c Hans de Goede 2017-03-29 3528 break;
554c0a3abf216c Hans de Goede 2017-03-29 3529
554c0a3abf216c Hans de Goede 2017-03-29 3530 case HW_VAR_AC_PARAM_BK:
554c0a3abf216c Hans de Goede 2017-03-29 3531 rtw_write32(padapter,
REG_EDCA_BK_PARAM, *((u32 *)val));
554c0a3abf216c Hans de Goede 2017-03-29 3532 break;
554c0a3abf216c Hans de Goede 2017-03-29 3533
554c0a3abf216c Hans de Goede 2017-03-29 3534 case HW_VAR_ACM_CTRL:
554c0a3abf216c Hans de Goede 2017-03-29 3535 {
554c0a3abf216c Hans de Goede 2017-03-29 3536 u8 ctrl = *((u8 *)val);
554c0a3abf216c Hans de Goede 2017-03-29 3537 u8 hwctrl = 0;
554c0a3abf216c Hans de Goede 2017-03-29 3538
554c0a3abf216c Hans de Goede 2017-03-29 3539 if (ctrl != 0) {
554c0a3abf216c Hans de Goede 2017-03-29 3540 hwctrl |= AcmHw_HwEn;
554c0a3abf216c Hans de Goede 2017-03-29 3541
554c0a3abf216c Hans de Goede 2017-03-29 3542 if (ctrl & BIT(1)) /* BE */
554c0a3abf216c Hans de Goede 2017-03-29 3543 hwctrl |= AcmHw_BeqEn;
554c0a3abf216c Hans de Goede 2017-03-29 3544
554c0a3abf216c Hans de Goede 2017-03-29 3545 if (ctrl & BIT(2)) /* VI */
554c0a3abf216c Hans de Goede 2017-03-29 3546 hwctrl |= AcmHw_ViqEn;
554c0a3abf216c Hans de Goede 2017-03-29 3547
554c0a3abf216c Hans de Goede 2017-03-29 3548 if (ctrl & BIT(3)) /* VO */
554c0a3abf216c Hans de Goede 2017-03-29 3549 hwctrl |= AcmHw_VoqEn;
554c0a3abf216c Hans de Goede 2017-03-29 3550 }
554c0a3abf216c Hans de Goede 2017-03-29 3551
554c0a3abf216c Hans de Goede 2017-03-29 3552 rtw_write8(padapter, REG_ACMHWCTRL,
hwctrl);
554c0a3abf216c Hans de Goede 2017-03-29 3553 }
554c0a3abf216c Hans de Goede 2017-03-29 3554 break;
554c0a3abf216c Hans de Goede 2017-03-29 3555
554c0a3abf216c Hans de Goede 2017-03-29 3556 case HW_VAR_AMPDU_FACTOR:
554c0a3abf216c Hans de Goede 2017-03-29 3557 {
554c0a3abf216c Hans de Goede 2017-03-29 3558 u32 AMPDULen = (*((u8 *)val));
554c0a3abf216c Hans de Goede 2017-03-29 3559
554c0a3abf216c Hans de Goede 2017-03-29 3560 if (AMPDULen < HT_AGG_SIZE_32K)
554c0a3abf216c Hans de Goede 2017-03-29 3561 AMPDULen = (0x2000 << (*((u8
*)val)))-1;
554c0a3abf216c Hans de Goede 2017-03-29 3562 else
554c0a3abf216c Hans de Goede 2017-03-29 3563 AMPDULen = 0x7fff;
554c0a3abf216c Hans de Goede 2017-03-29 3564
554c0a3abf216c Hans de Goede 2017-03-29 3565 rtw_write32(padapter,
REG_AMPDU_MAX_LENGTH_8723B, AMPDULen);
554c0a3abf216c Hans de Goede 2017-03-29 3566 }
554c0a3abf216c Hans de Goede 2017-03-29 3567 break;
554c0a3abf216c Hans de Goede 2017-03-29 3568
554c0a3abf216c Hans de Goede 2017-03-29 3569 case HW_VAR_H2C_FW_PWRMODE:
554c0a3abf216c Hans de Goede 2017-03-29 3570 {
554c0a3abf216c Hans de Goede 2017-03-29 3571 u8 psmode = *val;
554c0a3abf216c Hans de Goede 2017-03-29 3572
554c0a3abf216c Hans de Goede 2017-03-29 3573 /* Forece leave RF low power mode
for 1T1R to prevent conficting setting in Fw power */
554c0a3abf216c Hans de Goede 2017-03-29 3574 /* saving sequence. 2010.06.07.
Added by tynli. Suggested by SD3 yschang. */
554c0a3abf216c Hans de Goede 2017-03-29 3575 if (psmode != PS_MODE_ACTIVE) {
554c0a3abf216c Hans de Goede 2017-03-29 3576
ODM_RF_Saving(&pHalData->odmpriv, true);
554c0a3abf216c Hans de Goede 2017-03-29 3577 }
554c0a3abf216c Hans de Goede 2017-03-29 3578
554c0a3abf216c Hans de Goede 2017-03-29 3579 /* if (psmode != PS_MODE_ACTIVE) {
*/
554c0a3abf216c Hans de Goede 2017-03-29 3580 /*
rtl8723b_set_lowpwr_lps_cmd(padapter, true); */
554c0a3abf216c Hans de Goede 2017-03-29 3581 /* else { */
554c0a3abf216c Hans de Goede 2017-03-29 3582 /*
rtl8723b_set_lowpwr_lps_cmd(padapter, false); */
554c0a3abf216c Hans de Goede 2017-03-29 3583 /* */
554c0a3abf216c Hans de Goede 2017-03-29 3584 rtl8723b_set_FwPwrMode_cmd(padapter,
psmode);
554c0a3abf216c Hans de Goede 2017-03-29 3585 }
554c0a3abf216c Hans de Goede 2017-03-29 3586 break;
554c0a3abf216c Hans de Goede 2017-03-29 3587 case HW_VAR_H2C_PS_TUNE_PARAM:
554c0a3abf216c Hans de Goede 2017-03-29 3588
rtl8723b_set_FwPsTuneParam_cmd(padapter);
554c0a3abf216c Hans de Goede 2017-03-29 3589 break;
554c0a3abf216c Hans de Goede 2017-03-29 3590
554c0a3abf216c Hans de Goede 2017-03-29 3591 case HW_VAR_H2C_FW_JOINBSSRPT:
554c0a3abf216c Hans de Goede 2017-03-29 3592
rtl8723b_set_FwJoinBssRpt_cmd(padapter, *val);
554c0a3abf216c Hans de Goede 2017-03-29 3593 break;
554c0a3abf216c Hans de Goede 2017-03-29 3594
554c0a3abf216c Hans de Goede 2017-03-29 3595 case HW_VAR_INITIAL_GAIN:
554c0a3abf216c Hans de Goede 2017-03-29 3596 {
86d6c0aef5034c Marco Cesati 2021-03-17 3597 struct dig_t *pDigTable =
&pHalData->odmpriv.DM_DigTable;
554c0a3abf216c Hans de Goede 2017-03-29 3598 u32 rx_gain = *(u32 *)val;
554c0a3abf216c Hans de Goede 2017-03-29 3599
554c0a3abf216c Hans de Goede 2017-03-29 3600 if (rx_gain == 0xff) {/* restore rx
gain */
554c0a3abf216c Hans de Goede 2017-03-29 3601
ODM_Write_DIG(&pHalData->odmpriv, pDigTable->BackupIGValue);
554c0a3abf216c Hans de Goede 2017-03-29 3602 } else {
554c0a3abf216c Hans de Goede 2017-03-29 3603 pDigTable->BackupIGValue =
pDigTable->CurIGValue;
554c0a3abf216c Hans de Goede 2017-03-29 3604
ODM_Write_DIG(&pHalData->odmpriv, rx_gain);
554c0a3abf216c Hans de Goede 2017-03-29 3605 }
554c0a3abf216c Hans de Goede 2017-03-29 3606 }
554c0a3abf216c Hans de Goede 2017-03-29 3607 break;
554c0a3abf216c Hans de Goede 2017-03-29 3608
554c0a3abf216c Hans de Goede 2017-03-29 3609 case HW_VAR_EFUSE_USAGE:
554c0a3abf216c Hans de Goede 2017-03-29 3610 pHalData->EfuseUsedPercentage =
*val;
554c0a3abf216c Hans de Goede 2017-03-29 3611 break;
554c0a3abf216c Hans de Goede 2017-03-29 3612
554c0a3abf216c Hans de Goede 2017-03-29 3613 case HW_VAR_EFUSE_BYTES:
554c0a3abf216c Hans de Goede 2017-03-29 3614 pHalData->EfuseUsedBytes = *((u16
*)val);
554c0a3abf216c Hans de Goede 2017-03-29 3615 break;
554c0a3abf216c Hans de Goede 2017-03-29 3616
554c0a3abf216c Hans de Goede 2017-03-29 3617 case HW_VAR_EFUSE_BT_USAGE:
554c0a3abf216c Hans de Goede 2017-03-29 3618 #ifdef HAL_EFUSE_MEMORY
554c0a3abf216c Hans de Goede 2017-03-29 3619
pHalData->EfuseHal.BTEfuseUsedPercentage = *val;
554c0a3abf216c Hans de Goede 2017-03-29 3620 #endif
554c0a3abf216c Hans de Goede 2017-03-29 3621 break;
554c0a3abf216c Hans de Goede 2017-03-29 3622
554c0a3abf216c Hans de Goede 2017-03-29 3623 case HW_VAR_EFUSE_BT_BYTES:
554c0a3abf216c Hans de Goede 2017-03-29 3624 #ifdef HAL_EFUSE_MEMORY
554c0a3abf216c Hans de Goede 2017-03-29 3625 pHalData->EfuseHal.BTEfuseUsedBytes
= *((u16 *)val);
554c0a3abf216c Hans de Goede 2017-03-29 3626 #else
554c0a3abf216c Hans de Goede 2017-03-29 3627 BTEfuseUsedBytes = *((u16 *)val);
554c0a3abf216c Hans de Goede 2017-03-29 3628 #endif
554c0a3abf216c Hans de Goede 2017-03-29 3629 break;
554c0a3abf216c Hans de Goede 2017-03-29 3630
554c0a3abf216c Hans de Goede 2017-03-29 3631 case HW_VAR_FIFO_CLEARN_UP:
554c0a3abf216c Hans de Goede 2017-03-29 3632 {
554c0a3abf216c Hans de Goede 2017-03-29 3633 #define RW_RELEASE_EN BIT(18)
554c0a3abf216c Hans de Goede 2017-03-29 3634 #define RXDMA_IDLE BIT(17)
554c0a3abf216c Hans de Goede 2017-03-29 3635
554c0a3abf216c Hans de Goede 2017-03-29 3636 struct pwrctrl_priv *pwrpriv =
adapter_to_pwrctl(padapter);
554c0a3abf216c Hans de Goede 2017-03-29 3637 u8 trycnt = 100;
554c0a3abf216c Hans de Goede 2017-03-29 3638
554c0a3abf216c Hans de Goede 2017-03-29 3639 /* pause tx */
554c0a3abf216c Hans de Goede 2017-03-29 3640 rtw_write8(padapter, REG_TXPAUSE,
0xff);
554c0a3abf216c Hans de Goede 2017-03-29 3641
554c0a3abf216c Hans de Goede 2017-03-29 3642 /* keep sn */
554c0a3abf216c Hans de Goede 2017-03-29 3643 padapter->xmitpriv.nqos_ssn =
rtw_read16(padapter, REG_NQOS_SEQ);
554c0a3abf216c Hans de Goede 2017-03-29 3644
7036126aa2f5f9 Hariprasad Kelam 2019-06-18 3645 if (!pwrpriv->bkeepfwalive) {
554c0a3abf216c Hans de Goede 2017-03-29 3646 /* RX DMA stop */
554c0a3abf216c Hans de Goede 2017-03-29 3647 val32 = rtw_read32(padapter,
REG_RXPKT_NUM);
554c0a3abf216c Hans de Goede 2017-03-29 3648 val32 |= RW_RELEASE_EN;
554c0a3abf216c Hans de Goede 2017-03-29 3649 rtw_write32(padapter, REG_RXPKT_NUM,
val32);
554c0a3abf216c Hans de Goede 2017-03-29 3650 do {
554c0a3abf216c Hans de Goede 2017-03-29 3651 val32 = rtw_read32(padapter,
REG_RXPKT_NUM);
554c0a3abf216c Hans de Goede 2017-03-29 3652 val32 &= RXDMA_IDLE;
554c0a3abf216c Hans de Goede 2017-03-29 3653 if (val32)
554c0a3abf216c Hans de Goede 2017-03-29 3654 break;
554c0a3abf216c Hans de Goede 2017-03-29 3655 } while (--trycnt);
554c0a3abf216c Hans de Goede 2017-03-29 3656
554c0a3abf216c Hans de Goede 2017-03-29 3657 /* RQPN Load 0 */
554c0a3abf216c Hans de Goede 2017-03-29 3658 rtw_write16(padapter, REG_RQPN_NPQ,
0);
554c0a3abf216c Hans de Goede 2017-03-29 3659 rtw_write32(padapter, REG_RQPN,
0x80000000);
554c0a3abf216c Hans de Goede 2017-03-29 3660 mdelay(2);
554c0a3abf216c Hans de Goede 2017-03-29 3661 }
554c0a3abf216c Hans de Goede 2017-03-29 3662 }
554c0a3abf216c Hans de Goede 2017-03-29 3663 break;
554c0a3abf216c Hans de Goede 2017-03-29 3664
554c0a3abf216c Hans de Goede 2017-03-29 3665 case HW_VAR_APFM_ON_MAC:
554c0a3abf216c Hans de Goede 2017-03-29 3666 pHalData->bMacPwrCtrlOn = *val;
554c0a3abf216c Hans de Goede 2017-03-29 3667 break;
554c0a3abf216c Hans de Goede 2017-03-29 3668
554c0a3abf216c Hans de Goede 2017-03-29 3669 case HW_VAR_NAV_UPPER:
554c0a3abf216c Hans de Goede 2017-03-29 3670 {
554c0a3abf216c Hans de Goede 2017-03-29 3671 u32 usNavUpper = *((u32 *)val);
554c0a3abf216c Hans de Goede 2017-03-29 3672
0b0029ed4d4c83 Fabio Aiuto 2021-04-05 3673 if (usNavUpper >
HAL_NAV_UPPER_UNIT_8723B * 0xFF)
554c0a3abf216c Hans de Goede 2017-03-29 3674 break;
554c0a3abf216c Hans de Goede 2017-03-29 3675
807411911d99fe Wambui Karuga 2019-10-13 3676 usNavUpper =
DIV_ROUND_UP(usNavUpper,
807411911d99fe Wambui Karuga 2019-10-13 3677 HAL_NAV_UPPER_UNIT_8723B);
554c0a3abf216c Hans de Goede 2017-03-29 3678 rtw_write8(padapter, REG_NAV_UPPER,
(u8)usNavUpper);
554c0a3abf216c Hans de Goede 2017-03-29 3679 }
554c0a3abf216c Hans de Goede 2017-03-29 3680 break;
554c0a3abf216c Hans de Goede 2017-03-29 3681
554c0a3abf216c Hans de Goede 2017-03-29 3682 case HW_VAR_H2C_MEDIA_STATUS_RPT:
554c0a3abf216c Hans de Goede 2017-03-29 3683 {
554c0a3abf216c Hans de Goede 2017-03-29 3684 u16 mstatus_rpt = (*(u16 *)val);
554c0a3abf216c Hans de Goede 2017-03-29 3685 u8 mstatus, macId;
554c0a3abf216c Hans de Goede 2017-03-29 3686
554c0a3abf216c Hans de Goede 2017-03-29 3687 mstatus = (u8) (mstatus_rpt &
0xFF);
554c0a3abf216c Hans de Goede 2017-03-29 3688 macId = (u8)(mstatus_rpt >>
8);
554c0a3abf216c Hans de Goede 2017-03-29 3689
rtl8723b_set_FwMediaStatusRpt_cmd(padapter, mstatus, macId);
554c0a3abf216c Hans de Goede 2017-03-29 3690 }
554c0a3abf216c Hans de Goede 2017-03-29 3691 break;
554c0a3abf216c Hans de Goede 2017-03-29 3692 case HW_VAR_BCN_VALID:
554c0a3abf216c Hans de Goede 2017-03-29 3693 {
554c0a3abf216c Hans de Goede 2017-03-29 3694 /* BCN_VALID, BIT16 of REG_TDECTRL =
BIT0 of REG_TDECTRL+2, write 1 to clear, Clear by sw */
554c0a3abf216c Hans de Goede 2017-03-29 3695 val8 = rtw_read8(padapter,
REG_TDECTRL+2);
554c0a3abf216c Hans de Goede 2017-03-29 3696 val8 |= BIT(0);
554c0a3abf216c Hans de Goede 2017-03-29 3697 rtw_write8(padapter, REG_TDECTRL+2,
val8);
554c0a3abf216c Hans de Goede 2017-03-29 3698 }
554c0a3abf216c Hans de Goede 2017-03-29 3699 break;
554c0a3abf216c Hans de Goede 2017-03-29 3700
554c0a3abf216c Hans de Goede 2017-03-29 3701 case HW_VAR_DL_BCN_SEL:
554c0a3abf216c Hans de Goede 2017-03-29 3702 {
554c0a3abf216c Hans de Goede 2017-03-29 3703 /* SW_BCN_SEL - Port0 */
554c0a3abf216c Hans de Goede 2017-03-29 3704 val8 = rtw_read8(padapter,
REG_DWBCN1_CTRL_8723B+2);
554c0a3abf216c Hans de Goede 2017-03-29 3705 val8 &= ~BIT(4);
554c0a3abf216c Hans de Goede 2017-03-29 3706 rtw_write8(padapter,
REG_DWBCN1_CTRL_8723B+2, val8);
554c0a3abf216c Hans de Goede 2017-03-29 3707 }
554c0a3abf216c Hans de Goede 2017-03-29 3708 break;
554c0a3abf216c Hans de Goede 2017-03-29 3709
554c0a3abf216c Hans de Goede 2017-03-29 3710 case HW_VAR_DO_IQK:
554c0a3abf216c Hans de Goede 2017-03-29 3711 pHalData->bNeedIQK = true;
554c0a3abf216c Hans de Goede 2017-03-29 3712 break;
554c0a3abf216c Hans de Goede 2017-03-29 3713
554c0a3abf216c Hans de Goede 2017-03-29 3714 case HW_VAR_DL_RSVD_PAGE:
554c0a3abf216c Hans de Goede 2017-03-29 3715 if
(check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) == true)
554c0a3abf216c Hans de Goede 2017-03-29 3716
rtl8723b_download_BTCoex_AP_mode_rsvd_page(padapter);
554c0a3abf216c Hans de Goede 2017-03-29 3717 else
554c0a3abf216c Hans de Goede 2017-03-29 3718 rtl8723b_download_rsvd_page(padapter,
RT_MEDIA_CONNECT);
554c0a3abf216c Hans de Goede 2017-03-29 3719 break;
554c0a3abf216c Hans de Goede 2017-03-29 3720
554c0a3abf216c Hans de Goede 2017-03-29 3721 case HW_VAR_MACID_SLEEP:
554c0a3abf216c Hans de Goede 2017-03-29 3722 /* Input is MACID */
554c0a3abf216c Hans de Goede 2017-03-29 3723 val32 = *(u32 *)val;
d6b08255f8fb00 Fabio Aiuto 2021-04-10 3724 if (val32 > 31)
554c0a3abf216c Hans de Goede 2017-03-29 3725 break;
d6b08255f8fb00 Fabio Aiuto 2021-04-10 3726
554c0a3abf216c Hans de Goede 2017-03-29 3727 val8 = (u8)val32; /* macid is between
0~31 */
554c0a3abf216c Hans de Goede 2017-03-29 3728
554c0a3abf216c Hans de Goede 2017-03-29 3729 val32 = rtw_read32(padapter,
REG_MACID_SLEEP);
554c0a3abf216c Hans de Goede 2017-03-29 3730 if (val32 & BIT(val8))
554c0a3abf216c Hans de Goede 2017-03-29 3731 break;
554c0a3abf216c Hans de Goede 2017-03-29 3732 val32 |= BIT(val8);
554c0a3abf216c Hans de Goede 2017-03-29 3733 rtw_write32(padapter, REG_MACID_SLEEP,
val32);
554c0a3abf216c Hans de Goede 2017-03-29 3734 break;
554c0a3abf216c Hans de Goede 2017-03-29 3735
554c0a3abf216c Hans de Goede 2017-03-29 3736 case HW_VAR_MACID_WAKEUP:
554c0a3abf216c Hans de Goede 2017-03-29 3737 /* Input is MACID */
554c0a3abf216c Hans de Goede 2017-03-29 3738 val32 = *(u32 *)val;
04c35396c5c6c6 Fabio Aiuto 2021-04-10 3739 if (val32 > 31)
554c0a3abf216c Hans de Goede 2017-03-29 3740 break;
04c35396c5c6c6 Fabio Aiuto 2021-04-10 3741
554c0a3abf216c Hans de Goede 2017-03-29 3742 val8 = (u8)val32; /* macid is between
0~31 */
554c0a3abf216c Hans de Goede 2017-03-29 3743
554c0a3abf216c Hans de Goede 2017-03-29 3744 val32 = rtw_read32(padapter,
REG_MACID_SLEEP);
554c0a3abf216c Hans de Goede 2017-03-29 3745 if (!(val32 & BIT(val8)))
554c0a3abf216c Hans de Goede 2017-03-29 3746 break;
554c0a3abf216c Hans de Goede 2017-03-29 3747 val32 &= ~BIT(val8);
554c0a3abf216c Hans de Goede 2017-03-29 3748 rtw_write32(padapter, REG_MACID_SLEEP,
val32);
554c0a3abf216c Hans de Goede 2017-03-29 3749 break;
554c0a3abf216c Hans de Goede 2017-03-29 3750
554c0a3abf216c Hans de Goede 2017-03-29 3751 default:
554c0a3abf216c Hans de Goede 2017-03-29 3752 SetHwReg(padapter, variable, val);
554c0a3abf216c Hans de Goede 2017-03-29 3753 break;
554c0a3abf216c Hans de Goede 2017-03-29 3754 }
554c0a3abf216c Hans de Goede 2017-03-29 3755 }
554c0a3abf216c Hans de Goede 2017-03-29 3756
:::::: The code at line 3357 was first introduced by commit
:::::: 554c0a3abf216c991c5ebddcdb2c08689ecd290b staging: Add rtl8723bs sdio wifi driver
:::::: TO: Hans de Goede <hdegoede(a)redhat.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org