<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO --- - [i915 SDVO regression] omposite TV-OUT shows vertical flickering with kernel >= 3.6.11"
href="https://bugs.freedesktop.org/show_bug.cgi?id=63609#c13">Comment # 13</a>
on <a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO --- - [i915 SDVO regression] omposite TV-OUT shows vertical flickering with kernel >= 3.6.11"
href="https://bugs.freedesktop.org/show_bug.cgi?id=63609">bug 63609</a>
from <span class="vcard"><a class="email" href="mailto:daniel@ffwll.ch" title="Daniel Vetter <daniel@ffwll.ch>"> <span class="fn">Daniel Vetter</span></a>
</span></b>
<pre><span class="quote">> --- <a href="show_bug.cgi?id=63609#c12">Comment #12</a> from Pierre Assal <<a href="mailto:pierre.assal@verint.com">pierre.assal@verint.com</a>> ---
> (In reply to <a href="show_bug.cgi?id=63609#c11">comment #11</a>)
> > (In reply to <a href="show_bug.cgi?id=63609#c10">comment #10</a>)
> > > (In reply to <a href="show_bug.cgi?id=63609#c9">comment #9</a>)
> > > > So TV-out is now perfectly working, without any flickering?
> > > >
> > > > Problem is that this is an pretty massive rework of the modeset flow for
> > > > 3.11, so first we need to figure out what exactly fixed things for you. I
> > > > suspect it's the patch titled "drm/i915: make SDVO TV-out work for
> > > > multifunction devices". Can you please try to revert that with git revert
> > > > <sha1 of patch>, compile & install the kernel and then check whether things
> > > > are broken again? Please make really sure that you're booting the right
> > > > kernel.
> > > >
> > > > If it's indeed that patch we can try to figure out whether/how to backport
> > > > this to older kernels.
> > >
> > > I will try this immediately and get back to you asap.
> > > Again thanks alot for your help. It is extremely appreciated.
> >
> > You're right. If I revert this patch the things are broken again.
> > I will try to merge it to my kernel 3.6.11.
>
> At first sight, I do not think that It will be easy to patch kernel 3.6.11 with
> this fix.
> Do you think that you could help me with that?</span >
The below diff is the core change (or at least I hope it is):
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index e8dd8fe..3343d37 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4303,7 +4303,8 @@ static void vlv_update_pll(struct intel_crtc *crtc)
static void i9xx_update_pll(struct intel_crtc *crtc,
intel_clock_t *reduced_clock,
- int num_connectors)
+ int num_connectors,
+ bool needs_tv_clock)
{
struct drm_device *dev = crtc->base.dev;
struct drm_i915_private *dev_priv = dev->dev_private;
@@ -4361,7 +4362,7 @@ static void i9xx_update_pll(struct intel_crtc *crtc,
if (INTEL_INFO(dev)->gen >= 4)
dpll |= (6 << PLL_LOAD_PULSE_PHASE_SHIFT);
- if (is_sdvo && intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_TVOUT))
+ if (is_sdvo && needs_tv_clock)
dpll |= PLL_REF_INPUT_TVCLKINBC;
else if (intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_TVOUT))
/* XXX: just matching BIOS for now */
@@ -4686,7 +4687,8 @@ static int i9xx_crtc_mode_set(struct drm_crtc *crtc,
else
i9xx_update_pll(intel_crtc,
has_reduced_clock ? &reduced_clock : NULL,
- num_connectors);
+ num_connectors,
+ is_sdvo && is_tv);
/* Set up the display plane register */
dspcntr = DISPPLANE_GAMMA_ENABLE;</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>