On Thu, Jan 24, 2013 at 10:20 AM, Daniel Vetter daniel.vetter@ffwll.ch wrote:
Omapdrm doesn't do anything nefarious with crtc load detection or has any shared resources, so this is enough. We also need to adjust the WARN_ON.
looks good, after I double checked the locking in setplane. In case I didn't send this earlier,
Reviewed-by: Rob Clark rob@ti.com
Signed-off-by: Daniel Vetter daniel.vetter@ffwll.ch
drivers/staging/omapdrm/omap_crtc.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/staging/omapdrm/omap_crtc.c b/drivers/staging/omapdrm/omap_crtc.c index 510942e..fb5d722 100644 --- a/drivers/staging/omapdrm/omap_crtc.c +++ b/drivers/staging/omapdrm/omap_crtc.c @@ -274,17 +274,16 @@ static void page_flip_worker(struct work_struct *work) struct omap_crtc *omap_crtc = container_of(work, struct omap_crtc, page_flip_work); struct drm_crtc *crtc = &omap_crtc->base;
struct drm_device *dev = crtc->dev; struct drm_display_mode *mode = &crtc->mode; struct drm_gem_object *bo;
drm_modeset_lock_all(dev);
mutex_lock(&crtc->mutex); omap_plane_mode_set(omap_crtc->plane, crtc, crtc->fb, 0, 0, mode->hdisplay, mode->vdisplay, crtc->x << 16, crtc->y << 16, mode->hdisplay << 16, mode->vdisplay << 16, vblank_cb, crtc);
drm_modeset_unlock_all(dev);
mutex_unlock(&crtc->mutex); bo = omap_framebuffer_bo(crtc->fb, 0); drm_gem_object_unreference_unlocked(bo);
@@ -417,7 +416,7 @@ static void apply_worker(struct work_struct *work) * the callbacks and list modification all serialized * with respect to modesetting ioctls from userspace. */
drm_modeset_lock_all(dev);
mutex_lock(&crtc->mutex); dispc_runtime_get(); /*
@@ -462,16 +461,15 @@ static void apply_worker(struct work_struct *work)
out: dispc_runtime_put();
drm_modeset_unlock_all(dev);
mutex_unlock(&crtc->mutex);
}
int omap_crtc_apply(struct drm_crtc *crtc, struct omap_drm_apply *apply) { struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
struct drm_device *dev = crtc->dev;
WARN_ON(!mutex_is_locked(&dev->mode_config.mutex));
WARN_ON(!mutex_is_locked(&crtc->mutex)); /* no need to queue it again if it is already queued: */ if (apply->queued)
-- 1.7.10.4
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel