From patchwork Wed Apr 16 20:25:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janne Grunau X-Patchwork-Id: 14054454 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A0DABC369C9 for ; Wed, 16 Apr 2025 20:25:51 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BE75110E9B1; Wed, 16 Apr 2025 20:25:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="GVqwjIqJ"; dkim-atps=neutral Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B052510E9AA for ; Wed, 16 Apr 2025 20:25:43 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id AC78644C12; Wed, 16 Apr 2025 20:25:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id 96F84C4CEEA; Wed, 16 Apr 2025 20:25:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744835138; bh=XnnBNksMm5ojgSXvbjygQ/y6w6yIrJGF73TgHSL9u5M=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=GVqwjIqJ+7l1u/45t8zVpzniUqphvxw4udZs+tWLdFoAzMt6BJL1+ITONdgc8TAYD +p0Mi1dWCbION/KZ3yin9t8a5Ac2vD5EX2VIueUPK4oAQxgKg6Q2/+o/p1S9WReXo9 CyvLYNWf8Y6zf/z2V+LYeOY3q4p1bPLOCEHnKdrRpdDeXZf6e8LO9/gpppjUMRt7pG 80hxUFrUzJR/AfcsE71SOUpW/yld+a43uuyqoZOkZbbyjI79Z5hCYoTrKzaLS0cnvQ rqYkdulWYQbo4+2pOdoZQF+h+l0r8G/CnB2t8tJVe+WH9z+mLq4uaHnEIE/knQ4jnY IYVX/iNWCoVuQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83F35C369C9; Wed, 16 Apr 2025 20:25:38 +0000 (UTC) Date: Wed, 16 Apr 2025 22:25:27 +0200 Subject: [PATCH 1/4] drm: adp: Use spin_lock_irqsave for drm device event_lock MIME-Version: 1.0 Message-Id: <20250416-drm_adp_fixes-v1-1-772699f13293@jannau.net> References: <20250416-drm_adp_fixes-v1-0-772699f13293@jannau.net> In-Reply-To: <20250416-drm_adp_fixes-v1-0-772699f13293@jannau.net> To: Sasha Finkelstein , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Neal Gompa , Alyssa Rosenzweig , Dmitry Baryshkov Cc: dri-devel@lists.freedesktop.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Janne Grunau X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1532; i=j@jannau.net; s=yk2024; h=from:subject:message-id; bh=ly1cyHZpQncU8CCBgaANZV7W5N8jcPXVe2vzXSXplD4=; b=owGbwMvMwCW2UNrmdq9+ahrjabUkhgwGIftXfJ+f5ahOn5pQYii11/ncc6PfC/zfmSo27xaqk vm1slG6o5SFQYyLQVZMkSVJ+2UHw+oaxZjaB2Ewc1iZQIYwcHEKwEQ+KTH8z1uyXPrpRYdL+xaK XEh99Xi1kHLfJtvKDQbHXbd1ft3pfoeR4b2d+ed1ehucMjX/Lt3g+aIkWmnVvaORn66U8C16m5a ZzAwA X-Developer-Key: i=j@jannau.net; a=openpgp; fpr=8B336A6BE4E5695E89B8532B81E806F586338419 X-Endpoint-Received: by B4 Relay for j@jannau.net/yk2024 with auth_id=264 X-Original-From: Janne Grunau X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: j@jannau.net Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: Janne Grunau From: Janne Grunau The lock is used in the interrupt handler so use spin_lock_irqsave to disable interrupts and avoid deadlocks with the irq handler. Fixes: 332122eba628 ("drm: adp: Add Apple Display Pipe driver") Signed-off-by: Janne Grunau Reviewed-by: Alyssa Rosenzweig --- drivers/gpu/drm/adp/adp_drv.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/adp/adp_drv.c b/drivers/gpu/drm/adp/adp_drv.c index c98c647f981d5383149647126762a5cdec8f4e4b..157298a8ff42b95275411dd4a7a0c70780fd86fd 100644 --- a/drivers/gpu/drm/adp/adp_drv.c +++ b/drivers/gpu/drm/adp/adp_drv.c @@ -310,6 +310,7 @@ static void adp_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_atomic_state *state) { u32 frame_num = 1; + unsigned long flags; struct adp_drv_private *adp = crtc_to_adp(crtc); struct drm_crtc_state *new_state = drm_atomic_get_new_crtc_state(state, crtc); u64 new_size = ALIGN(new_state->mode.hdisplay * @@ -330,13 +331,13 @@ static void adp_crtc_atomic_flush(struct drm_crtc *crtc, } writel(ADBE_FIFO_SYNC | frame_num, adp->be + ADBE_FIFO); //FIXME: use adbe flush interrupt - spin_lock_irq(&crtc->dev->event_lock); + spin_lock_irqsave(&crtc->dev->event_lock, flags); if (crtc->state->event) { drm_crtc_vblank_get(crtc); adp->event = crtc->state->event; } crtc->state->event = NULL; - spin_unlock_irq(&crtc->dev->event_lock); + spin_unlock_irqrestore(&crtc->dev->event_lock, flags); } static const struct drm_crtc_funcs adp_crtc_funcs = { From patchwork Wed Apr 16 20:25:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janne Grunau X-Patchwork-Id: 14054452 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E8E3EC369CA for ; Wed, 16 Apr 2025 20:25:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4460F10E133; Wed, 16 Apr 2025 20:25:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="QPaPcjBZ"; dkim-atps=neutral Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B0BD510E9B4 for ; Wed, 16 Apr 2025 20:25:43 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id B822244DB1; Wed, 16 Apr 2025 20:25:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id A2C35C4CEE4; Wed, 16 Apr 2025 20:25:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744835138; bh=duY6QIeNjBuMUXbdB1iaXZTuJmf20C5DBK0PtDwryIg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=QPaPcjBZVPFjXlUrAhh1KJr6/OGwkIOVrHxtIxxpY3SFX951oiw1BZAMKaTF+aPPD M0FrwaIuZUbbJg8VT3WLKFZ1rLKrcvGTvcmE+oT7gswYqr3Zbj9MONu5YVCXZdw4h2 69x5KV2s3RHR3FcMf0jlg80M0BD2FWEd1qlkb+zhgRf1Wo9yI32W20WDdD6hOgqA/o aDbjI29UtEDsM9Lup41LMrj35lEAvT4MRtolJMC2BLyayqlQHblMxP0no9vYNogkBQ HwzoBhGBDoPTdyRK/309IKguKOSyEOwGhTP2akVi1dDzNL5zyCuDwMpXGHabz+ZcJP 95sLDPO+ja9lA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 93FE5C369CB; Wed, 16 Apr 2025 20:25:38 +0000 (UTC) Date: Wed, 16 Apr 2025 22:25:28 +0200 Subject: [PATCH 2/4] drm: adp: Handle drm_crtc_vblank_get() errors MIME-Version: 1.0 Message-Id: <20250416-drm_adp_fixes-v1-2-772699f13293@jannau.net> References: <20250416-drm_adp_fixes-v1-0-772699f13293@jannau.net> In-Reply-To: <20250416-drm_adp_fixes-v1-0-772699f13293@jannau.net> To: Sasha Finkelstein , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Neal Gompa , Alyssa Rosenzweig , Dmitry Baryshkov Cc: dri-devel@lists.freedesktop.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Janne Grunau X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3192; i=j@jannau.net; s=yk2024; h=from:subject:message-id; bh=FieR/Ygwnrv33tES3w12wE8FOb8z2zK1vC7NpumJSic=; b=owGbwMvMwCW2UNrmdq9+ahrjabUkhgwGIXv/1H+rDsy9ky11edmiUEv759d//hO7HV+5Uuj7c +YfJyOPdZSyMIhxMciKKbIkab/sYFhdoxhT+yAMZg4rE8gQBi5OAZhIBi/Dfzep51r3Du85eGqd 6ZmSLFH2iE+lDVY/tKe27M49al6hEMPI8Ga31IL7PUmMaZk/Jnw6e3NlaDtfcfz0bz0RSfbv00Q uMQIA X-Developer-Key: i=j@jannau.net; a=openpgp; fpr=8B336A6BE4E5695E89B8532B81E806F586338419 X-Endpoint-Received: by B4 Relay for j@jannau.net/yk2024 with auth_id=264 X-Original-From: Janne Grunau X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: j@jannau.net Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: Janne Grunau From: Janne Grunau drm_crtc_vblank_get() may fail when it's called before drm_crtc_vblank_on() on a resetted CRTC. This occurs in drm_crtc_helper_funcs' atomic_flush() calls after drm_atomic_helper_crtc_reset() for example directly after probe. Send the vblank event directly in such cases. Avoids following warning in the subsequent drm_crtc_vblank_put() call from the vblank irq handler as below: adp 228200000.display-pipe: [drm] drm_WARN_ON(atomic_read(&vblank->refcount) == 0) WARNING: CPU: 5 PID: 1206 at drivers/gpu/drm/drm_vblank.c:1247 drm_vblank_put+0x158/0x170 Modules linked in: uinput nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat videodev drm_dma_helper mc apple_soc_cpufreq drm_display_helper leds_pwm phram CPU: 5 UID: 0 PID: 1206 Comm: systemctl Not tainted 6.14.2-asahi+ #asahi-dev Hardware name: Apple MacBook Pro (13-inch, M2, 2022) (DT) pstate: 614000c5 (nZCv daIF +PAN -UAO -TCO +DIT -SSBS BTYPE=--) pc : drm_vblank_put+0x158/0x170 lr : drm_vblank_put+0x158/0x170 sp : ffffc00082aa7e70 x29: ffffc00082aa7e70 x28: ffff80003419e000 x27: ffff80003419e000 x26: 0000000000000001 x25: 0000000000012400 x24: 0000000000000066 x23: ffff800033fc8800 x22: 0000000000000000 x21: ffff800029688e70 x20: ffff800029688000 x19: ffff800029688000 x18: 0000000000000000 x17: ffffc0015c868000 x16: 0000000000000020 x15: 0000000000000004 x14: 0000000000000000 x13: 0000000000000001 x12: ffffc000825b3a90 x11: ffffc00082960e88 x10: ffffc00081b0ec88 x9 : ffffc0008017d0ec x8 : 000000000002ffe8 x7 : fefefefefefefefe x6 : ffffc00081bbec88 x5 : ffff8001de237548 x4 : 0000000000000000 x3 : ffffc0015c868000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff80003419e000 Call trace: drm_vblank_put+0x158/0x170 (P) drm_crtc_vblank_put+0x24/0x38 adp_fe_irq+0xd8/0xe8 [adpdrm] __handle_irq_event_percpu+0x94/0x318 handle_irq_event+0x54/0xd0 handle_fasteoi_irq+0xa8/0x240 handle_irq_desc+0x3c/0x68 generic_handle_domain_irq+0x24/0x40 Signed-off-by: Janne Grunau --- drivers/gpu/drm/adp/adp_drv.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/adp/adp_drv.c b/drivers/gpu/drm/adp/adp_drv.c index 157298a8ff42b95275411dd4a7a0c70780fd86fd..27119acac92238858d58a690eb4196dbb2ae0c1a 100644 --- a/drivers/gpu/drm/adp/adp_drv.c +++ b/drivers/gpu/drm/adp/adp_drv.c @@ -331,13 +331,17 @@ static void adp_crtc_atomic_flush(struct drm_crtc *crtc, } writel(ADBE_FIFO_SYNC | frame_num, adp->be + ADBE_FIFO); //FIXME: use adbe flush interrupt - spin_lock_irqsave(&crtc->dev->event_lock, flags); if (crtc->state->event) { - drm_crtc_vblank_get(crtc); - adp->event = crtc->state->event; + spin_lock_irqsave(&crtc->dev->event_lock, flags); + + if (drm_crtc_vblank_get(crtc) != 0) + drm_crtc_send_vblank_event(crtc, crtc->state->event); + else + adp->event = crtc->state->event; + + spin_unlock_irqrestore(&crtc->dev->event_lock, flags); } crtc->state->event = NULL; - spin_unlock_irqrestore(&crtc->dev->event_lock, flags); } static const struct drm_crtc_funcs adp_crtc_funcs = { From patchwork Wed Apr 16 20:25:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janne Grunau X-Patchwork-Id: 14054456 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 19AEDC369CA for ; Wed, 16 Apr 2025 20:25:54 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 628F810E9B8; Wed, 16 Apr 2025 20:25:48 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="Csu9b+5R"; dkim-atps=neutral Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B00E810E133 for ; Wed, 16 Apr 2025 20:25:43 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id D870145108; Wed, 16 Apr 2025 20:25:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id C95ACC4CEF1; Wed, 16 Apr 2025 20:25:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744835138; bh=6hRj2O+0KN1c3Idg2C0lRIf9H5gKHWdz2x9po1m89Hg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=Csu9b+5RRq+1OyRk3ULWQODF84fLIC77yRjs4yqVRgxgplU6eUS6VEYpl7XzVyCKB 9lgpNF55+ZWK9QeYZzO71vzTLc779z3lKkVOc1uZDvb/NRH1NLcrrmX9dG1tfQguQO G3pZHHyRwybIWyxJIqTcsLJJHXWuZ97kCto/BJjna58nRXEuogEa49ZrP1JzxX7djQ r0Rk5A2NVd2MULV71baWpLtaxeeNf9+kNMBebcEQXrGPjdDk9I/oxevHVW4g1unAK9 omzuM6bybPtyqzE7haLNQkYeiIVdyURnXPR6qyoWRBfau0D9qjLAZ5LS0fgD2GdAdp SN9LTrIjNz1Aw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C0259C369C7; Wed, 16 Apr 2025 20:25:38 +0000 (UTC) Date: Wed, 16 Apr 2025 22:25:29 +0200 Subject: [PATCH 3/4] drm: adp: Enable vblank interrupts in crtc's .atomic_enable MIME-Version: 1.0 Message-Id: <20250416-drm_adp_fixes-v1-3-772699f13293@jannau.net> References: <20250416-drm_adp_fixes-v1-0-772699f13293@jannau.net> In-Reply-To: <20250416-drm_adp_fixes-v1-0-772699f13293@jannau.net> To: Sasha Finkelstein , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Neal Gompa , Alyssa Rosenzweig , Dmitry Baryshkov Cc: dri-devel@lists.freedesktop.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Janne Grunau X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1438; i=j@jannau.net; s=yk2024; h=from:subject:message-id; bh=pW28pOEDPYpc8Y+PSX2aP8mbBxQy8NYmJwRvSV8Dq58=; b=owGbwMvMwCW2UNrmdq9+ahrjabUkhgwGIftu+aeqeeauZoUb3a+pCbA2Lfl0f0XGE7/Djz95P dpR0VnXUcLCIMbFICumyJKk/bKDYXWNYkztgzCYOaxMIEMYuDgFYCInpjAyHAzZnv/x926zz2Ka 9XtzduW6HWtZ3uKydH6BeMjUu4/en2b4KqJuJve3vOqTSc9dmWPPxXkbJ7OlyMySTPhlLvmz2I8 DAA== X-Developer-Key: i=j@jannau.net; a=openpgp; fpr=8B336A6BE4E5695E89B8532B81E806F586338419 X-Endpoint-Received: by B4 Relay for j@jannau.net/yk2024 with auth_id=264 X-Original-From: Janne Grunau X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: j@jannau.net Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: Janne Grunau From: Janne Grunau Calling drm_crtc_vblank_on() drm_crtc_helper_funcs' atomic_enable is expected to enable vblank interrupts. It may have been avoided here to due to drm_crtc_vblank_get()'s error behavior after drm_crtc_vblank_reset(). With that fixed in the preceding change the driver can call drm_crtc_vblank_on() from adp_crtc_atomic_enable(). Signed-off-by: Janne Grunau Reviewed-by: Alyssa Rosenzweig --- drivers/gpu/drm/adp/adp_drv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/adp/adp_drv.c b/drivers/gpu/drm/adp/adp_drv.c index 27119acac92238858d58a690eb4196dbb2ae0c1a..c6238fb059342eebafddd53650a499fea0079dea 100644 --- a/drivers/gpu/drm/adp/adp_drv.c +++ b/drivers/gpu/drm/adp/adp_drv.c @@ -288,6 +288,7 @@ static void adp_crtc_atomic_enable(struct drm_crtc *crtc, writel(BIT(0), adp->be + ADBE_BLEND_EN3); writel(BIT(0), adp->be + ADBE_BLEND_BYPASS); writel(BIT(0), adp->be + ADBE_BLEND_EN4); + drm_crtc_vblank_on(crtc); } static void adp_crtc_atomic_disable(struct drm_crtc *crtc, @@ -517,8 +518,7 @@ static int adp_drm_bind(struct device *dev) struct adp_drv_private *adp = to_adp(drm); int err; - adp_disable_vblank(adp); - writel(ADP_CTRL_FIFO_ON | ADP_CTRL_VBLANK_ON, adp->fe + ADP_CTRL); + writel(ADP_CTRL_FIFO_ON, adp->fe + ADP_CTRL); adp->next_bridge = drmm_of_get_bridge(&adp->drm, dev->of_node, 0, 0); if (IS_ERR(adp->next_bridge)) { From patchwork Wed Apr 16 20:25:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janne Grunau X-Patchwork-Id: 14054455 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EDF61C369C7 for ; Wed, 16 Apr 2025 20:25:52 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BFB4910E9B4; Wed, 16 Apr 2025 20:25:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="PeqIWRIa"; dkim-atps=neutral Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B0B6310E9B3 for ; Wed, 16 Apr 2025 20:25:43 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id EA34245132; Wed, 16 Apr 2025 20:25:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id DAE29C4CEF3; Wed, 16 Apr 2025 20:25:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744835138; bh=LNADAl1i2ULx0yyUSwQ5RvXlcx3dXJGSMk0iDCEXnfU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=PeqIWRIaDz8O1MSEl2EgJxhGAGB9dsDYpg552P4oJnJYM5bGvpufg+2MRUD/dRNNR ZXLsEWcabvmagMoAOeYR3u0HL8YCovPm9agtP3+vRdHmzJDRJj11bMKXy3YAtH6t1x N8REp6Jy8hFd+L3l1Y9Y4xmznSS1C9QgroFGiT1pm4GaSS/oSWRhVbwkl22/MkXW9I CQsobxveXLL2HG3vHsY24tVruWgJT5ofcBZkP+yIXnvpjJqanX2DYzvCoO/gIMr6ib KDH/srsWAnTqOVAMWVZZPaWpqEIP3zCKdbve9Mb8+fLQYMrut+gzaDUwwErQv2abUd RR+uqb62d4X2A== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CCE0CC369CA; Wed, 16 Apr 2025 20:25:38 +0000 (UTC) Date: Wed, 16 Apr 2025 22:25:30 +0200 Subject: [PATCH 4/4] drm: adp: Remove pointless irq_lock spin lock MIME-Version: 1.0 Message-Id: <20250416-drm_adp_fixes-v1-4-772699f13293@jannau.net> References: <20250416-drm_adp_fixes-v1-0-772699f13293@jannau.net> In-Reply-To: <20250416-drm_adp_fixes-v1-0-772699f13293@jannau.net> To: Sasha Finkelstein , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Neal Gompa , Alyssa Rosenzweig , Dmitry Baryshkov Cc: dri-devel@lists.freedesktop.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, Janne Grunau X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1378; i=j@jannau.net; s=yk2024; h=from:subject:message-id; bh=FUzS4Io0jKsTruJ2+cLIE2QaahlUUifrrGYTPm7rskw=; b=owGbwMvMwCW2UNrmdq9+ahrjabUkhgwGIXt2+xOdv/rO73ozlU3oAc/HH88WJhrZXl5/aEP6f 7syrtQDHaUsDGJcDLJiiixJ2i87GFbXKMbUPgiDmcPKBDKEgYtTACZSMpvhf+h1noaaYzts+l3D Eh6LTxQKDNy8wTJ/ihhvknCX7ZbWe4wME6TPfHn3V6jRUWvrBOcN207eDxKWv/Q5p5KhO+mkSVg IIwA= X-Developer-Key: i=j@jannau.net; a=openpgp; fpr=8B336A6BE4E5695E89B8532B81E806F586338419 X-Endpoint-Received: by B4 Relay for j@jannau.net/yk2024 with auth_id=264 X-Original-From: Janne Grunau X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: j@jannau.net Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: Janne Grunau From: Janne Grunau Interrupt handlers run with interrupts disabled so it is not necessary to protect them against reentrancy. Signed-off-by: Janne Grunau Reviewed-by: Alyssa Rosenzweig --- drivers/gpu/drm/adp/adp_drv.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/gpu/drm/adp/adp_drv.c b/drivers/gpu/drm/adp/adp_drv.c index c6238fb059342eebafddd53650a499fea0079dea..abb42f57fe5984a8f0f4be7081fb6803866b5d5b 100644 --- a/drivers/gpu/drm/adp/adp_drv.c +++ b/drivers/gpu/drm/adp/adp_drv.c @@ -121,7 +121,6 @@ struct adp_drv_private { dma_addr_t mask_iova; int be_irq; int fe_irq; - spinlock_t irq_lock; struct drm_pending_vblank_event *event; }; @@ -488,8 +487,6 @@ static irqreturn_t adp_fe_irq(int irq, void *arg) u32 int_status; u32 int_ctl; - spin_lock(&adp->irq_lock); - int_status = readl(adp->fe + ADP_INT_STATUS); if (int_status & ADP_INT_STATUS_VBLANK) { drm_crtc_handle_vblank(&adp->crtc); @@ -507,7 +504,6 @@ static irqreturn_t adp_fe_irq(int irq, void *arg) writel(int_status, adp->fe + ADP_INT_STATUS); - spin_unlock(&adp->irq_lock); return IRQ_HANDLED; } @@ -572,8 +568,6 @@ static int adp_probe(struct platform_device *pdev) if (IS_ERR(adp)) return PTR_ERR(adp); - spin_lock_init(&adp->irq_lock); - dev_set_drvdata(&pdev->dev, &adp->drm); err = adp_parse_of(pdev, adp);