From: Jani Nikula <jani.nikula@linux.intel.com>
To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org
Cc: stable@vger.kernel.org
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Allow user modes to exceed DVI 165MHz limit
Date: Fri, 11 Apr 2014 17:28:25 +0300 [thread overview]
Message-ID: <87sipklz3q.fsf@intel.com> (raw)
In-Reply-To: <1395911325-4981-1-git-send-email-ville.syrjala@linux.intel.com>
Pushed to -fixes, thanks for the patch and Daniel's r-b on IRC.
BR,
Jani.
On Thu, 27 Mar 2014, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> In commit
> commit 6375b768a9850b6154478993e5fb566fa4614a9c
> Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Date: Mon Mar 3 11:33:36 2014 +0200
>
> drm/i915: Reject >165MHz modes w/ DVI monitors
>
> the driver started to filter out display modes which exceed the
> single-link DVI 165Mz dotclock limits when the monitor doesn't report
> itself as being HDMI compliant. The intent was to filter out all
> EDID derived modes that require dual-link DVI to operate since we
> don't support dual-link.
>
> However the patch went a bit too far and also causes the driver to reject
> such modes even when specified by the user. Normally we don't check the
> sink limitations when setting a mode from the user. This allows the user
> to specify any mode whether the sink reports to support it or not. This
> can be useful since often the sinks support more modes than they report
> in the EDID.
>
> So relax the checks a bit, and apply the single-link DVI dotclock limit
> only when filtering the mode list, and ignore the limit when setting
> a user specified mode.
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=72961
> Tested-by: Nicholas Vinson <nvinson@comcast.net>
> Cc: stable@vger.kernel.org
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_hdmi.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index ee3181e..ca5d23d 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -841,11 +841,11 @@ static void intel_disable_hdmi(struct intel_encoder *encoder)
> }
> }
>
> -static int hdmi_portclock_limit(struct intel_hdmi *hdmi)
> +static int hdmi_portclock_limit(struct intel_hdmi *hdmi, bool respect_dvi_limit)
> {
> struct drm_device *dev = intel_hdmi_to_dev(hdmi);
>
> - if (!hdmi->has_hdmi_sink || IS_G4X(dev))
> + if ((respect_dvi_limit && !hdmi->has_hdmi_sink) || IS_G4X(dev))
> return 165000;
> else if (IS_HASWELL(dev) || INTEL_INFO(dev)->gen >= 8)
> return 300000;
> @@ -857,7 +857,8 @@ static enum drm_mode_status
> intel_hdmi_mode_valid(struct drm_connector *connector,
> struct drm_display_mode *mode)
> {
> - if (mode->clock > hdmi_portclock_limit(intel_attached_hdmi(connector)))
> + if (mode->clock > hdmi_portclock_limit(intel_attached_hdmi(connector),
> + true))
> return MODE_CLOCK_HIGH;
> if (mode->clock < 20000)
> return MODE_CLOCK_LOW;
> @@ -875,7 +876,7 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder,
> struct drm_device *dev = encoder->base.dev;
> struct drm_display_mode *adjusted_mode = &pipe_config->adjusted_mode;
> int clock_12bpc = pipe_config->adjusted_mode.crtc_clock * 3 / 2;
> - int portclock_limit = hdmi_portclock_limit(intel_hdmi);
> + int portclock_limit = hdmi_portclock_limit(intel_hdmi, false);
> int desired_bpp;
>
> if (intel_hdmi->color_range_auto) {
> --
> 1.8.3.2
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
prev parent reply other threads:[~2014-04-11 14:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-27 9:08 [PATCH] drm/i915: Allow user modes to exceed DVI 165MHz limit ville.syrjala
2014-03-27 9:37 ` [Intel-gfx] " Chris Wilson
2014-03-27 11:03 ` Ville Syrjälä
2014-03-27 13:57 ` [Intel-gfx] " Daniel Vetter
2014-04-11 14:28 ` Jani Nikula [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sipklz3q.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=stable@vger.kernel.org \
--cc=ville.syrjala@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox