Lines Matching refs:dig

3580 	struct rtw89_dig_info *dig = &rtwdev->dig;  in rtw89_phy_dig_read_gain_table()  local
3590 gain_arr = dig->lna_gain_g; in rtw89_phy_dig_read_gain_table()
3596 gain_arr = dig->tia_gain_g; in rtw89_phy_dig_read_gain_table()
3602 gain_arr = dig->lna_gain_a; in rtw89_phy_dig_read_gain_table()
3608 gain_arr = dig->tia_gain_a; in rtw89_phy_dig_read_gain_table()
3631 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_update_gain_para() local
3640 dig->ib_pkpwr = sign_extend32(tmp >> DIG_GAIN_SHIFT, U8_MAX_BIT); in rtw89_phy_dig_update_gain_para()
3641 dig->ib_pbk = rtw89_phy_read32_mask(rtwdev, R_PATH0_IB_PBK, in rtw89_phy_dig_update_gain_para()
3644 dig->ib_pkpwr, dig->ib_pbk); in rtw89_phy_dig_update_gain_para()
3659 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_update_rssi_info() local
3663 dig->igi_rssi = ch_info->rssi_min >> 1; in rtw89_phy_dig_update_rssi_info()
3666 dig->igi_rssi = rssi_nolink; in rtw89_phy_dig_update_rssi_info()
3672 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_update_para() local
3679 dig->lna_gain = dig->lna_gain_g; in rtw89_phy_dig_update_para()
3680 dig->tia_gain = dig->tia_gain_g; in rtw89_phy_dig_update_para()
3682 dig->force_gaincode_idx_en = false; in rtw89_phy_dig_update_para()
3683 dig->dyn_pd_th_en = true; in rtw89_phy_dig_update_para()
3687 dig->lna_gain = dig->lna_gain_a; in rtw89_phy_dig_update_para()
3688 dig->tia_gain = dig->tia_gain_a; in rtw89_phy_dig_update_para()
3690 dig->force_gaincode_idx_en = true; in rtw89_phy_dig_update_para()
3691 dig->dyn_pd_th_en = true; in rtw89_phy_dig_update_para()
3694 memcpy(dig->fa_th, fa_th_src, sizeof(dig->fa_th)); in rtw89_phy_dig_update_para()
3695 memcpy(dig->igi_rssi_th, igi_rssi_th, sizeof(dig->igi_rssi_th)); in rtw89_phy_dig_update_para()
3704 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_para_reset() local
3706 dig->cur_gaincode.lna_idx = LNA_IDX_MAX; in rtw89_phy_dig_para_reset()
3707 dig->cur_gaincode.tia_idx = TIA_IDX_MAX; in rtw89_phy_dig_para_reset()
3708 dig->cur_gaincode.rxb_idx = RXB_IDX_MAX; in rtw89_phy_dig_para_reset()
3709 dig->force_gaincode.lna_idx = LNA_IDX_MAX; in rtw89_phy_dig_para_reset()
3710 dig->force_gaincode.tia_idx = TIA_IDX_MAX; in rtw89_phy_dig_para_reset()
3711 dig->force_gaincode.rxb_idx = RXB_IDX_MAX; in rtw89_phy_dig_para_reset()
3713 dig->dyn_igi_max = igi_max_performance_mode; in rtw89_phy_dig_para_reset()
3714 dig->dyn_igi_min = dynamic_igi_min; in rtw89_phy_dig_para_reset()
3715 dig->dyn_pd_th_max = dynamic_pd_threshold_max; in rtw89_phy_dig_para_reset()
3716 dig->pd_low_th_ofst = pd_low_th_offset; in rtw89_phy_dig_para_reset()
3717 dig->is_linked_pre = false; in rtw89_phy_dig_para_reset()
3728 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_lna_idx_by_rssi() local
3731 if (rssi < dig->igi_rssi_th[0]) in rtw89_phy_dig_lna_idx_by_rssi()
3733 else if (rssi < dig->igi_rssi_th[1]) in rtw89_phy_dig_lna_idx_by_rssi()
3735 else if (rssi < dig->igi_rssi_th[2]) in rtw89_phy_dig_lna_idx_by_rssi()
3737 else if (rssi < dig->igi_rssi_th[3]) in rtw89_phy_dig_lna_idx_by_rssi()
3739 else if (rssi < dig->igi_rssi_th[4]) in rtw89_phy_dig_lna_idx_by_rssi()
3749 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_tia_idx_by_rssi() local
3752 if (rssi < dig->igi_rssi_th[0]) in rtw89_phy_dig_tia_idx_by_rssi()
3765 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_rxb_idx_by_rssi() local
3766 s8 lna_gain = dig->lna_gain[set->lna_idx]; in rtw89_phy_dig_rxb_idx_by_rssi()
3767 s8 tia_gain = dig->tia_gain[set->tia_idx]; in rtw89_phy_dig_rxb_idx_by_rssi()
3772 rxb_idx_tmp += dig->ib_pkpwr - dig->ib_pbk - wb_rssi; in rtw89_phy_dig_rxb_idx_by_rssi()
3797 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_igi_offset_by_env() local
3800 u8 igi_offset = dig->fa_rssi_ofst; in rtw89_phy_dig_igi_offset_by_env()
3805 if (fa_ratio < dig->fa_th[0]) in rtw89_phy_dig_igi_offset_by_env()
3807 else if (fa_ratio < dig->fa_th[1]) in rtw89_phy_dig_igi_offset_by_env()
3809 else if (fa_ratio < dig->fa_th[2]) in rtw89_phy_dig_igi_offset_by_env()
3811 else if (fa_ratio < dig->fa_th[3]) in rtw89_phy_dig_igi_offset_by_env()
3822 dig->fa_rssi_ofst = igi_offset; in rtw89_phy_dig_igi_offset_by_env()
3826 dig->fa_th[3], dig->fa_th[2], dig->fa_th[1], dig->fa_th[0]); in rtw89_phy_dig_igi_offset_by_env()
3895 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_config_igi() local
3900 if (dig->force_gaincode_idx_en) { in rtw89_phy_dig_config_igi()
3901 rtw89_phy_dig_set_igi_cr(rtwdev, dig->force_gaincode); in rtw89_phy_dig_config_igi()
3905 rtw89_phy_dig_gaincode_by_rssi(rtwdev, dig->igi_fa_rssi, in rtw89_phy_dig_config_igi()
3906 &dig->cur_gaincode); in rtw89_phy_dig_config_igi()
3907 rtw89_phy_dig_set_igi_cr(rtwdev, dig->cur_gaincode); in rtw89_phy_dig_config_igi()
3917 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_dyn_pd_th() local
3918 u8 final_rssi = 0, under_region = dig->pd_low_th_ofst; in rtw89_phy_dig_dyn_pd_th()
3942 dig->dyn_pd_th_max = dig->igi_rssi; in rtw89_phy_dig_dyn_pd_th()
3944 final_rssi = min_t(u8, rssi, dig->igi_rssi); in rtw89_phy_dig_dyn_pd_th()
3981 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_reset() local
3983 dig->bypass_dig = false; in rtw89_phy_dig_reset()
3985 rtw89_phy_dig_set_igi_cr(rtwdev, dig->force_gaincode); in rtw89_phy_dig_reset()
3994 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig() local
3997 if (unlikely(dig->bypass_dig)) { in rtw89_phy_dig()
3998 dig->bypass_dig = false; in rtw89_phy_dig()
4002 if (!dig->is_linked_pre && is_linked) { in rtw89_phy_dig()
4005 } else if (dig->is_linked_pre && !is_linked) { in rtw89_phy_dig()
4009 dig->is_linked_pre = is_linked; in rtw89_phy_dig()
4014 dig->dyn_igi_min = (dig->igi_rssi > IGI_RSSI_MIN) ? in rtw89_phy_dig()
4015 dig->igi_rssi - IGI_RSSI_MIN : 0; in rtw89_phy_dig()
4016 dig->dyn_igi_max = dig->dyn_igi_min + IGI_OFFSET_MAX; in rtw89_phy_dig()
4017 dig->igi_fa_rssi = dig->dyn_igi_min + dig->fa_rssi_ofst; in rtw89_phy_dig()
4019 dig->igi_fa_rssi = clamp(dig->igi_fa_rssi, dig->dyn_igi_min, in rtw89_phy_dig()
4020 dig->dyn_igi_max); in rtw89_phy_dig()
4024 dig->igi_rssi, dig->dyn_igi_max, dig->dyn_igi_min, in rtw89_phy_dig()
4025 dig->igi_fa_rssi); in rtw89_phy_dig()
4029 rtw89_phy_dig_dyn_pd_th(rtwdev, dig->igi_fa_rssi, dig->dyn_pd_th_en); in rtw89_phy_dig()
4031 if (dig->dyn_pd_th_en && dig->igi_fa_rssi > dig->dyn_pd_th_max) in rtw89_phy_dig()