[PATCH v3 0/6] drm/tilcdc: Fix cpufreq transition related race + cleanu
Jyri Sarha
jsarha at ti.com
Wed Sep 7 08:59:45 UTC 2016
Changes since v2:
- Fix typo from "drm/tilcdc: Clean up LCDC functional clock rate setting code"
description
- Split "drm/tilcdc: Take CRTC lock when calling tilcdc_crtc_disable()" out
of "drm/tilcdc: WARN if CRTC is touched without CRTC lock"
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 (6):
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: Take CRTC lock when calling tilcdc_crtc_disable()
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
More information about the dri-devel
mailing list