On Thu, 24 May 2012 17:49:50 -0300 Paulo Zanoni <przanoni at gmail.com> wrote: > From: Paulo Zanoni <paulo.r.zanoni at intel.com> > > At this time, the HDMI port is enabled, and the DIP control register > specification says we need to disable the port *before* disabling the > DIPs. Also, while doing this we risk telling the HW to send the AVI > DIPs once (not every VSync), which really seems to confuse the HW and > trigger bugs where the DIPs are not sent. > > This code was here just to set the DIP register to a 'known state' > before using it, but since now the set_infoframes functions already > set the control registers to a known state, this code can go away. > > Also, the previous code disables *all* the DIP registers for *each* > HDMI port, so we end disabling each DIP register more than once. > > This patch solves a problem I can reproduce on my IVB machine. When I > boot it with just a single HDMI monitor, the AVI InfoFrames are not > sent. With this patch, the InfoFrames are sent. Previously, I wrote a > patch to 'touch the DIP registers after we enable the HDMI port' to > solve this same problem, but that patch doesn't seem to be needed > anymore after this patch. > > All this patch does is revert a chunk of the following commit: > > commit 64a8fc0145a1d0fdc25fc9367c2e6c621955fb3b > Author: Jesse Barnes <jbarnes at virtuousgeek.org> > Date: Thu Sep 22 11:16:00 2011 +0530 > > drm/i915: fix ILK+ infoframe support > > So bugs that can be bisected to that commit may be fixed now. > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43256 > Cc: jbarnes at virtuousgeek.org > Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com> Acked-by: Jesse Barnes <jbarnes at virtuousgeek.org> Thanks for tracking down the right disable and enable order on all the generations Paulo! \o/ -- Jesse Barnes, Intel Open Source Technology Center