Home
last modified time | relevance | path

Searched refs:DSC (Results 1 - 25 of 39) sorted by relevance

12

/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/dsc/
H A DMakefile4 DSC = dc_dsc.o rc_calc.o rc_calc_dpi.o macro
6 AMD_DAL_DSC = $(addprefix $(AMDDALPATH)/dc/dsc/,$(DSC))
H A Ddc_dsc.c35 /* default DSC policy target bitrate limit is 16bpp */
38 /* default DSC policy enables DSC only when needed */
63 if (!timing->flags.DSC) { in apply_128b_132b_stream_overhead()
94 if (timing->flags.DSC) in dc_bandwidth_in_kbps_from_timing()
198 dm_error("%s: DPCD DSC buffer size not recognized.\n", __func__); in dsc_buff_block_size_from_dpcd()
214 dm_error("%s: DPCD DSC buffer depth not recognized.\n", __func__); in dsc_line_buff_depth_from_dpcd()
274 dm_error("%s: DPCD DSC throughput mode not recognized.\n", __func__); in dsc_throughput_from_dpcd()
305 dm_error("%s: DPCD DSC bits-per-pixel increment not recognized.\n", __func__); in dsc_bpp_increment_div_from_dpcd()
395 if (dpcd_dsc_branch_decoder_caps == NULL) { // branch decoder DPCD DSC dat in dc_dsc_parse_dsc_dpcd()
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dsc/
H A DMakefile37 DSC = dc_dsc.o rc_calc.o rc_calc_dpi.o macro
39 AMD_DAL_DSC = $(addprefix $(AMDDALPATH)/dc/dsc/,$(DSC))
H A Ddc_dsc.c34 /* default DSC policy target bitrate limit is 16bpp */
37 /* default DSC policy enables DSC only when needed */
46 if (timing->flags.DSC) { in dc_dsc_bandwidth_in_kbps_from_timing()
110 dm_error("%s: DPCD DSC buffer size not recognized.\n", __func__); in dsc_buff_block_size_from_dpcd()
126 dm_error("%s: DPCD DSC buffer depth not recognized.\n", __func__); in dsc_line_buff_depth_from_dpcd()
186 dm_error("%s: DPCD DSC throughput mode not recognized.\n", __func__); in dsc_throughput_from_dpcd()
217 dm_error("%s: DPCD DSC bits-per-pixel increment not recognized.\n", __func__); in dsc_bpp_increment_div_from_dpcd()
230 // This is a static HW query, so we can use any DSC in get_dsc_enc_caps()
302 // TODO DSC in intersect_dsc_caps()
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/link/
H A Dlink_validation.c129 if (timing->flags.DSC && !timing->dsc_cfg.is_frl) in dp_active_dongle_validate_timing()
130 /* DP input has DSC, HDMI FRL output doesn't have DSC, remove DSC from output timing */ in dp_active_dongle_validate_timing()
131 outputTiming.flags.DSC = 0; in dp_active_dongle_validate_timing()
H A Dlink_dpms.c746 /* 7 fractional digits decimal precision for bytes per pixel is enough because DSC in dsc_optc_config_log()
772 /* The stream with these settings can be sent (unblanked) only after DSC was enabled on RX first,
791 /* Enable DSC hw block */ in link_set_dsc_on_stream()
814 /* Enable DSC in encoder */ in link_set_dsc_on_stream()
816 DC_LOG_DSC("Setting stream encoder DSC config for engine %d:", (int)pipe_ctx->stream_res.stream_enc->id); in link_set_dsc_on_stream()
826 /* Enable DSC in OPTC */ in link_set_dsc_on_stream()
827 DC_LOG_DSC("Setting optc DSC config for tg instance %d:", pipe_ctx->stream_res.tg->inst); in link_set_dsc_on_stream()
834 /* disable DSC in OPTC */ in link_set_dsc_on_stream()
839 /* disable DSC in stream encoder */ in link_set_dsc_on_stream()
856 /* disable DSC bloc in link_set_dsc_on_stream()
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/link/accessories/
H A Dlink_fpga.c57 if (pipe_ctx->stream->timing.flags.DSC) { in dp_fpga_hpo_enable_link_and_stream()
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/amdgpu_dm/
H A Damdgpu_dm_mst_types.c194 * This case will return NULL: DSC capabe MST dock connected to a non fec/dsc capable display in validate_dsc_caps_on_connector()
539 params[i].timing->flags.DSC = 1; in set_dsc_configs_from_fairness_vars()
552 params[i].timing->flags.DSC = 0; in set_dsc_configs_from_fairness_vars()
758 stream->timing.flags.DSC = 0; in compute_mst_dsc_configs_for_link()
884 if (stream->timing.flags.DSC == 1) in compute_mst_dsc_configs_for_state()
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/core/
H A Ddc_link_hwss.c402 /* 7 fractional digits decimal precision for bytes per pixel is enough because DSC in dsc_optc_config_log()
428 /* The stream with these settings can be sent (unblanked) only after DSC was enabled on RX first,
447 /* Enable DSC hw block */ in dp_set_dsc_on_stream()
470 /* Enable DSC in encoder */ in dp_set_dsc_on_stream()
472 DC_LOG_DSC("Setting stream encoder DSC config for engine %d:", (int)pipe_ctx->stream_res.stream_enc->id); in dp_set_dsc_on_stream()
482 /* Enable DSC in OPTC */ in dp_set_dsc_on_stream()
483 DC_LOG_DSC("Setting optc DSC config for tg instance %d:", pipe_ctx->stream_res.tg->inst); in dp_set_dsc_on_stream()
490 /* disable DSC in OPTC */ in dp_set_dsc_on_stream()
495 /* disable DSC in stream encoder */ in dp_set_dsc_on_stream()
507 /* disable DSC bloc in dp_set_dsc_on_stream()
[all...]
H A Ddc_link.c3220 /* Have to setup DSC before DIG FE and BE are connected (which happens before the in core_link_enable_stream()
3226 if (pipe_ctx->stream->timing.flags.DSC) { in core_link_enable_stream()
3271 if (pipe_ctx->stream->timing.flags.DSC) { in core_link_enable_stream()
3354 if (pipe_ctx->stream->timing.flags.DSC) { in core_link_disable_stream()
3426 if (timing->flags.DSC) { in dc_bandwidth_in_kbps_from_timing()
H A Ddc.c373 param.dsc_mode = pipe->stream->timing.flags.DSC ? 1:0; in dc_stream_configure_crc()
2259 uint32_t old_dsc_enabled = stream->timing.flags.DSC; in copy_stream_update_to_stream()
2263 /* Use temporarry context for validating new DSC config */ in copy_stream_update_to_stream()
2270 stream->timing.flags.DSC = enable_dsc; in copy_stream_update_to_stream()
2273 stream->timing.flags.DSC = old_dsc_enabled; in copy_stream_update_to_stream()
2279 DC_ERROR("Failed to allocate new validate context for DSC change\n"); in copy_stream_update_to_stream()
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/link/hwss/
H A Dlink_hwss_hpo_dp.c99 stream->timing.flags.DSC, in setup_hpo_dp_stream_attribute()
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/amdgpu_dm/
H A Damdgpu_dm_mst_types.c230 u8 dsc_branch_dec_caps_raw[3] = { 0 }; // DSC branch decoder caps 0xA0 ~ 0xA2 in validate_dsc_caps_on_connector()
239 * This case will return NULL: DSC capabe MST dock connected to a non fec/dsc capable display in validate_dsc_caps_on_connector()
833 params[i].timing->flags.DSC = 1; in set_dsc_configs_from_fairness_vars()
846 params[i].timing->flags.DSC = 0; in set_dsc_configs_from_fairness_vars()
860 params[i].timing->flags.DSC, in set_dsc_configs_from_fairness_vars()
1102 stream->timing.flags.DSC = 0; in compute_mst_dsc_configs_for_link()
1352 if (stream->timing.flags.DSC == 1) in compute_mst_dsc_configs_for_state()
1472 DRM_INFO_ONCE("DSC precompute is not needed.\n"); in pre_validate_dsc()
1633 DRM_DEBUG_DRIVER("Mode does not fit into DSC pass-through bandwidth validation\n"); in dm_dp_mst_is_port_support_mode()
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/dce/
H A Ddmub_replay.c196 copy_settings_data->flags.bitfields.dsc_enable_status = (pipe_ctx->stream->timing.flags.DSC == 1); in dmub_replay_copy_settings()
197 // WA for PSRSU+DSC on specific TCON, if DSC is enabled, force PSRSU as ffu mode(full frame update) in dmub_replay_copy_settings()
H A Ddmub_psr.c383 copy_settings_data->dsc_enable_status = (pipe_ctx->stream->timing.flags.DSC == 1); in dmub_psr_copy_settings()
386 * WA for PSRSU+DSC on specific TCON, if DSC is enabled, force PSRSU as ffu mode(full frame update) in dmub_psr_copy_settings()
387 * Note that PSRSU+DSC is still under development. in dmub_psr_copy_settings()
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/dcn314/
H A Ddcn314_dio_stream_encoder.c272 two_pix = two_pix || (timing->flags.DSC && timing->pixel_encoding == PIXEL_ENCODING_YCBCR422 in is_two_pixels_per_containter()
378 /* Set DSC-related configuration.
379 * dsc_mode: 0 disables DSC, other values enable DSC in specified format
H A Ddcn314_hwseq.c111 /* Enable DSC hw block */ in update_dsc_on_stream()
135 /* Enable DSC in OPTC */ in update_dsc_on_stream()
136 DC_LOG_DSC("Setting optc DSC config for tg instance %d:", pipe_ctx->stream_res.tg->inst); in update_dsc_on_stream()
142 /* disable DSC in OPTC */ in update_dsc_on_stream()
147 /* disable DSC block */ in update_dsc_on_stream()
225 update_dsc_on_stream(pipe_ctx, pipe_ctx->stream->timing.flags.DSC); in dcn314_update_odm()
227 /* Check if no longer using pipe for ODM, then need to disconnect DSC for that pipe */ in dcn314_update_odm()
231 /* disconnect DSC block from stream */ in dcn314_update_odm()
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dcn20/
H A Ddcn20_stream_encoder.c270 /* Set DSC-related configuration.
271 * dsc_mode: 0 disables DSC, other values enable DSC in specified format
441 two_pix = two_pix || (timing->flags.DSC && timing->pixel_encoding == PIXEL_ENCODING_YCBCR422 in is_two_pixels_per_containter()
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/
H A Ddc_hw_types.h715 uint32_t DSC : 1; /* Use DSC with this timing */ member
744 uint32_t num_slices_h; /* Number of DSC slices - horizontal */
745 uint32_t num_slices_v; /* Number of DSC slices - vertical */
746 uint32_t bits_per_pixel; /* DSC target bitrate in 1/16 of bpp (e.g. 128 -> 8bpp) */
747 bool block_pred_enable; /* DSC block prediction enable */
748 uint32_t linebuf_depth; /* DSC line buffer depth */
749 uint32_t version_minor; /* DSC minor version. Full version is formed as 1.version_minor. */
750 bool ycbcr422_simple; /* Tell DSC engine to convert YCbCr 4:2:2 to 'YCbCr 4:2:2 simple'. */
751 int32_t rc_buffer_size; /* DSC R
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/
H A Ddc_hw_types.h772 uint32_t DSC : 1; /* Use DSC with this timing */ member
825 uint32_t num_slices_h; /* Number of DSC slices - horizontal */
826 uint32_t num_slices_v; /* Number of DSC slices - vertical */
827 uint32_t bits_per_pixel; /* DSC target bitrate in 1/16 of bpp (e.g. 128 -> 8bpp) */
828 bool block_pred_enable; /* DSC block prediction enable */
829 uint32_t linebuf_depth; /* DSC line buffer depth */
830 uint32_t version_minor; /* DSC minor version. Full version is formed as 1.version_minor. */
831 bool ycbcr422_simple; /* Tell DSC engine to convert YCbCr 4:2:2 to 'YCbCr 4:2:2 simple'. */
832 int32_t rc_buffer_size; /* DSC R
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/dcn31/
H A Ddcn31_dccg.c555 * non-DSC 4:2:0 mode pixel rate/2 4 in dccg31_set_dtbclk_dto()
556 * DSC native 4:2:0 pixel rate/2 4 in dccg31_set_dtbclk_dto()
557 * DSC native 4:2:2 pixel rate/2 4 in dccg31_set_dtbclk_dto()
565 (params->timing->flags.DSC && params->timing->pixel_encoding == PIXEL_ENCODING_YCBCR422 in dccg31_set_dtbclk_dto()
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/dcn32/
H A Ddcn32_dio_stream_encoder.c239 two_pix = two_pix || (timing->flags.DSC && timing->pixel_encoding == PIXEL_ENCODING_YCBCR422 in is_two_pixels_per_containter()
383 /* Set DSC-related configuration.
384 * dsc_mode: 0 disables DSC, other values enable DSC in specified format
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/dcn20/
H A Ddcn20_stream_encoder.c275 /* Set DSC-related configuration.
276 * dsc_mode: 0 disables DSC, other values enable DSC in specified format
463 two_pix = two_pix || (timing->flags.DSC && timing->pixel_encoding == PIXEL_ENCODING_YCBCR422 in is_two_pixels_per_containter()
H A Ddcn20_resource.c1328 /* Return old DSC to avoid the need for re-programming */ in dcn20_acquire_dsc()
1335 /* Find first free DSC */ in dcn20_acquire_dsc()
1367 /* Get a DSC if required and available */ in dcn20_add_dsc_to_stream_resource()
1426 /* Get a DSC if required and available */ in dcn20_add_stream_to_ctx()
1427 if (result == DC_OK && dc_stream->timing.flags.DSC) in dcn20_add_stream_to_ctx()
1536 if (next_odm_pipe->stream->timing.flags.DSC == 1 && !next_odm_pipe->top_pipe) { in dcn20_split_stream_for_odm()
1662 /* Validate DSC config, dsc count validation is already done */ in dcn20_validate_dsc()
1674 if (pipe_ctx->top_pipe || pipe_ctx->prev_odm_pipe || !stream || !stream->timing.flags.DSC) in dcn20_validate_dsc()
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/core/
H A Ddc_stream.c773 stream->timing.flags.DSC, in dc_stream_log()

Completed in 30 milliseconds

12