Lines Matching +full:0 +full:x000ff000
42 rtl_write_byte(rtlpriv, REG_TBTT_PROHIBIT + 1, 0x64); in _rtl88ee_stop_tx_beacon()
44 tmp1byte &= ~(BIT(0)); in _rtl88ee_stop_tx_beacon()
55 rtl_write_byte(rtlpriv, REG_TBTT_PROHIBIT + 1, 0xff); in _rtl88ee_resume_tx_beacon()
57 tmp1byte |= BIT(0); in _rtl88ee_resume_tx_beacon()
63 _rtl88ee_set_bcn_ctrl_reg(hw, 0, BIT(1)); in _rtl88ee_enable_bcn_sub_func()
94 _rtl88ee_set_bcn_ctrl_reg(hw, BIT(1), 0); in _rtl88ee_disable_bcn_sub_func()
103 u32 count = 0, isr_regaddr, content; in _rtl88ee_set_fw_clock_on()
144 rtl_write_word(rtlpriv, isr_regaddr, 0x0100); in _rtl88ee_set_fw_clock_on()
188 for (queue = 0; queue < RTL_PCI_MAX_TX_QUEUE_COUNT; queue++) { in _rtl88ee_set_fw_clock_off()
209 rtl_write_word(rtlpriv, REG_HISR, 0x0100); in _rtl88ee_set_fw_clock_off()
225 u8 rpwm_val = 0; in _rtl88ee_set_fw_ps_rf_on()
233 u8 rpwm_val = 0; in _rtl88ee_set_fw_ps_rf_off_low_power()
253 u8 rpwm_val = 0, fw_pwrmode = FW_PS_ACTIVE_MODE; in _rtl88ee_fwlps_leave()
323 val_rcr &= 0x00070000; in rtl88ee_get_hw_reg()
362 for (idx = 0; idx < ETH_ALEN; idx++) { in rtl88ee_set_hw_reg()
368 u16 b_rate_cfg = ((u16 *)val)[0]; in rtl88ee_set_hw_reg()
369 u8 rate_index = 0; in rtl88ee_set_hw_reg()
370 b_rate_cfg = b_rate_cfg & 0x15f; in rtl88ee_set_hw_reg()
371 b_rate_cfg |= 0x01; in rtl88ee_set_hw_reg()
372 rtl_write_byte(rtlpriv, REG_RRSR, b_rate_cfg & 0xff); in rtl88ee_set_hw_reg()
374 (b_rate_cfg >> 8) & 0xff); in rtl88ee_set_hw_reg()
375 while (b_rate_cfg > 0x1) { in rtl88ee_set_hw_reg()
384 for (idx = 0; idx < ETH_ALEN; idx++) { in rtl88ee_set_hw_reg()
390 rtl_write_byte(rtlpriv, REG_SIFS_CTX + 1, val[0]); in rtl88ee_set_hw_reg()
393 rtl_write_byte(rtlpriv, REG_SPEC_SIFS + 1, val[0]); in rtl88ee_set_hw_reg()
394 rtl_write_byte(rtlpriv, REG_MAC_SPEC_SIFS + 1, val[0]); in rtl88ee_set_hw_reg()
398 0x0e0e); in rtl88ee_set_hw_reg()
407 "HW_VAR_SLOT_TIME %x\n", val[0]); in rtl88ee_set_hw_reg()
409 rtl_write_byte(rtlpriv, REG_SLOT, val[0]); in rtl88ee_set_hw_reg()
411 for (e_aci = 0; e_aci < AC_MAX; e_aci++) { in rtl88ee_set_hw_reg()
422 reg_tmp |= 0x02; in rtl88ee_set_hw_reg()
426 reg_tmp |= 0xFD; in rtl88ee_set_hw_reg()
441 0xf8) | in rtl88ee_set_hw_reg()
469 u8 regtoset_normal[4] = { 0x41, 0xa8, 0x72, 0xb9 }; in rtl88ee_set_hw_reg()
472 u8 index = 0; in rtl88ee_set_hw_reg()
479 if (factor_toset > 0xf) in rtl88ee_set_hw_reg()
480 factor_toset = 0xf; in rtl88ee_set_hw_reg()
482 for (index = 0; index < 4; index++) { in rtl88ee_set_hw_reg()
483 if ((p_regtoset[index] & 0xf0) > in rtl88ee_set_hw_reg()
486 (p_regtoset[index] & 0x0f) | in rtl88ee_set_hw_reg()
489 if ((p_regtoset[index] & 0x0f) > in rtl88ee_set_hw_reg()
492 (p_regtoset[index] & 0xf0) | in rtl88ee_set_hw_reg()
518 (union aci_aifsn *)(&(mac->ac[0].aifs)); in rtl88ee_set_hw_reg()
523 ((rtlpci->acm_method == 2) ? 0x0 : 0x1); in rtl88ee_set_hw_reg()
561 "SetHwReg8190pci(): [HW_VAR_ACM_CTRL] Write 0x%X\n", in rtl88ee_set_hw_reg()
566 rtl_write_dword(rtlpriv, REG_RCR, ((u32 *)(val))[0]); in rtl88ee_set_hw_reg()
567 rtlpci->receive_config = ((u32 *)(val))[0]; in rtl88ee_set_hw_reg()
577 rtl_write_byte(rtlpriv, REG_DUAL_TSF_RST, (BIT(0) | BIT(1))); in rtl88ee_set_hw_reg()
621 u8 count = 0, dlbcn_count = 0; in rtl88ee_set_hw_reg()
630 (tmp_regcr | BIT(0))); in rtl88ee_set_hw_reg()
632 _rtl88ee_set_bcn_ctrl_reg(hw, 0, BIT(3)); in rtl88ee_set_hw_reg()
633 _rtl88ee_set_bcn_ctrl_reg(hw, BIT(4), 0); in rtl88ee_set_hw_reg()
647 (bcnvalid_reg | BIT(0))); in rtl88ee_set_hw_reg()
650 rtl88e_set_fw_rsvdpagepkt(hw, 0); in rtl88ee_set_hw_reg()
653 count = 0; in rtl88ee_set_hw_reg()
654 while (!(bcnvalid_reg & BIT(0)) && count < 20) { in rtl88ee_set_hw_reg()
661 } while (!(bcnvalid_reg & BIT(0)) && dlbcn_count < 5); in rtl88ee_set_hw_reg()
663 if (bcnvalid_reg & BIT(0)) in rtl88ee_set_hw_reg()
664 rtl_write_byte(rtlpriv, REG_TDECTRL+2, BIT(0)); in rtl88ee_set_hw_reg()
666 _rtl88ee_set_bcn_ctrl_reg(hw, BIT(3), 0); in rtl88ee_set_hw_reg()
667 _rtl88ee_set_bcn_ctrl_reg(hw, 0, BIT(4)); in rtl88ee_set_hw_reg()
676 (tmp_regcr & ~(BIT(0)))); in rtl88ee_set_hw_reg()
687 u2btmp &= 0xC000; in rtl88ee_set_hw_reg()
697 _rtl88ee_set_bcn_ctrl_reg(hw, 0, BIT(3)); in rtl88ee_set_hw_reg()
700 (u32)(mac->tsf & 0xffffffff)); in rtl88ee_set_hw_reg()
702 (u32)((mac->tsf >> 32) & 0xffffffff)); in rtl88ee_set_hw_reg()
704 _rtl88ee_set_bcn_ctrl_reg(hw, BIT(3), 0); in rtl88ee_set_hw_reg()
712 array[0] = 0xff; in rtl88ee_set_hw_reg()
727 long count = 0; in _rtl88ee_llt_write()
757 maxpage = 0xAF; in _rtl88ee_llt_table_init()
758 txpktbuf_bndy = 0xAB; in _rtl88ee_llt_table_init()
760 rtl_write_byte(rtlpriv, REG_RQPN_NPQ, 0x01); in _rtl88ee_llt_table_init()
761 rtl_write_dword(rtlpriv, REG_RQPN, 0x80730d29); in _rtl88ee_llt_table_init()
763 /*0x2600 MaxRxBuff=10k-max(TxReportSize(64*8), WOLPattern(16*24)) */ in _rtl88ee_llt_table_init()
764 rtl_write_dword(rtlpriv, REG_TRXFF_BNDY, (0x25FF0000 | txpktbuf_bndy)); in _rtl88ee_llt_table_init()
770 rtl_write_byte(rtlpriv, 0x45D, txpktbuf_bndy); in _rtl88ee_llt_table_init()
771 rtl_write_byte(rtlpriv, REG_PBP, 0x11); in _rtl88ee_llt_table_init()
772 rtl_write_byte(rtlpriv, REG_RX_DRVINFO_SZ, 0x4); in _rtl88ee_llt_table_init()
774 for (i = 0; i < (txpktbuf_bndy - 1); i++) { in _rtl88ee_llt_table_init()
780 status = _rtl88ee_llt_write(hw, (txpktbuf_bndy - 1), 0xFF); in _rtl88ee_llt_table_init()
824 bytetmp = rtl_read_byte(rtlpriv, REG_XCK_OUT_CTRL) & (~BIT(0)); in _rtl88ee_init_mac()
830 rtl_write_byte(rtlpriv, REG_RSV_CTRL, 0x00); in _rtl88ee_init_mac()
853 rtl_write_byte(rtlpriv, REG_TX_RPT_CTRL, bytetmp|BIT(1)|BIT(0)); in _rtl88ee_init_mac()
855 rtl_write_word(rtlpriv, REG_TX_RPT_TIME, 0xcdf0); in _rtl88ee_init_mac()
863 rtl_write_byte(rtlpriv, 0x367, 0x80); in _rtl88ee_init_mac()
865 rtl_write_word(rtlpriv, REG_CR, 0x2ff); in _rtl88ee_init_mac()
866 rtl_write_byte(rtlpriv, REG_CR+1, 0x06); in _rtl88ee_init_mac()
867 rtl_write_byte(rtlpriv, MSR, 0x00); in _rtl88ee_init_mac()
876 rtl_write_dword(rtlpriv, REG_HISR, 0xffffffff); in _rtl88ee_init_mac()
877 rtl_write_dword(rtlpriv, REG_HISRE, 0xffffffff); in _rtl88ee_init_mac()
880 wordtmp &= 0xf; in _rtl88ee_init_mac()
881 wordtmp |= 0xE771; in _rtl88ee_init_mac()
885 rtl_write_word(rtlpriv, REG_RXFLTMAP2, 0xffff); in _rtl88ee_init_mac()
912 rtl_write_dword(rtlpriv, REG_INT_MIG, 0); in _rtl88ee_init_mac()
914 rtl_write_dword(rtlpriv, REG_MCUTST_1, 0x0); in _rtl88ee_init_mac()
915 rtl_write_byte(rtlpriv, REG_PCIE_CTRL_REG+1, 0);/*Enable RX DMA */ in _rtl88ee_init_mac()
919 bytetmp |= 0x1f; in _rtl88ee_init_mac()
921 rtl_write_byte(rtlpriv, REG_EARLY_MODE_CONTROL+3, 0x81); in _rtl88ee_init_mac()
935 rtl_write_byte(rtlpriv, REG_HWSEQ_CTRL, 0xFF); in _rtl88ee_hw_configure()
942 u8 tmp1byte = 0; in _rtl88ee_enable_aspm_back_door()
943 u32 tmp4byte = 0, count = 0; in _rtl88ee_enable_aspm_back_door()
945 rtl_write_word(rtlpriv, 0x354, 0x8104); in _rtl88ee_enable_aspm_back_door()
946 rtl_write_word(rtlpriv, 0x358, 0x24); in _rtl88ee_enable_aspm_back_door()
948 rtl_write_word(rtlpriv, 0x350, 0x70c); in _rtl88ee_enable_aspm_back_door()
949 rtl_write_byte(rtlpriv, 0x352, 0x2); in _rtl88ee_enable_aspm_back_door()
950 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
951 count = 0; in _rtl88ee_enable_aspm_back_door()
954 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
957 if (0 == tmp1byte) { in _rtl88ee_enable_aspm_back_door()
958 tmp4byte = rtl_read_dword(rtlpriv, 0x34c); in _rtl88ee_enable_aspm_back_door()
959 rtl_write_dword(rtlpriv, 0x348, tmp4byte|BIT(31)); in _rtl88ee_enable_aspm_back_door()
960 rtl_write_word(rtlpriv, 0x350, 0xf70c); in _rtl88ee_enable_aspm_back_door()
961 rtl_write_byte(rtlpriv, 0x352, 0x1); in _rtl88ee_enable_aspm_back_door()
964 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
965 count = 0; in _rtl88ee_enable_aspm_back_door()
968 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
972 rtl_write_word(rtlpriv, 0x350, 0x718); in _rtl88ee_enable_aspm_back_door()
973 rtl_write_byte(rtlpriv, 0x352, 0x2); in _rtl88ee_enable_aspm_back_door()
974 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
975 count = 0; in _rtl88ee_enable_aspm_back_door()
978 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
982 if (ppsc->support_backdoor || (0 == tmp1byte)) { in _rtl88ee_enable_aspm_back_door()
983 tmp4byte = rtl_read_dword(rtlpriv, 0x34c); in _rtl88ee_enable_aspm_back_door()
984 rtl_write_dword(rtlpriv, 0x348, tmp4byte|BIT(11)|BIT(12)); in _rtl88ee_enable_aspm_back_door()
985 rtl_write_word(rtlpriv, 0x350, 0xf718); in _rtl88ee_enable_aspm_back_door()
986 rtl_write_byte(rtlpriv, 0x352, 0x1); in _rtl88ee_enable_aspm_back_door()
989 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
990 count = 0; in _rtl88ee_enable_aspm_back_door()
993 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
1023 rtl_write_byte(rtlpriv, REG_CR + 1, 0x02); in rtl88ee_enable_hw_security_config()
1041 int err = 0; in rtl88ee_hw_init()
1061 if ((tmp_u1b & BIT(3)) && (u1byte != 0 && u1byte != 0xEA)) { in rtl88ee_hw_init()
1084 rtlhal->last_hmeboxnum = 0; in rtl88ee_hw_init()
1100 rtl_set_bbreg(hw, RFPGA0_RFMOD, BCCKEN, 0x1); in rtl88ee_hw_init()
1101 rtl_set_bbreg(hw, RFPGA0_RFMOD, BOFDMEN, 0x1); in rtl88ee_hw_init()
1106 rtlphy->rfreg_chnlval[0] = rtl_get_rfreg(hw, (enum radio_path)0, in rtl88ee_hw_init()
1108 rtlphy->rfreg_chnlval[0] = rtlphy->rfreg_chnlval[0] & 0xfff00fff; in rtl88ee_hw_init()
1146 tmp_u1b = efuse_read_1byte(hw, 0x1FA); in rtl88ee_hw_init()
1147 if (!(tmp_u1b & BIT(0))) { in rtl88ee_hw_init()
1148 rtl_set_rfreg(hw, RF90_PATH_A, 0x15, 0x0F, 0x05); in rtl88ee_hw_init()
1153 tmp_u1b = rtl_read_byte(rtlpriv, 0x16); in rtl88ee_hw_init()
1154 tmp_u1b &= 0x0F; in rtl88ee_hw_init()
1155 rtl_write_byte(rtlpriv, 0x16, tmp_u1b | 0x80); in rtl88ee_hw_init()
1157 rtl_write_byte(rtlpriv, 0x16, tmp_u1b | 0x90); in rtl88ee_hw_init()
1180 version = version | ((value32 & TYPE_ID) ? RF_TYPE_2T2R : 0); in _rtl88ee_read_chip_version()
1182 CHIP_VENDOR_UMC : 0); in _rtl88ee_read_chip_version()
1197 u8 bt_msr = rtl_read_byte(rtlpriv, MSR) & 0xfc; in _rtl88ee_set_media_status()
1256 rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x00); in _rtl88ee_set_media_status()
1258 rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x66); in _rtl88ee_set_media_status()
1259 return 0; in _rtl88ee_set_media_status()
1275 _rtl88ee_set_bcn_ctrl_reg(hw, 0, BIT(4)); in rtl88ee_set_check_bssid()
1278 _rtl88ee_set_bcn_ctrl_reg(hw, BIT(4), 0); in rtl88ee_set_check_bssid()
1301 return 0; in rtl88ee_set_network_type()
1313 rtl_write_dword(rtlpriv, REG_EDCA_BK_PARAM, 0xa44f); in rtl88ee_set_qos()
1318 rtl_write_dword(rtlpriv, REG_EDCA_VI_PARAM, 0x5e4322); in rtl88ee_set_qos()
1321 rtl_write_dword(rtlpriv, REG_EDCA_VO_PARAM, 0x2f3222); in rtl88ee_set_qos()
1335 rtlpci->irq_mask[0] & 0xFFFFFFFF); in rtl88ee_enable_interrupt()
1337 rtlpci->irq_mask[1] & 0xFFFFFFFF); in rtl88ee_enable_interrupt()
1344 rtl_write_byte(rtlpriv, REG_C2HEVT_CLEAR, 0); in rtl88ee_enable_interrupt()
1347 rtlpci->sys_irq_mask & 0xFFFFFFFF); in rtl88ee_enable_interrupt()
1366 u32 count = 0; in _rtl88ee_poweroff_adapter()
1380 rtl_write_byte(rtlpriv, REG_PCIE_CTRL_REG+1, 0xFF); in _rtl88ee_poweroff_adapter()
1386 rtl_write_byte(rtlpriv, REG_RF_CTRL, 0x00); in _rtl88ee_poweroff_adapter()
1393 rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00); in _rtl88ee_poweroff_adapter()
1396 rtl_write_byte(rtlpriv, REG_32K_CTRL, (u1b_tmp & (~BIT(0)))); in _rtl88ee_poweroff_adapter()
1406 rtl_write_byte(rtlpriv, REG_RSV_CTRL, 0x0E); in _rtl88ee_poweroff_adapter()
1410 rtl_write_byte(rtlpriv, GPIO_IO_SEL, 0x7F); in _rtl88ee_poweroff_adapter()
1415 rtl_write_byte(rtlpriv, REG_GPIO_IO_SEL+1, u1b_tmp | 0x0F); in _rtl88ee_poweroff_adapter()
1417 rtl_write_dword(rtlpriv, REG_GPIO_IO_SEL_2+2, 0x00080808); in _rtl88ee_poweroff_adapter()
1451 intvec->inta = rtl_read_dword(rtlpriv, ISR) & rtlpci->irq_mask[0]; in rtl88ee_interrupt_recognized()
1471 rtl_write_word(rtlpriv, REG_BCNTCFG, 0x660f); in rtl88ee_set_beacon_related_registers()
1472 rtl_write_byte(rtlpriv, REG_RXTSF_OFFSET_CCK, 0x18); in rtl88ee_set_beacon_related_registers()
1473 rtl_write_byte(rtlpriv, REG_RXTSF_OFFSET_OFDM, 0x18); in rtl88ee_set_beacon_related_registers()
1474 rtl_write_byte(rtlpriv, 0x606, 0x30); in rtl88ee_set_beacon_related_registers()
1503 rtlpci->irq_mask[0] |= add_msr; in rtl88ee_update_interrupt_mask()
1505 rtlpci->irq_mask[0] &= (~rm_msr); in rtl88ee_update_interrupt_mask()
1512 u8 group = 0; in _rtl88e_get_chnl_group()
1515 group = 0; in _rtl88e_get_chnl_group()
1534 for (group = 0 ; group < MAX_CHNL_GROUP_24G; group++) { in set_24g_base()
1535 pwrinfo24g->index_cck_base[rfpath][group] = 0x2D; in set_24g_base()
1536 pwrinfo24g->index_bw40_base[rfpath][group] = 0x2D; in set_24g_base()
1538 for (txcnt = 0; txcnt < MAX_TX_COUNT; txcnt++) { in set_24g_base()
1539 if (txcnt == 0) { in set_24g_base()
1540 pwrinfo24g->bw20_diff[rfpath][0] = 0x02; in set_24g_base()
1541 pwrinfo24g->ofdm_diff[rfpath][0] = 0x04; in set_24g_base()
1543 pwrinfo24g->bw20_diff[rfpath][txcnt] = 0xFE; in set_24g_base()
1544 pwrinfo24g->bw40_diff[rfpath][txcnt] = 0xFE; in set_24g_base()
1545 pwrinfo24g->cck_diff[rfpath][txcnt] = 0xFE; in set_24g_base()
1546 pwrinfo24g->ofdm_diff[rfpath][txcnt] = 0xFE; in set_24g_base()
1557 u32 rfpath, eeaddr = EEPROM_TX_PWR_INX, group, txcnt = 0; in read_power_value_fromprom()
1560 "hal_ReadPowerValueFromPROM88E():PROMContent[0x%x]=0x%x\n", in read_power_value_fromprom()
1562 if (0xFF == hwinfo[eeaddr+1]) /*YJ,add,120316*/ in read_power_value_fromprom()
1568 for (rfpath = 0 ; rfpath < MAX_RF_PATH ; rfpath++) { in read_power_value_fromprom()
1575 for (rfpath = 0 ; rfpath < MAX_RF_PATH ; rfpath++) { in read_power_value_fromprom()
1577 for (group = 0 ; group < MAX_CHNL_GROUP_24G; group++) { in read_power_value_fromprom()
1580 if (pwrinfo24g->index_cck_base[rfpath][group] == 0xFF) in read_power_value_fromprom()
1582 0x2D; in read_power_value_fromprom()
1584 for (group = 0 ; group < MAX_CHNL_GROUP_24G-1; group++) { in read_power_value_fromprom()
1587 if (pwrinfo24g->index_bw40_base[rfpath][group] == 0xFF) in read_power_value_fromprom()
1589 0x2D; in read_power_value_fromprom()
1591 pwrinfo24g->bw40_diff[rfpath][0] = 0; in read_power_value_fromprom()
1592 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1593 pwrinfo24g->bw20_diff[rfpath][0] = 0x02; in read_power_value_fromprom()
1595 pwrinfo24g->bw20_diff[rfpath][0] = in read_power_value_fromprom()
1596 (hwinfo[eeaddr]&0xf0)>>4; in read_power_value_fromprom()
1598 if (pwrinfo24g->bw20_diff[rfpath][0] & BIT(3)) in read_power_value_fromprom()
1599 pwrinfo24g->bw20_diff[rfpath][0] |= 0xF0; in read_power_value_fromprom()
1602 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1603 pwrinfo24g->ofdm_diff[rfpath][0] = 0x04; in read_power_value_fromprom()
1605 pwrinfo24g->ofdm_diff[rfpath][0] = in read_power_value_fromprom()
1606 (hwinfo[eeaddr]&0x0f); in read_power_value_fromprom()
1608 if (pwrinfo24g->ofdm_diff[rfpath][0] & BIT(3)) in read_power_value_fromprom()
1609 pwrinfo24g->ofdm_diff[rfpath][0] |= 0xF0; in read_power_value_fromprom()
1611 pwrinfo24g->cck_diff[rfpath][0] = 0; in read_power_value_fromprom()
1614 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1615 pwrinfo24g->bw40_diff[rfpath][txcnt] = 0xFE; in read_power_value_fromprom()
1618 (hwinfo[eeaddr]&0xf0)>>4; in read_power_value_fromprom()
1622 0xF0; in read_power_value_fromprom()
1625 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1627 0xFE; in read_power_value_fromprom()
1630 (hwinfo[eeaddr]&0x0f); in read_power_value_fromprom()
1634 0xF0; in read_power_value_fromprom()
1638 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1639 pwrinfo24g->ofdm_diff[rfpath][txcnt] = 0xFE; in read_power_value_fromprom()
1642 (hwinfo[eeaddr]&0xf0)>>4; in read_power_value_fromprom()
1646 0xF0; in read_power_value_fromprom()
1649 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1650 pwrinfo24g->cck_diff[rfpath][txcnt] = 0xFE; in read_power_value_fromprom()
1653 (hwinfo[eeaddr]&0x0f); in read_power_value_fromprom()
1657 0xF0; in read_power_value_fromprom()
1663 for (group = 0 ; group < MAX_CHNL_GROUP_5G; group++) { in read_power_value_fromprom()
1666 if (pwrinfo5g->index_bw40_base[rfpath][group] == 0xFF) in read_power_value_fromprom()
1668 0xFE; in read_power_value_fromprom()
1671 pwrinfo5g->bw40_diff[rfpath][0] = 0; in read_power_value_fromprom()
1673 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1674 pwrinfo5g->bw20_diff[rfpath][0] = 0; in read_power_value_fromprom()
1676 pwrinfo5g->bw20_diff[rfpath][0] = in read_power_value_fromprom()
1677 (hwinfo[eeaddr]&0xf0)>>4; in read_power_value_fromprom()
1678 if (pwrinfo5g->bw20_diff[rfpath][0] & BIT(3)) in read_power_value_fromprom()
1679 pwrinfo5g->bw20_diff[rfpath][0] |= 0xF0; in read_power_value_fromprom()
1682 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1683 pwrinfo5g->ofdm_diff[rfpath][0] = 0x04; in read_power_value_fromprom()
1685 pwrinfo5g->ofdm_diff[rfpath][0] = (hwinfo[eeaddr]&0x0f); in read_power_value_fromprom()
1686 if (pwrinfo5g->ofdm_diff[rfpath][0] & BIT(3)) in read_power_value_fromprom()
1687 pwrinfo5g->ofdm_diff[rfpath][0] |= 0xF0; in read_power_value_fromprom()
1691 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1692 pwrinfo5g->bw40_diff[rfpath][txcnt] = 0xFE; in read_power_value_fromprom()
1695 (hwinfo[eeaddr]&0xf0)>>4; in read_power_value_fromprom()
1699 0xF0; in read_power_value_fromprom()
1702 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1703 pwrinfo5g->bw20_diff[rfpath][txcnt] = 0xFE; in read_power_value_fromprom()
1706 (hwinfo[eeaddr]&0x0f); in read_power_value_fromprom()
1710 0xF0; in read_power_value_fromprom()
1715 if (hwinfo[eeaddr] == 0xFF) { in read_power_value_fromprom()
1716 pwrinfo5g->ofdm_diff[rfpath][1] = 0xFE; in read_power_value_fromprom()
1717 pwrinfo5g->ofdm_diff[rfpath][2] = 0xFE; in read_power_value_fromprom()
1720 (hwinfo[eeaddr]&0xf0)>>4; in read_power_value_fromprom()
1722 (hwinfo[eeaddr]&0x0f); in read_power_value_fromprom()
1726 if (hwinfo[eeaddr] == 0xFF) in read_power_value_fromprom()
1727 pwrinfo5g->ofdm_diff[rfpath][3] = 0xFE; in read_power_value_fromprom()
1729 pwrinfo5g->ofdm_diff[rfpath][3] = (hwinfo[eeaddr]&0x0f); in read_power_value_fromprom()
1733 if (pwrinfo5g->ofdm_diff[rfpath][txcnt] == 0xFF) in read_power_value_fromprom()
1734 pwrinfo5g->ofdm_diff[rfpath][txcnt] = 0xFE; in read_power_value_fromprom()
1736 pwrinfo5g->ofdm_diff[rfpath][txcnt] |= 0xF0; in read_power_value_fromprom()
1755 for (rf_path = 0; rf_path < 2; rf_path++) { in _rtl88ee_read_txpower_info_from_hwpg()
1756 for (i = 0; i < 14; i++) { in _rtl88ee_read_txpower_info_from_hwpg()
1764 pwrinfo24g.bw20_diff[rf_path][0]; in _rtl88ee_read_txpower_info_from_hwpg()
1766 pwrinfo24g.ofdm_diff[rf_path][0]; in _rtl88ee_read_txpower_info_from_hwpg()
1769 for (i = 0; i < 14; i++) { in _rtl88ee_read_txpower_info_from_hwpg()
1771 "RF(%d)-Ch(%d) [CCK / HT40_1S ] = [0x%x / 0x%x ]\n", in _rtl88ee_read_txpower_info_from_hwpg()
1784 if (rtlefuse->eeprom_thermalmeter == 0xff || autoload_fail) { in _rtl88ee_read_txpower_info_from_hwpg()
1789 rtlefuse->thermalmeter[0] = rtlefuse->eeprom_thermalmeter; in _rtl88ee_read_txpower_info_from_hwpg()
1791 "thermalmeter = 0x%x\n", rtlefuse->eeprom_thermalmeter); in _rtl88ee_read_txpower_info_from_hwpg()
1795 hwinfo[EEPROM_RF_BOARD_OPTION_88E] & 0x07;/*bit0~2*/ in _rtl88ee_read_txpower_info_from_hwpg()
1796 if (hwinfo[EEPROM_RF_BOARD_OPTION_88E] == 0xFF) in _rtl88ee_read_txpower_info_from_hwpg()
1797 rtlefuse->eeprom_regulatory = 0; in _rtl88ee_read_txpower_info_from_hwpg()
1799 rtlefuse->eeprom_regulatory = 0; in _rtl88ee_read_txpower_info_from_hwpg()
1802 "eeprom_regulatory = 0x%x\n", rtlefuse->eeprom_regulatory); in _rtl88ee_read_txpower_info_from_hwpg()
1823 if (rtlefuse->eeprom_oemid == 0xFF) in _rtl88ee_read_adapter_info()
1824 rtlefuse->eeprom_oemid = 0; in _rtl88ee_read_adapter_info()
1827 "EEPROM Customer ID: 0x%2x\n", rtlefuse->eeprom_oemid); in _rtl88ee_read_adapter_info()
1842 ((hwinfo[EEPROM_RF_BOARD_OPTION_88E] & 0xE0) >> 5); in _rtl88ee_read_adapter_info()
1846 ((hwinfo[EEPROM_RF_FEATURE_OPTION_88E] & 0x40) >> 6); in _rtl88ee_read_adapter_info()
1850 rtlefuse->crystalcap = 0x20; in _rtl88ee_read_adapter_info()
1853 (hwinfo[EEPROM_RF_BOARD_OPTION_88E] & 0x18) >> 3; in _rtl88ee_read_adapter_info()
1854 if (hwinfo[EEPROM_RF_BOARD_OPTION_88E] == 0xFF) in _rtl88ee_read_adapter_info()
1855 rtlefuse->antenna_div_cfg = 0; in _rtl88ee_read_adapter_info()
1856 if (rtlpriv->btcoexist.eeprom_bt_coexist != 0 && in _rtl88ee_read_adapter_info()
1858 rtlefuse->antenna_div_cfg = 0; in _rtl88ee_read_adapter_info()
1861 if (rtlefuse->antenna_div_type == 0xFF) in _rtl88ee_read_adapter_info()
1862 rtlefuse->antenna_div_type = 0x01; in _rtl88ee_read_adapter_info()
1870 if (rtlefuse->eeprom_did == 0x8179) { in _rtl88ee_read_adapter_info()
1871 if (rtlefuse->eeprom_svid == 0x1025) { in _rtl88ee_read_adapter_info()
1873 } else if ((rtlefuse->eeprom_svid == 0x10EC && in _rtl88ee_read_adapter_info()
1874 rtlefuse->eeprom_smid == 0x0179) || in _rtl88ee_read_adapter_info()
1875 (rtlefuse->eeprom_svid == 0x17AA && in _rtl88ee_read_adapter_info()
1876 rtlefuse->eeprom_smid == 0x0179)) { in _rtl88ee_read_adapter_info()
1878 } else if (rtlefuse->eeprom_svid == 0x103c && in _rtl88ee_read_adapter_info()
1879 rtlefuse->eeprom_smid == 0x197d) { in _rtl88ee_read_adapter_info()
1926 "RT Customized ID: 0x%02X\n", rtlhal->oem_id); in _rtl88ee_hal_customized_behavior()
1939 rtlpriv->dm.rfpath_rxenable[0] = true; in rtl88ee_read_eeprom_info()
1941 rtlpriv->dm.rfpath_rxenable[0] = in rtl88ee_read_eeprom_info()
1943 rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD, "VersionID = 0x%4x\n", in rtl88ee_read_eeprom_info()
1971 u8 ratr_index = 0; in rtl88ee_update_hal_rate_table()
1978 1 : 0; in rtl88ee_update_hal_rate_table()
1980 1 : 0; in rtl88ee_update_hal_rate_table()
1987 ratr_value = sta->deflink.supp_rates[0]; in rtl88ee_update_hal_rate_table()
1989 ratr_value = 0xfff; in rtl88ee_update_hal_rate_table()
1991 sta->deflink.ht_cap.mcs.rx_mask[0] << 12); in rtl88ee_update_hal_rate_table()
1994 if (ratr_value & 0x0000000c) in rtl88ee_update_hal_rate_table()
1995 ratr_value &= 0x0000000d; in rtl88ee_update_hal_rate_table()
1997 ratr_value &= 0x0000000f; in rtl88ee_update_hal_rate_table()
2000 ratr_value &= 0x00000FF5; in rtl88ee_update_hal_rate_table()
2007 ratr_mask = 0x000ff005; in rtl88ee_update_hal_rate_table()
2009 ratr_mask = 0x0f0ff005; in rtl88ee_update_hal_rate_table()
2015 ratr_value &= 0x000ff0ff; in rtl88ee_update_hal_rate_table()
2017 ratr_value &= 0x0f0ff0ff; in rtl88ee_update_hal_rate_table()
2028 ratr_value &= 0x0fffcfc0; in rtl88ee_update_hal_rate_table()
2030 ratr_value &= 0x0FFFFFFF; in rtl88ee_update_hal_rate_table()
2035 ratr_value |= 0x10000000; in rtl88ee_update_hal_rate_table()
2038 for (shortgi_rate = 15; shortgi_rate > 0; shortgi_rate--) { in rtl88ee_update_hal_rate_table()
2064 ? 1 : 0; in rtl88ee_update_hal_rate_mask()
2066 1 : 0; in rtl88ee_update_hal_rate_mask()
2068 1 : 0; in rtl88ee_update_hal_rate_mask()
2069 enum wireless_mode wirelessmode = 0; in rtl88ee_update_hal_rate_mask()
2072 u8 macid = 0; in rtl88ee_update_hal_rate_mask()
2087 ratr_bitmap = sta->deflink.supp_rates[0]; in rtl88ee_update_hal_rate_mask()
2089 ratr_bitmap = 0xfff; in rtl88ee_update_hal_rate_mask()
2091 sta->deflink.ht_cap.mcs.rx_mask[0] << 12); in rtl88ee_update_hal_rate_mask()
2095 if (ratr_bitmap & 0x0000000c) in rtl88ee_update_hal_rate_mask()
2096 ratr_bitmap &= 0x0000000d; in rtl88ee_update_hal_rate_mask()
2098 ratr_bitmap &= 0x0000000f; in rtl88ee_update_hal_rate_mask()
2104 ratr_bitmap &= 0x00000f00; in rtl88ee_update_hal_rate_mask()
2106 ratr_bitmap &= 0x00000ff0; in rtl88ee_update_hal_rate_mask()
2108 ratr_bitmap &= 0x00000ff5; in rtl88ee_update_hal_rate_mask()
2117 ratr_bitmap &= 0x000f0000; in rtl88ee_update_hal_rate_mask()
2119 ratr_bitmap &= 0x000ff000; in rtl88ee_update_hal_rate_mask()
2121 ratr_bitmap &= 0x000ff015; in rtl88ee_update_hal_rate_mask()
2124 ratr_bitmap &= 0x000f0000; in rtl88ee_update_hal_rate_mask()
2126 ratr_bitmap &= 0x000ff000; in rtl88ee_update_hal_rate_mask()
2128 ratr_bitmap &= 0x000ff005; in rtl88ee_update_hal_rate_mask()
2133 ratr_bitmap &= 0x0f8f0000; in rtl88ee_update_hal_rate_mask()
2135 ratr_bitmap &= 0x0f8ff000; in rtl88ee_update_hal_rate_mask()
2137 ratr_bitmap &= 0x0f8ff015; in rtl88ee_update_hal_rate_mask()
2140 ratr_bitmap &= 0x0f8f0000; in rtl88ee_update_hal_rate_mask()
2142 ratr_bitmap &= 0x0f8ff000; in rtl88ee_update_hal_rate_mask()
2144 ratr_bitmap &= 0x0f8ff005; in rtl88ee_update_hal_rate_mask()
2152 if (macid == 0) in rtl88ee_update_hal_rate_mask()
2162 ratr_bitmap &= 0x000ff0ff; in rtl88ee_update_hal_rate_mask()
2164 ratr_bitmap &= 0x0f0ff0ff; in rtl88ee_update_hal_rate_mask()
2171 *(u32 *)&rate_mask = (ratr_bitmap & 0x0fffffff) | in rtl88ee_update_hal_rate_mask()
2173 rate_mask[4] = macid | (b_shortgi ? 0x20 : 0x00) | 0x80; in rtl88ee_update_hal_rate_mask()
2177 rate_mask[0], rate_mask[1], in rtl88ee_update_hal_rate_mask()
2181 _rtl88ee_set_bcn_ctrl_reg(hw, BIT(3), 0); in rtl88ee_update_hal_rate_mask()
2203 sifs_timer = 0x0a0a; in rtl88ee_update_channel_access_setting()
2205 sifs_timer = 0x0e0e; in rtl88ee_update_channel_access_setting()
2278 u32 entry_id = 0; in rtl88ee_set_key()
2281 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, in rtl88ee_set_key()
2282 {0x00, 0x00, 0x00, 0x00, 0x00, 0x01}, in rtl88ee_set_key()
2283 {0x00, 0x00, 0x00, 0x00, 0x00, 0x02}, in rtl88ee_set_key()
2284 {0x00, 0x00, 0x00, 0x00, 0x00, 0x03} in rtl88ee_set_key()
2287 0xff, 0xff, 0xff, 0xff, 0xff, 0xff in rtl88ee_set_key()
2291 u8 idx = 0; in rtl88ee_set_key()
2292 u8 cam_offset = 0; in rtl88ee_set_key()
2297 for (idx = 0; idx < clear_number; idx++) { in rtl88ee_set_key()
2302 memset(rtlpriv->sec.key_buf[idx], 0, in rtl88ee_set_key()
2304 rtlpriv->sec.key_len[idx] = 0; in rtl88ee_set_key()
2353 if (rtlpriv->sec.key_len[key_index] == 0) { in rtl88ee_set_key()
2428 rtlpriv->btcoexist.bt_edca_ul = 0; in rtl8188ee_bt_var_init()
2429 rtlpriv->btcoexist.bt_edca_dl = 0; in rtl8188ee_bt_var_init()
2430 rtlpriv->btcoexist.bt_rssi_state = 0xff; in rtl8188ee_bt_var_init()
2442 ((hwinfo[EEPROM_RF_FEATURE_OPTION_88E] & 0xe0) >> 5); in rtl8188ee_read_bt_coexist_info_from_hwpg()
2443 if (hwinfo[EEPROM_RF_FEATURE_OPTION_88E] == 0xFF) in rtl8188ee_read_bt_coexist_info_from_hwpg()
2444 rtlpriv->btcoexist.eeprom_bt_coexist = 0; in rtl8188ee_read_bt_coexist_info_from_hwpg()
2446 rtlpriv->btcoexist.eeprom_bt_type = ((value & 0xe) >> 1); in rtl8188ee_read_bt_coexist_info_from_hwpg()
2447 rtlpriv->btcoexist.eeprom_bt_ant_num = (value & 0x1); in rtl8188ee_read_bt_coexist_info_from_hwpg()
2448 rtlpriv->btcoexist.eeprom_bt_ant_isol = ((value & 0x10) >> 4); in rtl8188ee_read_bt_coexist_info_from_hwpg()
2450 ((value & 0x20) >> 5); in rtl8188ee_read_bt_coexist_info_from_hwpg()
2452 rtlpriv->btcoexist.eeprom_bt_coexist = 0; in rtl8188ee_read_bt_coexist_info_from_hwpg()
2455 rtlpriv->btcoexist.eeprom_bt_ant_isol = 0; in rtl8188ee_read_bt_coexist_info_from_hwpg()
2466 /* 0:Low, 1:High, 2:From Efuse. */ in rtl8188ee_bt_reg_init()
2468 /* 0:Disable BT control A-MPDU, 1:Enable BT control A-MPDU. */ in rtl8188ee_bt_reg_init()
2469 rtlpriv->btcoexist.reg_bt_sco = 0; in rtl8188ee_bt_reg_init()
2482 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, 0xa0); in rtl8188ee_bt_hw_init()
2484 u1_tmp = rtl_read_byte(rtlpriv, 0x4fd) & BIT(0); in rtl8188ee_bt_hw_init()
2487 0 : BIT((1)) | in rtl8188ee_bt_hw_init()
2489 0 : BIT(2))); in rtl8188ee_bt_hw_init()
2490 rtl_write_byte(rtlpriv, 0x4fd, u1_tmp); in rtl8188ee_bt_hw_init()
2492 rtl_write_dword(rtlpriv, REG_BT_COEX_TABLE+4, 0xaaaa9aaa); in rtl8188ee_bt_hw_init()
2493 rtl_write_dword(rtlpriv, REG_BT_COEX_TABLE+8, 0xffbd0040); in rtl8188ee_bt_hw_init()
2494 rtl_write_dword(rtlpriv, REG_BT_COEX_TABLE+0xc, 0x40000010); in rtl8188ee_bt_hw_init()