From patchwork Wed Feb 14 18:29:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cristian Marussi X-Patchwork-Id: 20389 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:bc8a:b0:106:860b:bbdd with SMTP id dn10csp1415166dyb; Wed, 14 Feb 2024 10:30:50 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUX4V/myXiomXMKDwCYqHn3Wvxwd5lmN86K2hCaZB2AWYwJVopHzwt8665L6Cg41lO9apyhwb/jhS0dEayc+w+8nirIUg== X-Google-Smtp-Source: AGHT+IHyiFwoIiCgEokvc+FMRKrpfG0aUF4r4EF68bNblgS47Pr5yIRWrJK+YAr1+xdOlFs1IbhB X-Received: by 2002:a17:906:71cc:b0:a36:ff9f:4256 with SMTP id i12-20020a17090671cc00b00a36ff9f4256mr2437916ejk.54.1707935450001; Wed, 14 Feb 2024 10:30:50 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707935449; cv=pass; d=google.com; s=arc-20160816; b=RKCNXIS14jv6kGiDyV9UKjK1MAJt7hshNBag9VgLRrW5WvDfw7UDg9XyRizMdfyDNq cJ9+zN2Pdv+3hJaXMNOJzFMl2d3xCNGwQUGn+VUXkgjldIoBQ6SB1mSAV660CpoBvF24 3ebgjI1V/hJuUgsMqm9PkGSn4rNhi/bn9J4y9XJNXEES+ljXQNXwokhFp6sORd7JuIYL sXhHIbnlIrDC6xtZHbuXbIHYOwQBV/ZSn7FpxyMU8/p1Vnxg326ly790Yk/eoBW2BbKo b6NfXmBBUo9Y9ZQ8+U7sFo2aCeUmvrzlUuN9BoUZBYiloRAG+0aM08pJ63sASyp91mAj JvcQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from; bh=emalu+RU6NKjsDIei5BQkypFt2sF0vHK1QIWFiVD7uc=; fh=aWTfhVvd46lJSQzqkQ9yGXSyHm3wjicJjFTJ9Reu8j0=; b=1KmSB0U6/VYvhpy8GH5oeFFZGpGLUCCxyd01r+U8sU0oqYHajMQaaimJ66Q/KTbPuz X8/fVo24Mf1mvaoQC4CeSgVyeFx8YSG4HK+6M+9RkQ4ozfHjOghG7c2ZJgkjZu0PWhLb VqCzWvO0puVkMDIGkXpdhTnYQO9tGkA54SidVU3EILkQ3zi5Ei6uu7jXzBlAC6DaTgn5 fBhHg42dBV7XtOqWDrmDM3Rrg5/z53sj9LgTU+6o/QhIBqappkP08/mg9OPsjJomI2of 6Y5jIOQTAGToWJDuLALJLfRPCM5sXBJ7cyQhkxWKZDeh4JBXxblcAgsLpdifVoRzJsyJ pTYw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-65804-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-65804-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com X-Forwarded-Encrypted: i=2; AJvYcCWS8IXmN0Qv40APre0C9NYa34zJVtfqqQhr+7RjDjoEoZ6u0D+/DUhvlQWrQNAsBtYlziZlBZl7rplpDnRx0/zpn/a6Nw== Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id bs25-20020a170906d1d900b00a3ba261d09dsi2461941ejb.709.2024.02.14.10.30.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Feb 2024 10:30:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-65804-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-65804-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-65804-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 9A9CA1F29A56 for ; Wed, 14 Feb 2024 18:30:49 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8E18C12C54C; Wed, 14 Feb 2024 18:30:36 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 75CD612BF0B for ; Wed, 14 Feb 2024 18:30:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707935435; cv=none; b=qJdom3P+NmCnmh7S4ebwrBClhNluxBNqyi0qZvs5FaMmopdLwp3vLz5Qy4G2jbn+BZ6fOpFfnP25dYNr8HRT6o9n0DUb8OuyuLTpF4n0hTEPJXhNWE4wxPaGBBgbYAxomFWtGrH41ATAIOscgG+ragN4ju0HchfEOSGYP5SabhQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707935435; c=relaxed/simple; bh=oguWnocZws5vf+j1aiEz+HdHe1tJCGNmDLJH2xJJZ04=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=sK2VOX7u3Z46+Z8fXWFcpjuts+BGTD7WCncHBec4b3BEq1NabdYvbQuxAX4WrLPDwOftmbUsKgYDIqqg6QC98/55uGTcMO5ipwNYC7uMuA6gtit07kpKo9I8Ch8lamq+lAdySKWqIEkIuuQvu6DB26+B3Lk5TReb/HezaXsJklE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com 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 A8B161FB; Wed, 14 Feb 2024 10:31:11 -0800 (PST) Received: from pluto.fritz.box (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 015763F7B4; Wed, 14 Feb 2024 10:30:28 -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, f.fainelli@gmail.com, vincent.guittot@linaro.org, peng.fan@oss.nxp.com, michal.simek@amd.com, quic_sibis@quicinc.com, quic_nkela@quicinc.com, souvik.chakravarty@arm.com, Cristian Marussi Subject: [PATCH 0/7] SCMI V3.2 Misc updates Date: Wed, 14 Feb 2024 18:29:59 +0000 Message-ID: <20240214183006.3403207-1-cristian.marussi@arm.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790900122245186850 X-GMAIL-MSGID: 1790900122245186850 Hi, another round of updates related to the last v3.2 SCMI spec, mostly around Clock protocol. Note that the series is based on sudeep/for-next/scmi/updates on top of 7dd3d11f4dac ("clk: scmi: Add support for forbidden clock state controls") and patch [1/7], which was included in the recently posted [1], it is included also here just for ease of usage. (since needed also here ofc) Having said that, [2/7] add a centralized support to the SCMI core to handle v3.2 optional protocol version negotiation, so that at protocol initialization time, mif the platform advertised version is newer than supported by the kernel and protocol version negotiation is supported, the SCMI core will attempt to negotiate an older protocol version. Patches 3,4,5 adds the remaining last missing bits of Clock v3.2 protocol and bumps the supported protocol version to 0x30000 (v3.2). On top of these new SCMI additions, [6/7] reworks at first slightly how the clk-scmi driver configures per-clock CLK ops, and then [7/7] adds support for clock get/set duty cycle, as allowed by the last v3.2 spec additions, but only if the related SCMI clk domain supports that specific clock permissions. Thanks, Cristian [1]: https://lore.kernel.org/linux-arm-kernel/20240212123233.1230090-3-cristian.marussi@arm.com/ --- Cristian Marussi (7): firmware: arm_scmi: Add a common helper to check if a message is supported firmware: arm_scmi: Add support for v3.2 NEGOTIATE_PROTOCOL_VERSION firmware: arm_scmi: Add Clock check for extended config support firmware: arm_scmi: Add standard Clock OEM definitions firmware: arm_scmi: Update supported Clock protocol version clk: scmi: Allocate CLK operations dynamically clk: scmi: Support get/set duty_cycle operations drivers/clk/clk-scmi.c | 168 +++++++++++++++++--------- drivers/firmware/arm_scmi/clock.c | 67 +++++++--- drivers/firmware/arm_scmi/driver.c | 99 ++++++++++++++- drivers/firmware/arm_scmi/protocols.h | 5 + include/linux/scmi_protocol.h | 15 ++- 5 files changed, 270 insertions(+), 84 deletions(-)