Lines Matching refs:dig

2410 	struct rtw89_dig_info *dig = &rtwdev->dig;  in rtw89_phy_dig_read_gain_table()  local
2420 gain_arr = dig->lna_gain_g; in rtw89_phy_dig_read_gain_table()
2426 gain_arr = dig->tia_gain_g; in rtw89_phy_dig_read_gain_table()
2432 gain_arr = dig->lna_gain_a; in rtw89_phy_dig_read_gain_table()
2438 gain_arr = dig->tia_gain_a; in rtw89_phy_dig_read_gain_table()
2461 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_update_gain_para() local
2467 dig->ib_pkpwr = sign_extend32(tmp >> DIG_GAIN_SHIFT, U8_MAX_BIT); in rtw89_phy_dig_update_gain_para()
2468 dig->ib_pbk = rtw89_phy_read32_mask(rtwdev, R_PATH0_IB_PBK, in rtw89_phy_dig_update_gain_para()
2471 dig->ib_pkpwr, dig->ib_pbk); in rtw89_phy_dig_update_gain_para()
2486 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_update_rssi_info() local
2490 dig->igi_rssi = ch_info->rssi_min >> 1; in rtw89_phy_dig_update_rssi_info()
2493 dig->igi_rssi = rssi_nolink; in rtw89_phy_dig_update_rssi_info()
2499 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_update_para() local
2505 dig->lna_gain = dig->lna_gain_g; in rtw89_phy_dig_update_para()
2506 dig->tia_gain = dig->tia_gain_g; in rtw89_phy_dig_update_para()
2508 dig->force_gaincode_idx_en = false; in rtw89_phy_dig_update_para()
2509 dig->dyn_pd_th_en = true; in rtw89_phy_dig_update_para()
2513 dig->lna_gain = dig->lna_gain_a; in rtw89_phy_dig_update_para()
2514 dig->tia_gain = dig->tia_gain_a; in rtw89_phy_dig_update_para()
2516 dig->force_gaincode_idx_en = true; in rtw89_phy_dig_update_para()
2517 dig->dyn_pd_th_en = true; in rtw89_phy_dig_update_para()
2520 memcpy(dig->fa_th, fa_th_src, sizeof(dig->fa_th)); in rtw89_phy_dig_update_para()
2521 memcpy(dig->igi_rssi_th, igi_rssi_th, sizeof(dig->igi_rssi_th)); in rtw89_phy_dig_update_para()
2530 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_para_reset() local
2532 dig->cur_gaincode.lna_idx = LNA_IDX_MAX; in rtw89_phy_dig_para_reset()
2533 dig->cur_gaincode.tia_idx = TIA_IDX_MAX; in rtw89_phy_dig_para_reset()
2534 dig->cur_gaincode.rxb_idx = RXB_IDX_MAX; in rtw89_phy_dig_para_reset()
2535 dig->force_gaincode.lna_idx = LNA_IDX_MAX; in rtw89_phy_dig_para_reset()
2536 dig->force_gaincode.tia_idx = TIA_IDX_MAX; in rtw89_phy_dig_para_reset()
2537 dig->force_gaincode.rxb_idx = RXB_IDX_MAX; in rtw89_phy_dig_para_reset()
2539 dig->dyn_igi_max = igi_max_performance_mode; in rtw89_phy_dig_para_reset()
2540 dig->dyn_igi_min = dynamic_igi_min; in rtw89_phy_dig_para_reset()
2541 dig->dyn_pd_th_max = dynamic_pd_threshold_max; in rtw89_phy_dig_para_reset()
2542 dig->pd_low_th_ofst = pd_low_th_offset; in rtw89_phy_dig_para_reset()
2543 dig->is_linked_pre = false; in rtw89_phy_dig_para_reset()
2554 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_lna_idx_by_rssi() local
2557 if (rssi < dig->igi_rssi_th[0]) in rtw89_phy_dig_lna_idx_by_rssi()
2559 else if (rssi < dig->igi_rssi_th[1]) in rtw89_phy_dig_lna_idx_by_rssi()
2561 else if (rssi < dig->igi_rssi_th[2]) in rtw89_phy_dig_lna_idx_by_rssi()
2563 else if (rssi < dig->igi_rssi_th[3]) in rtw89_phy_dig_lna_idx_by_rssi()
2565 else if (rssi < dig->igi_rssi_th[4]) in rtw89_phy_dig_lna_idx_by_rssi()
2575 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_tia_idx_by_rssi() local
2578 if (rssi < dig->igi_rssi_th[0]) in rtw89_phy_dig_tia_idx_by_rssi()
2591 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_rxb_idx_by_rssi() local
2592 s8 lna_gain = dig->lna_gain[set->lna_idx]; in rtw89_phy_dig_rxb_idx_by_rssi()
2593 s8 tia_gain = dig->tia_gain[set->tia_idx]; in rtw89_phy_dig_rxb_idx_by_rssi()
2598 rxb_idx_tmp += dig->ib_pkpwr - dig->ib_pbk - wb_rssi; in rtw89_phy_dig_rxb_idx_by_rssi()
2623 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_igi_offset_by_env() local
2626 u8 igi_offset = dig->fa_rssi_ofst; in rtw89_phy_dig_igi_offset_by_env()
2631 if (fa_ratio < dig->fa_th[0]) in rtw89_phy_dig_igi_offset_by_env()
2633 else if (fa_ratio < dig->fa_th[1]) in rtw89_phy_dig_igi_offset_by_env()
2635 else if (fa_ratio < dig->fa_th[2]) in rtw89_phy_dig_igi_offset_by_env()
2637 else if (fa_ratio < dig->fa_th[3]) in rtw89_phy_dig_igi_offset_by_env()
2648 dig->fa_rssi_ofst = igi_offset; in rtw89_phy_dig_igi_offset_by_env()
2652 dig->fa_th[3], dig->fa_th[2], dig->fa_th[1], dig->fa_th[0]); in rtw89_phy_dig_igi_offset_by_env()
2719 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_dyn_pd_th() local
2720 u8 final_rssi = 0, under_region = dig->pd_low_th_ofst; in rtw89_phy_dig_dyn_pd_th()
2739 dig->dyn_pd_th_max = dig->igi_rssi; in rtw89_phy_dig_dyn_pd_th()
2741 final_rssi = min_t(u8, rssi, dig->igi_rssi); in rtw89_phy_dig_dyn_pd_th()
2749 dig->igi_rssi, final_rssi, under_region, val); in rtw89_phy_dig_dyn_pd_th()
2763 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig_reset() local
2765 dig->bypass_dig = false; in rtw89_phy_dig_reset()
2767 rtw89_phy_dig_set_igi_cr(rtwdev, dig->force_gaincode); in rtw89_phy_dig_reset()
2776 struct rtw89_dig_info *dig = &rtwdev->dig; in rtw89_phy_dig() local
2779 if (unlikely(dig->bypass_dig)) { in rtw89_phy_dig()
2780 dig->bypass_dig = false; in rtw89_phy_dig()
2784 if (!dig->is_linked_pre && is_linked) { in rtw89_phy_dig()
2787 } else if (dig->is_linked_pre && !is_linked) { in rtw89_phy_dig()
2791 dig->is_linked_pre = is_linked; in rtw89_phy_dig()
2796 dig->dyn_igi_min = (dig->igi_rssi > IGI_RSSI_MIN) ? in rtw89_phy_dig()
2797 dig->igi_rssi - IGI_RSSI_MIN : 0; in rtw89_phy_dig()
2798 dig->dyn_igi_max = dig->dyn_igi_min + IGI_OFFSET_MAX; in rtw89_phy_dig()
2799 dig->igi_fa_rssi = dig->dyn_igi_min + dig->fa_rssi_ofst; in rtw89_phy_dig()
2801 dig->igi_fa_rssi = clamp(dig->igi_fa_rssi, dig->dyn_igi_min, in rtw89_phy_dig()
2802 dig->dyn_igi_max); in rtw89_phy_dig()
2806 dig->igi_rssi, dig->dyn_igi_max, dig->dyn_igi_min, in rtw89_phy_dig()
2807 dig->igi_fa_rssi); in rtw89_phy_dig()
2809 if (dig->force_gaincode_idx_en) { in rtw89_phy_dig()
2810 rtw89_phy_dig_set_igi_cr(rtwdev, dig->force_gaincode); in rtw89_phy_dig()
2814 rtw89_phy_dig_gaincode_by_rssi(rtwdev, dig->igi_fa_rssi, in rtw89_phy_dig()
2815 &dig->cur_gaincode); in rtw89_phy_dig()
2816 rtw89_phy_dig_set_igi_cr(rtwdev, dig->cur_gaincode); in rtw89_phy_dig()
2819 rtw89_phy_dig_dyn_pd_th(rtwdev, dig->igi_fa_rssi, dig->dyn_pd_th_en); in rtw89_phy_dig()
2821 if (dig->dyn_pd_th_en && dig->igi_fa_rssi > dig->dyn_pd_th_max) in rtw89_phy_dig()