From patchwork Mon Jul 8 15:47:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sudeep Holla X-Patchwork-Id: 168681 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp7331395ilk; Mon, 8 Jul 2019 08:48:05 -0700 (PDT) X-Google-Smtp-Source: APXvYqx/q/rN70BtqfRPP+qm2tmCHp/2Vl9arFNNZ0CZhKpNQP9zUDLZL7Tbz4/Goshw91kmqSIj X-Received: by 2002:a17:90a:2488:: with SMTP id i8mr26147139pje.123.1562600885454; Mon, 08 Jul 2019 08:48:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562600885; cv=none; d=google.com; s=arc-20160816; b=Q2XUiccoVe2gxaQ2bFHH+bGRvSp4SpJI5gJEXyXnDihMR6UfzgZgZflQBbal1WkyiG 9vf9B/gyVEePi1Kn0S0H54yIE5sqCbYQFVr9Gk8Z/X1Jqa6AdCoOekH2rHJ+KqD7r9PE OehuL2R/vfksozkThBaGSW2qwW2eHMo6wxxLPGSJkOU1oVanhPaNMlla1WTdKntkTKRM WK0FarO6dRN5ClTBg3qq0SKqNwA3/AzVPc8aUz7O6OKfBgYDkpEGYfofsfoyEctz1fEE bqUQM5PnpjunZJFlV2O7AEsRD6KD0hGrxs3d+l4RBIhuTnaGcwkC6saMYOcP+ivkF/0F zTBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=4RyTSizP+zkYJs/Fjy2ds8UgeZgC74oNNcWH+B8xxLE=; b=t7cEwVnRQ/dcFO22eEKT9HKF4rx/cCTszN/Sq2rJFg29YnxSNCpqxY8hLLDLgOdBBj Q0FiNgY8peKV4/fg51yvM9hEzbbn+9qlAmCvtq4yStwB/MeHnW5ez/Tu8aRRxJkJsQYF pMtUTbFSeCHezxcA8dtuk3juereKa6NG+uQev/dgbxQVfrZNkUC4/5/nNYahFO5M4GqN +85tod1i5KXxPKHiyDLGL3HHh44Ivj1emLsZKXS2tE6R8AJX4wJ8ajPwGxMmp2lI/9PC qpW+XEo98W0GiQ9LEsjKXt0PuxKtekHXJuYMAy6f/XxvgV91veXz7mpeXvQtFDPXwJqS 3+6A== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n187si18384414pgn.362.2019.07.08.08.48.05; Mon, 08 Jul 2019 08:48:05 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391406AbfGHPsD (ORCPT + 30 others); Mon, 8 Jul 2019 11:48:03 -0400 Received: from foss.arm.com ([217.140.110.172]:52420 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391341AbfGHPry (ORCPT ); Mon, 8 Jul 2019 11:47:54 -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 0C12B360; Mon, 8 Jul 2019 08:47:54 -0700 (PDT) Received: from usa.arm.com (e107155-lin.cambridge.arm.com [10.1.196.42]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C750F3F59C; Mon, 8 Jul 2019 08:47:52 -0700 (PDT) From: Sudeep Holla To: linux-arm-kernel@lists.infradead.org Cc: Sudeep Holla , linux-kernel@vger.kernel.org, Peng Fan , Jim Quinlan , Bo Zhang , Volodymyr Babchuk , Stephen Boyd , linux-clk@vger.kernel.org Subject: [PATCH 10/11] firmware: arm_scmi: Drop config flag in clk_ops->rate_set Date: Mon, 8 Jul 2019 16:47:29 +0100 Message-Id: <20190708154730.16643-11-sudeep.holla@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190708154730.16643-1-sudeep.holla@arm.com> References: <20190708154730.16643-1-sudeep.holla@arm.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org CLOCK_PROTOCOL_ATTRIBUTES provides attributes to indicate the maximum number of pending asynchronous clock rate changes supported by the platform. If it's non-zero, then we should be able to use asynchronous clock rate set for any clocks until the maximum limit is reached. In order to add that support, let's drop the config flag passed to clk_ops->rate_set and handle the asynchronous requests dynamically. Cc: Stephen Boyd Cc: linux-clk@vger.kernel.org Signed-off-by: Sudeep Holla --- drivers/clk/clk-scmi.c | 2 +- drivers/firmware/arm_scmi/clock.c | 4 ++-- include/linux/scmi_protocol.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) -- 2.17.1 Acked-by: Stephen Boyd diff --git a/drivers/clk/clk-scmi.c b/drivers/clk/clk-scmi.c index a2287c770d5c..886f7c5df51a 100644 --- a/drivers/clk/clk-scmi.c +++ b/drivers/clk/clk-scmi.c @@ -69,7 +69,7 @@ static int scmi_clk_set_rate(struct clk_hw *hw, unsigned long rate, { struct scmi_clk *clk = to_scmi_clk(hw); - return clk->handle->clk_ops->rate_set(clk->handle, clk->id, 0, rate); + return clk->handle->clk_ops->rate_set(clk->handle, clk->id, rate); } static int scmi_clk_enable(struct clk_hw *hw) diff --git a/drivers/firmware/arm_scmi/clock.c b/drivers/firmware/arm_scmi/clock.c index 0a194af92438..dd215bd11a58 100644 --- a/drivers/firmware/arm_scmi/clock.c +++ b/drivers/firmware/arm_scmi/clock.c @@ -218,7 +218,7 @@ scmi_clock_rate_get(const struct scmi_handle *handle, u32 clk_id, u64 *value) } static int scmi_clock_rate_set(const struct scmi_handle *handle, u32 clk_id, - u32 config, u64 rate) + u64 rate) { int ret; struct scmi_xfer *t; @@ -230,7 +230,7 @@ static int scmi_clock_rate_set(const struct scmi_handle *handle, u32 clk_id, return ret; cfg = t->tx.buf; - cfg->flags = cpu_to_le32(config); + cfg->flags = cpu_to_le32(0); cfg->id = cpu_to_le32(clk_id); cfg->value_low = cpu_to_le32(rate & 0xffffffff); cfg->value_high = cpu_to_le32(rate >> 32); diff --git a/include/linux/scmi_protocol.h b/include/linux/scmi_protocol.h index 1be16d7730e2..1694ee1b410e 100644 --- a/include/linux/scmi_protocol.h +++ b/include/linux/scmi_protocol.h @@ -71,7 +71,7 @@ struct scmi_clk_ops { int (*rate_get)(const struct scmi_handle *handle, u32 clk_id, u64 *rate); int (*rate_set)(const struct scmi_handle *handle, u32 clk_id, - u32 config, u64 rate); + u64 rate); int (*enable)(const struct scmi_handle *handle, u32 clk_id); int (*disable)(const struct scmi_handle *handle, u32 clk_id); };