From: Eric Anholt <eric@anholt.net> To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, Eric Anholt <eric@anholt.net> Subject: [PATCH v2 3/3] drm/vc4: Convert more lock requirement comments to lockdep assertions. Date: Tue, 25 Jul 2017 11:27:18 -0700 [thread overview] Message-ID: <20170725182718.31468-3-eric@anholt.net> (raw) In-Reply-To: <20170725182718.31468-1-eric@anholt.net> Since I do my development with lockdep on, this will help make sure I don't introduce bugs here. Signed-off-by: Eric Anholt <eric@anholt.net> --- drivers/gpu/drm/vc4/vc4_bo.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c index f4387e1e178d..b24dd8685590 100644 --- a/drivers/gpu/drm/vc4/vc4_bo.c +++ b/drivers/gpu/drm/vc4/vc4_bo.c @@ -163,10 +163,12 @@ static uint32_t bo_page_index(size_t size) return (size / PAGE_SIZE) - 1; } -/* Must be called with bo_lock held. */ static void vc4_bo_destroy(struct vc4_bo *bo) { struct drm_gem_object *obj = &bo->base.base; + struct vc4_dev *vc4 = to_vc4_dev(obj->dev); + + lockdep_assert_held(&vc4->bo_lock); vc4_bo_set_label(obj, -1); @@ -181,9 +183,11 @@ static void vc4_bo_destroy(struct vc4_bo *bo) drm_gem_cma_free_object(obj); } -/* Must be called with bo_lock held. */ static void vc4_bo_remove_from_cache(struct vc4_bo *bo) { + struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); + + lockdep_assert_held(&vc4->bo_lock); list_del(&bo->unref_head); list_del(&bo->size_head); } @@ -367,12 +371,13 @@ int vc4_dumb_create(struct drm_file *file_priv, return ret; } -/* Must be called with bo_lock held. */ static void vc4_bo_cache_free_old(struct drm_device *dev) { struct vc4_dev *vc4 = to_vc4_dev(dev); unsigned long expire_time = jiffies - msecs_to_jiffies(1000); + lockdep_assert_held(&vc4->bo_lock); + while (!list_empty(&vc4->bo_cache.time_list)) { struct vc4_bo *bo = list_last_entry(&vc4->bo_cache.time_list, struct vc4_bo, unref_head); -- 2.11.0
WARNING: multiple messages have this Message-ID (diff)
From: Eric Anholt <eric@anholt.net> To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org Subject: [PATCH v2 3/3] drm/vc4: Convert more lock requirement comments to lockdep assertions. Date: Tue, 25 Jul 2017 11:27:18 -0700 [thread overview] Message-ID: <20170725182718.31468-3-eric@anholt.net> (raw) In-Reply-To: <20170725182718.31468-1-eric@anholt.net> Since I do my development with lockdep on, this will help make sure I don't introduce bugs here. Signed-off-by: Eric Anholt <eric@anholt.net> --- drivers/gpu/drm/vc4/vc4_bo.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c index f4387e1e178d..b24dd8685590 100644 --- a/drivers/gpu/drm/vc4/vc4_bo.c +++ b/drivers/gpu/drm/vc4/vc4_bo.c @@ -163,10 +163,12 @@ static uint32_t bo_page_index(size_t size) return (size / PAGE_SIZE) - 1; } -/* Must be called with bo_lock held. */ static void vc4_bo_destroy(struct vc4_bo *bo) { struct drm_gem_object *obj = &bo->base.base; + struct vc4_dev *vc4 = to_vc4_dev(obj->dev); + + lockdep_assert_held(&vc4->bo_lock); vc4_bo_set_label(obj, -1); @@ -181,9 +183,11 @@ static void vc4_bo_destroy(struct vc4_bo *bo) drm_gem_cma_free_object(obj); } -/* Must be called with bo_lock held. */ static void vc4_bo_remove_from_cache(struct vc4_bo *bo) { + struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); + + lockdep_assert_held(&vc4->bo_lock); list_del(&bo->unref_head); list_del(&bo->size_head); } @@ -367,12 +371,13 @@ int vc4_dumb_create(struct drm_file *file_priv, return ret; } -/* Must be called with bo_lock held. */ static void vc4_bo_cache_free_old(struct drm_device *dev) { struct vc4_dev *vc4 = to_vc4_dev(dev); unsigned long expire_time = jiffies - msecs_to_jiffies(1000); + lockdep_assert_held(&vc4->bo_lock); + while (!list_empty(&vc4->bo_cache.time_list)) { struct vc4_bo *bo = list_last_entry(&vc4->bo_cache.time_list, struct vc4_bo, unref_head); -- 2.11.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-07-25 18:27 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-07-25 18:27 [PATCH v2 1/3] drm/vc4: Start using u64_to_user_ptr Eric Anholt 2017-07-25 18:27 ` Eric Anholt 2017-07-25 18:27 ` [PATCH v2 2/3] drm/vc4: Add an ioctl for labeling GEM BOs for summary stats Eric Anholt 2017-07-25 18:27 ` Eric Anholt 2017-07-25 18:27 ` Eric Anholt [this message] 2017-07-25 18:27 ` [PATCH v2 3/3] drm/vc4: Convert more lock requirement comments to lockdep assertions Eric Anholt 2017-07-26 11:37 ` Daniel Vetter 2017-07-26 11:37 ` Daniel Vetter 2017-07-26 11:28 ` [PATCH v2 1/3] drm/vc4: Start using u64_to_user_ptr Daniel Vetter 2017-07-26 11:28 ` Daniel Vetter 2017-07-29 0:51 ` Eric Anholt 2017-07-29 0:51 ` Eric Anholt
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170725182718.31468-3-eric@anholt.net \ --to=eric@anholt.net \ --cc=dri-devel@lists.freedesktop.org \ --cc=linux-kernel@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.