/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/dsc/ |
H A D | Makefile | 4 DSC = dc_dsc.o rc_calc.o rc_calc_dpi.o macro 6 AMD_DAL_DSC = $(addprefix $(AMDDALPATH)/dc/dsc/,$(DSC))
|
H A D | dc_dsc.c | 35 /* 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 D | Makefile | 37 DSC = dc_dsc.o rc_calc.o rc_calc_dpi.o macro 39 AMD_DAL_DSC = $(addprefix $(AMDDALPATH)/dc/dsc/,$(DSC))
|
H A D | dc_dsc.c | 34 /* 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 D | link_validation.c | 129 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 D | link_dpms.c | 746 /* 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 D | link_fpga.c | 57 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 D | amdgpu_dm_mst_types.c | 194 * 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 D | dc_link_hwss.c | 402 /* 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 D | dc_link.c | 3220 /* 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 D | dc.c | 373 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 D | link_hwss_hpo_dp.c | 99 stream->timing.flags.DSC, in setup_hpo_dp_stream_attribute()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/amdgpu_dm/ |
H A D | amdgpu_dm_mst_types.c | 230 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 D | dmub_replay.c | 196 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 D | dmub_psr.c | 383 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 D | dcn314_dio_stream_encoder.c | 272 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 D | dcn314_hwseq.c | 111 /* 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 D | dcn20_stream_encoder.c | 270 /* 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 D | dc_hw_types.h | 715 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 D | dc_hw_types.h | 772 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 D | dcn31_dccg.c | 555 * 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 D | dcn32_dio_stream_encoder.c | 239 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 D | dcn20_stream_encoder.c | 275 /* 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 D | dcn20_resource.c | 1328 /* 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 D | dc_stream.c | 773 stream->timing.flags.DSC, in dc_stream_log()
|