Lines Matching refs:dig

5833 	struct rtw89_dig_info *dig = &rtwdev->dig;
5843 gain_arr = dig->lna_gain_g;
5849 gain_arr = dig->tia_gain_g;
5855 gain_arr = dig->lna_gain_a;
5861 gain_arr = dig->tia_gain_a;
5884 struct rtw89_dig_info *dig = &rtwdev->dig;
5893 dig->ib_pkpwr = sign_extend32(tmp >> DIG_GAIN_SHIFT, U8_MAX_BIT);
5894 dig->ib_pbk = rtw89_phy_read32_mask(rtwdev, R_PATH0_IB_PBK,
5897 dig->ib_pkpwr, dig->ib_pbk);
5912 struct rtw89_dig_info *dig = &rtwdev->dig;
5916 dig->igi_rssi = ch_info->rssi_min >> 1;
5919 dig->igi_rssi = rssi_nolink;
5925 struct rtw89_dig_info *dig = &rtwdev->dig;
5932 dig->lna_gain = dig->lna_gain_g;
5933 dig->tia_gain = dig->tia_gain_g;
5935 dig->force_gaincode_idx_en = false;
5936 dig->dyn_pd_th_en = true;
5940 dig->lna_gain = dig->lna_gain_a;
5941 dig->tia_gain = dig->tia_gain_a;
5943 dig->force_gaincode_idx_en = true;
5944 dig->dyn_pd_th_en = true;
5947 memcpy(dig->fa_th, fa_th_src, sizeof(dig->fa_th));
5948 memcpy(dig->igi_rssi_th, igi_rssi_th, sizeof(dig->igi_rssi_th));
5957 struct rtw89_dig_info *dig = &rtwdev->dig;
5959 dig->cur_gaincode.lna_idx = LNA_IDX_MAX;
5960 dig->cur_gaincode.tia_idx = TIA_IDX_MAX;
5961 dig->cur_gaincode.rxb_idx = RXB_IDX_MAX;
5962 dig->force_gaincode.lna_idx = LNA_IDX_MAX;
5963 dig->force_gaincode.tia_idx = TIA_IDX_MAX;
5964 dig->force_gaincode.rxb_idx = RXB_IDX_MAX;
5966 dig->dyn_igi_max = igi_max_performance_mode;
5967 dig->dyn_igi_min = dynamic_igi_min;
5968 dig->dyn_pd_th_max = dynamic_pd_threshold_max;
5969 dig->pd_low_th_ofst = pd_low_th_offset;
5970 dig->is_linked_pre = false;
5981 struct rtw89_dig_info *dig = &rtwdev->dig;
5984 if (rssi < dig->igi_rssi_th[0])
5986 else if (rssi < dig->igi_rssi_th[1])
5988 else if (rssi < dig->igi_rssi_th[2])
5990 else if (rssi < dig->igi_rssi_th[3])
5992 else if (rssi < dig->igi_rssi_th[4])
6002 struct rtw89_dig_info *dig = &rtwdev->dig;
6005 if (rssi < dig->igi_rssi_th[0])
6018 struct rtw89_dig_info *dig = &rtwdev->dig;
6019 s8 lna_gain = dig->lna_gain[set->lna_idx];
6020 s8 tia_gain = dig->tia_gain[set->tia_idx];
6025 rxb_idx_tmp += dig->ib_pkpwr - dig->ib_pbk - wb_rssi;
6050 struct rtw89_dig_info *dig = &rtwdev->dig;
6053 u8 igi_offset = dig->fa_rssi_ofst;
6058 if (fa_ratio < dig->fa_th[0])
6060 else if (fa_ratio < dig->fa_th[1])
6062 else if (fa_ratio < dig->fa_th[2])
6064 else if (fa_ratio < dig->fa_th[3])
6075 dig->fa_rssi_ofst = igi_offset;
6079 dig->fa_th[3], dig->fa_th[2], dig->fa_th[1], dig->fa_th[0]);
6151 struct rtw89_dig_info *dig = &rtwdev->dig;
6156 if (dig->force_gaincode_idx_en) {
6157 rtw89_phy_dig_set_igi_cr(rtwdev, dig->force_gaincode);
6161 rtw89_phy_dig_gaincode_by_rssi(rtwdev, dig->igi_fa_rssi,
6162 &dig->cur_gaincode);
6163 rtw89_phy_dig_set_igi_cr(rtwdev, dig->cur_gaincode);
6173 struct rtw89_dig_info *dig = &rtwdev->dig;
6174 u8 final_rssi = 0, under_region = dig->pd_low_th_ofst;
6199 dig->dyn_pd_th_max = dig->igi_rssi;
6201 final_rssi = min_t(u8, rssi, dig->igi_rssi);
6238 struct rtw89_dig_info *dig = &rtwdev->dig;
6240 dig->bypass_dig = false;
6242 rtw89_phy_dig_set_igi_cr(rtwdev, dig->force_gaincode);
6252 struct rtw89_dig_info *dig = &rtwdev->dig;
6256 if (unlikely(dig->bypass_dig)) {
6257 dig->bypass_dig = false;
6263 if (!dig->is_linked_pre && is_linked) {
6266 dig->igi_fa_rssi = dig->igi_rssi;
6267 } else if (dig->is_linked_pre && !is_linked) {
6270 dig->igi_fa_rssi = dig->igi_rssi;
6272 dig->is_linked_pre = is_linked;
6276 igi_min = max_t(int, dig->igi_rssi - IGI_RSSI_MIN, 0);
6277 dig->dyn_igi_max = min(igi_min + IGI_OFFSET_MAX, igi_max_performance_mode);
6278 dig->dyn_igi_min = max(igi_min, ABS_IGI_MIN);
6280 if (dig->dyn_igi_max >= dig->dyn_igi_min) {
6281 dig->igi_fa_rssi += dig->fa_rssi_ofst;
6282 dig->igi_fa_rssi = clamp(dig->igi_fa_rssi, dig->dyn_igi_min,
6283 dig->dyn_igi_max);
6285 dig->igi_fa_rssi = dig->dyn_igi_max;
6290 dig->igi_rssi, dig->dyn_igi_max, dig->dyn_igi_min,
6291 dig->igi_fa_rssi);
6295 rtw89_phy_dig_dyn_pd_th(rtwdev, dig->igi_fa_rssi, dig->dyn_pd_th_en);
6297 if (dig->dyn_pd_th_en && dig->igi_fa_rssi > dig->dyn_pd_th_max)