Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3507977pxb; Mon, 24 Jan 2022 11:01:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJyF27/4clPjFmYV53L/n/UU1xgWW1Q2Ne5Dgky57IUS+Pw7yE07Pz5h/6e9LLZsEVNAkB9O X-Received: by 2002:a05:6a00:1703:b0:4c3:13c9:3a2e with SMTP id h3-20020a056a00170300b004c313c93a2emr14920297pfc.44.1643050915324; Mon, 24 Jan 2022 11:01:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643050915; cv=none; d=google.com; s=arc-20160816; b=NjyxV8dU8Q0u89Uqzs+4YmF1Np8K31yMNtOinqZ6eQe7JtbgJ18QJUeMY2H7616M6V r3aQBNIZsP8TJ4mXnl7ZlOOk1BaDBTd8zSJpLgBrkHqWnuWXFZmAquhysqHMxwt6BeUw G4lmhf9CwIcoqStRC1wstOAEQ83fgBfGccOHdKEpBc1JHHmJ/tKqzwEESybRzN94g3Bf XwGoL5W4O1LieFWbPO9FDVI1+fcrPTpy4q5kh1jQh7NB3ll8AFWJAq9mByduIdvaENAT p6cd2f9Am5sOz+An4Otm7sTeuw1fJdKdpGXO8OtGBdPNYf1XnM+IvHWgctlk7SxxffHt IRhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=19bf1s0VJGBXsnd/NX7JssWS3wVn7moBnabr5Hf7n6s=; b=tjoF67ns5SSqUrf/JwV+4ziiTcCpvMMM1IGvUmerWaLRT72Qbdc2bvgfGb0jNYuFG4 yseXm2IozAbPqMCbyYCIH51Vawp5x9VldUY8jkCV/Zii9YRUTCHTmCtDei5buvBzc/nt Nm3s65xEHjhmGnP3ooz5XG8vShC890ZJ44emcYLpSLUn64ubT6zXfuCV2l4wEhBNoGfS IqjAiduXPgK9HKuG4ARHy1FWnvwbBtIZ+LpMYfWsl27jVWA0dEHeaIaDIjGNuUknkb/N QaaJ0rVp/ZyjqbjbjjdqlxQDt4b25ipHuZ0c2nkF3hzmMFGkOx88u6D1R+pTB1m0tZmv gbEw== 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 13si13289216plk.606.2022.01.24.11.01.41; Mon, 24 Jan 2022 11:01:55 -0800 (PST) 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 S237121AbiAXKEm (ORCPT + 99 others); Mon, 24 Jan 2022 05:04:42 -0500 Received: from foss.arm.com ([217.140.110.172]:56064 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237002AbiAXKER (ORCPT ); Mon, 24 Jan 2022 05:04:17 -0500 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 C582E101E; Mon, 24 Jan 2022 02:04:16 -0800 (PST) Received: from e120937-lin.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D6CA93F73B; Mon, 24 Jan 2022 02:04:14 -0800 (PST) From: Cristian Marussi To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: sudeep.holla@arm.com, james.quinlan@broadcom.com, Jonathan.Cameron@Huawei.com, f.fainelli@gmail.com, etienne.carriere@linaro.org, vincent.guittot@linaro.org, souvik.chakravarty@arm.com, peter.hilber@opensynergy.com, igor.skalkin@opensynergy.com, cristian.marussi@arm.com Subject: [PATCH 5/6] [RFC] firmware: arm_scmi: Add support for clock_enable_latency Date: Mon, 24 Jan 2022 10:03:40 +0000 Message-Id: <20220124100341.41191-6-cristian.marussi@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220124100341.41191-1-cristian.marussi@arm.com> References: <20220124100341.41191-1-cristian.marussi@arm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org An SCMI platform can optionally advertise an enable latency typically associated with a specific clock resource: add support for parsing such optional message field and export sich information in the usual publicly accessible clock descriptor. Signed-off-by: Cristian Marussi --- RFC tag is due to the fact that this SCMI spec Clock protocol field addition is still to be published. --- drivers/firmware/arm_scmi/clock.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/firmware/arm_scmi/clock.c b/drivers/firmware/arm_scmi/clock.c index 72f930c0e3e2..552610bfb91e 100644 --- a/drivers/firmware/arm_scmi/clock.c +++ b/drivers/firmware/arm_scmi/clock.c @@ -27,7 +27,8 @@ struct scmi_msg_resp_clock_protocol_attributes { struct scmi_msg_resp_clock_attributes { __le32 attributes; #define CLOCK_ENABLE BIT(0) - u8 name[SCMI_MAX_STR_SIZE]; + u8 name[SCMI_MAX_STR_SIZE]; + __le32 clock_enable_latency; }; struct scmi_clock_set_config { @@ -116,10 +117,15 @@ static int scmi_clock_attributes_get(const struct scmi_protocol_handle *ph, attr = t->rx.buf; ret = ph->xops->do_xfer(ph, t); - if (!ret) + if (!ret) { strlcpy(clk->name, attr->name, SCMI_MAX_STR_SIZE); - else + /* TODO Use CLOCK Proto Versioning once SCMI spec is updated */ + if (t->rx.len > sizeof(attr->attributes) + SCMI_MAX_STR_SIZE) + clk->enable_latency = + le32_to_cpu(attr->clock_enable_latency); + } else { clk->name[0] = '\0'; + } ph->xops->xfer_put(ph, t); return ret; -- 2.17.1