From patchwork Thu Oct 25 05:52:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 149512 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp913517ljp; Wed, 24 Oct 2018 22:53:28 -0700 (PDT) X-Google-Smtp-Source: AJdET5djdx6iuC0DdCgPDj46KNaTVcS0LiagXMgdxrxHjerVuaUEU7gSOO/KBN8jj+QX8vPOeVZI X-Received: by 2002:a63:2ad4:: with SMTP id q203-v6mr196500pgq.356.1540446808789; Wed, 24 Oct 2018 22:53:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540446808; cv=none; d=google.com; s=arc-20160816; b=jjDnv41HNot/Ds7FtKWfNZffOxTk4W12S+nYqb6bJSpCsTeJ8cUTcWSV/FusTjmeqf 9DOq3MzAOVBnUi0HyopN9/VKUJ9ifFgk9N47hv4f4RxoOfpY2qdRMSyIRsg9TpP2CCPf NA3F76e8WGh9rcYmfiqnpBrNxSCLrWe4x34Cb/XQHGmo8eZEXQk1Xf4hdNDg9jNdKprC hw76CBk8NCRtW0iR1MYbYZbMpzHHEkT3qNbTESITcAf2QYe5PjzLY5HNqP0IRhX0J0pQ zhvmKsa4E5yZHNTJWhvZPaYEGxKGZYX7CpK1k9mV6m/Lya//e6NNdJE6D+iM65iG0qlM PEbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=iFMPg2Y477Eixw34Pr/S9pCpksPj3HUPJVaQkzWELow=; b=bffOglrxKNfMQnvmbv9i8j/vJznmmxC3So7/FBH+qvyTJCWIXOcdRjcJ6a46IHpYwE Z5M8BERzBOEPnjvGKc27uRfuzhH0Ta0KymMnaf7cCqgMTsdP3Q71+GPfXT8ycUOZbTeR KmIae9Xwhc9FZ2iKVqQzxHBhntP1N2Xdw8533wiT1avYqVRTX7hy0GJ4zTdhKjrgz9vv t4X8/LxkwYxj9jhMvnYlI3Zs0OgbMHK9J2VYWI6ct9DOSlTnha4MAAAg+oqXLa00oxwq TahM61BU3k8u+TPGVNMX0txYJyw0Z4TOxAHdJtnRs3vUcxncC3lxOLi2UBymw9DHdIex MPTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TByAGHbk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e11-v6si4692177pff.272.2018.10.24.22.53.28; Wed, 24 Oct 2018 22:53:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TByAGHbk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727394AbeJYOYd (ORCPT + 32 others); Thu, 25 Oct 2018 10:24:33 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:45303 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727350AbeJYOYd (ORCPT ); Thu, 25 Oct 2018 10:24:33 -0400 Received: by mail-pg1-f196.google.com with SMTP id s3-v6so3469021pga.12 for ; Wed, 24 Oct 2018 22:53:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iFMPg2Y477Eixw34Pr/S9pCpksPj3HUPJVaQkzWELow=; b=TByAGHbk7rgoR87DUWV9J3RXadVqjbsoOsoUaThuHgJdg0z9Og9n8AwSIbRFsJk3uJ bXYPvH4fcnsdMnZEdCDnqO69TaKjWDm1FQ2NqvuCJNB9MyWm9yQ1FCSxydLKQAaTrjr2 UQ74d4lTe4d7fRB+B9bEiEKUzZ73731uaHsD4= 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=iFMPg2Y477Eixw34Pr/S9pCpksPj3HUPJVaQkzWELow=; b=lWGvJz1T/g7Bly6VXSuTXdnPTIGfIzsgLQr9J5EvBp24IoxhGCtg7oF/9c1dtIwgtr 3GdxQguib8shBfFVIIxsnX0scJvDDCTRpHFUj/gC93IQVwmQ3MzqwZADdhr/lS70tAPs /+bGS5EW8+kIGTVtifxyEmhK1Tn/FtnRIAqV1mGj6gx8Lo3qJDdbQOLvUvmyKCwjmHN4 SurEHvBfsq94iVMngGXI38YQZ4JsgAbBoXAkzYWxu/Pxa+ZkQ8C+Yvx+oiqf3F/nkPN/ u7KW4ONRTO5XNfrJbatMC1qjmE3nZl5PGXQYpJ00RPtMNHoIizNVQZmChboCi3Rf21dx GXRA== X-Gm-Message-State: AGRZ1gIfnuCWXnVxqu9rTSfH9sCSaCJaW/cmYFzKGiB3BM+kicYt+vxC XoThuBBljBYtPARIXqThbdlkUg== X-Received: by 2002:a62:8301:: with SMTP id h1-v6mr206832pfe.29.1540446802327; Wed, 24 Oct 2018 22:53:22 -0700 (PDT) Received: from localhost ([122.172.217.9]) by smtp.gmail.com with ESMTPSA id u7-v6sm585161pfl.34.2018.10.24.22.53.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 Oct 2018 22:53:21 -0700 (PDT) From: Viresh Kumar To: ulf.hansson@linaro.org, Viresh Kumar , Nishanth Menon , Stephen Boyd Cc: Viresh Kumar , linux-pm@vger.kernel.org, Vincent Guittot , Rafael Wysocki , niklas.cassel@linaro.org, rnayak@codeaurora.org, linux-kernel@vger.kernel.org Subject: [PATCH V3 02/10] OPP: Identify and mark genpd OPP tables Date: Thu, 25 Oct 2018 11:22:39 +0530 Message-Id: <320abb3732333763c6d87e5e6aa81aa80dbace8d.1540446493.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.19.1.568.g152ad8e3369a In-Reply-To: References: MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We need to handle genpd OPP tables differently, this is already the case at one location and will be extended going forward. Add another field to the OPP table to check if the table belongs to a genpd or not. Reviewed-by: Ulf Hansson Signed-off-by: Viresh Kumar --- drivers/opp/of.c | 6 ++++-- drivers/opp/opp.h | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) -- 2.19.1.568.g152ad8e3369a diff --git a/drivers/opp/of.c b/drivers/opp/of.c index 5a4b47958073..5f114cd3d88c 100644 --- a/drivers/opp/of.c +++ b/drivers/opp/of.c @@ -92,6 +92,9 @@ void _of_init_opp_table(struct opp_table *opp_table, struct device *dev, of_property_read_u32(np, "voltage-tolerance", &opp_table->voltage_tolerance_v1); + if (of_find_property(np, "#power-domain-cells", NULL)) + opp_table->is_genpd = true; + /* Get OPP table node */ opp_np = _opp_of_get_opp_desc_node(np, index); of_node_put(np); @@ -326,8 +329,7 @@ static struct dev_pm_opp *_opp_add_static_v2(struct opp_table *opp_table, ret = of_property_read_u64(np, "opp-hz", &rate); if (ret < 0) { /* "opp-hz" is optional for devices like power domains. */ - if (!of_find_property(dev->of_node, "#power-domain-cells", - NULL)) { + if (!opp_table->is_genpd) { dev_err(dev, "%s: opp-hz not found\n", __func__); goto free_opp; } diff --git a/drivers/opp/opp.h b/drivers/opp/opp.h index 9c6544b4f4f9..cdb0c2b095e2 100644 --- a/drivers/opp/opp.h +++ b/drivers/opp/opp.h @@ -140,6 +140,7 @@ enum opp_table_access { * @regulators: Supply regulators * @regulator_count: Number of power supply regulators * @genpd_performance_state: Device's power domain support performance state. + * @is_genpd: Marks if the OPP table belongs to a genpd. * @set_opp: Platform specific set_opp callback * @set_opp_data: Data to be passed to set_opp callback * @dentry: debugfs dentry pointer of the real device directory (not links). @@ -178,6 +179,7 @@ struct opp_table { struct regulator **regulators; unsigned int regulator_count; bool genpd_performance_state; + bool is_genpd; int (*set_opp)(struct dev_pm_set_opp_data *data); struct dev_pm_set_opp_data *set_opp_data;