lkml.org 
[lkml]   [2015]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: 4.0.8->4.1.3 : after resume from s2ram both internal and external display of a docked ThinkPad ate black
From
Date
On 10/29/2015 10:49 PM, Pavel Machek wrote:
> On Sun 2015-10-04 18:30:14, Toralf Förster wrote:
>> On 08/04/2015 02:29 PM, Toralf Förster wrote:
>>> On 08/02/2015 09:43 AM, Pavel Machek wrote:
>>>> Any chance to bisect it?
>>> Did it.
>>>
>>> FWIW: the mentioned commit was introduced between 3.18 and 3.19.
>>> But my system (hardened 64 bit Gentoo) did not suffer from it till version 4.0.8.
>>> The hardened kernel 4.1.x was the first where the bug was visible at my docked environment too.
>>>
>>>
>>>
>>> commit e7d6f7d708290da1b7c92f533444b042c79412e0
>>> Author: Dave Airlie <airlied@redhat.com>
>>> Date: Mon Dec 8 13:23:37 2014 +1000
>>>
>>> drm/i915: resume MST after reading back hw state
>>>
>>> Otherwise the MST resume paths can hit DPMS paths
>>> which hit state checker paths, which hit WARN_ON,
>>> because the state checker is inconsistent with the
>>> hw.
>>>
>>> This fixes a bunch of WARN_ON's on resume after
>>> undocking.
>>>
>>> Signed-off-by: Dave Airlie <airlied@redhat.com>
>>> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>>> Cc: stable@vger.kernel.org
>>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>>>
>>
>> Is there anything else what I can do ?
>>
>> Current kernels up to 4.2.3 and 4.3-rc3 (not hardened) shows this issue here at my system.
>
> Yes. Now you ask Dave Airlie <airlied@redhat.com> to fix it. If that

Dear Dave,

please fix it.

Here's a work around which works for me since kernel 4.1.x :

diff --git a/drivers/gpu/drm/i915/i915_drv.c
b/drivers/gpu/drm/i915/i915_drv.c
index ab64d68..3aeead2 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -740,6 +740,8 @@ static int i915_drm_resume(struct drm_device *dev)
if (dev_priv->display.hpd_irq_setup)
dev_priv->display.hpd_irq_setup(dev);
spin_unlock_irq(&dev_priv->irq_lock);
+
+ intel_dp_mst_resume(dev);

drm_modeset_lock_all(dev);
intel_display_resume(dev);

> does not work, you ask him to fix it, in less polite words. If that
> does not work, you verify that reverting
> e7d6f7d708290da1b7c92f533444b042c79412e0 fixes it for you, then ask
> Daniel Vetter and Jani Nikula to revert it. If they fail to do that,
> you go all the way up to Linus.
>
> Good luck ;-),
> Pavel
>


--
Toralf, pgp key: C4EACDDE 0076E94E


\
 
 \ /
  Last update: 2015-10-30 11:01    [W:0.110 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site