Message ID | 1407796382-6168-1-git-send-email-clinton.a.taylor@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Aug 11, 2014 at 03:33:02PM -0700, clinton.a.taylor@intel.com wrote: > From: Clint Taylor <clinton.a.taylor@intel.com> > > Intel HDMI does not correctly configure pixel replicated HDMI modes > 480i and 576i. Remove support for these modes until DRM has been > changed to correctly identify SD interlaced modes by reporting there > true horizontal resolution 720 instead of the pre-pixel doubled 1440. > > Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com> > --- > drivers/gpu/drm/i915/intel_hdmi.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 5f47d35..ab32523 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -873,6 +873,9 @@ intel_hdmi_mode_valid(struct drm_connector *connector, > if (mode->flags & DRM_MODE_FLAG_DBLSCAN) > return MODE_NO_DBLESCAN; > If it is just a workaround for a drm bug. You need a big comment explaining why you w/a rather than pressing for the bug fix. > + if (mode->flags & DRM_MODE_FLAG_DBLCLK) > + return MODE_NO_INTERLACE; > +
On Tue, Aug 12, 2014 at 07:39:24AM +0100, Chris Wilson wrote: > On Mon, Aug 11, 2014 at 03:33:02PM -0700, clinton.a.taylor@intel.com wrote: > > From: Clint Taylor <clinton.a.taylor@intel.com> > > > > Intel HDMI does not correctly configure pixel replicated HDMI modes > > 480i and 576i. Remove support for these modes until DRM has been > > changed to correctly identify SD interlaced modes by reporting there > > true horizontal resolution 720 instead of the pre-pixel doubled 1440. > > > > Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com> > > --- > > drivers/gpu/drm/i915/intel_hdmi.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > > index 5f47d35..ab32523 100644 > > --- a/drivers/gpu/drm/i915/intel_hdmi.c > > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > > @@ -873,6 +873,9 @@ intel_hdmi_mode_valid(struct drm_connector *connector, > > if (mode->flags & DRM_MODE_FLAG_DBLSCAN) > > return MODE_NO_DBLESCAN; > > > > If it is just a workaround for a drm bug. You need a big comment > explaining why you w/a rather than pressing for the bug fix. Well there's a very small chance I'll take this anyway - if the drm core is broken we need to take out the mode from the drm core, not here. -Daniel
On 08/11/2014 11:59 PM, Daniel Vetter wrote: > On Tue, Aug 12, 2014 at 07:39:24AM +0100, Chris Wilson wrote: >> On Mon, Aug 11, 2014 at 03:33:02PM -0700, clinton.a.taylor@intel.com wrote: >>> From: Clint Taylor <clinton.a.taylor@intel.com> >>> >>> Intel HDMI does not correctly configure pixel replicated HDMI modes >>> 480i and 576i. Remove support for these modes until DRM has been >>> changed to correctly identify SD interlaced modes by reporting there >>> true horizontal resolution 720 instead of the pre-pixel doubled 1440. >>> >>> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com> >>> --- >>> drivers/gpu/drm/i915/intel_hdmi.c | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c >>> index 5f47d35..ab32523 100644 >>> --- a/drivers/gpu/drm/i915/intel_hdmi.c >>> +++ b/drivers/gpu/drm/i915/intel_hdmi.c >>> @@ -873,6 +873,9 @@ intel_hdmi_mode_valid(struct drm_connector *connector, >>> if (mode->flags & DRM_MODE_FLAG_DBLSCAN) >>> return MODE_NO_DBLESCAN; >>> >> >> If it is just a workaround for a drm bug. You need a big comment >> explaining why you w/a rather than pressing for the bug fix. > > Well there's a very small chance I'll take this anyway - if the drm core > is broken we need to take out the mode from the drm core, not here. > -Daniel > Agreed this is not the correct solution to fix the issue. Advertising that we support bad geometry is also incorrect. Clint
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 5f47d35..ab32523 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -873,6 +873,9 @@ intel_hdmi_mode_valid(struct drm_connector *connector, if (mode->flags & DRM_MODE_FLAG_DBLSCAN) return MODE_NO_DBLESCAN; + if (mode->flags & DRM_MODE_FLAG_DBLCLK) + return MODE_NO_INTERLACE; + return MODE_OK; }