/linux-6.3-rc2/drivers/gpu/drm/display/ |
A D | drm_dsc_helper.c | 110 dsc_cfg->dsc_version_minor | in drm_dsc_pps_payload_pack() 117 dsc_cfg->line_buf_depth | in drm_dsc_pps_payload_pack() 157 ((dsc_cfg->initial_xmit_delay & in drm_dsc_pps_payload_pack() 173 dsc_cfg->initial_scale_value; in drm_dsc_pps_payload_pack() 181 ((dsc_cfg->scale_decrement_interval & in drm_dsc_pps_payload_pack() 193 dsc_cfg->first_line_bpg_offset; in drm_dsc_pps_payload_pack() 197 cpu_to_be16(dsc_cfg->nfl_bpg_offset); in drm_dsc_pps_payload_pack() 224 dsc_cfg->rc_quant_incr_limit0; in drm_dsc_pps_payload_pack() 228 dsc_cfg->rc_quant_incr_limit1; in drm_dsc_pps_payload_pack() 237 dsc_cfg->rc_buf_thresh[i]; in drm_dsc_pps_payload_pack() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dsc/ |
A D | rc_calc_dpi.c | 89 dsc_cfg->rc_model_size = rc->rc_model_size; in copy_rc_to_cfg() 90 dsc_cfg->rc_edge_factor = rc->rc_edge_factor; in copy_rc_to_cfg() 91 dsc_cfg->rc_tgt_offset_high = rc->rc_tgt_offset_hi; in copy_rc_to_cfg() 92 dsc_cfg->rc_tgt_offset_low = rc->rc_tgt_offset_lo; in copy_rc_to_cfg() 95 dsc_cfg->rc_buf_thresh[i] = rc->rc_buf_thresh[i]; in copy_rc_to_cfg() 103 struct drm_dsc_config dsc_cfg; in dscc_compute_dsc_parameters() local 109 copy_pps_fields(&dsc_cfg, &dsc_params->pps); in dscc_compute_dsc_parameters() 110 copy_rc_to_cfg(&dsc_cfg, rc); in dscc_compute_dsc_parameters() 114 ret = drm_dsc_compute_rc_parameters(&dsc_cfg); in dscc_compute_dsc_parameters() 115 tmp = (unsigned long long)dsc_cfg.slice_chunk_size * 0x10000000 + (dsc_cfg.slice_width - 1); in dscc_compute_dsc_parameters() [all …]
|
A D | dc_dsc.c | 84 struct dc_dsc_config *dsc_cfg); 745 struct dc_dsc_config *dsc_cfg) in setup_dsc_config() argument 761 memset(dsc_cfg, 0, sizeof(struct dc_dsc_config)); in setup_dsc_config() 783 dsc_cfg->ycbcr422_simple = false; in setup_dsc_config() 801 dsc_cfg->ycbcr422_simple = is_dsc_possible; in setup_dsc_config() 903 dsc_cfg->num_slices_h = num_slices_h; in setup_dsc_config() 927 dsc_cfg->num_slices_v = pic_height/slice_height; in setup_dsc_config() 937 dsc_cfg->bits_per_pixel = target_bpp; in setup_dsc_config() 948 dsc_cfg->is_dp = dsc_sink_caps->is_dp; in setup_dsc_config() 965 struct dc_dsc_config *dsc_cfg) in dc_dsc_compute_config() argument [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn20/ |
A D | dcn20_dsc.c | 205 dsc_config_log(dsc, dsc_cfg); in dsc2_set_config() 224 dsc_config_log(dsc, dsc_cfg); in dsc2_get_packed_pps() 384 ASSERT(dsc_cfg->dc_dsc_cfg.version_minor == 1 || dsc_cfg->dc_dsc_cfg.version_minor == 2); in dsc_prepare_config() 385 ASSERT(dsc_cfg->pic_width); in dsc_prepare_config() 386 ASSERT(dsc_cfg->pic_height); in dsc_prepare_config() 394 if (!dsc_cfg->dc_dsc_cfg.num_slices_v || !dsc_cfg->dc_dsc_cfg.num_slices_h || in dsc_prepare_config() 395 !(dsc_cfg->dc_dsc_cfg.version_minor == 1 || dsc_cfg->dc_dsc_cfg.version_minor == 2) || in dsc_prepare_config() 396 !dsc_cfg->pic_width || !dsc_cfg->pic_height || in dsc_prepare_config() 398 8 <= dsc_cfg->dc_dsc_cfg.linebuf_depth && dsc_cfg->dc_dsc_cfg.linebuf_depth <= 13) || in dsc_prepare_config() 424 dsc_reg_vals->pps.slice_width = dsc_cfg->pic_width / dsc_cfg->dc_dsc_cfg.num_slices_h; in dsc_prepare_config() [all …]
|
A D | dcn20_resource.c | 1687 struct dsc_config dsc_cfg; in dcn20_validate_dsc() local 1698 dsc_cfg.pic_width = (stream->timing.h_addressable + stream->timing.h_border_left in dcn20_validate_dsc() 1700 dsc_cfg.pic_height = stream->timing.v_addressable + stream->timing.v_border_top in dcn20_validate_dsc() 1702 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in dcn20_validate_dsc() 1703 dsc_cfg.color_depth = stream->timing.display_color_depth; in dcn20_validate_dsc() 1704 dsc_cfg.is_odm = pipe_ctx->next_odm_pipe ? true : false; in dcn20_validate_dsc() 1705 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in dcn20_validate_dsc() 1706 dsc_cfg.dc_dsc_cfg.num_slices_h /= opp_cnt; in dcn20_validate_dsc() 1708 if (!pipe_ctx->stream_res.dsc->funcs->dsc_validate_stream(pipe_ctx->stream_res.dsc, &dsc_cfg)) in dcn20_validate_dsc()
|
A D | dcn20_stream_encoder.c | 464 && !timing->dsc_cfg.ycbcr422_simple); in is_two_pixels_per_containter()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn314/ |
A D | dcn314_hwseq.c | 107 struct dsc_config dsc_cfg; in update_dsc_on_stream() local 114 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in update_dsc_on_stream() 115 dsc_cfg.color_depth = stream->timing.display_color_depth; in update_dsc_on_stream() 116 dsc_cfg.is_odm = pipe_ctx->next_odm_pipe ? true : false; in update_dsc_on_stream() 117 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in update_dsc_on_stream() 118 ASSERT(dsc_cfg.dc_dsc_cfg.num_slices_h % opp_cnt == 0); in update_dsc_on_stream() 119 dsc_cfg.dc_dsc_cfg.num_slices_h /= opp_cnt; in update_dsc_on_stream() 121 dsc->funcs->dsc_set_config(dsc, &dsc_cfg, &dsc_optc_cfg); in update_dsc_on_stream() 127 odm_dsc->funcs->dsc_set_config(odm_dsc, &dsc_cfg, &dsc_optc_cfg); in update_dsc_on_stream() 130 dsc_cfg.dc_dsc_cfg.num_slices_h *= opp_cnt; in update_dsc_on_stream() [all …]
|
A D | dcn314_dio_stream_encoder.c | 273 && !timing->dsc_cfg.ycbcr422_simple); in is_two_pixels_per_containter()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/inc/hw/ |
A D | dsc.h | 100 …ol (*dsc_validate_stream)(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg); 101 void (*dsc_set_config)(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg, 103 bool (*dsc_get_packed_pps)(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg,
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/core/ |
A D | dc_stream.c | 107 memset(&stream->timing.dsc_cfg, 0, sizeof(stream->timing.dsc_cfg)); in dc_stream_construct() 108 stream->timing.dsc_cfg.num_slices_h = 0; in dc_stream_construct() 109 stream->timing.dsc_cfg.num_slices_v = 0; in dc_stream_construct() 110 stream->timing.dsc_cfg.bits_per_pixel = 128; in dc_stream_construct() 111 stream->timing.dsc_cfg.block_pred_enable = 1; in dc_stream_construct() 112 stream->timing.dsc_cfg.linebuf_depth = 9; in dc_stream_construct() 113 stream->timing.dsc_cfg.version_minor = 2; in dc_stream_construct() 114 stream->timing.dsc_cfg.ycbcr422_simple = 0; in dc_stream_construct() 778 stream->timing.dsc_cfg.mst_pbn); in dc_stream_log()
|
A D | dc.c | 2981 struct dc_dsc_config old_dsc_cfg = stream->timing.dsc_cfg; in copy_stream_update_to_stream() 2992 stream->timing.dsc_cfg = *update->dsc_config; in copy_stream_update_to_stream() 2995 stream->timing.dsc_cfg = old_dsc_cfg; in copy_stream_update_to_stream()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/link/ |
A D | link_dpms.c | 791 struct dsc_config dsc_cfg; in link_set_dsc_on_stream() local 798 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in link_set_dsc_on_stream() 801 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in link_set_dsc_on_stream() 802 ASSERT(dsc_cfg.dc_dsc_cfg.num_slices_h % opp_cnt == 0); in link_set_dsc_on_stream() 803 dsc_cfg.dc_dsc_cfg.num_slices_h /= opp_cnt; in link_set_dsc_on_stream() 813 dsc_cfg.dc_dsc_cfg.num_slices_h *= opp_cnt; in link_set_dsc_on_stream() 814 dsc_cfg.pic_width *= opp_cnt; in link_set_dsc_on_stream() 887 struct dsc_config dsc_cfg; in link_set_dsc_pps_packet() local 890 memset(&dsc_cfg, 0, sizeof(dsc_cfg)); in link_set_dsc_pps_packet() 896 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in link_set_dsc_pps_packet() [all …]
|
A D | link_validation.c | 127 if (timing->flags.DSC && !timing->dsc_cfg.is_frl) in dp_active_dongle_validate_timing() 266 timing->dsc_cfg.bits_per_pixel, in link_timing_bandwidth_kbps() 267 timing->dsc_cfg.num_slices_h, in link_timing_bandwidth_kbps() 268 timing->dsc_cfg.is_dp); in link_timing_bandwidth_kbps()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn32/ |
A D | dcn32_hwseq.c | 953 struct dsc_config dsc_cfg; in update_dsc_on_stream() local 960 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in update_dsc_on_stream() 961 dsc_cfg.color_depth = stream->timing.display_color_depth; in update_dsc_on_stream() 962 dsc_cfg.is_odm = pipe_ctx->next_odm_pipe ? true : false; in update_dsc_on_stream() 963 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in update_dsc_on_stream() 964 ASSERT(dsc_cfg.dc_dsc_cfg.num_slices_h % opp_cnt == 0); in update_dsc_on_stream() 965 dsc_cfg.dc_dsc_cfg.num_slices_h /= opp_cnt; in update_dsc_on_stream() 967 dsc->funcs->dsc_set_config(dsc, &dsc_cfg, &dsc_optc_cfg); in update_dsc_on_stream() 973 odm_dsc->funcs->dsc_set_config(odm_dsc, &dsc_cfg, &dsc_optc_cfg); in update_dsc_on_stream() 976 dsc_cfg.dc_dsc_cfg.num_slices_h *= opp_cnt; in update_dsc_on_stream() [all …]
|
A D | dcn32_dio_stream_encoder.c | 242 && !timing->dsc_cfg.ycbcr422_simple); in is_two_pixels_per_containter()
|
/linux-6.3-rc2/include/drm/display/ |
A D | drm_dsc_helper.h | 16 const struct drm_dsc_config *dsc_cfg);
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/amdgpu_dm/ |
A D | amdgpu_dm_mst_types.c | 685 memset(¶ms[i].timing->dsc_cfg, 0, sizeof(params[i].timing->dsc_cfg)); in set_dsc_configs_from_fairness_vars() 693 ¶ms[i].timing->dsc_cfg)) { in set_dsc_configs_from_fairness_vars() 697 params[i].timing->dsc_cfg.bits_per_pixel = params[i].bpp_overwrite; in set_dsc_configs_from_fairness_vars() 699 params[i].timing->dsc_cfg.bits_per_pixel = vars[i + k].bpp_x16; in set_dsc_configs_from_fairness_vars() 702 params[i].timing->dsc_cfg.num_slices_h = params[i].num_slices_h; in set_dsc_configs_from_fairness_vars() 705 params[i].timing->dsc_cfg.num_slices_v = params[i].num_slices_v; in set_dsc_configs_from_fairness_vars() 709 params[i].timing->dsc_cfg.mst_pbn = vars[i + k].pbn; in set_dsc_configs_from_fairness_vars() 722 params[i].timing->dsc_cfg.bits_per_pixel, in set_dsc_configs_from_fairness_vars()
|
A D | amdgpu_dm.c | 5786 struct dc_dsc_config dsc_cfg = {0}; in apply_dsc_policy_for_edp() local 5813 &dsc_cfg)) { in apply_dsc_policy_for_edp() 5814 stream->timing.dsc_cfg = dsc_cfg; in apply_dsc_policy_for_edp() 5816 stream->timing.dsc_cfg.bits_per_pixel = edp_max_bpp_x16; in apply_dsc_policy_for_edp() 5828 &dsc_cfg)) { in apply_dsc_policy_for_edp() 5829 stream->timing.dsc_cfg = dsc_cfg; in apply_dsc_policy_for_edp() 5868 &stream->timing.dsc_cfg)) { in apply_dsc_policy_for_stream() 5886 &stream->timing.dsc_cfg)) { in apply_dsc_policy_for_stream() 5899 stream->timing.dsc_cfg.num_slices_h = aconnector->dsc_settings.dsc_num_slices_h; in apply_dsc_policy_for_stream() 5902 stream->timing.dsc_cfg.num_slices_v = aconnector->dsc_settings.dsc_num_slices_v; in apply_dsc_policy_for_stream() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/ |
A D | dc_dsc.h | 78 struct dc_dsc_config *dsc_cfg);
|
A D | dc_hw_types.h | 959 struct dc_dsc_config dsc_cfg; member
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/modules/power/ |
A D | power_helpers.c | 932 !stream->timing.dsc_cfg.num_slices_v)) in psr_su_set_dsc_slice_height() 937 slice_height = pic_height / stream->timing.dsc_cfg.num_slices_v; in psr_su_set_dsc_slice_height()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn31/ |
A D | dcn31_dccg.c | 537 && !params->timing->dsc_cfg.ycbcr422_simple)) { in dccg31_set_dtbclk_dto()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dml/dcn20/ |
A D | dcn20_fpu.c | 1261 pipes[pipe_cnt].dout.dsc_slices = res_ctx->pipe_ctx[i].stream->timing.dsc_cfg.num_slices_h; in dcn20_populate_dml_pipes_from_context() 1404 !res_ctx->pipe_ctx[i].stream->timing.dsc_cfg.ycbcr422_simple) in dcn20_populate_dml_pipes_from_context() 1416 …pipes[pipe_cnt].dout.output_bpp = res_ctx->pipe_ctx[i].stream->timing.dsc_cfg.bits_per_pixel / 16.… in dcn20_populate_dml_pipes_from_context()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/display/dc/dcn10/ |
A D | dcn10_optc.c | 1614 && !timing->dsc_cfg.ycbcr422_simple); in optc1_is_two_pixels_per_containter()
|