From: Dave Airlie airlied@redhat.com
Since Daniel documented things with a sledge hammer, we got lots of nice backtraces in suspend/resume operations, I've check the callers of this and they all seems safe to me,
This fixes one set of warns I reported.
Signed-off-by: Dave Airlie airlied@redhat.com --- drivers/gpu/drm/drm_crtc_helper.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 5d2b7a5..c0f2d62 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -983,6 +983,7 @@ void drm_helper_resume_force_mode(struct drm_device *dev) int encoder_dpms; bool ret;
+ drm_modeset_lock_all(dev); list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
if (!crtc->enabled) @@ -1017,6 +1018,7 @@ void drm_helper_resume_force_mode(struct drm_device *dev)
/* disable the unused connectors while restoring the modesetting */ __drm_helper_disable_unused_functions(dev); + drm_modeset_unlock_all(dev); } EXPORT_SYMBOL(drm_helper_resume_force_mode);
On Fri, Mar 21, 2014 at 10:46:59AM +1000, Dave Airlie wrote:
From: Dave Airlie airlied@redhat.com
Since Daniel documented things with a sledge hammer, we got lots of nice backtraces in suspend/resume operations, I've check the callers of this and they all seems safe to me,
This fixes one set of warns I reported.
Signed-off-by: Dave Airlie airlied@redhat.com
Some drivers have some other modeset gunk around the call to this helper (like cursor frobbing or dpms frobbing) which probably should be moved either to their crtc enable hook or into the core crtc helpers. So I don't think pushing the locking out intro drivers is that useful
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_crtc_helper.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 5d2b7a5..c0f2d62 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -983,6 +983,7 @@ void drm_helper_resume_force_mode(struct drm_device *dev) int encoder_dpms; bool ret;
drm_modeset_lock_all(dev); list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
if (!crtc->enabled)
@@ -1017,6 +1018,7 @@ void drm_helper_resume_force_mode(struct drm_device *dev)
/* disable the unused connectors while restoring the modesetting */ __drm_helper_disable_unused_functions(dev);
- drm_modeset_unlock_all(dev);
} EXPORT_SYMBOL(drm_helper_resume_force_mode);
-- 1.8.3.1
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
dri-devel@lists.freedesktop.org