mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-05-30 19:18:31 +00:00
drm/i915/dsi: Fix state mismatch warns for horizontal timings with DSC
When DSC is enabled consider the compression ratio that was used during horizontal timing calculations. This may still lead to warns due to rounding errors in the round-trip. v2 by Jani: - rebase on top of the more generic dsc state readout Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/c2481aaf67ea396aa4698cd2d8e23d19ec4f4ecf.1575974743.git.jani.nikula@intel.com
This commit is contained in:
parent
53693f02d8
commit
c2bb35e99f
1 changed files with 12 additions and 0 deletions
|
@ -1255,6 +1255,18 @@ static void gen11_dsi_get_timings(struct intel_encoder *encoder,
|
|||
struct drm_display_mode *adjusted_mode =
|
||||
&pipe_config->hw.adjusted_mode;
|
||||
|
||||
if (pipe_config->dsc.compressed_bpp) {
|
||||
int div = pipe_config->dsc.compressed_bpp;
|
||||
int mul = mipi_dsi_pixel_format_to_bpp(intel_dsi->pixel_format);
|
||||
|
||||
adjusted_mode->crtc_htotal =
|
||||
DIV_ROUND_UP(adjusted_mode->crtc_htotal * mul, div);
|
||||
adjusted_mode->crtc_hsync_start =
|
||||
DIV_ROUND_UP(adjusted_mode->crtc_hsync_start * mul, div);
|
||||
adjusted_mode->crtc_hsync_end =
|
||||
DIV_ROUND_UP(adjusted_mode->crtc_hsync_end * mul, div);
|
||||
}
|
||||
|
||||
if (intel_dsi->dual_link) {
|
||||
adjusted_mode->crtc_hdisplay *= 2;
|
||||
if (intel_dsi->dual_link == DSI_DUAL_LINK_FRONT_BACK)
|
||||
|
|
Loading…
Add table
Reference in a new issue