Hi Jyri,
I pulled your recent tilcdc pull request on top of v4.9 and Sekhar's davinci branch (+ vga dac DT)[1].
I'm getting "vblank wait timed out" errors when running simple modetest[2].
This error happened before with the drm_bridge series[3], but went away at one of the subsequent patch versions.
Could you please verify that you see the same error and advise on what could be the reason? I'm investigating on my own as well.
Best regards, Bartosz Golaszewski
[1] https://github.com/brgl/linux/tree/tilcdc/modetest_error [2] http://pastebin.com/rCM44Uds [3] http://www.spinics.net/lists/dri-devel/msg123732.html
2016-12-05 12:01 GMT+01:00 Bartosz Golaszewski bgolaszewski@baylibre.com:
Hi Jyri,
I pulled your recent tilcdc pull request on top of v4.9 and Sekhar's davinci branch (+ vga dac DT)[1].
I'm getting "vblank wait timed out" errors when running simple modetest[2].
This error happened before with the drm_bridge series[3], but went away at one of the subsequent patch versions.
Could you please verify that you see the same error and advise on what could be the reason? I'm investigating on my own as well.
Best regards, Bartosz Golaszewski
[1] https://github.com/brgl/linux/tree/tilcdc/modetest_error [2] http://pastebin.com/rCM44Uds [3] http://www.spinics.net/lists/dri-devel/msg123732.html
This seems like some END_OF_FRAME0 interrupt-related race condition. Increasing the timeout in drm_atomic_helper_wait_for_vblanks() from 50 to 100 and dropping drm_modeset_lock_crtc()/drm_modeset_unlock_crtc() in tilcdc_crtc_recover_work() makes the warning disappear. Also: calling drm_crtc_vblank_off() additionally before locking the crtc in tilcdc_crtc_recover_work() also seems to fix the issue 90% of times. I have been unable to figure out a reliable solution today though.
Best regards, Bartosz Golaszewski
On 12/05/16 19:07, Bartosz Golaszewski wrote:
2016-12-05 12:01 GMT+01:00 Bartosz Golaszewski bgolaszewski@baylibre.com:
Hi Jyri,
I pulled your recent tilcdc pull request on top of v4.9 and Sekhar's davinci branch (+ vga dac DT)[1].
I'm getting "vblank wait timed out" errors when running simple modetest[2].
This error happened before with the drm_bridge series[3], but went away at one of the subsequent patch versions.
Could you please verify that you see the same error and advise on what could be the reason? I'm investigating on my own as well.
Best regards, Bartosz Golaszewski
[1] https://github.com/brgl/linux/tree/tilcdc/modetest_error [2] http://pastebin.com/rCM44Uds [3] http://www.spinics.net/lists/dri-devel/msg123732.html
Sorry, I almost forgot about this problem.
This seems like some END_OF_FRAME0 interrupt-related race condition.
I can not see any race related to vblank event sending. The drm_modeset_lock_crtc() is there exactly for all ongoing operations to complete before shutting down the crtc.
I think the problem is a missing END_OF_FRAME0 interrupt when sync lost interrupt flood happens.
Increasing the timeout in drm_atomic_helper_wait_for_vblanks() from 50 to 100 and dropping drm_modeset_lock_crtc()/drm_modeset_unlock_crtc()
Not taking the lock causes drm_crtc_vblank_off() to be called in tilcdc_crtc_disable(), before the time out happens. However, this is racy because there is a pending commit still on going and executing in parallel with the recovery work.
in tilcdc_crtc_recover_work() makes the warning disappear. Also: calling drm_crtc_vblank_off() additionally before locking the crtc in tilcdc_crtc_recover_work() also seems to fix the issue 90% of times. I
I wonder what happens in that 10% off the times when when that does not help...
have been unable to figure out a reliable solution today though.
Does the attached patch help with the issue?
Best regards, Jyri
2016-12-12 12:26 GMT+01:00 Jyri Sarha jsarha@ti.com:
On 12/05/16 19:07, Bartosz Golaszewski wrote:
2016-12-05 12:01 GMT+01:00 Bartosz Golaszewski bgolaszewski@baylibre.com:
Hi Jyri,
I pulled your recent tilcdc pull request on top of v4.9 and Sekhar's davinci branch (+ vga dac DT)[1].
I'm getting "vblank wait timed out" errors when running simple modetest[2].
This error happened before with the drm_bridge series[3], but went away at one of the subsequent patch versions.
Could you please verify that you see the same error and advise on what could be the reason? I'm investigating on my own as well.
Best regards, Bartosz Golaszewski
[1] https://github.com/brgl/linux/tree/tilcdc/modetest_error [2] http://pastebin.com/rCM44Uds [3] http://www.spinics.net/lists/dri-devel/msg123732.html
Sorry, I almost forgot about this problem.
This seems like some END_OF_FRAME0 interrupt-related race condition.
I can not see any race related to vblank event sending. The drm_modeset_lock_crtc() is there exactly for all ongoing operations to complete before shutting down the crtc.
I think the problem is a missing END_OF_FRAME0 interrupt when sync lost interrupt flood happens.
Indeed sounds like a probable cause.
Increasing the timeout in drm_atomic_helper_wait_for_vblanks() from 50 to 100 and dropping drm_modeset_lock_crtc()/drm_modeset_unlock_crtc()
Not taking the lock causes drm_crtc_vblank_off() to be called in tilcdc_crtc_disable(), before the time out happens. However, this is racy because there is a pending commit still on going and executing in parallel with the recovery work.
Sure, I just did it to see if it would change anything.
in tilcdc_crtc_recover_work() makes the warning disappear. Also: calling drm_crtc_vblank_off() additionally before locking the crtc in tilcdc_crtc_recover_work() also seems to fix the issue 90% of times. I
I wonder what happens in that 10% off the times when when that does not help...
have been unable to figure out a reliable solution today though.
Does the attached patch help with the issue?
No it doesn't - I'm still getting the warning.
Thanks, Bartosz
dri-devel@lists.freedesktop.org