Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp2808794rdb; Mon, 4 Dec 2023 08:06:10 -0800 (PST) X-Google-Smtp-Source: AGHT+IFMw0od/uYDY5Xl48t5svvrvTmAu8CeabAjjEn6zDECsE9oEsxuEDI1LgG8wp93MQP/jRqq X-Received: by 2002:a17:90b:1dce:b0:286:6cc1:5fde with SMTP id pd14-20020a17090b1dce00b002866cc15fdemr1387660pjb.97.1701705969889; Mon, 04 Dec 2023 08:06:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701705969; cv=none; d=google.com; s=arc-20160816; b=sr9/+yIHxJ/z8NBv3qVy6sRYfgx0Vz9Ccbs3UGhgoxdJP8xgAhy6IRyTaKLt243vw0 GwGYZ5GD8zXvjfRsmfYHtBg167urMc3fvtAVweAc9XTVJ3aIQTjBvVCBgcDgY7W3ct9L /ra0KJx9PKSH6WXgrV5ExtmvwI7RwsMSL/FEHmsrDMguqwQf4pkhXJmTpYohXA1Y4+xk nrHGMvjM5BbmEweH682IteNHlWktQy08fakpc3gWjmAQHuJycoIUJbRM8M4o7B1oo+Y8 dA1nDxDD44YktVxeLAaovOzW0+aRylZPRV6WTvSR2T5JQ136h6kZQ1T35fsm4fmt5Ial 2kiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:cms-type:content-transfer-encoding :in-reply-to:from:cc:to:content-language:subject:user-agent :mime-version:date:message-id:dkim-signature:dkim-filter; bh=tG55V1cCaMA1MS+cN+Gb8Ou995buXT1WIvaUo468X/I=; fh=6Ny+67dWMe2DosP1wMJqCcBWygujBU85+36M9euuPmg=; b=yW7hUg7IDGd67SrokRheLL9AP/LnxmkfRA1ANi2isBUPA55/jrmYeuwEc0YTnVrt23 8bvbi76rNHQudmvMRkvr3UOgjgvfmF2RP+WDnIoQtPYjChHkfMGEpqnFf/83AD+j30CG I2rb+c9SA93R0xYfcmWQObs2ylUs+xRs30nY3THFzVikydlA814onPN7/K3Di9qe5yDK /z0vQPyReplkP5V9z627CxCciga29bvHPf9KkpJO4KcUwgSEob6OZ1zZDJPb249+lO0t 10jLCC2ccL81vvwkdXBsq2SCNTJETVThmntbQtmiclqolosh97UxGqncPW4qKrsqc8LR qXBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=rXh6uDRE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id x4-20020a17090a9dc400b002865642537csi6280877pjv.82.2023.12.04.08.06.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 08:06:09 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=rXh6uDRE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 3DA93809357A; Mon, 4 Dec 2023 08:06:00 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234827AbjLDQFe (ORCPT + 99 others); Mon, 4 Dec 2023 11:05:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344301AbjLDQF3 (ORCPT ); Mon, 4 Dec 2023 11:05:29 -0500 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43CA5E6 for ; Mon, 4 Dec 2023 08:05:35 -0800 (PST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20231204160534euoutp0233e012e2fcfeb2b21b3b3fc34311296a~drIf0tXTe2110521105euoutp024 for ; Mon, 4 Dec 2023 16:05:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20231204160534euoutp0233e012e2fcfeb2b21b3b3fc34311296a~drIf0tXTe2110521105euoutp024 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1701705934; bh=tG55V1cCaMA1MS+cN+Gb8Ou995buXT1WIvaUo468X/I=; h=Date:Subject:To:Cc:From:In-Reply-To:References:From; b=rXh6uDREOJulzpFtQjTpoooaquPzIv9hwtNY87mYirCKz/c41f0ZsdOOu43lWcgiw MyivdBnJ80CR1ZoMu4ugKjzKCdR848cqh9sMg+7yZIE05mbbmtd3Z1+xI0dIwvuL0i 2cRLLBItKvHbOpqoxWx8aDHDisLD/qFmmaTGcrYI= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20231204160533eucas1p133692df6d2c0096a56c5b8a1bf197e3e~drIfm-I830078200782eucas1p1e; Mon, 4 Dec 2023 16:05:33 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id E8.E2.09814.DC8FD656; Mon, 4 Dec 2023 16:05:33 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20231204160533eucas1p19fe627487940bd4ef3bc99757fed9950~drIfJwDE90065600656eucas1p1T; Mon, 4 Dec 2023 16:05:33 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20231204160533eusmtrp27c94c7cbb779eb833f5ac4e561f50be1~drIfJE_Je2028320283eusmtrp2g; Mon, 4 Dec 2023 16:05:33 +0000 (GMT) X-AuditID: cbfec7f4-711ff70000002656-4a-656df8cd5256 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id AD.71.09274.DC8FD656; Mon, 4 Dec 2023 16:05:33 +0000 (GMT) Received: from [106.210.134.192] (unknown [106.210.134.192]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20231204160532eusmtip1a585ff8d8f2769c766e0f5966684319c~drIeXuM1D1334813348eusmtip1d; Mon, 4 Dec 2023 16:05:32 +0000 (GMT) Message-ID: Date: Mon, 4 Dec 2023 17:05:33 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 3/3] drm/panfrost: Synchronize and disable interrupts before powering off Content-Language: en-US To: AngeloGioacchino Del Regno , boris.brezillon@collabora.com Cc: robh@kernel.org, steven.price@arm.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, daniel@ffwll.ch, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel@collabora.com, krzysztof.kozlowski@linaro.org From: Marek Szyprowski In-Reply-To: <20231204114215.54575-4-angelogioacchino.delregno@collabora.com> Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCKsWRmVeSWpSXmKPExsWy7djPc7pnf+SmGvQf1bc4cX0Rk8WllRIW p8+cYrL4v20is8WVr+/ZLDaf62G12Pt6K7vF5V1z2CwWftzKYtHWuYzV4v+eHewWjUeASra8 mcjqwOuxZt4aRo8dd5cweuz9toDFY+esu+wem1Z1snncubaHzWPeyUCP+93HmTw2n672+LxJ LoArissmJTUnsyy1SN8ugSvj5pvbbAVv+SpezVnL1MA4jaeLkZNDQsBEYvqDZSxdjFwcQgIr GCUOvXnCBuF8YZR49ukVE4TzmVHiwc9nrDAtP//dhkosZ5Q49/UtK4TzkVFi1plNYFW8AnYS /dN3soDYLAIqEov+LWKCiAtKnJz5BCwuKiAvcf/WDHYQW1ggSeLazi9gNcwC4hK3nswHs0UE MiUezXjJDrKAWWAak8TeQ48ZQRJsAoYSXW+72EBsTgFfibW3LrBCNMtLbH87hxmkQUJgNafE jiVboe52kfjwajIbhC0s8er4FnYIW0bi/875TBAN7YwSC37fh3ImMEo0PL/FCFFlLXHn3C+g bg6gFZoS63fpQ4QdJR6d/sYKEpYQ4JO48VYQ4gg+iUnbpjNDhHklOtqEIKrVJGYdXwe39uCF S8wTGJVmIYXLLCT/z0LyziyEvQsYWVYxiqeWFuempxYb5aWW6xUn5haX5qXrJefnbmIEJrzT /45/2cG4/NVHvUOMTByMhxglOJiVRHjn3cpOFeJNSaysSi3Kjy8qzUktPsQozcGiJM6rmiKf KiSQnliSmp2aWpBaBJNl4uCUamBaFlX/eG+1XYBRZ+TnV3M53AR3+HLkOcnOf3O+c528QR7D pltv+pMCH09Q7vFynLlncdTnTRecBXIZ1DJ/3J3xVVM3+XXy3o8Gf9wMlnLo39a76Vznt+rH QfU/Bg/9tweYbbtbo6O0WfnD88VbDhdYdet63LEUEvghyTc18vKh4KqrSmtdr0d/3t2dLWfw WrFj28Eds1i9PvKeyTiYX1p+Zp/6kY59jZEO+x8/O6hwSH3y3QOct7vf8W1PiLpzhuN0kOjh PNGHwTHf7ryaHeR5z7dza/SMF1YXAkSUD7Cbz6iaqRLrvMbHflaiQ5GH17RsD90T9358Dl5l fWrP4nuHayear1ayj1ex33HrU905JZbijERDLeai4kQAcTZ/FucDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrGIsWRmVeSWpSXmKPExsVy+t/xu7pnf+SmGhydKmRx4voiJotLKyUs Tp85xWTxf9tEZosrX9+zWWw+18Nqsff1VnaLy7vmsFks/LiVxaKtcxmrxf89O9gtGo8AlWx5 M5HVgddjzbw1jB477i5h9Nj7bQGLx85Zd9k9Nq3qZPO4c20Pm8e8k4Ee97uPM3lsPl3t8XmT XABXlJ5NUX5pSapCRn5xia1StKGFkZ6hpYWekYmlnqGxeayVkamSvp1NSmpOZllqkb5dgl7G zTe32Qre8lW8mrOWqYFxGk8XIyeHhICJxM9/t5m6GLk4hASWMko8/fyMESIhI3FyWgMrhC0s 8edaFxtE0XtGiVXLXjCBJHgF7CT6p+9kAbFZBFQkFv1bBBUXlDg58wlYXFRAXuL+rRnsILaw QJLEtZ1fwGqYBcQlbj2ZD2aLCGRKvJx+jR1kAbPAFCaJRzveMkNse8wo8aqvE2wSm4ChRNdb kDM4OTgFfCXW3rrACjHJTKJraxcjhC0vsf3tHOYJjEKzkBwyC8nCWUhaZiFpWcDIsopRJLW0 ODc9t9hIrzgxt7g0L10vOT93EyMwwrcd+7llB+PKVx/1DjEycTAeYpTgYFYS4Z13KztViDcl sbIqtSg/vqg0J7X4EKMpMDQmMkuJJucDU0xeSbyhmYGpoYmZpYGppZmxkjivZ0FHopBAemJJ anZqakFqEUwfEwenVAMTc4xsab/ePl95t+ocbpM9yWLzHz5m6PSbvd7q9IPWjw6z3a+W//Gf UNjR7+suUflic9cpNs3c+8df/jPKbXy/8V31dNdpCxep/fmrdd3koVfttFnxhQ6OciuPL9j7 pfrYhidr9DRDlmRdXNqWIJa+KD12w6Lm958VrFubJpgbPvbnbFd9wiO6SMJhnzdjV9Uel6eX X7psuTTVeVXP8jkJ8+76rpmsvmJWJseim36T4mxybaVk2ZasLC//rxsuxW05YXlPd1jDfJPE z1UFJ6Lj2K1VRXr9Nm3Q3W9rzLJmEz/Tlp8en1KculW5F8REpoSqFvB2/PuZxS6Sev/Gf9bA tQzsdhOXsc15HJ/F5KLEUpyRaKjFXFScCACK1HJUeQMAAA== X-CMS-MailID: 20231204160533eucas1p19fe627487940bd4ef3bc99757fed9950 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20231204114229eucas1p22c7ef58046923b0de57a0cc139a94afc X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20231204114229eucas1p22c7ef58046923b0de57a0cc139a94afc References: <20231204114215.54575-1-angelogioacchino.delregno@collabora.com> <20231204114215.54575-4-angelogioacchino.delregno@collabora.com> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 04 Dec 2023 08:06:00 -0800 (PST) On 04.12.2023 12:42, AngeloGioacchino Del Regno wrote: > To make sure that we don't unintentionally perform any unclocked and/or > unpowered R/W operation on GPU registers, before turning off clocks and > regulators we must make sure that no GPU, JOB or MMU ISR execution is > pending: doing that requires to add a mechanism to synchronize the > interrupts on suspend. > > Add functions panfrost_{gpu,job,mmu}_suspend_irq() which will perform > interrupts masking and ISR execution synchronization, and then call > those in the panfrost_device_runtime_suspend() handler in the exact > sequence of job (may require mmu!) -> mmu -> gpu. > > As a side note, JOB and MMU suspend_irq functions needed some special > treatment: as their interrupt handlers will unmask interrupts, it was > necessary to add an `is_suspended` bitmap which is used to address the > possible corner case of unintentional IRQ unmasking because of ISR > execution after a call to synchronize_irq(). > > At resume, clear each is_suspended bit in the reset path of JOB/MMU > to allow unmasking the interrupts. > > Signed-off-by: AngeloGioacchino Del Regno Tested-by: Marek Szyprowski > --- > drivers/gpu/drm/panfrost/panfrost_device.c | 3 +++ > drivers/gpu/drm/panfrost/panfrost_device.h | 8 +++++++ > drivers/gpu/drm/panfrost/panfrost_gpu.c | 18 +++++++++++++-- > drivers/gpu/drm/panfrost/panfrost_gpu.h | 1 + > drivers/gpu/drm/panfrost/panfrost_job.c | 26 ++++++++++++++++++---- > drivers/gpu/drm/panfrost/panfrost_job.h | 1 + > drivers/gpu/drm/panfrost/panfrost_mmu.c | 22 +++++++++++++++--- > drivers/gpu/drm/panfrost/panfrost_mmu.h | 1 + > 8 files changed, 71 insertions(+), 9 deletions(-) > > ... Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland