From patchwork Fri Jan 8 01:10:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Boichat X-Patchwork-Id: 12005509 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80C9AC433DB for ; Fri, 8 Jan 2021 01:10:30 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 26F3923447 for ; Fri, 8 Jan 2021 01:10:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 26F3923447 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8615D6E5C1; Fri, 8 Jan 2021 01:10:29 +0000 (UTC) Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by gabe.freedesktop.org (Postfix) with ESMTPS id BAAA36E5C1 for ; Fri, 8 Jan 2021 01:10:27 +0000 (UTC) Received: by mail-pl1-x62c.google.com with SMTP id q4so4803132plr.7 for ; Thu, 07 Jan 2021 17:10:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Btr4GziZmSmF1Ub4qnq0SpstKPt2/2jleo6UAXy0j/A=; b=LOrd8IItXrtGowbDtoko3gWePPveGgoW5WaUJsm8w7E/QxLaVTqiviDlUa9zgRHnT/ BDHmUwQBWPgo5pbofbVmc7kQF3yNI/G1aQy1cIwSfO+Fs5ZXVA2o7ng+YUEmm+ohkv8Q GnMG6BqZHHDUGYG+i2/5MOPE0acEdP+msOn1Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Btr4GziZmSmF1Ub4qnq0SpstKPt2/2jleo6UAXy0j/A=; b=RWI4IDtbys7vEXjlUlfOayEhUS0lxGik8/ZvqSClrnOHR+ktnGwJs2siaG2pgjJf+B 1R64KDbiMNyWnm62+P0jA/HqMVtZDFRFb4fk7+9JAJ7rJoP5owZ2d15UYckTwMjKisik J72UvqufHuvxQRNb7E6KR7BF4VSXbiEbV12aWU+N4VLeRgtyMjJtw9OG9ZFFqw+vh6XC IjsSBm9DXsJ5y8fc3LF6fGtwTn4CcuA2I+5XU/EyonQSRIeOdHENCKCxJarAAVun8kwZ ivxwlRFIEoe2aBNltyck20bmH555qR8kxvAkJDJzndhEwXd2tCJ3pjyTAMb56OzkWbN8 pnnQ== X-Gm-Message-State: AOAM532HqoU7SghzYQiJ8hq8EZvpz6uBf5sF7w9KD6A5+L9z0YUaXJZv SmJnPIWh7ev8J6/Zw9H943UucA== X-Google-Smtp-Source: ABdhPJy8e1bhkVfYjTqYbpVkR/sIKL1iQSv/8jv8VQGzrgxJMKUQYZHjSXSKG1eGTP2lXsoOnN4Cjw== X-Received: by 2002:a17:90a:bf05:: with SMTP id c5mr1099131pjs.95.1610068227384; Thu, 07 Jan 2021 17:10:27 -0800 (PST) Received: from drinkcat2.tpe.corp.google.com ([2401:fa00:1:b:7220:84ff:fe09:41dc]) by smtp.gmail.com with ESMTPSA id s1sm6400083pfb.103.2021.01.07.17.10.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Jan 2021 17:10:26 -0800 (PST) From: Nicolas Boichat To: Rob Herring , Steven Price , Alyssa Rosenzweig Subject: [PATCH v9 3/4] drm/panfrost: devfreq: Disable devfreq when num_supplies > 1 Date: Fri, 8 Jan 2021 09:10:10 +0800 Message-Id: <20210108091005.v9.3.I3af068abe30c9c85cabc4486385c52e56527a509@changeid> X-Mailer: git-send-email 2.29.2.729.g45daf8777d-goog In-Reply-To: <20210108011011.4061575-1-drinkcat@chromium.org> References: <20210108011011.4061575-1-drinkcat@chromium.org> MIME-Version: 1.0 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: , Cc: Nicolas Boichat , Tomeu Vizoso , fshao@chromium.org, David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, boris.brezillon@collabora.com, hsinyi@chromium.org, hoegsberg@chromium.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" GPUs with more than a single regulator (e.g. G72 on MT8183) will require platform-specific handling for devfreq, for 2 reasons: 1. The opp core (drivers/opp/core.c:_generic_set_opp_regulator) does not support multiple regulators, so we'll need custom handlers. 2. Generally, platforms with 2 regulators have platform-specific constraints on how the voltages should be set (e.g. minimum/maximum voltage difference between them), so we should not just create generic handlers that simply change the voltages without taking care of those constraints. Disable devfreq for now on those GPUs. Signed-off-by: Nicolas Boichat Reviewed-by: Tomeu Vizoso --- Changes in v9: - Explain why devfreq needs to be disabled for GPUs with >1 regulators. Changes in v8: - Use DRM_DEV_INFO instead of ERROR Changes in v7: - Fix GPU ID in commit message Changes in v6: - New change drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/panfrost/panfrost_devfreq.c b/drivers/gpu/drm/panfrost/panfrost_devfreq.c index f44d28fad085..812cfecdee3b 100644 --- a/drivers/gpu/drm/panfrost/panfrost_devfreq.c +++ b/drivers/gpu/drm/panfrost/panfrost_devfreq.c @@ -92,6 +92,15 @@ int panfrost_devfreq_init(struct panfrost_device *pfdev) struct thermal_cooling_device *cooling; struct panfrost_devfreq *pfdevfreq = &pfdev->pfdevfreq; + if (pfdev->comp->num_supplies > 1) { + /* + * GPUs with more than 1 supply require platform-specific handling: + * continue without devfreq + */ + DRM_DEV_INFO(dev, "More than 1 supply is not supported yet\n"); + return 0; + } + opp_table = dev_pm_opp_set_regulators(dev, pfdev->comp->supply_names, pfdev->comp->num_supplies); if (IS_ERR(opp_table)) {