[Intel-gfx] [PATCH] drm/i915/dp: Fix intel_edp_compare_alt_mode.

Ville Syrjälä ville.syrjala at linux.intel.com
Tue Mar 13 13:11:43 UTC 2018


On Tue, Mar 13, 2018 at 10:28:55AM +0100, Maarten Lankhorst wrote:
> On fi-cnl-y3 we have 2 modes that differ only by crtc_clock. This means
> that if we request the normal mode, we automatically get the downclocked
> mode.
> 
> This can be seen during boot:
> [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:101:eDP-1] probed modes :
> [drm:drm_mode_debug_printmodeline] Modeline 102:"3840x2160" 60 533250 3840 3888 3920 4000 2160 2163 2168 2222 0x48 0xa
> [drm:drm_mode_debug_printmodeline] Modeline 103:"3840x2160" 48 426600 3840 3888 3920 4000 2160 2163 2168 2222 0x40 0xa
> ...
> [drm:intel_dump_pipe_config [i915]] [CRTC:51:pipe A][modeset]
> [drm:intel_dump_pipe_config [i915]] output_types: EDP (0x100)
> [drm:intel_dump_pipe_config [i915]] cpu_transcoder: EDP, pipe bpp: 24, dithering: 0
> [drm:intel_dump_pipe_config [i915]] dp m_n: lanes: 4; gmch_m: 4970250, gmch_n: 8388608, link_m: 828375, link_n: 1048576, tu: 64
> [drm:intel_dump_pipe_config [i915]] dp m2_n2: lanes: 4; gmch_m: 4970250, gmch_n: 8388608, link_m: 828375, link_n: 1048576, tu: 64
> [drm:intel_dump_pipe_config [i915]] audio: 0, infoframes: 0
> [drm:intel_dump_pipe_config [i915]] requested mode:
> [drm:drm_mode_debug_printmodeline] Modeline 0:"3840x2160" 60 533250 3840 3888 3920 4000 2160 2163 2168 2222 0x48 0xa
> [drm:intel_dump_pipe_config [i915]] adjusted mode:
> [drm:drm_mode_debug_printmodeline] Modeline 0:"3840x2160" 48 426600 3840 3888 3920 4000 2160 2163 2168 2222 0x40 0xa
> 
> Testcase: kms_panel_fitting.atomic-fastset
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Fixes: dc911f5bd8aa ("drm/i915/edp: Allow alternate fixed mode for eDP if available.")
> Cc: David Weinehall <david.weinehall at linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Cc: Jani Nikula <jani.nikula at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Jim Bride <jim.bride at linux.intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: <stable at vger.kernel.org> # v4.14+
> ---
>  drivers/gpu/drm/i915/intel_dp.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 9a4a51e79fa1..0bd3cc1c82b4 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1684,7 +1684,8 @@ static bool intel_edp_compare_alt_mode(struct drm_display_mode *m1,
>  			m1->vdisplay == m2->vdisplay &&
>  			m1->vsync_start == m2->vsync_start &&
>  			m1->vsync_end == m2->vsync_end &&
> -			m1->vtotal == m2->vtotal);
> +			m1->vtotal == m2->vtotal &&
> +			m1->clock == m2->clock);

Isn't the entire point here to ignore differences in the clock? Hmm.
Maybe not.

Probably what we really want to do is check whether the requested
refresh rate is closer to the fixed mode or the alt mode.

>  	return bres;
>  }
>  
> -- 
> 2.16.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list