Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp4698000pxu; Wed, 21 Oct 2020 03:05:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy2PbQc5BmMPbJbwRzNagxsUD5gCls/lx3Z0ZPNFYWQ99BaWFGzcTqSwN2wN83WmvlvrxBU X-Received: by 2002:a17:906:7247:: with SMTP id n7mr2634504ejk.174.1603274748495; Wed, 21 Oct 2020 03:05:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603274748; cv=none; d=google.com; s=arc-20160816; b=P9wj5Lw5KrU1Qi411WPdIhZZoNpe1UbwIP8sFUm4lAIRnsAr4bD/s9ds+Z6hd1DvRp yHvppAWsBqQfBRjfeTy6FstVNRSXodWfRbS93i3lPHo58uwKD6D2xFzTHHLnLfK5yBEJ zMuNxtBDVBtc2V3KrbcKrq25gGs8GJkuMMcwe2kCpbBkKWrEmlLveoYhDNe9Z9A0QZhE FjLZ96wRPxoIbMIWwbOn2iW3+4SBzuhfpg9I5n/YQ/T50IkNGqt++4iMbUe+Y1D3b7Xk gWUr6mYCPHZj5IbZTFpqTdNUGIYEyy9IQL0qnKK1Hsw/H6a/knjG/Quo8cTOMtn0iiT4 2N/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=/0ttUjcM7IRMBoPxBKqBzommb0EpZWttjrsG0grgmVw=; b=HgYDWQ1WgI4aXHQiD52ZxqPg9lyUSNznXVIbv8zu1Ynh41oCkjdXxjrRr/rfXfJP5d ZRkXDuNze8aVO4tfut5MRRdJ5PbehDHt99zvMZyD9tt5gOUWLjEhmUF0Zixb2bFmse4h 2fTVEyyNy5df/ucFgQrF3l6QHsIyTZ46jHTW+Pvu+I1rvoah+pCvUtJtzcdK0dB9dkrm fU7cI8AHz8WFH5Tedf9SnraYMKgz5HG6HP4/GIVby97eY3uxIhTIH1OdQtYXvZRmVHzX eNGqs6bYsKjX4QPJPisNwCM7weX5yTKUtCPFXnFFNmwoe6M1RBugyKB/hjwoSn+8/wsf HQNA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g16si974485ejw.328.2020.10.21.03.05.26; Wed, 21 Oct 2020 03:05:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2409537AbgJTUhS (ORCPT + 99 others); Tue, 20 Oct 2020 16:37:18 -0400 Received: from foss.arm.com ([217.140.110.172]:55924 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2409477AbgJTUhS (ORCPT ); Tue, 20 Oct 2020 16:37:18 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A693331B; Tue, 20 Oct 2020 13:37:17 -0700 (PDT) Received: from usa.arm.com (e103737-lin.cambridge.arm.com [10.1.197.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BCE6C3F719; Tue, 20 Oct 2020 13:37:16 -0700 (PDT) From: Sudeep Holla To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: Sudeep Holla , linux-arm-kernel@lists.infradead.org, Rob Herring , Viresh Kumar Subject: [PATCH 1/2] dt-bindings: arm,scmi: Do not use clocks for SCMI performance domains Date: Tue, 20 Oct 2020 21:37:09 +0100 Message-Id: <20201020203710.10100-1-sudeep.holla@arm.com> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit dd461cd9183f ("opp: Allow dev_pm_opp_get_opp_table() to return -EPROBE_DEFER") handles -EPROBE_DEFER for the clock/interconnects within _allocate_opp_table() which is called from dev_pm_opp_add and it now propagates the error back to the caller. SCMI performance domain re-used clock bindings to keep it simple. However with the above mentioned change, if clock property is present in a device node, opps can't be added until clk_get succeeds. So in order to fix the issue, we can register dummy clocks which is completely ugly. Since there are no upstream users for the SCMI performance domain clock bindings, let us introduce separate performance domain bindings for the same. Signed-off-by: Sudeep Holla --- .../devicetree/bindings/arm/arm,scmi.txt | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) Hi Rob/Viresh, This is actually a fix for the regression I reported here[1]. I am not adding fixes tag as I am targeting in the same release and also because it is not directly related. Regards, Sudeep [1] https://lore.kernel.org/r/20201015180555.gacdzkofpibkdn2e@bogus P.S.:/me records that this binding needs to be moved to yaml in v5.11 diff --git a/Documentation/devicetree/bindings/arm/arm,scmi.txt b/Documentation/devicetree/bindings/arm/arm,scmi.txt index 55deb68230eb..0a6c1b495403 100644 --- a/Documentation/devicetree/bindings/arm/arm,scmi.txt +++ b/Documentation/devicetree/bindings/arm/arm,scmi.txt @@ -44,7 +44,7 @@ as described in the following sections. If the platform supports dedicated mboxes, mbox-names and shmem shall be present in the sub-node corresponding to that protocol. -Clock/Performance bindings for the clocks/OPPs based on SCMI Message Protocol +Clock bindings for the clocks based on SCMI Message Protocol ------------------------------------------------------------ This binding uses the common clock binding[1]. @@ -52,6 +52,19 @@ This binding uses the common clock binding[1]. Required properties: - #clock-cells : Should be 1. Contains the Clock ID value used by SCMI commands. +Performance bindings for the OPPs based on SCMI Message Protocol +------------------------------------------------------------ + +Required properties: +- #perf-domain-cells: Should be 1. Contains the performance domain ID value + used by SCMI commands. + +* Property arm,scmi-perf-domain + +Devices supporting SCMI performance domain must set their "arm,scmi-perf-domain" +property with phandle to a SCMI performance domain controller followed by the +performance domain. + Power domain bindings for the power domains based on SCMI Message Protocol ------------------------------------------------------------ @@ -152,7 +165,7 @@ firmware { scmi_dvfs: protocol@13 { reg = <0x13>; - #clock-cells = <1>; + #perf-domain-cells = <1>; }; scmi_clk: protocol@14 { @@ -175,7 +188,7 @@ firmware { cpu@0 { ... reg = <0 0>; - clocks = <&scmi_dvfs 0>; + arm,scmi-perf-domain = <&scmi_dvfs 0>; }; hdlcd@7ff60000 { -- 2.17.1