From patchwork Thu Jun 6 22:27:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 10980523 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 255FE924 for ; Thu, 6 Jun 2019 22:28:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 131DD1FFE4 for ; Thu, 6 Jun 2019 22:28:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 043DA27EE2; Thu, 6 Jun 2019 22:28:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 9ED821FFE4 for ; Thu, 6 Jun 2019 22:28:14 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0675B89A14; Thu, 6 Jun 2019 22:28:11 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id DEECF899DE for ; Thu, 6 Jun 2019 22:28:05 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id h10so5506510edi.13 for ; Thu, 06 Jun 2019 15:28:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9n5T0pbK/9rbszfRHEajQrYFqsuCJNcrkzXFCxa/AyY=; b=kEhRSGMZrllwWnTQ1WlO0ru9bd4sEdK9MGK9w5dlaRm0kOSCH+g9aTyRYInL8vaqkc wTI7oBsKCP7hwuTRP6BHA8/pN/SOAYAavWTc7N5y5Dpvp/wA0Evj7ac2++ua2tATU1av rNbKoOg66FuHIv6sYXBgzDK+0oq4xwXLMUfZgfHgupCqpHxsPmH+vi+XKfEeBK+bdB1S 29DivXlFL4CQvIl6GYnwFJjlaKyYHhU/AWvOLxdy8+F9Een/4DKVNM3KV2nW41C28qHK VU92+MhGlFyqu4O2Vciz2uTcrr1/eA7sE2w4ef2L6yy7PvH/aX7NsHr5jl/vJwJZzVdO COkQ== X-Gm-Message-State: APjAAAW25JIQe5mIhEZtvjnU+eQ51Wbuxw5Ast9KANb7D0mj95vEyqQT 4pDq4vamL3ZR7GcdQwv548+S67eUZkI= X-Google-Smtp-Source: APXvYqwVqUVWJSHJFusu/dy8XDlUe4N/K9Wog41VFGlqNQbqhzS1lOwUoFiiJ809Zp303ry9UzXaNg== X-Received: by 2002:aa7:c717:: with SMTP id i23mr14970613edq.26.1559860084188; Thu, 06 Jun 2019 15:28:04 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:569e:0:3106:d637:d723:e855]) by smtp.gmail.com with ESMTPSA id z10sm54228edl.35.2019.06.06.15.28.02 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 06 Jun 2019 15:28:03 -0700 (PDT) From: Daniel Vetter To: DRI Development Subject: [PATCH 03/10] drm/vkms: Rename vkms_output.state_lock to crc_lock Date: Fri, 7 Jun 2019 00:27:44 +0200 Message-Id: <20190606222751.32567-4-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190606222751.32567-1-daniel.vetter@ffwll.ch> References: <20190606222751.32567-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9n5T0pbK/9rbszfRHEajQrYFqsuCJNcrkzXFCxa/AyY=; b=a7PaLcaS03UrDMYAKB1DcTc0yxCI6chmpmTiQivH3ATj4rXAEcldIfRDxl25JD06ha O1RJkt/5YMWFrF7Bhtx4HxetqKW2Pe9OzkWjdrl4LW/lcKp+xDDYW4d3KIa/SpUIxIdD 7ru7Up2c20Tj8zrvo1MxBKQSQR3NNXdqJqiFQ= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Vetter , Haneen Mohammed , Rodrigo Siqueira , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Plus add a comment about what it actually protects. It's very little. Signed-off-by: Daniel Vetter Cc: Rodrigo Siqueira Cc: Haneen Mohammed Cc: Daniel Vetter --- drivers/gpu/drm/vkms/vkms_crc.c | 4 ++-- drivers/gpu/drm/vkms/vkms_crtc.c | 6 +++--- drivers/gpu/drm/vkms/vkms_drv.h | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/vkms/vkms_crc.c b/drivers/gpu/drm/vkms/vkms_crc.c index 883e36fe7b6e..96806cd35ad4 100644 --- a/drivers/gpu/drm/vkms/vkms_crc.c +++ b/drivers/gpu/drm/vkms/vkms_crc.c @@ -168,14 +168,14 @@ void vkms_crc_work_handle(struct work_struct *work) u64 frame_start, frame_end; bool crc_pending; - spin_lock_irq(&out->state_lock); + spin_lock_irq(&out->crc_lock); frame_start = crtc_state->frame_start; frame_end = crtc_state->frame_end; crc_pending = crtc_state->crc_pending; crtc_state->frame_start = 0; crtc_state->frame_end = 0; crtc_state->crc_pending = false; - spin_unlock_irq(&out->state_lock); + spin_unlock_irq(&out->crc_lock); /* * We raced with the vblank hrtimer and previous work already computed diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c index c727d8486e97..55b16d545fe7 100644 --- a/drivers/gpu/drm/vkms/vkms_crtc.c +++ b/drivers/gpu/drm/vkms/vkms_crtc.c @@ -29,7 +29,7 @@ static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer) /* update frame_start only if a queued vkms_crc_work_handle() * has read the data */ - spin_lock(&output->state_lock); + spin_lock(&output->crc_lock); if (!state->crc_pending) state->frame_start = frame; else @@ -37,7 +37,7 @@ static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer) state->frame_start, frame); state->frame_end = frame; state->crc_pending = true; - spin_unlock(&output->state_lock); + spin_unlock(&output->crc_lock); ret = queue_work(output->crc_workq, &state->crc_work); if (!ret) @@ -224,7 +224,7 @@ int vkms_crtc_init(struct drm_device *dev, struct drm_crtc *crtc, drm_crtc_helper_add(crtc, &vkms_crtc_helper_funcs); spin_lock_init(&vkms_out->lock); - spin_lock_init(&vkms_out->state_lock); + spin_lock_init(&vkms_out->crc_lock); vkms_out->crc_workq = alloc_ordered_workqueue("vkms_crc_workq", 0); if (!vkms_out->crc_workq) diff --git a/drivers/gpu/drm/vkms/vkms_drv.h b/drivers/gpu/drm/vkms/vkms_drv.h index 3c7e06b19efd..43d3f98289fe 100644 --- a/drivers/gpu/drm/vkms/vkms_drv.h +++ b/drivers/gpu/drm/vkms/vkms_drv.h @@ -57,6 +57,7 @@ struct vkms_crtc_state { struct drm_crtc_state base; struct work_struct crc_work; + /* below three are protected by vkms_output.crc_lock */ bool crc_pending; u64 frame_start; u64 frame_end; @@ -74,8 +75,8 @@ struct vkms_output { struct workqueue_struct *crc_workq; /* protects concurrent access to crc_data */ spinlock_t lock; - /* protects concurrent access to crtc_state */ - spinlock_t state_lock; + + spinlock_t crc_lock; }; struct vkms_device {