Bug 75880 - [i915 Bayley Bay] Graphics shake/jitter observed when seen on DP monitor
Summary: [i915 Bayley Bay] Graphics shake/jitter observed when seen on DP monitor
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-07 11:23 UTC by arun
Modified: 2017-07-24 22:55 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Jitter on DP monitor (2.71 MB, text/plain)
2014-03-07 11:23 UTC, arun
no flags Details

Description arun 2014-03-07 11:23:00 UTC
Created attachment 95297 [details]
Jitter on DP monitor

Hi,

I have connected a VGA and a DP monitor on Bayley Bay platform.
I am booting ubuntu 13.10 with the kernel  http://cgit.freedesktop.org/drm-intel/log/?h=drm-intel-fixes

##################################
arun@arun-valley-view:~$ uname -a
Linux arun-valley-view 3.14.0-rc5-g24bd9bf #1 SMP PREEMPT Fri Mar 7 14:42:49 IST 2014 i686 i686 i686 GNU/Linux
arun@arun-valley-view:~$ X -version

X.Org X Server 1.14.5
Release Date: 2013-12-12
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-54-generic i686 Ubuntu
Current Operating System: Linux arun-valley-view 3.14.0-rc5-g24bd9bf #1 SMP PREEMPT Fri Mar 7 14:42:49 IST 2014 i686
Kernel command line: BOOT_IMAGE=bzImage console=ttyS0,115200n8 rw root=/dev/sda8 rootwait rootfstype=ext4 log_buf_len=32M
Build Date: 17 December 2013  10:03:52AM
xorg-server 2:1.14.5-1ubuntu2~saucy1 (For technical support please see http://www.ubuntu.com/support) 
Current version of pixman: 0.30.2
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.


##################################


If I write click in the desktop on the DP port monitor and go through the menu items I am observing shakes or vibrations

This problem is not seen when I boot only VGA or DP. It comes only during dual display configuration.

I am observing jitters right now if I move my mouse.

Regards,
Arun C
Comment 1 Daniel Vetter 2014-03-10 11:18:08 UTC
Can you please retest with the latest drm-intel-nightly branch from

http://cgit.freedesktop.org/drm-intel
Comment 2 Daniel Vetter 2014-03-10 11:18:29 UTC
Oops, you've done this already, nevermind.
Comment 3 arun 2014-03-11 06:28:40 UTC
Hi,

I tried the stable-kernel (https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?id=refs%2Ftags%2Fv3.12.14&h=linux-3.13.y) with ubuntu 13.10; Its behavior is given below.

a) When booted with VGA + DP monitor
------------------------------------
Issue exists


b) When booted with only DP monitor
-----------------------------------

Desktop is stable.

So I did a bisect of the kernel and found that the below commit

########################################################
c6cd2ee2d59111a07cd9199564c9bdcb2d11e5cf is the first good commit
commit c6cd2ee2d59111a07cd9199564c9bdcb2d11e5cf
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Mon Oct 21 10:52:07 2013 +0300

    drm/i915/dp: workaround BIOS eDP bpp clamping issue
    
    This isn't a real fix to the problem, but rather a stopgap measure while
    trying to find a proper solution.
    
    There are several laptops out there that fail to light up the eDP panel
    in UEFI boot mode. They seem to be mostly IVB machines, including but
    apparently not limited to Dell XPS 13, Asus TX300, Asus UX31A, Asus
    UX32VD, Acer Aspire S7. They seem to work in CSM or legacy boot.
    
    The difference between UEFI and CSM is that the BIOS provides a
    different VBT to the kernel. The UEFI VBT typically specifies 18 bpp and
    1.62 GHz link for eDP, while CSM VBT has 24 bpp and 2.7 GHz link. We end
    up clamping to 18 bpp in UEFI mode, which we can fit in the 1.62 Ghz
    link, and for reasons yet unknown fail to light up the panel.
    
    Dithering from 24 to 18 bpp itself seems to work; if we use 18 bpp with
    2.7 GHz link, the eDP panel lights up. So essentially this is a link
    speed issue, and *not* a bpp clamping issue.
    
    The bug raised its head since
    commit 657445fe8660100ad174600ebfa61536392b7624
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Sat May 4 10:09:18 2013 +0200
    
        Revert "drm/i915: revert eDP bpp clamping code changes"
    
    which started clamping bpp *before* computing the link requirements, and
    thus affecting the required bandwidth. Clamping after the computations
    kept the link at 2.7 GHz.
    
    Even though the BIOS tells us to use 18 bpp through the VBT, it happily
    boots up at 24 bpp and 2.7 GHz itself! Use this information to
    selectively ignore the VBT provided value.
    
    We can't ignore the VBT eDP bpp altogether, as there are other laptops
    that do require the clamping to be used due to EDID reporting higher bpp
    than the panel can support.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=59841
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67950
    Tested-by: Ulf Winkelvos <ulf@winkelvos.de>
    Tested-by: jkp <jkp@iki.fi>
    CC: stable@vger.kernel.org
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
#################################################

Fixed this problem in DP only scenario. Commits prior to this on stable linux-3.13.y branch has this issue with only DP monitor connected.

Regards,
Arun C
Comment 4 arun 2014-03-11 07:18:41 UTC
Hi,

I observed that if I power up the board with only DP monitor connected desktop is stable.  Then even if i connect extra VGA monitor graphics is stable.

The issue comes only if I power up the board with both DP and VGA connected.

Regards,
Arun C
Comment 5 arun 2014-03-12 08:11:32 UTC
Hi,


The below patch solves the problem for me

########################################
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 41bdac4..ad1d824 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -844,12 +844,6 @@ intel_dp_compute_config(struct intel_encoder *encoder,
        /* Walk through all bpp values. Luckily they're all nicely spaced with 2
         * bpc in between. */
        bpp = pipe_config->pipe_bpp;
-       if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp &&
-           dev_priv->vbt.edp_bpp < bpp) {
-               DRM_DEBUG_KMS("clamping bpp for eDP panel to BIOS-provided %i\n",
-                             dev_priv->vbt.edp_bpp);
-               bpp = dev_priv->vbt.edp_bpp;
-       }
 
        for (; bpp >= 6*3; bpp -= 2*3) {
                mode_rate = intel_dp_link_required(adjusted_mode->crtc_clock,

###########################################


In the case of VGA + DP overriding of BIOS provided max bpp is not happening as
 intel_dp_get_config() is called after calling intel_dp_compute_config(). That function overrides pipe bpp with BIOS provided one.


I think it happens because the when both DP and VGA is connected, DP is powered on lately and intel_dp_get_hw_state() returns false so 
intel_modeset_readout_hw_state() is not calling intel_dp_get_config() during the booting.


Regards,
Arun C
Comment 6 Jani Nikula 2014-08-14 13:45:28 UTC
We've shuffled the code a lot recently. Please try current drm-intel-nightly and report back.
Comment 7 Jesse Barnes 2014-12-04 21:14:09 UTC
Arun, please re-open if this isn't fixed in current code.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.