NACK[H/I]: [PATCH 0/3][SRU][U/H/I/OEM-5.10/OEM-5.14] Fix System hangs on black screen when reboot

Koba Ko koba.ko at canonical.com
Mon Nov 8 13:34:02 UTC 2021


On Wed, Nov 3, 2021, 4:47 PM Stefan Bader <stefan.bader at canonical.com>
wrote:

> On 01.11.21 05:14, Koba Ko wrote:
> > BugLink: https://bugs.launchpad.net/bugs/1949321
> >
> > [Impact]
> > System hangs on black screen when reboot
> >
> > [Fix]
> > Looks like our VBIOS/GOP generally fail to turn the DP dual mode adater
> > TMDS output buffers back on after a reboot. This leads to a black screen
> > after reboot if we turned the TMDS output buffers off prior to reboot.
> > And if i915 decides to do a fastboot the black screen will persist even
> > after i915 takes over.
> >
> > Apparently this has been a problem ever since commit b2ccb822d376
> ("drm/i915:Enable/disable TMDS output buffers in DP++ adaptor as needed")
> if one rebooted while the display was turned off. And things became worse
> with commit fe0f1e3bfdfe ("drm/i915: Shut down displays gracefully on
> reboot") since now we always turn the display off before a reboot.
> >
> > This was reported on a RKL, but I confirmed the same behaviour on my
> > SNB as well. So looks pretty universal.
> >
> > Let's fix this by explicitly turning the TMDS output buffers back on
> > in the encoder->shutdown() hook. Note that this gets called after irqs
> > have been disabled, so the i2c communication with the DP dual mode
> > adapter has to be performed via polling (which the gmbus code is
> > perfectly happy to do for us).
> >
> > We also need a bit of care in handling DDI encoders which may or may
> > not be set up for HDMI output. Specifically ddc_pin will not be
> > populated for a DP only DDI encoder, in which case we don't want to
> > call intel_gmbus_get_adapter(). We can handle that by simply doing
> > the dual mode adapter type check before calling
> > intel_gmbus_get_adapter().
> > Ref: https://patchwork.freedesktop.org/series/96433/
> >
> > [Test]
> > 1. install kernel
> > 2. reboot
> > 3. check the monitor works well.
> >
> > [Regression Potential]
> > Medium, patch has sent to patchwork but may have a upgraded version in
> the furtue.
>
> This is not SRU material. When this is final and no longer experimental
> (at
> least on linux-next), then it can be considered for stable releases.
>
Ok, I will update in the future

> -Stefan
> >
> > Ville Syrjälä (2):
> >    drm/i915: Don't request GMBUS to generate irqs when called while irqs
> >      are off
> >    drm/i915/hdmi: Turn DP++ TMDS output buffers back on in
> >      encoder->shutdown()
> >
> >   drivers/gpu/drm/i915/display/g4x_hdmi.c    |  1 +
> >   drivers/gpu/drm/i915/display/intel_ddi.c   |  1 +
> >   drivers/gpu/drm/i915/display/intel_gmbus.c | 13 +++++++++++--
> >   drivers/gpu/drm/i915/display/intel_hdmi.c  | 16 ++++++++++++++--
> >   drivers/gpu/drm/i915/display/intel_hdmi.h  |  1 +
> >   5 files changed, 28 insertions(+), 4 deletions(-)
> >
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20211108/0c77488c/attachment.html>


More information about the kernel-team mailing list