From patchwork Thu Jan 24 16:20:33 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 2033581 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork2.kernel.org (Postfix) with ESMTP id 9C590DF264 for ; Thu, 24 Jan 2013 16:22:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A4466E6C8B for ; Thu, 24 Jan 2013 08:22:43 -0800 (PST) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-we0-f181.google.com (mail-we0-f181.google.com [74.125.82.181]) by gabe.freedesktop.org (Postfix) with ESMTP id 10837E5D3E for ; Thu, 24 Jan 2013 08:20:55 -0800 (PST) Received: by mail-we0-f181.google.com with SMTP id t44so249725wey.40 for ; Thu, 24 Jan 2013 08:20:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=U4HLGJOnjblw3rWqffDVv7g/gWV1C6Nl1KBurtXEH48=; b=gwOZlRQwVmpJ829+Ek4Ljgapwl3O85enZwOvHwGAUjIjL+FTb+fs0Of/ueyidF6RED Hhiy7Ewb4EMf2Pl8xFH/rH8UEeeFgCV80hT+7hr7MKD2212zQd+sbVr44YF0ORG5w3yY 1nlzPfVhJYQakowhD5CucO//6f1OcpXAHgoc4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:x-gm-message-state; bh=U4HLGJOnjblw3rWqffDVv7g/gWV1C6Nl1KBurtXEH48=; b=Wwl1u+3q8z2110/uRjf8O6xVrTPTgP9jb1UkVndGryQycgtqgMCzPBxBWZO/JYRipC O1AIZg3A31ImVash9cDyDotTW+GLypxCaNHij5eQtUWaOj+NpNt+XEDdthlLH28V7ZNo G37NTHt3OJk0mN153zPb5K9/5oeSfzJqn6EYwR9ZIwlFK7+MQNKjC+2c2GSbbdiQRWkc eIF85BQ8PR8q4drwdCeykq49gXcGDeSgnrmfgjeNf66rMYZhioMzRFYEdzHoQeT+ylT1 2VUABq5DRT4PAuaSoiYG0gif7xlZG7j2JYkitavBEuDQTZjGFos+YnjahBgkRX3IQ1Ri 1IEQ== X-Received: by 10.180.82.170 with SMTP id j10mr4109172wiy.2.1359044455036; Thu, 24 Jan 2013 08:20:55 -0800 (PST) Received: from biers.ffwll.local (178-83-130-250.dynamic.hispeed.ch. [178.83.130.250]) by mx.google.com with ESMTPS id l5sm3273370wia.10.2013.01.24.08.20.54 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 24 Jan 2013 08:20:54 -0800 (PST) From: Daniel Vetter To: DRI Development Subject: [PATCH 01/16] omapdrm: only take crtc->mutex in crtc callbacks Date: Thu, 24 Jan 2013 17:20:33 +0100 Message-Id: <1359044448-3861-2-git-send-email-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1359044448-3861-1-git-send-email-daniel.vetter@ffwll.ch> References: <1359044448-3861-1-git-send-email-daniel.vetter@ffwll.ch> X-Gm-Message-State: ALoCoQmlUrFOXvhZGFp+vaQzVfmXdMyvMuGZp7D/G9NCwRuBZ44B+seB7fQvfLx+EC5aez5e4VKQ Cc: Daniel Vetter X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org 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. Signed-off-by: Daniel Vetter Reviewed-by: Rob Clark --- 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)