From nobody Sat Apr 11 12:31:24 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63229C43217 for ; Tue, 8 Nov 2022 17:54:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234711AbiKHRyx (ORCPT ); Tue, 8 Nov 2022 12:54:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50458 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234460AbiKHRyn (ORCPT ); Tue, 8 Nov 2022 12:54:43 -0500 Received: from fanzine2.igalia.com (fanzine.igalia.com [178.60.130.6]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0382E12AA8 for ; Tue, 8 Nov 2022 09:54:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=E0ow7fSJ7D0UMyu9yMEF24k74WVHurVL449+cJnQonE=; b=aO2Bbm8QHSMvftnCfQ3ZSDuKZ7 V+GT0Mh1RzC+IRrczNAxWe75ePZKOLPuXWX0GO0CXP946IHBEHzgAwXFL0fILj+BdE7ajjaX1R5Rn d8Tpvt2EzqViU7nQhMz92j1ggK2y5hImls/qir3jgiATfMhd/DoN7C7RBKHyfDVsnghonkt4YBdsC r61UvqoX2DyYuiwpMKFKaNEcjWtSEV5a3pg0f1rgTqqkeswQ8xuqPgDefd/vAyat5O4IjeFtLWsGh Bda/LVrj2B+i2EseVO1LUhujlYgo1VE0fiGm/Lkj61kZ1/eG1ZAKd0kKO577e4VUbrsmaqYMfzjPw TyzVt3fQ==; Received: from [177.34.169.227] (helo=bowie..) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1osSo1-00EVxA-4S; Tue, 08 Nov 2022 18:54:37 +0100 From: =?UTF-8?q?Ma=C3=ADra=20Canal?= To: Melissa Wen , Emma Anholt , David Airlie , Daniel Vetter Cc: =?UTF-8?q?Andr=C3=A9=20Almeida?= , "Juan A . Suarez" , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Ma=C3=ADra=20Canal?= , Daniel Vetter Subject: [PATCH v2 1/2] drm/v3d: switch to drmm_mutex_init Date: Tue, 8 Nov 2022 14:54:24 -0300 Message-Id: <20221108175425.39819-2-mcanal@igalia.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221108175425.39819-1-mcanal@igalia.com> References: <20221108175425.39819-1-mcanal@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org mutex_init is supposed to be balanced by a call to mutex_destroy, but this is not currently happening on the v3d driver. Considering the introduction of a DRM-managed mutex_init variant, switch to the drmm_mutex_init. Signed-off-by: Ma=C3=ADra Canal Reviewed-by: Daniel Vetter --- drivers/gpu/drm/v3d/v3d_gem.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/v3d/v3d_gem.c b/drivers/gpu/drm/v3d/v3d_gem.c index b8980440d137..96af1cb5202a 100644 --- a/drivers/gpu/drm/v3d/v3d_gem.c +++ b/drivers/gpu/drm/v3d/v3d_gem.c @@ -10,6 +10,7 @@ #include #include =20 +#include #include #include =20 @@ -1075,10 +1076,18 @@ v3d_gem_init(struct drm_device *dev) =20 spin_lock_init(&v3d->mm_lock); spin_lock_init(&v3d->job_lock); - mutex_init(&v3d->bo_lock); - mutex_init(&v3d->reset_lock); - mutex_init(&v3d->sched_lock); - mutex_init(&v3d->cache_clean_lock); + ret =3D drmm_mutex_init(dev, &v3d->bo_lock); + if (ret) + return ret; + ret =3D drmm_mutex_init(dev, &v3d->reset_lock); + if (ret) + return ret; + ret =3D drmm_mutex_init(dev, &v3d->sched_lock); + if (ret) + return ret; + ret =3D drmm_mutex_init(dev, &v3d->cache_clean_lock); + if (ret) + return ret; =20 /* Note: We don't allocate address 0. Various bits of HW * treat 0 as special, such as the occlusion query counters --=20 2.38.1 From nobody Sat Apr 11 12:31:24 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F35DC433FE for ; Tue, 8 Nov 2022 17:55:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234754AbiKHRy7 (ORCPT ); Tue, 8 Nov 2022 12:54:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50584 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234704AbiKHRyt (ORCPT ); Tue, 8 Nov 2022 12:54:49 -0500 Received: from fanzine2.igalia.com (fanzine.igalia.com [178.60.130.6]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 308561AD8F for ; Tue, 8 Nov 2022 09:54:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=ukvrU4BRwqv/hi5Lb7tXJdxSLVociGC6eZ07IJrOiWk=; b=qwnYcD7/yDMEdogFwt4kmfJ7RC isnolX2gNmqTtIvI30j0dAzZ0o+jKxkr2PwN3KWbziKiPJmiuXLSHaEcbtPlUX7a1hvQlCZCFZ/VQ S9JBnxjOVY5QCpObtqQ0Nx0twHYNZJomXyotVgYqdB3MTHV4/dVlm/DomTXkv4okcQP5X39SstZIl cV+V+GIvtH+rUgAVwxu/aLNlcSR1HIMV6nIOwDAAPWjB3Mn/fUER2n2R5/tYmF5hPf//HDvuLrc/7 DDXmJnepWBKtzAJ6g+PNLpHJiWQy7Fi32ghmYjvpgYkeFq1xY3+45LwlmBAg0z3bkbmNsCP2NPEYj bVq4ydIw==; Received: from [177.34.169.227] (helo=bowie..) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1osSo5-00EVxA-ED; Tue, 08 Nov 2022 18:54:42 +0100 From: =?UTF-8?q?Ma=C3=ADra=20Canal?= To: Melissa Wen , Emma Anholt , David Airlie , Daniel Vetter Cc: =?UTF-8?q?Andr=C3=A9=20Almeida?= , "Juan A . Suarez" , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Ma=C3=ADra=20Canal?= , Daniel Vetter Subject: [PATCH v2 2/2] drm/v3d: add missing mutex_destroy Date: Tue, 8 Nov 2022 14:54:25 -0300 Message-Id: <20221108175425.39819-3-mcanal@igalia.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221108175425.39819-1-mcanal@igalia.com> References: <20221108175425.39819-1-mcanal@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org v3d_perfmon_open_file() instantiates a mutex for a particular file instance, but it never destroys it by calling mutex_destroy() in v3d_perfmon_close_file(). Similarly, v3d_perfmon_create_ioctl() instantiates a mutex for a particular perfmon, but it never destroys it by calling mutex_destroy() in v3d_perfmon_destroy_ioctl(). So, add the missing mutex_destroy on both cases. Signed-off-by: Ma=C3=ADra Canal Reviewed-by: Daniel Vetter --- drivers/gpu/drm/v3d/v3d_perfmon.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/v3d/v3d_perfmon.c b/drivers/gpu/drm/v3d/v3d_pe= rfmon.c index 48aaaa972c49..e1be7368b87d 100644 --- a/drivers/gpu/drm/v3d/v3d_perfmon.c +++ b/drivers/gpu/drm/v3d/v3d_perfmon.c @@ -17,8 +17,10 @@ void v3d_perfmon_get(struct v3d_perfmon *perfmon) =20 void v3d_perfmon_put(struct v3d_perfmon *perfmon) { - if (perfmon && refcount_dec_and_test(&perfmon->refcnt)) + if (perfmon && refcount_dec_and_test(&perfmon->refcnt)) { + mutex_destroy(&perfmon->lock); kfree(perfmon); + } } =20 void v3d_perfmon_start(struct v3d_dev *v3d, struct v3d_perfmon *perfmon) @@ -113,6 +115,7 @@ void v3d_perfmon_close_file(struct v3d_file_priv *v3d_p= riv) idr_for_each(&v3d_priv->perfmon.idr, v3d_perfmon_idr_del, NULL); idr_destroy(&v3d_priv->perfmon.idr); mutex_unlock(&v3d_priv->perfmon.lock); + mutex_destroy(&v3d_priv->perfmon.lock); } =20 int v3d_perfmon_create_ioctl(struct drm_device *dev, void *data, @@ -154,6 +157,7 @@ int v3d_perfmon_create_ioctl(struct drm_device *dev, vo= id *data, mutex_unlock(&v3d_priv->perfmon.lock); =20 if (ret < 0) { + mutex_destroy(&perfmon->lock); kfree(perfmon); return ret; } --=20 2.38.1