Received: by 2002:a05:7412:a9a2:b0:e2:908c:2ebd with SMTP id o34csp2735840rdh; Mon, 30 Oct 2023 06:23:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGejF83olIMA4Z7zTwq1sfthXl3uOgUHI9Ddr6ChnEDjvTgqmhey9UBOEM8v1EhU9KDaiGi X-Received: by 2002:a17:90b:1004:b0:280:2856:5ef1 with SMTP id gm4-20020a17090b100400b0028028565ef1mr3528575pjb.1.1698672209386; Mon, 30 Oct 2023 06:23:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698672209; cv=none; d=google.com; s=arc-20160816; b=BfBHxnsE/2ZokQckVe11y4Xb1tgquW4oVRqekGB/Acm7olAXcS+meCI21oXSP0YuGQ jWmp35EBuWLGwGTmkys902p9ghfIDsag/xYJ0ZWRaIuH+M9PfVg9WivRlyd9bxKKTJDR /j8Rcl2klglcX0vdJLZpSLrPU8VXQeamFQ5QFaKfzr1H7C7avBQC+0ZGJpAbxNREEiKI XlBwVclLTCj5tT7kz1VOJP+KQUhVCOfpkyReRgrqlUGPLXtJXcos3AN1WmqwmP7bQo7O tHnAopZFZP5vbz7qzbfQDIfbA4pSozojITlzntB4jE6sC6Cs3ywcSOTlJxr8c5YvMb3w 1fjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=zXrJOIWzfXylvjrkUGOH8Rwlk0PE12zmbwcbF+6ivLc=; fh=tAWvjMAEmVD3R8FzmIRYzQIb+yW9J+gWZJ2R8deHkVw=; b=fNRJ9zI6A7ToUJ7LGveYaSa4SIwxk/ABdZvNK95Rw7TDTrUPObn2cWcizuWT3EqGyu rrRNMCECUM+ZZUWXQ2d06S3lrTKLI0oC9L79LkeGMCkNR0sF+tT9UiqI1uOHAn76040j L0tMYUlWTptIAjnlH1DEYdu9vYv4wHKbXlaKmmZFGlxy4iRySCtGDxasO2rPxfTrDPog l8POTVm3MRVbL/zZhw/C2Y0PHKIGpxjWvWG4YJxQmRMTx4+DKiDihSgR2rzg2PJIOKCt d20oUb7nJ1r5FrFZfckBe7Akd8uyfF3SoN5CgePEIkpYNuPqVQEKiOjNGV+OW1Qh6V4O 6z7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=MgC3ld0h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Return-Path: Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id y15-20020a17090a784f00b0026d034f6baesi3874145pjl.117.2023.10.30.06.23.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Oct 2023 06:23:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=MgC3ld0h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 55CF880A056D; Mon, 30 Oct 2023 06:23:20 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233333AbjJ3NXK (ORCPT + 99 others); Mon, 30 Oct 2023 09:23:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48888 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232176AbjJ3NXJ (ORCPT ); Mon, 30 Oct 2023 09:23:09 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 99CA8C6 for ; Mon, 30 Oct 2023 06:23:06 -0700 (PDT) Received: from IcarusMOD.eternityproject.eu (2-237-20-237.ip236.fastwebnet.it [2.237.20.237]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: kholk11) by madras.collabora.co.uk (Postfix) with ESMTPSA id 46B82660297B; Mon, 30 Oct 2023 13:23:04 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1698672185; bh=TxpERrHKvTXLv7m6DqA8hS2RM5V93+V2vFmeraHSOl0=; h=From:To:Cc:Subject:Date:From; b=MgC3ld0hp1ucNJ8hYE/CQB6rOFdkGUDdh5aNHd2Yf+ZDPyfrt0QEoyArU9WLoirI3 dO3j4ke8OcVsxL6DZyMGBJs1tjnk3pZs2I7NAc8aVCis5bzn/V2iiqmfvxNKn1D9xh 6EXM5NPAlIlVBdjROTAgeaQ26D6X1RxJB+zjhbV7xgdYPwlFoKccoEYZ3K9egQfRQc PSSWjG+eIhcR3qqn/bSI+4Wk3LmXfwStmus2Yh2lVpsQvZAhjhuqhE0vTww5FyoM9I fjuEgX/yFxSnjAGQU1xrkkVRlLQkh/RFV1GcBXXE2oMf8rrCFuPYCxbvM46xDDLq2p AMhuZnN1yMRdQ== From: AngeloGioacchino Del Regno To: 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, wenst@chromium.org, AngeloGioacchino Del Regno , kernel@collabora.com Subject: [PATCH 0/4] drm/panfrost: Turn off clocks and regulators in PM Date: Mon, 30 Oct 2023 14:22:53 +0100 Message-ID: <20231030132257.85379-1-angelogioacchino.delregno@collabora.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.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 (fry.vger.email [0.0.0.0]); Mon, 30 Oct 2023 06:23:20 -0700 (PDT) At least MediaTek platforms are able to get the GPU clocks and regulators completely off during system suspend, allowing to save a bit of power. Panfrost is used on more than just MediaTek SoCs and the benefits of this can be variable across different SoC models and/or different SoCs from different manufacturers: this means that just adding this ability for all could result in unexpected issues and breakages on untested SoCs. For the aforemenetioned reasons, turning off the clocks and/or regulators was implemented inside of a capabilities barrier that shall be enabled on a per-SoC basis (in the panfrost_compatible platform data) after testing of both benefits and feasibility. In this series, I am adding the ability to switch on/off clocks and regulators and enabling that on all MediaTek platforms, as I was able to successfully test that on multiple Chromebooks featuring different MediaTek SoCs; specifically, I've manually tested on MT8186, MT8192 and MT8195, while MT8183 got tested only by KernelCI. Cheers! AngeloGioacchino Del Regno (4): drm/panfrost: Implement ability to turn on/off GPU clocks in suspend drm/panfrost: Set clocks on/off during system sleep on MediaTek SoCs drm/panfrost: Implement ability to turn on/off regulators in suspend drm/panfrost: Set regulators on/off during system sleep on MediaTek SoCs drivers/gpu/drm/panfrost/panfrost_device.c | 78 ++++++++++++++++++++-- drivers/gpu/drm/panfrost/panfrost_device.h | 13 ++++ drivers/gpu/drm/panfrost/panfrost_drv.c | 3 + 3 files changed, 90 insertions(+), 4 deletions(-) -- 2.42.0