https://bugs.freedesktop.org/show_bug.cgi?id=71083
Priority: medium Bug ID: 71083 Assignee: dri-devel@lists.freedesktop.org Summary: (struct drm_encoder_helper_funcs)->mode_set not re-called after display (and EDID) change Severity: normal Classification: Unclassified OS: All Reporter: zajec5@gmail.com Hardware: Other Status: NEW Version: unspecified Component: DRM/other Product: DRI
I use my DCE5 Barts (HD69xx) with AV-receiver Onkyo TX-SR605 and one of the following displays: 1) TV Sony Bravia KDL-52X3500 2) Projector Epson EH-TW6100
My problem is that when I change display connected to the Onkyo's output EDID changes, but drm doesn't call mode_set as long as I use the same resolution.
To force drm to call mode_set I've to change resolution (xrandr --output HDMI-0 --mode X) and then swtich back to the mode I want.
While the display seems to be working fine without that mode_set call, the audio engine doesn't. As part of the modesetting handler we read ELD-related info from EDID and write it to the audio engine of the GPU. Without this happening I can't play correctly audio (because also sees info about previous device, not the current one).
I think mode_set should be called every time EDID changes. Is that right?
In case someone's curious:
1) EDID with Onkyo + Sony TV: 00ffffffffffff003dcb610700000000 0011010380a05a780a0dc9a057479827 12484c21080081800101010101010101 010101010101023a801871382d40582c 450040846300001e011d007251d01e20 6e28550040846300001e000000fc0054 582d53523630350a20202020000000fd 00303e0e460f000a2020202020200185 02034c705c1f03041213051420071610 15110206010f1e0b1a191d0e0a242625 2335097f070f7f071707503f06c05706 005f7e01671e00834f00006c030c0012 00b82dc000000000e3050301023a80d0 72382d40102c458040846300001e011d 00bc52d01e20b828554040846300001e 00000000000000000000000000000078
2) EDID with Onkyo + Epson projector: 00ffffffffffff004ca333d000000000 0c150104952616780aa0558d515a962a 1c505400000001010101010101010101 0101010101016a4d80a07038fc413020 36007ed710000018d49a80a07038fc41 302036007ed710000038000000fc0053 414d53554e470a2020202020000000fc 00313733485430322d4330310a200035
https://bugs.freedesktop.org/show_bug.cgi?id=71083
--- Comment #1 from Alex Deucher agd5f@yahoo.com --- Are you unplugging the cable from the card when you switch the monitors? That should generate a hotplug event which will trigger the graphics stack to reprobe the displays. If you are just changing the monitor connected to the receiver, it sounds like the receiver never sends a hotplug event to the card. As such the card has no way of knowing that the EDID has changed.
https://bugs.freedesktop.org/show_bug.cgi?id=71083
--- Comment #2 from Rafał Miłecki zajec5@gmail.com --- I do! I unplug HDMI that is between notebook and Onkyo and then start switching operation. I also get a notification about changed display configuration in KDE, so I'm sure events are generate correctly.
https://bugs.freedesktop.org/show_bug.cgi?id=71083
Martin Peres martin.peres@free.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID
--- Comment #3 from Martin Peres martin.peres@free.fr --- Hi,
Freedesktop's Bugzilla instance is EOLed and open bugs are about to be migrated to http://gitlab.freedesktop.org.
To avoid migrating out of date bugs, I am now closing all the bugs that did not see any activity in the past year. If the issue is still happening, please create a new bug in the relevant project at https://gitlab.freedesktop.org/drm (use misc by default).
Sorry about the noise!
dri-devel@lists.freedesktop.org