if (crtc_state->pipe_bpp < 8 * 3)
return -EINVAL;
- /* FIXME: split only when necessary */
- if (crtc_state->dsc.slice_count > 1)
- crtc_state->dsc.slice_config.streams_per_pipe = 2;
- else
- crtc_state->dsc.slice_config.streams_per_pipe = 1;
-
/* FIXME: initialize from VBT */
vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST;
* throughput etc. into account.
*
* Also, per spec DSI supports 1, 2, 3 or 4 horizontal slices.
+ *
+ * FIXME: split only when necessary
*/
if (dsc->slices_per_line & BIT(2)) {
+ crtc_state->dsc.slice_config.streams_per_pipe = 2;
crtc_state->dsc.slice_count = 4;
} else if (dsc->slices_per_line & BIT(1)) {
+ crtc_state->dsc.slice_config.streams_per_pipe = 2;
crtc_state->dsc.slice_count = 2;
} else {
/* FIXME */
drm_dbg_kms(display->drm,
"VBT: Unsupported DSC slice count for DSI\n");
+ crtc_state->dsc.slice_config.streams_per_pipe = 1;
crtc_state->dsc.slice_count = 1;
}