From nobody Wed Dec 31 13:09:32 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94259C4332F for ; Thu, 2 Nov 2023 09:54:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345949AbjKBJy4 (ORCPT ); Thu, 2 Nov 2023 05:54:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60448 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229670AbjKBJyx (ORCPT ); Thu, 2 Nov 2023 05:54:53 -0400 Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 25F16133 for ; Thu, 2 Nov 2023 02:54:50 -0700 (PDT) Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-991c786369cso110292066b.1 for ; Thu, 02 Nov 2023 02:54:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698918888; x=1699523688; darn=vger.kernel.org; h=content-transfer-encoding:cc:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=QYS16eCPsBztvO6TV3MQMioFM+kthtA6Q+ME42940KY=; b=MOGJ4NAJbyDjOO8tgJKz4GJY3se8B9zCsiPAI5qbJVO9bhoOrbG8Ekj6tyeGJQSsea S53CCL61GeJeQ1rFAmyr3QyIDIkYt3/MtKqF2qjtAinF/HrbbBm0gcSzYg2N2f5Nwiei VZ+jRpapOyAA8t38fLuB50IAG6W7QZmRlwQZ+PZWOFXBydrtovMHe5etVzrg1q0raP6F XrrmMjb+u6I02pbFdA8Wuhdj0UqxoSQzpBIEKEpSBA4uV0N4OT0BPsoH+H9tKI0+7Vka euvVfEl2gutOE7ZAPPLDl2l5JLBcyybVmtY67DRdxot1I6PE8buQJ+nh441C/RefsWhi 0uoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698918888; x=1699523688; h=content-transfer-encoding:cc:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QYS16eCPsBztvO6TV3MQMioFM+kthtA6Q+ME42940KY=; b=sUX0H04zHLiHZhfRa+QtBgjmjxmTKdjYbEMyof8/x+7veOkLZXzOWjsy6C1EShM2RT +FShq4dvy4nc99mVNtGGlQFy1/aZIGMQwixCmnDdpltk9+byLZ3Z2fV4vEZWiI+uwTKv popDBXPHCua/2Yb4Z5BJ80QCfTfe7kBQZXRVpToWgvEUh7YZYyC+ggjtf9OJa6BLMw9F ZcC3+aJr/W56TmZKdBbBxjPKxti8ov8EWSlX2J3ELemNfk1c4SzOgB2Wcp1fMGZCSA8w AD8WCxFGZcTbZuU5HOAqJzT6haPS5gZUfdlkJq+WtXY+cLwWO4GlzEAwpSu+hlPx2TTx bt1g== X-Gm-Message-State: AOJu0YwfQANYVAU2aEqQBSTqNKdF6QV6D7JpjnmkUZcSwElAJYNwOoYG X86IAXL3dhJT8QfEJuhGXPvT2A6eSXEMI0PUzobU4f1g X-Received: by 2002:a17:907:724e:b0:9be:5ab2:73c0 with SMTP id ds14-20020a170907724e00b009be5ab273c0mt4010139ejc.8.1698918888378; Thu, 02 Nov 2023 02:54:48 -0700 (PDT) MIME-Version: 1.0 References: <20231102075853.1320710-1-xinglong.yang@cixtech.com> In-Reply-To: <20231102075853.1320710-1-xinglong.yang@cixtech.com> From: sean yang Date: Thu, 2 Nov 2023 17:54:37 +0800 Message-ID: Subject: Fwd: [PATCH v2] firmware: arm_scmi: Refrain set operations of perf Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" ---------- Forwarded message --------- =E5=8F=91=E4=BB=B6=E4=BA=BA=EF=BC=9A xinglong.yang Date: 2023=E5=B9=B411=E6=9C=882=E6=97=A5=E5=91=A8=E5=9B=9B 15:59 Subject: [PATCH v2] firmware: arm_scmi: Refrain set operations of perf To: , , Cc: Refrain from trying to take the SET operation where the set_* operations are not supported, because: (1.) avoid unneeded SCMI exchanges, (2.) avoids to trust the FW reply blindly. Signed-off-by: xinglong.yang --- drivers/firmware/arm_scmi/perf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/firmware/arm_scmi/perf.c b/drivers/firmware/arm_scmi/p= erf.c index 431bda9165c3..3bcdef91ed5c 100644 --- a/drivers/firmware/arm_scmi/perf.c +++ b/drivers/firmware/arm_scmi/perf.c @@ -377,6 +377,9 @@ static int scmi_perf_limits_set(const struct scmi_protocol_handle *ph, if (IS_ERR(dom)) return PTR_ERR(dom); + if (!dom->set_limits) + return -EOPNOTSUPP; + if (PROTOCOL_REV_MAJOR(pi->version) >=3D 0x3 && !max_perf && !min_p= erf) return -EINVAL; @@ -473,6 +476,9 @@ static int scmi_perf_level_set(const struct scmi_protocol_handle *ph, if (IS_ERR(dom)) return PTR_ERR(dom); + if (!dom->set_perf) + return -EOPNOTSUPP; + if (dom->fc_info && dom->fc_info[PERF_FC_LEVEL].set_addr) { struct scmi_fc_info *fci =3D &dom->fc_info[PERF_FC_LEVEL]; -- 2.42.0