Created attachment 288939 [details]
5.4.28: lspci output of Lenovo 14w notebook with stoney gpu
I do have some issues running a Lenovo 14w notebook in a multi monitor setup. The displays are connected as followed:
[Lenovo 14w]--(USB-C)-->[Dell U2719DC]--(Display Port)-->[Some other display]
The second display is not connected directly to the notebook. This display is connected to the monitor output of the Dell display. The Dell display is configured to use MST and this setup was successfully validated with a Windows 10 installation.
When I plug the Dell 2719DC with the daisy chained monitor via USB-C to the notebook, the screens are staying black and I get crash of the amdgpu driver in dmesg. Kernel logs (5.4.28 and 5.4.36) are attached.
My system is currently based on kernel 5.4.28. But I did checked also the latest kernel version in the 5.4 LTS tree which was 5.4.36. The same error is reproducable under Ubuntu 20.04 which is based on kernel 5.4.0.
If MST is disabled in the Dell 2719DC, it works as expected. My intenal notebook screen is expanded with the USB-C connected Dell U2719DC. And the third monitor is in clone mode with the Dell U2719DC.
Thank you for reading and kind regards,
Created attachment 288941 [details]
5.4.28: Kernel log with connected display
Created attachment 288943 [details]
5.4.28: kernel config
Created attachment 288945 [details]
5.4.36: kernel config
Created attachment 288947 [details]
5.4.36: lspci output of Lenovo 14w notebook with stoney gpu
Created attachment 288949 [details]
5.4.36: Kernel log with connected display
Are you trying to use more than two total displays (including the laptop panel)? Stoney only has two display controllers so it can only driver a maximum of two displays.
Yes, the plan was to use three displays in total. I was not aware that this is not possible with Stoney. Thank you for the clarification.
Is there a way to ask the amdgpu driver how much displays are supported, e.g. via a parameter in userspace?
You can ask any KMS driver via the drmModeGetResources() function call in libdrm.
If using X, you can also use `xrandr --verbose` to see number of crtcs.