Summary: | AMD WX4150 - Hotplugging on an MST hub doesn't work | ||||||
---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Lyude Paul <lyude> | ||||
Component: | DRM/AMDgpu | Assignee: | Default DRI bug account <dri-devel> | ||||
Status: | RESOLVED MOVED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | medium | CC: | harry.wentland, john.e.francis, nicholas.kazlauskas, sunpeng.li | ||||
Version: | DRI git | ||||||
Hardware: | Other | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Lyude Paul
2018-09-22 00:17:25 UTC
The MST is working in the first modeset, and afterwards it stops working. Does it mean that each mode change after first modeset doesn't work? (In reply to Jerry Zuo from comment #1) > The MST is working in the first modeset, and afterwards it stops working. > Does it mean that each mode change after first modeset doesn't work? Correct Just a note: I definitely don't have the time to take a closer look at this. If someone from AMD could take a look that would be /REALLY/ appreciated. Created attachment 141903 [details] [review] MST patch . (In reply to Lyude Paul from comment #3) > Just a note: I definitely don't have the time to take a closer look at this. > If someone from AMD could take a look that would be /REALLY/ appreciated. We are currently working on a MST downstream issue. The payload bw is failed to get removed for the unplugged MST monitor that exhausts payload bw. You may have a quick try to see if that helps. I am retesting on HP Zbook. (In reply to Jerry Zuo from comment #4) > Created attachment 141903 [details] [review] [review] > MST patch First off sorry for this taking so long. I had been prepared to test this pretty quickly originally, but there was a mixup in the office and the laptop I needed to reproduce this got sent to another office until today. So this might not get done in the time I was hoping for, but that's ok as that isn't AMD's fault. Additionally, the problem is less severe then I originally thought anyway. So, after testing a couple of kernels mst seems to work now that I'm back from XDC. I think what must have happened is I didn't get enough time to look at it closely, and got confused by two things: - The external monitors on the MST hub not coming on were most likely caused by the keypress spam from the ACPI hotplug events and I just didn't notice at the time. I have a fix for this by the way which still needs reviews! https://patchwork.freedesktop.org/patch/251897/ - I /thought/ I was actually testing hotplugging by removing the entire topology instead of just downstream sinks, as downstream sink hotplugging isn't nearly as important as the former and I kind of expected downstream sink hotplugging to be broken anyway. But, I guess not? Weird. All of that being said, that means this is a lot more severe then I thought! :), phew. ---- Now onto the actual patch that you sent: what exactly is this supposed to be doing? Are we dereferencing an mstb's port too early somewhere in the DRM MST core? > All of that being said, that means this is a lot more severe then I thought! > :), phew. Do you mean less severe? > > ---- > Now onto the actual patch that you sent: what exactly is this supposed to be > doing? Are we dereferencing an mstb's port too early somewhere in the DRM > MST core? Imagine this daisy-chain configuration: GPU > MST display 1 > MST display 2 When unplugging MST display 2 we fail to deallocate the payload allocation for the link between the two MST displays. It looks like the MST connector destroy code tries to do so but fails to do so because it can no longer get a validate_port_ref for the 2nd MST display's port. Jerry's done a ton of debugging here and give more info. My thoughts are that it seems like Dave designed the drm_dp_mst_* code to deal with it quite well but it got broken at some point, maybe with the introduction of the validated_port_ref, or something else. But even then, all the new changes are good. I've been trying to think how this could be solved but haven't found a solution I'm happy with yet. -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/534. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.