/linux/drivers/gpu/drm/amd/display/dc/dsc/ |
H A D | rc_calc_dpi.c | 71 static void copy_rc_to_cfg(struct drm_dsc_config *dsc_cfg, const struct rc_params *rc) in copy_rc_to_cfg() argument 75 dsc_cfg->rc_quant_incr_limit0 = rc->rc_quant_incr_limit0; in copy_rc_to_cfg() 76 dsc_cfg->rc_quant_incr_limit1 = rc->rc_quant_incr_limit1; in copy_rc_to_cfg() 77 dsc_cfg->initial_offset = rc->initial_fullness_offset; in copy_rc_to_cfg() 78 dsc_cfg->initial_xmit_delay = rc->initial_xmit_delay; in copy_rc_to_cfg() 79 dsc_cfg->first_line_bpg_offset = rc->first_line_bpg_offset; in copy_rc_to_cfg() 80 dsc_cfg->second_line_bpg_offset = rc->second_line_bpg_offset; in copy_rc_to_cfg() 81 dsc_cfg->flatness_min_qp = rc->flatness_min_qp; in copy_rc_to_cfg() 82 dsc_cfg->flatness_max_qp = rc->flatness_max_qp; in copy_rc_to_cfg() 84 dsc_cfg->rc_range_params[i].range_min_qp = rc->qp_min[i]; in copy_rc_to_cfg() [all …]
|
H A D | dc_dsc.c | 99 timing->dsc_cfg.bits_per_pixel, in dc_bandwidth_in_kbps_from_timing() 100 timing->dsc_cfg.num_slices_h, in dc_bandwidth_in_kbps_from_timing() 101 timing->dsc_cfg.is_dp); in dc_bandwidth_in_kbps_from_timing() 186 struct dc_dsc_config *dsc_cfg); 913 struct dc_dsc_config *dsc_cfg) in setup_dsc_config() argument 929 memset(dsc_cfg, 0, sizeof(struct dc_dsc_config)); in setup_dsc_config() 951 dsc_cfg->ycbcr422_simple = false; in setup_dsc_config() 969 dsc_cfg->ycbcr422_simple = is_dsc_possible; in setup_dsc_config() 1094 dsc_cfg->num_slices_h = num_slices_h; in setup_dsc_config() 1120 dsc_cfg->num_slices_v = pic_height / slice_height; in setup_dsc_config() [all …]
|
H A D | dsc.h | 102 …ol (*dsc_validate_stream)(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg); 103 void (*dsc_set_config)(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg, 105 bool (*dsc_get_packed_pps)(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg,
|
/linux/drivers/gpu/drm/amd/display/dc/dsc/dcn20/ |
H A D | dcn20_dsc.c | 166 bool dsc2_validate_stream(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg) in dsc2_validate_stream() argument 171 if (dsc_cfg->pic_width > dsc20->max_image_width) in dsc2_validate_stream() 174 return dsc_prepare_config(dsc_cfg, &dsc20->reg_vals, &dsc_optc_cfg); in dsc2_validate_stream() 189 void dsc2_set_config(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg, in dsc2_set_config() argument 196 dsc_config_log(dsc, dsc_cfg); in dsc2_set_config() 197 is_config_ok = dsc_prepare_config(dsc_cfg, &dsc20->reg_vals, dsc_optc_cfg); in dsc2_set_config() 205 bool dsc2_get_packed_pps(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg, u… in dsc2_get_packed_pps() argument 215 dsc_config_log(dsc, dsc_cfg); in dsc2_get_packed_pps() 217 is_config_ok = dsc_prepare_config(dsc_cfg, &dsc_reg_vals, &dsc_optc_cfg); in dsc2_get_packed_pps() 369 bool dsc_prepare_config(const struct dsc_config *dsc_cfg, struct dsc_reg_values *dsc_reg_vals, in dsc_prepare_config() argument [all …]
|
H A D | dcn20_dsc.h | 575 bool dsc_prepare_config(const struct dsc_config *dsc_cfg, 599 const struct dsc_config *dsc_cfg, 603 bool dsc2_validate_stream(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg); 604 void dsc2_set_config(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg,
|
/linux/drivers/gpu/drm/display/ |
H A D | drm_dsc_helper.c | 99 const struct drm_dsc_config *dsc_cfg) in drm_dsc_pps_payload_pack() argument 111 dsc_cfg->dsc_version_minor | in drm_dsc_pps_payload_pack() 112 dsc_cfg->dsc_version_major << DSC_PPS_VERSION_MAJOR_SHIFT; in drm_dsc_pps_payload_pack() 118 dsc_cfg->line_buf_depth | in drm_dsc_pps_payload_pack() 119 dsc_cfg->bits_per_component << DSC_PPS_BPC_SHIFT; in drm_dsc_pps_payload_pack() 123 ((dsc_cfg->bits_per_pixel & DSC_PPS_BPP_HIGH_MASK) >> in drm_dsc_pps_payload_pack() 125 dsc_cfg->vbr_enable << DSC_PPS_VBR_EN_SHIFT | in drm_dsc_pps_payload_pack() 126 dsc_cfg->simple_422 << DSC_PPS_SIMPLE422_SHIFT | in drm_dsc_pps_payload_pack() 127 dsc_cfg->convert_rgb << DSC_PPS_CONVERT_RGB_SHIFT | in drm_dsc_pps_payload_pack() 128 dsc_cfg->block_pred_enable << DSC_PPS_BLOCK_PRED_EN_SHIFT; in drm_dsc_pps_payload_pack() [all …]
|
/linux/drivers/gpu/drm/amd/display/dc/hwss/dcn314/ |
H A D | dcn314_hwseq.c | 84 struct dsc_config dsc_cfg; in update_dsc_on_stream() local 89 …dsc_cfg.pic_width = (stream->timing.h_addressable + stream->timing.h_border_left + stream->timing.… in update_dsc_on_stream() 90 …dsc_cfg.pic_height = stream->timing.v_addressable + stream->timing.v_border_top + stream->timing.v… in update_dsc_on_stream() 91 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in update_dsc_on_stream() 92 dsc_cfg.color_depth = stream->timing.display_color_depth; in update_dsc_on_stream() 93 dsc_cfg.is_odm = pipe_ctx->next_odm_pipe ? true : false; in update_dsc_on_stream() 94 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in update_dsc_on_stream() 95 ASSERT(dsc_cfg.dc_dsc_cfg.num_slices_h % opp_cnt == 0); in update_dsc_on_stream() 96 dsc_cfg.dc_dsc_cfg.num_slices_h /= opp_cnt; in update_dsc_on_stream() 98 dsc->funcs->dsc_set_config(dsc, &dsc_cfg, &dsc_optc_cfg); in update_dsc_on_stream() [all …]
|
/linux/drivers/gpu/drm/amd/display/dc/dsc/dcn401/ |
H A D | dcn401_dsc.c | 20 …ol dsc401_validate_stream(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg); 21 …tic void dsc401_set_config(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg, 137 …ool dsc401_validate_stream(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg) in dsc401_validate_stream() argument 142 if (dsc_cfg->pic_width > dsc401->max_image_width) in dsc401_validate_stream() 145 return dsc_prepare_config(dsc_cfg, &dsc401->reg_vals, &dsc_optc_cfg); in dsc401_validate_stream() 148 …tic void dsc401_set_config(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg, in dsc401_set_config() argument 155 dsc_config_log(dsc, dsc_cfg); in dsc401_set_config() 156 is_config_ok = dsc_prepare_config(dsc_cfg, &dsc401->reg_vals, dsc_optc_cfg); in dsc401_set_config()
|
/linux/drivers/gpu/drm/amd/display/dc/link/ |
H A D | link_dpms.c | 820 struct dsc_config dsc_cfg; in link_set_dsc_on_stream() local 825 dsc_cfg.pic_width = (stream->timing.h_addressable + pipe_ctx->hblank_borrow + in link_set_dsc_on_stream() 827 …dsc_cfg.pic_height = stream->timing.v_addressable + stream->timing.v_border_top + stream->timing.v… in link_set_dsc_on_stream() 828 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in link_set_dsc_on_stream() 829 dsc_cfg.color_depth = stream->timing.display_color_depth; in link_set_dsc_on_stream() 830 dsc_cfg.is_odm = pipe_ctx->next_odm_pipe ? true : false; in link_set_dsc_on_stream() 831 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in link_set_dsc_on_stream() 832 ASSERT(dsc_cfg.dc_dsc_cfg.num_slices_h % opp_cnt == 0); in link_set_dsc_on_stream() 833 dsc_cfg.dc_dsc_cfg.num_slices_h /= opp_cnt; in link_set_dsc_on_stream() 837 dsc->funcs->dsc_set_config(dsc, &dsc_cfg, &dsc_optc_cfg); in link_set_dsc_on_stream() [all …]
|
H A D | link_validation.c | 128 if (timing->flags.DSC && !timing->dsc_cfg.is_frl) in dp_active_dongle_validate_timing()
|
/linux/drivers/gpu/drm/amd/display/dc/core/ |
H A D | dc_stream.c | 114 memset(&stream->timing.dsc_cfg, 0, sizeof(stream->timing.dsc_cfg)); in dc_stream_construct() 115 stream->timing.dsc_cfg.num_slices_h = 0; in dc_stream_construct() 116 stream->timing.dsc_cfg.num_slices_v = 0; in dc_stream_construct() 117 stream->timing.dsc_cfg.bits_per_pixel = 128; in dc_stream_construct() 118 stream->timing.dsc_cfg.block_pred_enable = 1; in dc_stream_construct() 119 stream->timing.dsc_cfg.linebuf_depth = 9; in dc_stream_construct() 120 stream->timing.dsc_cfg.version_minor = 2; in dc_stream_construct() 121 stream->timing.dsc_cfg.ycbcr422_simple = 0; in dc_stream_construct() 819 stream->timing.dsc_cfg.mst_pbn); in dc_stream_log()
|
/linux/drivers/gpu/drm/amd/display/dc/hwss/dcn35/ |
H A D | dcn35_hwseq.c | 336 struct dsc_config dsc_cfg; in update_dsc_on_stream() local 354 …dsc_cfg.pic_width = (stream->timing.h_addressable + stream->timing.h_border_left + stream->timing.… in update_dsc_on_stream() 355 …dsc_cfg.pic_height = stream->timing.v_addressable + stream->timing.v_border_top + stream->timing.v… in update_dsc_on_stream() 356 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in update_dsc_on_stream() 357 dsc_cfg.color_depth = stream->timing.display_color_depth; in update_dsc_on_stream() 358 dsc_cfg.is_odm = pipe_ctx->next_odm_pipe ? true : false; in update_dsc_on_stream() 359 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in update_dsc_on_stream() 360 ASSERT(dsc_cfg.dc_dsc_cfg.num_slices_h % opp_cnt == 0); in update_dsc_on_stream() 361 dsc_cfg.dc_dsc_cfg.num_slices_h /= opp_cnt; in update_dsc_on_stream() 363 dsc->funcs->dsc_set_config(dsc, &dsc_cfg, &dsc_optc_cfg); in update_dsc_on_stream() [all …]
|
/linux/include/drm/display/ |
H A D | drm_dsc_helper.h | 25 const struct drm_dsc_config *dsc_cfg);
|
/linux/drivers/gpu/drm/amd/display/dc/hwss/dcn32/ |
H A D | dcn32_hwseq.c | 1034 struct dsc_config dsc_cfg; in dcn32_update_dsc_on_stream() local 1053 dsc_cfg.pic_width = (stream->timing.h_addressable + pipe_ctx->hblank_borrow + in dcn32_update_dsc_on_stream() 1055 …dsc_cfg.pic_height = stream->timing.v_addressable + stream->timing.v_border_top + stream->timing.v… in dcn32_update_dsc_on_stream() 1056 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in dcn32_update_dsc_on_stream() 1057 dsc_cfg.color_depth = stream->timing.display_color_depth; in dcn32_update_dsc_on_stream() 1058 dsc_cfg.is_odm = pipe_ctx->next_odm_pipe ? true : false; in dcn32_update_dsc_on_stream() 1059 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in dcn32_update_dsc_on_stream() 1060 ASSERT(dsc_cfg.dc_dsc_cfg.num_slices_h % opp_cnt == 0); in dcn32_update_dsc_on_stream() 1061 dsc_cfg.dc_dsc_cfg.num_slices_h /= opp_cnt; in dcn32_update_dsc_on_stream() 1065 dsc->funcs->dsc_set_config(dsc, &dsc_cfg, &dsc_optc_cfg); in dcn32_update_dsc_on_stream() [all …]
|
/linux/drivers/gpu/drm/amd/display/amdgpu_dm/ |
H A D | amdgpu_dm_mst_types.c | 858 memset(¶ms[i].timing->dsc_cfg, 0, sizeof(params[i].timing->dsc_cfg)); in set_dsc_configs_from_fairness_vars() 866 ¶ms[i].timing->dsc_cfg)) { in set_dsc_configs_from_fairness_vars() 870 params[i].timing->dsc_cfg.bits_per_pixel = params[i].bpp_overwrite; in set_dsc_configs_from_fairness_vars() 872 params[i].timing->dsc_cfg.bits_per_pixel = vars[i + k].bpp_x16; in set_dsc_configs_from_fairness_vars() 875 params[i].timing->dsc_cfg.num_slices_h = params[i].num_slices_h; in set_dsc_configs_from_fairness_vars() 878 params[i].timing->dsc_cfg.num_slices_v = params[i].num_slices_v; in set_dsc_configs_from_fairness_vars() 882 params[i].timing->dsc_cfg.mst_pbn = vars[i + k].pbn; in set_dsc_configs_from_fairness_vars() 895 params[i].timing->dsc_cfg.bits_per_pixel, in set_dsc_configs_from_fairness_vars() 1876 &stream->timing.dsc_cfg)) { in dm_dp_mst_is_port_support_mode()
|
/linux/drivers/gpu/drm/amd/display/dc/ |
H A D | dc_dsc.h | 87 struct dc_dsc_config *dsc_cfg);
|
H A D | dc_hw_types.h | 989 struct dc_dsc_config dsc_cfg; member
|
/linux/drivers/gpu/drm/amd/display/dc/resource/dcn20/ |
H A D | dcn20_resource.c | 1650 struct dsc_config dsc_cfg; in dcn20_validate_dsc() local 1661 dsc_cfg.pic_width = (stream->timing.h_addressable + stream->timing.h_border_left in dcn20_validate_dsc() 1663 dsc_cfg.pic_height = stream->timing.v_addressable + stream->timing.v_border_top in dcn20_validate_dsc() 1665 dsc_cfg.pixel_encoding = stream->timing.pixel_encoding; in dcn20_validate_dsc() 1666 dsc_cfg.color_depth = stream->timing.display_color_depth; in dcn20_validate_dsc() 1667 dsc_cfg.is_odm = pipe_ctx->next_odm_pipe ? true : false; in dcn20_validate_dsc() 1668 dsc_cfg.dc_dsc_cfg = stream->timing.dsc_cfg; in dcn20_validate_dsc() 1669 dsc_cfg.dc_dsc_cfg.num_slices_h /= opp_cnt; in dcn20_validate_dsc() 1671 if (!pipe_ctx->stream_res.dsc->funcs->dsc_validate_stream(pipe_ctx->stream_res.dsc, &dsc_cfg)) in dcn20_validate_dsc()
|
/linux/drivers/gpu/drm/amd/display/modules/power/ |
H A D | power_helpers.c | 955 !stream->timing.dsc_cfg.num_slices_v) in psr_su_set_dsc_slice_height() 961 if (stream->timing.dsc_cfg.num_slices_v == 0) in psr_su_set_dsc_slice_height() 964 slice_height = pic_height / stream->timing.dsc_cfg.num_slices_v; in psr_su_set_dsc_slice_height()
|
/linux/drivers/gpu/drm/amd/display/dc/dio/dcn32/ |
H A D | dcn32_dio_stream_encoder.c | 240 && !timing->dsc_cfg.ycbcr422_simple); in is_two_pixels_per_containter()
|
/linux/drivers/gpu/drm/amd/display/dc/dio/dcn35/ |
H A D | dcn35_dio_stream_encoder.c | 272 && !timing->dsc_cfg.ycbcr422_simple); in is_two_pixels_per_containter()
|
/linux/drivers/gpu/drm/amd/display/dc/dio/dcn314/ |
H A D | dcn314_dio_stream_encoder.c | 282 && !timing->dsc_cfg.ycbcr422_simple); in is_two_pixels_per_containter()
|
/linux/drivers/gpu/drm/amd/display/dc/dml2/dml21/ |
H A D | dml21_translation_helper.c | 407 timing->dsc.overrides.num_slices = stream->timing.dsc_cfg.num_slices_h; in populate_dml21_timing_config_from_stream_state() 408 timing->dsc.dsc_compressed_bpp_x16 = stream->timing.dsc_cfg.bits_per_pixel; in populate_dml21_timing_config_from_stream_state() 493 if (stream->timing.flags.DSC && !stream->timing.dsc_cfg.ycbcr422_simple) in populate_dml21_output_config_from_stream_state()
|
/linux/drivers/gpu/drm/amd/display/dc/dio/dcn20/ |
H A D | dcn20_stream_encoder.c | 464 && !timing->dsc_cfg.ycbcr422_simple); in is_two_pixels_per_containter()
|
/linux/drivers/gpu/drm/amd/display/dc/dccg/dcn31/ |
H A D | dcn31_dccg.c | 566 && !params->timing->dsc_cfg.ycbcr422_simple)) { in dccg31_set_dtbclk_dto()
|