On Tue, Sep 24, 2013 at 07:52:06AM +0200, Knut Petersen wrote: > Hi Daniel! > > This patch is definitely needed for 3.12, but it is still missing in 3.12-rc2 ... Oops, that one fell through the cracks. Applied to -fixes, thanks for poking. -Daniel > > cu, > Knut > > On 10.09.2013 11:44, Daniel Vetter wrote: > >The native TV encoder has it's own flags to adjust sync modes and > >enabled interlaced modes which are totally irrelevant for the adjusted > >mode. This worked out nicely since the input modes used by both the > >load detect code and reported in the ->get_modes callbacks all have no > >flags set, and we also don't fill out any of them in the ->get_config > >callback. > > > >This changed with the additional sanitation done with > > > >commit 2960bc9cceecb5d556ce1c07656a6609e2f7e8b0 > >Author: Imre Deak <imre.deak@xxxxxxxxx> > >Date: Tue Jul 30 13:36:32 2013 +0300 > > > > drm/i915: make user mode sync polarity setting explicit > > > >sinc now the "no flags at all" state wouldn't fit through core code > >any more. So fix this up again by explicitly clearing the flags in the > >->compute_config callback. > > > >Aside: We have zero checking in place to make sure that the requested > >mode is indeed the right input mode we want for the selected TV mode. > >So we'll happily fall over if userspace tries to pull us. But that's > >definitely work for a different patch series. So just add a FIXME > >comment for now. > > > >Reported-by: Knut Petersen <Knut_Petersen@xxxxxxxxxxx> > >Cc: Knut Petersen <Knut_Petersen@xxxxxxxxxxx> > >Cc: Imre Deak <imre.deak@xxxxxxxxx> > >Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > >Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > >--- > > drivers/gpu/drm/i915/intel_tv.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > >diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c > >index f2c6d79..dd6f84b 100644 > >--- a/drivers/gpu/drm/i915/intel_tv.c > >+++ b/drivers/gpu/drm/i915/intel_tv.c > >@@ -916,6 +916,14 @@ intel_tv_compute_config(struct intel_encoder *encoder, > > DRM_DEBUG_KMS("forcing bpc to 8 for TV\n"); > > pipe_config->pipe_bpp = 8*3; > >+ /* TV has it's own notion of sync and other mode flags, so clear them. */ > >+ pipe_config->adjusted_mode.flags = 0; > >+ > >+ /* > >+ * FIXME: We don't check whether the input mode is actually what we want > >+ * or whether userspace is doing something stupid. > >+ */ > >+ > > return true; > > } > -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx