Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Admin message
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
Something went wrong while setting issue due date.
USB Type-C monitor flashes once when play a video file after unplug and re-plug the monitor
Created attachment 144604
dmesg logs on Chromebook with drm-tip logs enabled with 0x1e
Steps to reproduce this issue:
Boot chromebook/Ubuntu 16.04 to OS.
Connect type-c cable to laptop.
Plug DP to MST Display
Switch sound output to speaker.
Play a local video or music (not suggested Youtube). OR "speaker_test" from command line
Close the player.
Unplug type-c cable then plug cable in about 5~10s.
Play a local video or music again.
MST monitor will flash once when playing multimedia. <------issue
Steps to reproduce on Ubuntu 16.04 OS:
1. Boot Ubuntu OS
2. Connect Display with Solomon Dock
3. Make sure to select HDMI from audio settings ==> Check if issue happens??
4. Play video ==> Check if issue happens??
Issue happens on KBL/WHL as well as with SST monitor, although reproduction rate is low. High reproduction rate(90%) if done using S2718D and Solomon dock.
Issue happens with drm-tip SH1 034e3ac6a2d1 also.
Attaching the logs with Chrome OS Kernel as well as with drm-tip.
This bug can also be reproduced with two daisy-chained monitors (DP MST). It is harder but the bug is there even without the Dell dock. I hope this helps setting the priority higher than Medium.
I took another log on a Chromebook with drm-tip and drm.debug=0xe. I also marked the spot where I start playing the video with "play audio and flash".
You'll then see the spurious which get printed during the video playback.
[drm:skl_update_scaler] scaler_user index 0.0: staged scaling request for 1920x1080->1724x970 scaler_users = 0x1
[drm:intel_atomic_setup_scalers] Attached scaler id 0.0 to PLANE:31"
It is during the video playback time that the flash occurs.
The one interesting thing I found is that we restart probing for connectors at this point:
[ 3980.917229] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:86:eDP-1]
which is triggered by an ioctl call from user space. For some reason the userspace needs to reprobe and I'm not sure what causes this.
Another finding from my previous investigation was that if you wait for the this reprobing to finish and then play the video the flash will not occur.
Attachment 145081, "dmesg marked with "play audio and flash"": marked_dmesg.log
Does it also flash, if you play video with sound device being disabled?
No if I blacklist snd_hda_intel module to disable audio the bug is not reproducible.
The reprobe is still there though, but without audio there is no flash.
[ 718.086179] [drm:edp_panel_vdd_off_sync] Turning eDP port A VDD off
[ 718.086313] [drm:edp_panel_vdd_off_sync] PP_STATUS: 0x80000008 PP_CONTROL: 0x00000067
[ 725.108202] [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:86:eDP-1]
--- Comment 15 from Stanislav Lisovskiy stanislav.lisovskiy@intel.com ---
(In reply to Nathan Ciobanu from comment 13)
(In reply to Stanislav Lisovskiy from comment 12)
What do you mean by "that if you wait for the this reprobing to finish and
then play the video the flash will not occur"?
So it does not happen once you start playback, but at some point before this?
The flash happens if you play the video (with audio) before the reprobe, If
you play the video after reprobe it doesn't occur.
But when does reprobe occur? Does it occur on its own or after you replug it or
some other action?
It always occurs regardless of my actions.
That is weird then. It should occur only once you do hotplug/change display configuration. It should not happen on its own, probably that might be origin of this issue.
>
> >
> > --
> > You are receiving this mail because:
> > You are on the CC list for the bug.
--- Comment 15 from Stanislav Lisovskiy stanislav.lisovskiy@intel.com ---
(In reply to Nathan Ciobanu from comment 13)
(In reply to Stanislav Lisovskiy from comment 12)
What do you mean by "that if you wait for the this reprobing to finish and
then play the video the flash will not occur"?
So it does not happen once you start playback, but at some point before this?
The flash happens if you play the video (with audio) before the reprobe, If
you play the video after reprobe it doesn't occur.
But when does reprobe occur? Does it occur on its own or after you replug it or
some other action?
It always occurs regardless of my actions.
That is weird then. It should occur only once you do hotplug/change display
configuration. It should not happen on its own, probably that might be origin
of this issue.
That is my suspicion as well. I don't know how hda behaves in MST situations but maybe it isn't "ready" right away when the displays finish training but may become "ready" a few seconds later and thus trigger a reprobe. To prove this which register do I need to print?
Thanks,
Nathan
>
> >
> > --
> > You are receiving this mail because:
> > You are on the CC list for the bug.
--
You are receiving this mail because:
You are on the CC list for the bug.
--- Comment 15 from Stanislav Lisovskiy stanislav.lisovskiy@intel.com ---
(In reply to Nathan Ciobanu from comment 13)
(In reply to Stanislav Lisovskiy from comment 12)
What do you mean by "that if you wait for the this reprobing to finish and
then play the video the flash will not occur"?
So it does not happen once you start playback, but at some point before this?
The flash happens if you play the video (with audio) before the reprobe, If
you play the video after reprobe it doesn't occur.
But when does reprobe occur? Does it occur on its own or after you replug it or
some other action?
It always occurs regardless of my actions.
That is weird then. It should occur only once you do hotplug/change display
configuration. It should not happen on its own, probably that might be origin
of this issue.
That is my suspicion as well. I don't know how hda behaves in MST situations
but maybe it isn't "ready" right away when the displays finish training but
may become "ready" a few seconds later and thus trigger a reprobe. To prove
this which register do I need to print?
Thanks,
Nathan
>
> >
> > --
> > You are receiving this mail because:
> > You are on the CC list for the bug.
--
You are receiving this mail because:
You are on the CC list for the bug.
The dmesg log looks flooded with hpd irq events like this "gen8_de_irq_handler] hotplug event received, stat 0x00400000, dig 0x10101110, pins 0x00000040, long 0x00000000", I don't think this is even related to hda, most likely there is some issue with DP MST itself. The flash probably just happens as a result of constant reprobing and simultaneous modeset.
Userspace starts reprobing after it gets uevent sent by the driver in response to hpd irq.
--- Comment 15 from Stanislav Lisovskiy stanislav.lisovskiy@intel.com ---
(In reply to Nathan Ciobanu from comment 13)
(In reply to Stanislav Lisovskiy from comment 12)
What do you mean by "that if you wait for the this reprobing to finish and
then play the video the flash will not occur"?
So it does not happen once you start playback, but at some point before this?
The flash happens if you play the video (with audio) before the reprobe, If
you play the video after reprobe it doesn't occur.
But when does reprobe occur? Does it occur on its own or after you replug it or
some other action?
It always occurs regardless of my actions.
That is weird then. It should occur only once you do hotplug/change display
configuration. It should not happen on its own, probably that might be origin
of this issue.
That is my suspicion as well. I don't know how hda behaves in MST situations
but maybe it isn't "ready" right away when the displays finish training but
may become "ready" a few seconds later and thus trigger a reprobe. To prove
this which register do I need to print?
Thanks,
Nathan
>
> >
> > --
> > You are receiving this mail because:
> > You are on the CC list for the bug.
--
You are receiving this mail because:
You are on the CC list for the bug.
The dmesg log looks flooded with hpd irq events like this "gen8_de_irq_handler]
hotplug event received, stat 0x00400000, dig 0x10101110, pins 0x00000040, long
0x00000000", I don't think this is even related to hda, most likely there is
some issue with DP MST itself. The flash probably just happens as a result of
constant reprobing and simultaneous modeset.
Userspace starts reprobing after it gets uevent sent by the driver in response
to hpd irq.
Does this point to the dock as a possible soure of the hpd interrupts? Do you think the dock may have an issue? Any register we can dump to prove this?
Thanks,
Nathan
--
You are receiving this mail because:
You are on the CC list for the bug.
We have finding as attached patch for reference.
Add 40ms delay after set cvt_nid power state in function haswell_verify_D0 issue seems been fixed
Verify PASS 20 iterations with S2718D and Solomon dock.(platfomr:WHL, CML)
Not sure if it's good solution. May need expert to help to review.
HI reporter,
As there is no response since a month assuming that issue is not seen with latest drm-tip,closing the issue.If issue still exists,please reopen the same.