Re: 4.0.8->4.1.3 : after resume from s2ram both internal and external display of a docked ThinkPad ate black

From: Toralf FÃrster
Date: Fri Oct 30 2015 - 05:38:32 EST


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@xxxxxxxxxx>
>>> 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@xxxxxxxxxx>
>>> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
>>> Cc: stable@xxxxxxxxxxxxxxx
>>> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
>>>
>>
>> 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@xxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/