/* FIXME: split only when necessary */
if (crtc_state->dsc.slice_count > 1)
- crtc_state->dsc.num_streams = 2;
+ crtc_state->dsc.slice_config.streams_per_pipe = 2;
else
- crtc_state->dsc.num_streams = 1;
+ crtc_state->dsc.slice_config.streams_per_pipe = 1;
/* FIXME: initialize from VBT */
vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
PIPE_CONF_CHECK_I(dsc.config.nsl_bpg_offset);
PIPE_CONF_CHECK_BOOL(dsc.compression_enable);
- PIPE_CONF_CHECK_I(dsc.num_streams);
+ PIPE_CONF_CHECK_I(dsc.slice_config.streams_per_pipe);
PIPE_CONF_CHECK_I(dsc.compressed_bpp_x16);
PIPE_CONF_CHECK_BOOL(splitter.enable);
*/
if (pipe_config->joiner_pipes && num_joined_pipes == 4 &&
pipe_config->dsc.slice_count == 12)
- pipe_config->dsc.num_streams = 3;
+ pipe_config->dsc.slice_config.streams_per_pipe = 3;
else if (pipe_config->joiner_pipes || pipe_config->dsc.slice_count > 1)
- pipe_config->dsc.num_streams = 2;
+ pipe_config->dsc.slice_config.streams_per_pipe = 2;
else
- pipe_config->dsc.num_streams = 1;
+ pipe_config->dsc.slice_config.streams_per_pipe = 1;
ret = intel_dp_dsc_compute_params(connector, pipe_config);
if (ret < 0) {
static int intel_dsc_get_vdsc_per_pipe(const struct intel_crtc_state *crtc_state)
{
- return crtc_state->dsc.num_streams;
+ return crtc_state->dsc.slice_config.streams_per_pipe;
}
int intel_dsc_get_num_vdsc_instances(const struct intel_crtc_state *crtc_state)
if (!crtc_state->dsc.compression_enable)
goto out;
+ /* TODO: Read out slice_config.pipes_per_line/slices_per_stream as well */
if (dss_ctl1 & JOINER_ENABLE && dss_ctl2 & (VDSC2_ENABLE | SMALL_JOINER_CONFIG_3_ENGINES))
- crtc_state->dsc.num_streams = 3;
+ crtc_state->dsc.slice_config.streams_per_pipe = 3;
else if (dss_ctl1 & JOINER_ENABLE && dss_ctl2 & VDSC1_ENABLE)
- crtc_state->dsc.num_streams = 2;
+ crtc_state->dsc.slice_config.streams_per_pipe = 2;
else
- crtc_state->dsc.num_streams = 1;
+ crtc_state->dsc.slice_config.streams_per_pipe = 1;
intel_dsc_get_pps_config(crtc_state);
out:
"dsc-dss: compressed-bpp:" FXP_Q4_FMT ", slice-count: %d, num_streams: %d\n",
FXP_Q4_ARGS(crtc_state->dsc.compressed_bpp_x16),
crtc_state->dsc.slice_count,
- crtc_state->dsc.num_streams);
+ crtc_state->dsc.slice_config.streams_per_pipe);
}
void intel_vdsc_state_dump(struct drm_printer *p, int indent,