Hello First of all, thank you all for the recent work on apldrm(4). It really improved the user experience on Apple Sillicon. However, I have been running into two problems after upgrading to a recent snapshot.
My display is a LG HDR UWQHD (Ultra-Wide) 5K. First problem is after the display has gone to sleep it doesn't want to come back. Here is a dmesg dump: --- drm:pid0:iomfb_poweron_v13_3 *ERROR* dcp_poweron() starting apldrm0: 3840x2160, 32bpp wsdisplay0 at apldrm0 mux 1 wskbd0: connecting to wsdisplay0 wskbd1: connecting to wsdisplay0 wsdisplay0: screen 0-5 added (std, vt100 emulation) bwfm0: address 14:98:77:39:e8:52 drm:pid29918:iomfb_poweroff_v13_3 *ERROR* dcp_poweroff() done ungoogled-chromium[86229]: pledge "inet", syscall 97 drm:pid29918:iomfb_poweron_v13_3 *ERROR* dcp_poweron() starting drm:pid29918:iomfb_poweroff_v13_3 *ERROR* dcp_poweroff() done drm:pid29918:iomfb_poweron_v13_3 *ERROR* dcp_poweron() starting drm:pid29918:drm_atomic_helper_wait_for_flip_done *ERROR* [drm] *ERROR* [CRTC:33:crtc-0] flip_done timed out drm:pid29918:drm_crtc_commit_wait *ERROR* [drm] *ERROR* flip_done timed out drm:pid29918:drm_atomic_helper_wait_for_dependencies *ERROR* [drm] *ERROR* [CRTC:33:crtc-0] commit wait timed out drm:pid29918:dcp_flush *ERROR* unexpected busy command channel drm:pid29918:drm_crtc_commit_wait *ERROR* [drm] *ERROR* flip_done timed out drm:pid29918:drm_atomic_helper_wait_for_dependencies *ERROR* [drm] *ERROR* [CONNECTOR:35:HDMI-A-1] commit wait timed out drm:pid29918:dcp_flush *ERROR* unexpected busy command channel drm:pid29918:dcp_flush *ERROR* unexpected busy command channel drm:pid29918:drm_crtc_commit_wait *ERROR* [drm] *ERROR* flip_done timed out drm:pid29918:drm_atomic_helper_wait_for_dependencies *ERROR* [drm] *ERROR* [PLANE:31:plane-0] commit wait timed out --- Second problem is after unplugging the cable and plugging it back in the screen does not want to come back. Here is another dmesg dump: --- drm:pid0:iomfb_poweron_v13_3 *ERROR* dcp_poweron() starting apldrm0: 3840x2160, 32bpp wsdisplay0 at apldrm0 mux 1 wskbd0: connecting to wsdisplay0 wskbd1: connecting to wsdisplay0 wsdisplay0: screen 0-5 added (std, vt100 emulation) bwfm0: address 14:98:77:39:e8:52 drm:pid71006:iomfb_poweroff_v13_3 *ERROR* dcp_poweroff() done drm:pid71006:iomfb_poweron_v13_3 *ERROR* dcp_poweron() starting drm:pid71006:drm_atomic_helper_wait_for_flip_done *ERROR* [drm] *ERROR* [CRTC:33:crtc-0] flip_done timed out drm:pid71006:drm_crtc_commit_wait *ERROR* [drm] *ERROR* flip_done timed out drm:pid71006:drm_atomic_helper_wait_for_dependencies *ERROR* [drm] *ERROR* [CRTC:33:crtc-0] commit wait timed out drm:pid71006:dcp_flush *ERROR* unexpected busy command channel drm:pid71006:drm_crtc_commit_wait *ERROR* [drm] *ERROR* flip_done timed out drm:pid71006:drm_atomic_helper_wait_for_dependencies *ERROR* [drm] *ERROR* [CONNECTOR:35:HDMI-A-1] commit wait timed out drm:pid71006:dcp_flush *ERROR* unexpected busy command channel --- Thank you!