[Intel-gfx] [PATCH 1/4] drm/i915: Detect SDVO/HDMI output always based on SDVO_B detection bit
ykzhao
yakui.zhao at intel.com
Thu Aug 13 03:39:17 CEST 2009
On Thu, 2009-08-06 at 10:00 +0800, ykzhao wrote:
> On Thu, 2009-08-06 at 09:02 +0800, yakui.zhao at intel.com wrote:
> > From: Ma Ling <ling.ma at intel.com>
> Will you please pick up this patch set from Ma ling?
> The following four patches are included in this patch set:
> 1. Detect SDVO output always based on SDVO_B detection bit
> this is a regression. And according to the spec we should continue to
> detect SDVO_C by using SDVO_B detection bit.
> 2. Set the crtc/clone_mask in every output device
> This will be set in the initialization of every output device. In such
> case we can set the crtc/clone mask correctly. And this patch is to
> avoid that one pipe is shared by two HDMIs.
> 3. Set the TV_format based on connector type(integrated TV)
> When the connector type is S-video/composite, we had better use
> the TV format that is for component. And we can get the correct
> modeline.
> 4. Enable PAL/SCEAM TV and add the property for SDVO TV
> Add the support of PAL/SCEAM for SDVO TV. At the same time the property
> is also added for SDVO TV.
Hi, Eric
How about the patch set?
Will you please apply the patch set?
thanks.
Yakui
>
> thanks.
> Yakui
> >
> > After the following commit is shipped, the SDVO C detection will depend on
> > the SDVO_C/DP detion bit.
> > commit 13520b051e8888dd3af9bda639d83e7df76613d1
> > Author: Kristian Høgsberg <krh at redhat.com>
> > Date: Fri Mar 13 15:42:14 2009 -0400
> >
> > drm/i915: Read the right SDVO register when detecting SVDO/HDMI.
> >
> > In fact it is incorrect. According to the spec we should continue to
> > detect the SDVO_B/C based on the SDVO_B detection bit.
> > Of course the detection bit is defined in G4X platform. But it is for
> > the HDMI_C detection rather than SDVO_C detection.
> >
> > https://bugs.freedesktop.org/show_bug.cgi?id=20639
> >
> > Signed-off-by: Ma Ling <ling.ma at intel.com>
> > Acked-by: Zhao Yakui <yakui.zhao at intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_display.c | 18 +++++++++---------
> > 1 file changed, 9 insertions(+), 9 deletions(-)
> >
> > Index: linux-2.6/drivers/gpu/drm/i915/intel_display.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/gpu/drm/i915/intel_display.c 2009-08-05 16:56:38.000000000 +0800
> > +++ linux-2.6/drivers/gpu/drm/i915/intel_display.c 2009-08-05 17:09:20.000000000 +0800
> > @@ -3218,30 +3218,30 @@
> > intel_dp_init(dev, PCH_DP_D);
> >
> > } else if (IS_I9XX(dev)) {
> > - int found;
> > - u32 reg;
> > + bool found = false;
> >
> > if (I915_READ(SDVOB) & SDVO_DETECTED) {
> > found = intel_sdvo_init(dev, SDVOB);
> > if (!found && SUPPORTS_INTEGRATED_HDMI(dev))
> > intel_hdmi_init(dev, SDVOB);
> > +
> > if (!found && SUPPORTS_INTEGRATED_DP(dev))
> > intel_dp_init(dev, DP_B);
> > }
> >
> > /* Before G4X SDVOC doesn't have its own detect register */
> > - if (IS_G4X(dev))
> > - reg = SDVOC;
> > - else
> > - reg = SDVOB;
> >
> > - if (I915_READ(reg) & SDVO_DETECTED) {
> > + if (I915_READ(SDVOB) & SDVO_DETECTED)
> > found = intel_sdvo_init(dev, SDVOC);
> > - if (!found && SUPPORTS_INTEGRATED_HDMI(dev))
> > +
> > + if (!found && (I915_READ(SDVOC) & SDVO_DETECTED)) {
> > +
> > + if (SUPPORTS_INTEGRATED_HDMI(dev))
> > intel_hdmi_init(dev, SDVOC);
> > - if (!found && SUPPORTS_INTEGRATED_DP(dev))
> > + if (SUPPORTS_INTEGRATED_DP(dev))
> > intel_dp_init(dev, DP_C);
> > }
> > +
> > if (SUPPORTS_INTEGRATED_DP(dev) && (I915_READ(DP_D) & DP_DETECTED))
> > intel_dp_init(dev, DP_D);
> > } else
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list