Changes since v1: - Use drm_modeset_lock/unlock_crtc() instead of taking mode config mutex - Rewrote decsription for old "drm/tilcdc: Add tilcdc_crtc_set_clk() and cleanup cpufreq_transition()" which now called "drm/tilcdc: Clean up LCDC functional clock rate setting code" - Dropped "drm/tilcdc: Add mutex to protect crtc enable and disable routines" - Added "drm/tilcdc: Flush flip-work workqueue before drm_flip_work_cleanup()" - Added "drm/tilcdc: Remove unnecessary tilcdc_crtc_disable() from tilcdc_unload()" - Added "drm/tilcdc: WARN if CRTC is touched without CRTC lock" There was a race between mode_set_nofb() and cpufreq_transition() calling tilcdc_crtc_update_clk() without locking. The first patch fixes the race in with a minimal change by taking the drm CRTC lock for the duration of the clock update. The second patch goes a step forward and cleans up the clock setting code a bit. BR, Jyri Jyri Sarha (5): drm/tilcdc: Take crtc modeset lock while updating the crtc clock rate drm/tilcdc: Clean up LCDC functional clock rate setting code drm/tilcdc: Flush flip-work workqueue before drm_flip_work_cleanup() drm/tilcdc: Remove unnecessary tilcdc_crtc_disable() from tilcdc_unload() drm/tilcdc: WARN if CRTC is touched without CRTC lock drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 91 +++++++++++++++++++++++------------- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 12 ++--- drivers/gpu/drm/tilcdc/tilcdc_drv.h | 1 - 3 files changed, 62 insertions(+), 42 deletions(-) -- 1.9.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel