diff mbox

drm/i915: remove pixel doubled HDMI modes from valid modes list

Message ID 1407796382-6168-1-git-send-email-clinton.a.taylor@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Taylor, Clinton A Aug. 11, 2014, 10:33 p.m. UTC
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(+)

Comments

Chris Wilson Aug. 12, 2014, 6:39 a.m. UTC | #1
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;
> +
Daniel Vetter Aug. 12, 2014, 6:59 a.m. UTC | #2
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
Taylor, Clinton A Aug. 12, 2014, 5:11 p.m. UTC | #3
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 mbox

Patch

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;
 }