Hiya, On Fri, Feb 16, 2024 at 4:09 AM Doug Anderson <dianders@xxxxxxxxxxxx> wrote: [...snip...] > Sounds good. I know Eizan (CCed, but also a ChromeOS person) was going > to poke at it a bit and seemed willing to provide a Tested-by. I'll > let him chime in. Yup, I've tested this like so: 1. I started by slightly modifying a recent chromeos-5.15 kernel checked out to _right before_ the patch we are discussing to emit some tracing info to dmesg at entry/exit of auxdev_read_iter(). I installed it on a "tentacool" Corsola device. 2. I then rebooted the device and ran these commands: # dmesg -w & # while /bin/true; do echo -n "dpms: "; cat /sys/devices/platform/soc/14000000.syscon/mediatek-drm.7.auto/drm/card0/card0-eDP-1/dpms; dd if=/dev/drm_dp_aux1 count=1 of=/dev/null; sleep 30; done And after a few minutes, I saw the following output: dpms: On [ 435.603257] auxdev_open by pid 6327 inode num 108 dev 256901121 [ 435.603369] start auxdev_read_iter by pid 6327 1+0 records in 1+0 records out [ 435.756547] finish auxdev_read_iter by pid 6327 status 512 [ 435.756632] auxdev_release by pid 6327 inode num 108 dev 256901121 512 bytes copied, 0.153862 s, 3.3 kB/s [ 455.418637] [drm] mtk_crtc_ddp_hw_fini 459 event 0x0000000000000000 0xffffff80c0277080 0xffffff80c0277080 dpms: Off [ 465.775104] auxdev_open by pid 6399 inode num 108 dev 256901121 [ 465.775218] start auxdev_read_iter by pid 6399 dd: error reading '/dev/drm_dp_aux1': Connection timed out 0+0 records in 0+0 records out 0 bytes copied, 16.6631 s, 0.0 kB/s [ 482.437762] finish auxdev_read_iter by pid 6399 status -110 [ 482.438200] auxdev_release by pid 6399 inode num 108 dev 256901121 (OK, so what to look for in the above is the ETIMEDOUT returned by auxdev_read_iter after about 17s when dpms was turned off.) I then checked out the repo to the patch we are discussing and did the same thing, and after a few minutes, I saw: dpms: On [ 441.892692] auxdev_open by pid 6317 inode num 108 dev 256901121 [ 441.892786] start auxdev_read_iter by pid 6317 1+0 records in 1+0 records out 512 bytes copied, 0.148004 s, 3.5 kB/s [ 442.040597] finish auxdev_read_iter by pid 6317 status 512 [ 442.040652] auxdev_release by pid 6317 inode num 108 dev 256901121 [ 455.395549] [drm] mtk_crtc_ddp_hw_fini 459 event 0x0000000000000000 0xffffff80c3993080 0xffffff80c3993080 dpms: Off dd: error reading '/dev/drm_dp_aux1': Device or resource busy 0+0 records in 0+0 records out 0 bytes copied, 0.000241 s, 0.0 kB/s [ 472.055296] auxdev_open by pid 6439 inode num 108 dev 256901121 [ 472.055388] start auxdev_read_iter by pid 6439 [ 472.055421] finish auxdev_read_iter by pid 6439 status -16 [ 472.055571] auxdev_release by pid 6439 inode num 108 dev 256901121 Tested-by: Eizan Miyamoto <eizan@xxxxxxxxxxxx>