[Intel-gfx] [PATCH v4 10/11] drm/i915: DVO pixel clock check
Ville Syrjälä
ville.syrjala at linux.intel.com
Fri Aug 14 06:10:27 PDT 2015
On Fri, Aug 14, 2015 at 01:03:30PM +0300, Mika Kahola wrote:
> It is possible the we request to have a mode that has
> higher pixel clock than our HW can support. This patch
> checks if requested pixel clock is lower than the one
> supported by the HW. The requested mode is discarded
> if we cannot support the requested pixel clock.
>
> This patch applies to DVO.
>
> V2:
> - removed computation for max pixel clock
>
> V3:
> - cleanup by removing unnecessary lines
>
> V4:
> - clock check against max dotclock moved inside 'if (fixed_mode)'
>
> Signed-off-by: Mika Kahola <mika.kahola at intel.com>
> ---
> drivers/gpu/drm/i915/intel_dvo.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
> index dc532bb..924b724 100644
> --- a/drivers/gpu/drm/i915/intel_dvo.c
> +++ b/drivers/gpu/drm/i915/intel_dvo.c
> @@ -201,6 +201,7 @@ intel_dvo_mode_valid(struct drm_connector *connector,
> struct drm_display_mode *mode)
> {
> struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
> + int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
>
> if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
> return MODE_NO_DBLESCAN;
> @@ -212,6 +213,8 @@ intel_dvo_mode_valid(struct drm_connector *connector,
> return MODE_PANEL;
> if (mode->vdisplay > intel_dvo->panel_fixed_mode->vdisplay)
> return MODE_PANEL;
> + if (mode->clock > max_dotclk)
> + return MODE_CLOCK_HIGH;
> }
What we want here is duplicate the intel_dp.c logic exactly, ie. check
against fixed_mode->clock when it's around, otherwise check against
mode->clock.
>
> return intel_dvo->dev.dev_ops->mode_valid(&intel_dvo->dev, mode);
> --
> 1.9.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list