Re: [PATCH] net: stmmac: add support for platform specific config.
From: Russell King (Oracle)
Date: Fri Jun 06 2025 - 12:47:09 EST
On Fri, Jun 06, 2025 at 07:41:55PM +0800, Xandy.Xiong wrote:
> This patch adds support for platform-specific init config in the
> stmmac driver. As SMMU remap, must after dma descriptor setup,
> and same mac link caps must init before phy init. To support these feature,
> a new function pointer 'fix_mac_config' is added to the
> plat_stmmacenet_data structure.
> And call the function pointer 'fix_mac_config' in the __stmmac_open().
We need to see the use case for any new hook.
I'm afraid we've seen way too many cases of new hooks added to the
kernel tree only to never see their corresponding implementations
come along, so now there's a requirement to post an implementation
along with a hook.
Also, please review the netdev FAQ, if you can find it... I can't
anymore. It'll tell you how to submit patches, when to submit them,
how to indicate which tree, etc.
You can find the source file for what I think _was_ the FAQ at:
Documentation/process/maintainer-netdev.rst
but this doesn't seem to be in the documentation tree on kernel.org
(or at least is not in an obvious place.)
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Return-Path: <linux-kernel+bounces-665001-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 975A541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:36:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 18C9D3AC6D2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:36:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 69B2C24469B;
Wed, 28 May 2025 07:36:25 +0000 (UTC)
Received: from mailgw2.hygon.cn (mailgw.hygon.cn [110.188.70.11])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5A8E1244690
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:36:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=110.188.70.11
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748417785; cv=none; b=P+r5tmLDHB1rcJr7lwQJ765KRTN6CdykDYbdIudB2ooicq/AP9vipZIYP7ASb7CB+rI+OLDppCzv8HYuEHOkHHc9L5B1dcgY12KR03KqlBeUQp4kz3VvjYTk+nPvMdH2ma/tffn5VezhoEgZm/lgE6lKV3lariotceK23TS6MCQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748417785; c=relaxed/simple;
bh=EjirPwbF84IP/LlWXtis12M0WD4AyVy/eAmVl1PS2lc=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=jsGZHgCLdPP8txx9z5aUFr/NmWLqOUPrsVHSKtJQ9JM0sYl4VGk+Wv6NyEL83leEvLJJlqRbfpyv/e0waDGyT7/V8Lz9nvGBH2lXjuJTKaVlHQi0+ZeH3upYN1vKIayew7qxFkbwbeJFwP7RhHoZkawe0709E+S7s1gZDLXdowc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=hygon.cn; spf=pass smtp.mailfrom=hygon.cn; arc=none smtp.client-ip=110.188.70.11
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=hygon.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hygon.cn
Received: from maildlp1.hygon.cn (unknown [127.0.0.1])
by mailgw2.hygon.cn (Postfix) with ESMTP id 4b6gk645fJz1YQrG9;
Wed, 28 May 2025 15:14:54 +0800 (CST)
Received: from maildlp1.hygon.cn (unknown [172.23.18.60])
by mailgw2.hygon.cn (Postfix) with ESMTP id 4b6gk56gQPz1YQrG9;
Wed, 28 May 2025 15:14:53 +0800 (CST)
Received: from cncheex04.Hygon.cn (unknown [172.23.18.114])
by maildlp1.hygon.cn (Postfix) with ESMTPS id 2E9701036;
Wed, 28 May 2025 15:14:49 +0800 (CST)
Received: from jianyong.hygon.cn (172.19.22.175) by cncheex04.Hygon.cn
(172.23.18.114) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Wed, 28 May
2025 15:14:47 +0800
From: Jianyong Wu <wujianyong@xxxxxxxx>
To: <mingo@xxxxxxxxxx>, <peterz@xxxxxxxxxxxxx>, <juri.lelli@xxxxxxxxxx>,
<vincent.guittot@xxxxxxxxxx>
CC: <dietmar.eggemann@xxxxxxx>, <rostedt@xxxxxxxxxxx>, <bsegall@xxxxxxxxxx>,
<mgorman@xxxxxxx>, <vschneid@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<wujianyong@xxxxxxxx>, <jianyong.wu@xxxxxxxxxxx>
Subject: [PATCH] sched/fair: allow imbalance between LLCs under NUMA
Date: Wed, 28 May 2025 07:09:49 +0000
Message-ID: <20250528070949.723754-1-wujianyong@xxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: cncheex05.Hygon.cn (172.23.18.115) To cncheex04.Hygon.cn
(172.23.18.114)
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The efficiency gains from co-locating communicating tasks within the same
LLC are well-established. However, in multi-LLC NUMA systems, the load
balancer unintentionally sabotages this optimization.
Observe this pattern: On a NUMA node with 4 LLCs, the iperf3 client first
wakes the server within its initial LLC (e.g., LLC_0). The load balancer
subsequently migrates the client to a different LLC (e.g., LLC_1). When
the client next wakes the server, it now targets the serverâ??s placement
to LLC_1 (the clientâ??s new location). The server then migrates to LLC_1,
but the load balancer may reallocate the client to another
LLC (e.g., LLC_2) later. This cycle repeats, causing both tasks to
perpetually chase each other across all four LLCs â?? a sustained
cross-LLC ping-pong within the NUMA node.
Our solution: Permit controlled load imbalance between LLCs on the same
NUMA node, prioritizing communication affinity over strict balance.
Impact: In a virtual machine with one socket, multiple NUMA nodes (each
with 4 LLCs), unpatched systems suffered 3,000+ LLC migrations in 200
seconds as tasks cycled through all four LLCs. With the patch, migrations
stabilize at â?¤10 instances, largely suppressing the NUMA-local LLC
thrashing.
Signed-off-by: Jianyong Wu <wujianyong@xxxxxxxx>
---
kernel/sched/fair.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 0fb9bf995a47..749210e6316b 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -11203,6 +11203,22 @@ static inline void calculate_imbalance(struct lb_env *env, struct sd_lb_stats *s
}
#endif
+ /* Allow imbalance between LLCs within a single NUMA node */
+ if (env->sd->child && env->sd->child->flags & SD_SHARE_LLC && env->sd->parent
+ && env->sd->parent->flags & SD_NUMA) {
+ int child_weight = env->sd->child->span_weight;
+ int llc_nr = env->sd->span_weight / child_weight;
+ int imb_nr, min;
+
+ if (llc_nr > 1) {
+ /* Let the imbalance not be greater than half of child_weight */
+ min = child_weight >= 4 ? 2 : 1;
+ imb_nr = max_t(int, min, child_weight >> 2);
+ if (imb_nr >= env->imbalance)
+ env->imbalance = 0;
+ }
+ }
+
/* Number of tasks to move to restore balance */
env->imbalance >>= 1;
--
2.43.0
Return-Path: <linux-kernel+bounces-665002-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8498941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:38:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7E20116B3BC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:38:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 758312459D9;
Wed, 28 May 2025 07:37:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JVhkY5BR"
Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 22BA344C94;
Wed, 28 May 2025 07:37:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748417867; cv=none; b=gOzy0mSeQPt0GeXC62m8AhypmGTeVgx5VzIhNO5UDUTxumfHn+8LzjS/0LKCPKg07w/M/xYgjd7ZEpSXe9jDqLU1BJFMLoEj1gIvTFfnZWPnda433yJ1DsLuxH18eIBcLYgULyDe7umCLnIfjpg437/KbTFsx1N3oSvXLl61kI0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748417867; c=relaxed/simple;
bh=XFnolhBWMpZsbRKYipyO+ZmWPeaLCtIGk3PDlvRwUU8=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=FHOmtYg2T0kyRHptj5hH5ImuNxQNml0c6W73AWepaSv3pV05jYCl0YopXNb3cr3gErex/e8vlqNCWOIkYaHtsINPSX+g3wWvNxQakiNpz1EdLOj6D0x1/959Yvu9NqAR6wNPfx/sSk0Hpc44bPQnlMlVDYib5iRLtYnM+Z0AZNk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JVhkY5BR; arc=none smtp.client-ip=209.85.218.54
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-ad8a6c202ffso11076166b.3;
Wed, 28 May 2025 00:37:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748417864; x=1749022664; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=t1dSHMFfDFy764C5jJ4C2GRVs5CFaHPqL3t86S7wFV4=;
b=JVhkY5BRx7qQmJx+/VBeOvSc/EUIaTc+Q54GeY996o482my7xqBcaZFib4CCNL3Cig
qwXEs2ZrgOBMvQHr+uv8HVfUp5tAJIzOJVWdkue5dUJ3kd5JFjEh7sHWHILBKcMTJJt4
CkejnLyH7Sl0lHlRQI16mK/B+xLkWWAqxSsNtCCb9cleegdCPlGho31M9t0dvbd23KSP
iJjIRXp+QHm1UjOeHl621qPkCtJoMg8zbutCf0/HBz4AfJS1T3PEyWPw+l8S6j8O7yB8
m4FPRmCeoCyq1QBsx1SxYSoJ4Jq8mPPI4m5vfkeFLllmeDUoUnV+ffobXyGz2HQqUDTV
Owwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748417864; x=1749022664;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=t1dSHMFfDFy764C5jJ4C2GRVs5CFaHPqL3t86S7wFV4=;
b=HfjDug7pFAmBCBm6FNBZyFSfAJ4U35/9PmQOsJT09xmbmyutLVpEez9ufTii6vvMAe
vAjDHdoCAPGcAM1EAHHqy49qS6Zyza3QfvFKeYawCI3SgVqAQ11ruZND+USSZ9xlhul3
+/RL7LklMx7rH+1bsOBWmgaE+WsrDfiDp7qas0NSORXUAYyAfSmn1aewjVTtsdqsyhl3
LN1RH8qxAGjUFM2WTRAb2dsaiGc2ZtJgr0WqfupF6kfaKmhwXp1DvtljFWH5+L3PWQv1
b6CfnocQJi9bOnMdOJFJAjg6Wnn6oMvbxiyyhMRpiGbq+x4I8taoJW09j5LFVTAceo+W
FfTQ==
X-Forwarded-Encrypted: i=1; AJvYcCUaJoSWp4s7+XhsuBODPYbfOzwewQyGnHhIABrqLk6eZEVodoYi4krWiSh6GAbocCzA98JOX28Ass+AvhRq@xxxxxxxxxxxxxxx, AJvYcCUcLn4Wc0wc6cVB80TxO3JJSeBIhYN6OrsyRpoyIkcBppc9ayl5UK0E9qN0Po/UGjP9+kj9A+7S@xxxxxxxxxxxxxxx, AJvYcCVGrUZ7t0eJ1w7jkI9cxLy7wJptOh6A472Q3uiUEMtLOEzzqzX/o6ycZVIfGLjCLnsbYpw=@vger.kernel.org, AJvYcCWW6BtUAJbNSfsUVJQy9s8wUt6KrFc3gcBw1tgZa9rrJhXUiIZZbbjwoW4tXFGO/E2WS9oyGaVxBRD0aQ==@vger.kernel.org
X-Gm-Message-State: AOJu0Yw305KHftbZq7/R32iiy0BYAoJUSonOxg6uUR1tmkpQ29djxXiE
k2M47c00+9DB0e8mHDs/zK/sksivwVGqMzJ8PZjxXwfP0feI9rcFWSDW
X-Gm-Gg: ASbGncusQrFTKW7K4Z336fEb8oHPPK699QcyYUZHpRckOfSNif0GIWIKQaWMUpLW6Nd
8CKZOKk1b6sidRwLapKCrijUVHpFmI7cTMIGtXaVJAP+7f6+Q9UyVo5I6R8WE2sx/02BzGU8r9A
7xG3735Blo+a0tMk7Ec6R96/ewJpY7QzSNMfbME4z1N8SlX0Yw4FQS0PxlPvH5Izmq+J5SeV+On
bfUratGZu9ZcLoNK2J+R7QhYOoOUiVtXHrRcHwgn3AIy6byH0LvfC1hEQdPX2E/XGAASvyx5TIZ
lJ7dqHw/h3uLpaUe7JpdEjnvIXZs+9HFih1QSv5asqETg6GEg9NBlLWC3WQjQ8s5KALL6qGRIA=
=
X-Google-Smtp-Source: AGHT+IGVvc9x00EqEBp/+uRhBV0Xy1432qgXuuK+2L3w2LGJ/kw7OOqZ6bGFRPbEXoSuuCXV4u1knw==
X-Received: by 2002:a17:906:99c2:b0:ad2:4144:2329 with SMTP id a640c23a62f3a-ad85b1205c3mr1472269966b.7.1748417864109;
Wed, 28 May 2025 00:37:44 -0700 (PDT)
Received: from ?IPV6:2620:10d:c096:325::6f? ([2620:10d:c092:600::1:c447])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1b28a5fsm61572066b.90.2025.05.28.00.37.42
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 00:37:43 -0700 (PDT)
Message-ID: <6cf44bd6-325f-407a-aadb-74eb567974ef@xxxxxxxxx>
Date: Wed, 28 May 2025 08:38:49 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/18] netmem: introduce struct netmem_desc
struct_group_tagged()'ed on struct net_iov
To: Byungchul Park <byungchul@xxxxxx>, Mina Almasry <almasrymina@xxxxxxxxxx>
Cc: willy@xxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, kernel_team@xxxxxxxxxxx,
kuba@xxxxxxxxxx, ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx,
hawk@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx, toke@xxxxxxxxxx,
tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx,
david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx,
vbabka@xxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx, mhocko@xxxxxxxx,
horms@xxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-2-byungchul@xxxxxx>
<20250527025047.GA71538@xxxxxxxxxxxxxxxxxxx>
<CAHS8izOJ6BEhiY6ApKuUkKw8+_R_pZ7kKwE9NqzCyC=g_2JGcA@xxxxxxxxxxxxxx>
<20250528012152.GA2986@xxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Pavel Begunkov <asml.silence@xxxxxxxxx>
In-Reply-To: <20250528012152.GA2986@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 02:21, Byungchul Park wrote:
>>> So.. For now, this is the best option we can pick. We can do all that
>>> you told me once struct netmem_desc has it own instance from slab.
>>>
>>> Again, it's because the page pool fields (or netmem things) from struct
>>> page will be gone by this series.
>>>
>>> Mina, thoughts?
>>>
>>
>> Can you please post an updated series with the approach you have in
>> mind? I think this series as-is seems broken vis-a-vie the
>> _pp_padding_map param move that looks incorrect. Pavel and I have also
>> commented on patch 18 that removing the ASSERTS seems incorrect as
>> it's breaking the symmetry between struct page and struct net_iov.
>
> I told you I will fix it. I will send the updated series shortly for
> *review*. However, it will be for review since we know this work can be
> completed once the next works have been done:
Please don't forget to tag it with "RFC", otherwise nobody will
assume it's for for review only.
--
Pavel Begunkov
Return-Path: <linux-kernel+bounces-665003-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 241D941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:38:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 7792B1BA2F87
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:38:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 972A52459C4;
Wed, 28 May 2025 07:38:04 +0000 (UTC)
Received: from mail-vk1-f172.google.com (mail-vk1-f172.google.com [209.85.221.172])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8916F44C94;
Wed, 28 May 2025 07:38:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748417884; cv=none; b=Lo862uFWy+o8iGNx3g/+Rncv/uhrbBErbig92i6z9blM+eyGhAWuVu00TBgJ0gtK8LOOlfKI1HONvmqujJcwBsBOoN7ATifk2nNzFCmTRmXh6Z9GSe0FsfPMM3xKs3jgLFfCYhBX7C/I+2AADKy97Q21QN2/PZpf8OWnGAUGplc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748417884; c=relaxed/simple;
bh=dC6/r+XL94KrBaJDEg8ysPYbOiXiNK3lHLZP0ifcAGY=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=kTxAf7rV/xP0/J4YaEMyJZMJUO9RGlOUySWFTruLZyS8OrTLQZ8zBuEZvUtw6vhu/24Wqsh+8NDjeSzMoP+rqoftN6aZq1nM4DNUkfgUIQ3uvH4YKj9ADEekxaAZk1hoPd6aP+LPi8afzCbzU+QjqB5GTZXvBNPoztLb9GSGAZM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.221.172
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-vk1-f172.google.com with SMTP id 71dfb90a1353d-52413efd0d3so1395947e0c.2;
Wed, 28 May 2025 00:38:02 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748417881; x=1749022681;
h=cc:to: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=q0FIvnATmtkNNdXQbt1Fz7I3kCcVI6Dqou2JsI1LDaQ=;
b=A9bhradSkN8DWqfBk3rvVrpiTtQl65UtOoPNI4pulVn4A/Hv32aGMExEdMtpBezzuC
ZJXob/1rOEf3VSQo1PuP/wCiPZFln09UBCjGMIBZreyhzqz7E1IQ9huF+lZl40ufFdX2
sICx5RQkEuOJ/LPmvuia/PajdePAZM5HXFsi/bjnYcDlO4Hq/QNW2ULMi/U9zlWXw7UQ
mT/Wmb7j8eF+oncTR/O9CxUPMaWUIiYjfPU2baw48echfXQFFFKiwuAYFZa476vCRsDC
Yu52foPtOWA/K4JT5u1YqqzlXzv9D4lJKTPuBV/V8tKDAKzYG470V0cjJuy4Fen3sk2A
Jksg==
X-Forwarded-Encrypted: i=1; AJvYcCUEYeFh8j9rwwPAz1uEQXUZ4lVvjAdwZL+ezGGXBBN1IoNhsSNAXZdKo1NnQs/qsDJ11PNQbD5aLNTV2v9Y@xxxxxxxxxxxxxxx, AJvYcCUnM+XU6UpQXTyqOouCBKVscaelBJZTKj/U5d9QjIlBFqc0vuaeXfthsjnZr09ftY3H7CnNubIOIFxw+zfCdhrY5h8=@vger.kernel.org, AJvYcCV5zdEC3VdrrOUS/tgFrlJY/uh1tAKVbHCaIuCEYBtbAvHXVeRhALr1gBbptiVWzkdw5QKhw5Dzbx3qHJ8=@vger.kernel.org, AJvYcCVXHifsSyyJilK+CKodWu6mvewV26NEiRHUzsPIUSSOYXO8WlHRGuvftN3yIYw8smdTv4oNlayLU/qxCDSO@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxIUucXOAyU7uv2XEXViTG2bkg4gok9OW5XaMOm0GG+D27albWV
nlbsY3n0laGy+F8v7zeYFipbaajQhffy8qIp5+S/cQDJb+G0Oa3NwNfWU/ayb8Xh
X-Gm-Gg: ASbGncvosmqhEra7BQ7lKL8qpJhmqbhMiGSnUwy8yc8CcOjn+71oz0zaWQsRsp00KfG
KIh+pfAnzFVeI4VkgUlzvOoYPpjiyjHY00vp2s6GqOUL1F8vCDbRqE3pvvf7kmbGHSdvblnmdWr
Oz+DQVrHplgx5ypMEuqdmu1rAB95ljNFpHg5AtmNwhDUpqAQj3ssIn/r5mVlSQiGgM1wn2U4GIx
tlAj8wEii8uQY8x1HyGCje/2HOj2PvZTLoidaeByZStjW21lvCcApAM50VA9dIbWpPmyMipgJTn
JIy5bhR4HtKqfXhMm9C4XKqfTNvfDYFxHaBljoNa6FwBRy4s0k6NWc4GYfOoWww9KMF1ypU91eW
p5sQYRcsYIRVQtw==
X-Google-Smtp-Source: AGHT+IHispFt8IBDadtOKw22E5PPSlK7FrOJnlZ6MHJgJfUuzrpL8uTku28GgfXu+2wGW9Q/rkVwQg==
X-Received: by 2002:a05:6122:2986:b0:530:6bcb:c97f with SMTP id 71dfb90a1353d-5306bcbcb83mr91593e0c.8.1748417880716;
Wed, 28 May 2025 00:38:00 -0700 (PDT)
Received: from mail-vs1-f50.google.com (mail-vs1-f50.google.com. [209.85.217.50])
by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-53066979b54sm500426e0c.47.2025.05.28.00.38.00
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 00:38:00 -0700 (PDT)
Received: by mail-vs1-f50.google.com with SMTP id ada2fe7eead31-4e5a1a4e4aaso51509137.0;
Wed, 28 May 2025 00:38:00 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCVDZTB8ablys595TS9S9OnRgPpBY6bjjKNMugyGypR3fhN0i/Q39ycwczYEvVaow7PvAmWRr4Q3ZVLJGprXh6le5CA=@vger.kernel.org, AJvYcCVStZOEDp/IllMB/lm283bw//VTOrhXbbRh9Ii13zHVXVBQ61w37f5P4jO9SngvB3xPtoq4RUstL/hjoY7/@vger.kernel.org, AJvYcCWKlpDEaEZCdH4pHZes2TdL/ko2IYBVRjjW1FfTrmZM3T76t6BWkrxVRWIFMzcPgLL6xizbUtdMi/oDKuM=@vger.kernel.org, AJvYcCXgDU4RzsChkkcfW+3K/qDh6U8l4qHuK6mUfb/LW0xrueGwddvzgvkZDWA1Bn+SS+WIWonl2vrBJwm5P4BT@xxxxxxxxxxxxxxx
X-Received: by 2002:a05:6102:d87:b0:4e5:9731:6ded with SMTP id
ada2fe7eead31-4e597316ebfmr3313200137.6.1748417879962; Wed, 28 May 2025
00:37:59 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250527082446.2265500-1-aichao@xxxxxxxxxx> <20250527082446.2265500-3-aichao@xxxxxxxxxx>
In-Reply-To: <20250527082446.2265500-3-aichao@xxxxxxxxxx>
From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 09:37:48 +0200
X-Gmail-Original-Message-ID: <CAMuHMdV5ZhJrRiuEWLbU_gFcv40+izLpR0HN0EZU415s3QAkVg@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFve4Aj5WArc9KkplJVctpVO9pqz2wSMOeJzSTUgarGo2ZgOa2T8YLQGOCU
Message-ID: <CAMuHMdV5ZhJrRiuEWLbU_gFcv40+izLpR0HN0EZU415s3QAkVg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v3 2/6] ALSA: aoa: Use helper function for_each_child_of_node_scoped()
To: Ai Chao <aichao@xxxxxxxxxx>
Cc: perex@xxxxxxxx, tiwai@xxxxxxxx, johannes@xxxxxxxxxxxxxxxx,
kuninori.morimoto.gx@xxxxxxxxxxx, lgirdwood@xxxxxxxxx, broonie@xxxxxxxxxx,
jbrunet@xxxxxxxxxxxx, neil.armstrong@xxxxxxxxxx, khilman@xxxxxxxxxxxx,
martin.blumenstingl@xxxxxxxxxxxxxx, shengjiu.wang@xxxxxxxxx,
Xiubo.Lee@xxxxxxxxx, festevam@xxxxxxxxx, nicoleotsuka@xxxxxxxxx,
shawnguo@xxxxxxxxxx, s.hauer@xxxxxxxxxxxxxx, srinivas.kandagatla@xxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linuxppc-dev@xxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-amlogic@xxxxxxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, kernel@xxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Ai,
On Tue, 27 May 2025 at 12:52, Ai Chao <aichao@xxxxxxxxxx> wrote:
> The for_each_child_of_node_scoped() helper provides a scope-based
> clean-up functionality to put the device_node automatically.
>
> Signed-off-by: Ai Chao <aichao@xxxxxxxxxx>
Thanks for your patch!
> --- a/sound/aoa/soundbus/i2sbus/core.c
> +++ b/sound/aoa/soundbus/i2sbus/core.c
> @@ -155,7 +155,7 @@ static int i2sbus_add_dev(struct macio_dev *macio,
> struct device_node *np)
> {
> struct i2sbus_dev *dev;
> - struct device_node *child, *sound = NULL;
> + struct device_node *sound = NULL;
> struct resource *r;
> int i, layout = 0, rlen, ok = force;
> char node_name[8];
> @@ -178,7 +178,7 @@ static int i2sbus_add_dev(struct macio_dev *macio,
> return 0;
>
> i = 0;
> - for_each_child_of_node(np, child) {
> + for_each_child_of_node_scoped(np, child) {
> if (of_node_name_eq(child, "sound")) {
> i++;
> sound = child;
As people pointed out before, the original (and new) code is buggy,
as child is saved to sound, and the latter is used after this loop.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Return-Path: <linux-kernel+bounces-665004-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9D8CA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:38:45 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 9C138189DA7A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:38:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DBD5E24501B;
Wed, 28 May 2025 07:38:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Rr4la10C"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A6CAE24469C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:38:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748417917; cv=none; b=HRp4G5oa825dfbuneEGtYNwA2X/7GblbQiXf0IBiGTfNPK50OOALsWe76uNWB6QxV5V5pxMvnp6/adSqPnXhH+k5TQT7ZA/76RA6sTqoVbghqZfCygDerYm9iXfmyiRwWMX75dpqQwdem54J8BLcLzC3jkv8COfJXLx43aXdvk8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748417917; c=relaxed/simple;
bh=EH+F4iRJI7anYHX3NynlYUSDaVIlMgqBZ6Ur6WFXNAQ=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=YrdT7rsBRrPdWeuliMV68rxUDrKkTG2z43njVCiZfbmoE9fnLzSqc78aU+VzRESuklkBLs8g5u280pP9SiNvW7T5afc5GPcf8ew1Sd9CIkftj0/SBrEKA4H4JBhcN2Vc4adsiZ7yWnYwrFtfwC/DK+MGLI3fNksWxN4r9z/nxmE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Rr4la10C; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748417914;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=nIttIbYMTmu8/eguOayC3dSJD20KFYU/EvDlBxz1bX8=;
b=Rr4la10CtJneAF19D8vtUN4PLCnI9xIN9Bk4//BRlDMOGhcs4KTG7DJNO3yII+IXPpFqfS
l8uSeSdugvqsqI+uk+N+T5FGHvQJ9PKFmYDKMWyLowLO86BhcXXWItPxXIwMViCzHlupAx
DmKrFYEE1LSKbOd2fQDuC0Sg/qUqgPU=
Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com
(ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by
relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
cipher=TLS_AES_256_GCM_SHA384) id us-mta-424-qlHoU7GUPsGgzsvwWcraWw-1; Wed,
28 May 2025 03:38:31 -0400
X-MC-Unique: qlHoU7GUPsGgzsvwWcraWw-1
X-Mimecast-MFC-AGG-ID: qlHoU7GUPsGgzsvwWcraWw_1748417909
Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9EC6A1956086;
Wed, 28 May 2025 07:38:28 +0000 (UTC)
Received: from dobby.home.kraxel.org (unknown [10.45.224.91])
by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 07335180049D;
Wed, 28 May 2025 07:38:27 +0000 (UTC)
Received: by dobby.home.kraxel.org (Postfix, from userid 1000)
id D532F4507BC; Wed, 28 May 2025 09:38:24 +0200 (CEST)
Date: Wed, 28 May 2025 09:38:24 +0200
From: Gerd Hoffmann <kraxel@xxxxxxxxxx>
To: Borislav Petkov <bp@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>,
Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>, x86@xxxxxxxxxx, "H. Peter Anvin" <hpa@xxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx, linux-coco@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 1/2] x86/sev/vc: fix efi runtime instruction emulation
Message-ID: <77hywpberfkulac3q3hpupdmdpw2xbmlvzin4ks7xypikravkj@xjpi7gqscs6a>
References: <20250527144546.42981-1-kraxel@xxxxxxxxxx>
<20250527162151.GAaDXmn8O3f_HYgRju@fat_crate.local>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250527162151.GAaDXmn8O3f_HYgRju@fat_crate.local>
X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 06:21:51PM +0200, Borislav Petkov wrote:
> On Tue, May 27, 2025 at 04:45:44PM +0200, Gerd Hoffmann wrote:
> > In case efi_mm is active go use the userspace instruction decoder which
> > supports fetching instructions from active_mm. This is needed to make
> > instruction emulation work for EFI runtime code, so it can use cpuid
> > and rdmsr.
> >
> > Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
> > ---
> > arch/x86/coco/sev/core.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Can you pls explain what the use cases for this and your next patch are?
Use case is coconut-svsm providing an uefi variable store and edk2
runtime code doing svsm protocol calls to send requests to the svsm
variable store. edk2 needs a caa page mapping and a working rdmsr
instruction for that.
Another less critical but useful case is edk2 debug logging to qemu
debugcon port. That needs a working cpuid instruction because edk2
uses that to figure whenever sev is active and adapt ioport access
accordingly.
> We'd like to add them to our test pile.
That is a bit difficult right now because there are a number of pieces
which need to fall into place before this is easily testable. You need:
* host kernel with vmplanes patch series (for snp vmpl support).
* coconut svsm with uefi variable store patches.
* edk2 patches so it talks to svsm for variable access.
* igvm support patches for qemu.
Hope I didn't forgot something ...
take care,
Gerd
Return-Path: <linux-kernel+bounces-665005-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9DBF441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E0E4E1BA00D9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:42:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8980B2459FE;
Wed, 28 May 2025 07:42:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mODGx2LY"
Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 321951C84B8;
Wed, 28 May 2025 07:42:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418147; cv=none; b=Pjgxydf2c+YW7+ly/1hh9wF51jdQm040o506zfyg0LrnfRpeobx2qnc1fR2ALy8rUeURTciIykwdP2GEQJOotU6Du+bGAlH2JdJs5y/M7YylWvca1HuLMRqzutSbFYEqtmACRVfWYeMormjsNo7NMEmb78UzWm8HXSaTJH5m9NM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418147; c=relaxed/simple;
bh=FBdm3zXl/J+bAroDHqYjB2GcWTFC6T1eJvlgk8gKQ4Q=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=lCogjLbtGVlohnDFOeX6Q0QuL9C4uXzZnuxmIdNukIq0b/3Nm8Skjmyv38/uUheoRejsCJU2X0FVwqfAEILepXNh5CM4vKu7kEPb/2OyXWlIaUj1GNxUkXqa4IzqZmdQPk38rcD4ND3FXdpFKRlWjKetnWlsYdlsggorUndYTno=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mODGx2LY; arc=none smtp.client-ip=209.85.208.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-60410a9c6dcso7790868a12.1;
Wed, 28 May 2025 00:42:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748418144; x=1749022944; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=eLPcSIp/DD1rCYzGKNk0Bn8Y+IA3lzvlJ6bnzdrWQSU=;
b=mODGx2LY+DBWGmon66D3fqRwsqxc1wMt7G5QSkHPhAejo4lMVdOiHrCIY6Abf+dQyb
W5frfbIeFreU6u1fybJCOs7onz78KBDEH/UzfWdQqNxNn1z+wW9K4bPB0dpC1t8V/yeV
lhZWSD1hIjBxrIyhOAz3dBVwW3sPVdyf5gMujXwer12o1lawHJeR7T/RCkaAGo6xAa4/
fxvCc0G+KsOlbRGx5BSUX0YKCPER/iSs10WyJmRTD30rpUiPn0FsOHqrvdIjek43cNIn
7CuQIarXLuQ4Rkw247uF/KWTzxGr92vB/mAM12idghl4zcEae4pk8CQ9g2EuDMtztT8s
16fQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748418144; x=1749022944;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=eLPcSIp/DD1rCYzGKNk0Bn8Y+IA3lzvlJ6bnzdrWQSU=;
b=uY4KJ/NBOfHG+9aJ4hyYxZUnVhBvfALrHGf0G4R4asj3oHF1MtD9ehbqqalJFZSJtC
FBwTWF8vVDwBerewiJ4qqGzgG5LQJKXtBwJhrc/AYTmhC4yA2E2/rLG7gd5TUabLqJAF
OwplAx3JWLYpm+0pST7wReyM+637xs1Gd6HUMy44QdnNWoc0R6Mj86H6qpXEFiZAeOdo
LwvwLp+0PkcNlc54nW1m78zqnK0etWHXwDS574JUS8eXUUc68cC7YOnGAaooMm1xbnmJ
Z+Hv2WyitCIgcZCbPOTBmHd+TbdrD89MKZ2mLBkL2sD5pXkYFEVI3ZNuQbeWjekydTrZ
QNow==
X-Forwarded-Encrypted: i=1; AJvYcCVv1V0ZmN0T45P2wqBmV8qaYQTWwWhwi0QLsCTHJ/eAxtfN83EliWM93NnqT9g1DzQ0ZpcCF9+T@xxxxxxxxxxxxxxx, AJvYcCW8+pOTqMxebvuGRHWN2LScJogGqiYt/6xUatN9SU7xZDOYe3eZYtCrG/+GHIUHjsF+JNEOnTPGU5Z1UA==@vger.kernel.org, AJvYcCWxCJxczQYduBz6nQXI20/OVzl68nU14MVOB9IHp0ULQuD+xyDVxKUORkIkzb5cIudzJYc=@vger.kernel.org, AJvYcCXyPCkIEgppOSBUDNAIZltWcXWNxU4ISKiD9vtCkQYlhGcm3KbuYwgyERTxSlPljBo8AXnPSyWrSD4tJDP4@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YwsSe7HzO15vtYbvZfdYO7ZJ+vT3iNzVPn+HcaR46cIEUA9v1Cq
1+TsoxvItqoTB838eiKR+7dh4tbMP8ZsVgM/XYHEenmBAgMhsuGKkVR8
X-Gm-Gg: ASbGnctBibmbBOqVr/vb5cm3XwzIWA2Zw99VGLnyMG5yHQjxoTIqzMIsw1joUZQvh3U
yDUE/qoa5GJsDZMAIfs8abARE+FEYuBUVOM3qxlZlZ2Hz3k4fz0bdOry/BDEyfuc+vzeW42I2/O
ZckDIcsTHvqGwhQvBCDYka44Kx5kqXczHBz9zRiVJYuoQdI1FVhqJC5bgJxpi/Z56quQygPMLq6
qaqG9bbK6TgKT2ysEsSLsPgJf4XSmNLgQDI9j1hU2+K8PSA/zk/vRTxY5Nluu32getmGReyeMfe
DdUCR2kwE93f3c5mQX5yB6FtvJthKTuuYfYuDRenFp/si0esEd7mMDG6Thz27BUXPzxrMU6aHg=
=
X-Google-Smtp-Source: AGHT+IH8GIKLi3J19CB1X7s1vCnZGjRCWQBW0YxLPfQlCr0ZehSV3jt8AiU4iunzA8JJZOzdVmuDew==
X-Received: by 2002:a17:907:d643:b0:ad5:3055:a025 with SMTP id a640c23a62f3a-ad85b0518aemr1514904966b.6.1748418144007;
Wed, 28 May 2025 00:42:24 -0700 (PDT)
Received: from ?IPV6:2620:10d:c096:325::6f? ([2620:10d:c092:600::1:c447])
by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6051d5d991esm392479a12.3.2025.05.28.00.42.22
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 00:42:23 -0700 (PDT)
Message-ID: <4d7a307f-d595-4020-8060-f3bc2f8f72ca@xxxxxxxxx>
Date: Wed, 28 May 2025 08:43:34 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/18] netmem: introduce struct netmem_desc
struct_group_tagged()'ed on struct net_iov
To: Byungchul Park <byungchul@xxxxxx>, Mina Almasry <almasrymina@xxxxxxxxxx>
Cc: willy@xxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, kernel_team@xxxxxxxxxxx,
kuba@xxxxxxxxxx, ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx,
hawk@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx, toke@xxxxxxxxxx,
tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx,
david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx,
vbabka@xxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx, mhocko@xxxxxxxx,
horms@xxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-2-byungchul@xxxxxx>
<20250527025047.GA71538@xxxxxxxxxxxxxxxxxxx>
<CAHS8izOJ6BEhiY6ApKuUkKw8+_R_pZ7kKwE9NqzCyC=g_2JGcA@xxxxxxxxxxxxxx>
<20250528012152.GA2986@xxxxxxxxxxxxxxxxxxx>
<CAHS8izMvRrG2wpE7HEyK3t544-wN_h3SC8nGabCoPWj1qCv_ag@xxxxxxxxxxxxxx>
<20250528050346.GA59539@xxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Pavel Begunkov <asml.silence@xxxxxxxxx>
In-Reply-To: <20250528050346.GA59539@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 06:03, Byungchul Park wrote:
...>> Thus abstractly different things maybe should not share the same
>> in-kernel struct.
>>
>> One thing that maybe could work is if struct net_iov has a field in it
>> which tells us whether it's actually a struct page that can be passed
>> to mm apis, or not a struct page which cannot be passed to mm apis.
>>
>>> Or I should introduce another struct
>>
>> maybe introducing another struct is the answer. I'm not sure. The net
>
> The final form should be like:
>
> struct netmem_desc {
> struct page_pool *pp;
> unsigned long dma_addr;
> atomic_long_t ref_count;
> };
>
> struct net_iov {
> struct netmem_desc;
> enum net_iov_type type;
> struct net_iov_area *owner;
> ...
> };
>
> However, now that overlaying on struct page is required, struct
> netmem_desc should be almost same as struct net_iov. So I'm not sure if
> we should introduce struct netmem_desc as a new struct along with struct
> net_iov.
Yes, you should. Mina already explained that net_iov is not the same
thing as the net specific sub-struct of the page. They have common
fields, but there are also net_iov (memory provider) specific fields
as well.
--
Pavel Begunkov
Return-Path: <linux-kernel+bounces-665006-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 39D8841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:43:01 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id F300C9E14E0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:42:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 008B62451F3;
Wed, 28 May 2025 07:42:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="FUN/QgMS"
Received: from out-183.mta0.migadu.com (out-183.mta0.migadu.com [91.218.175.183])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 74BAE244665
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:42:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.183
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418158; cv=none; b=AafIurc5mkklXcZJPb+lxZnc/PFBWasWUhO2CTSxfbcMM2U9ZkrKRr2SB23dcRWqNJEXK/s6IgsnPYqdWW+vDxS08AtyTJ6Eel5HkuZHGntUcoBB2QWcSHMroTO21qsWMwbFGKP8cxGd3QMJbfX+P02X7XLXK7e1yZ+zEQ9USPs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418158; c=relaxed/simple;
bh=xYJevYiGKI0K7avOKmDDQjjiD0+OYWRjkuns92h5r1U=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=LVuCcahUv4tCkx2mZUZZ0D0Xh1KFdMLWdt96FXWKg3WjZg57s7dHh3O7QeHjE7Ltq30OqEa4rUytHos/JWfeGLV10JtMVqjG+QwfXlBa+cCenGHKQF9kLew5zbNeZ2LqoYpmXvV6Iay+PxhxpkK47v6cLqmyGpaRzwVbqV5dHfM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=FUN/QgMS; arc=none smtp.client-ip=91.218.175.183
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Message-ID: <edd25df6-47a0-410d-ab48-54a0660c6149@xxxxxxxxx>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1748418144;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=XWpUHx95xVQCUGTqWlHukBzLJnxxv1s1PMTNi6sAZco=;
b=FUN/QgMSNmz/dsJyLSQ9iduOvw6nDteuE2lDMs+7mz6z+byomfgosG2T1MsoPBeBuVGhR3
DBo5chzKTeQei5Z+/poQJRfeZGsrvUQPYNRBP56S3w7sjU3iWWntUmD91zAaH5rj//wrCs
WazTaJjqCQLRdwYSootlfyykjyxhnlA=
Date: Wed, 28 May 2025 15:42:07 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Subject: Re: [PATCH v10 0/5] Add Loongson Security Engine chip driver
To: Huacai Chen <chenhuacai@xxxxxxxxxx>, Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx,
jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx>
<CAAhV-H7hBksA2P+vfMbpDVnbjW1Mo09Out_wOQLgLRXPLaFCfA@xxxxxxxxxxxxxx>
Content-Language: en-US
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Yanteng Si <si.yanteng@xxxxxxxxx>
In-Reply-To: <CAAhV-H7hBksA2P+vfMbpDVnbjW1Mo09Out_wOQLgLRXPLaFCfA@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
å?¨ 5/28/25 3:17 PM, Huacai Chen å??é??:
> Hi, Qunqin,
>
> As I said before, why the patch "MAINTAINERS: Add entry for Loongson
> Security Module driver" is missing?
Similar issues widely exist in the Loongarch mailing list.
The cause should be attributed to the mail server of Loongson.
It seems that Loongson Mail can only send no more than five
emails at a time. I suggest abandoning the use of Loongson Mail.
Thanks,
Yanteng
Return-Path: <linux-kernel+bounces-665007-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 633C641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:44:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 93BF91BA06C2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:44:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1F4EA2459CF;
Wed, 28 May 2025 07:43:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jXtHtHR8"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F9631367;
Wed, 28 May 2025 07:43:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418233; cv=none; b=JwsAS3A3i0x7rr5zRFBHrrH57/kESQc4MB3QBvzjcYmwbiIX83W9NYNML+2YcvPch0Ro8yEI6k/09cH8yFLA/qfupQrC6L66e1+aGT5F2HusVUGIzWwkZs+btqtyKTlDUyGQ3x3DO7IUmFMl2swZFcNG3VwzQzal2445KhcqaAc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418233; c=relaxed/simple;
bh=UDTXmWoYv9/xyJqEAsScTL5vAx1ZZeaAczWfwT05les=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=bvB20nsGBgw9FPMkqrGFa+HgzTCoGVFXHHdD+YulkHP9XisN1BSVEj8kH90IKCCrjk22G3ABMi+BlZXTmX+pYKzINUAlGVKwvdc6mCLs3vs6LqtkaiZ0QsbW7Az9wlpBr4Fu6z2mxq4QmYoHWLLp9NOoWKMQu0ct++WfmV/1lLI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jXtHtHR8; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5A39CC4CEE7;
Wed, 28 May 2025 07:43:50 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748418232;
bh=UDTXmWoYv9/xyJqEAsScTL5vAx1ZZeaAczWfwT05les=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=jXtHtHR8IRSjqMfFlBbzEm/QcuoeHsg2WKHcAHv301klgRgl0C+q85BHx7sVM35uM
StgVp4Bh87ZwxrbJpRJx6YP8JpwLiviEW2Rw3BJZo35X7pjAYeE2TYWgk9ytUovO2x
iEgCsFEyR5eM/koJYtXhoc/khCR4pGbL4M5L2KPs0M+b/N7HIgc79epnpTd2dje/qo
JH6G0ENMXeSWvM3YeEZSEtV3RqL0cvNbHnur+yovMhzPaEbra6MyEnZ9RAdcY1PNPj
hE+krx+7lqGKkLmcdgfC7El1BPRnVanW9I3CLKzryptPIKo9DABwoSJjRaCSJwVUoL
HVzSwvfll6MNw==
Message-ID: <a14be34c-de2a-4bea-9282-1fac7780b9a4@xxxxxxxxxx>
Date: Wed, 28 May 2025 09:43:48 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] dt-bindings: timer: xlnx,xps-timer: Make PWM in example
usable
To: =?UTF-8?Q?Uwe_Kleine-K=C3=B6nig?= <u.kleine-koenig@xxxxxxxxxxxx>,
Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Sean Anderson <sean.anderson@xxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-pwm@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
References: <20250527171504.346696-2-u.kleine-koenig@xxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250527171504.346696-2-u.kleine-koenig@xxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 27/05/2025 19:15, Uwe Kleine-König wrote:
> With #pwm-cells = <0> no usable reference to that PWM can be created.
> Even though a xlnx,xps-timer device only provides a single PWM line, Linux
> would fail to determine the right (pwmchip, pwmnumber) combination.
>
> Fix the example to use the recommended value 3 for #pwm-cells.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/timer/xlnx,xps-timer.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
And what about the binding itself? It allows any arbitrary value.
Setting it to const=3 would not break the ABI, as long as driver does
not care.
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665008-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7904441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:44:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A815116D7C5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:44:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A749C2459D1;
Wed, 28 May 2025 07:44:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="R3CA8d9E"
Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 516F61367
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:44:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418285; cv=none; b=mze46ljX21f5WFkgFkiJih+eLONj3eilJWhgBcwOavYyJIjG618Byf9azIiMy252fZ9v+FRgsh9b8RfTqv2gLmom0aLa+zLxEm/D2P1zBHtyfSMwsS/eLPVWwQ7+o0y7TUoSrSbg9F2S1lEkn2ZfMEZYt8W/L/fqNRhVx3xu8p8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418285; c=relaxed/simple;
bh=9n0cPJV+g+yarXV9zmLs6fR1CGDsXbBKFs5PKVOvzX8=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=sBwtnNUfM67UeR4jGT0sE/kl7TjX8vT25DqcxGVju/tG8QeEZhSjEXcSVnKI6C9KlxlKkBN4v34kmuNT8y1ya8hF7M3CjR/Bt6DXKARBh4zt21M4NNnrwTgZRqDtgHx4sRcoarSoIh01D2QTCHvgTM2FW1FxbBosZ9A8aNecq/4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=R3CA8d9E; arc=none smtp.client-ip=209.85.128.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-442f5b3c710so38921345e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 00:44:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748418281; x=1749023081; darn=vger.kernel.org;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
bh=NCAzjCL4Bl6CH02UvykJmrP16J+tWlFWZGvoCIzzt7U=;
b=R3CA8d9EK0zyietaYcN++gt5HGPpzFv1JD5ABNjJk3oHFpjslnQXmxjpQQS6GjvHTW
81H2MVjfNiXXZpZa4gMXwFxxPO3jCUr1QdNJIFWfNfGf5+AX7pd7XOWtAG2MSjfmCbvq
lownUMvsWFu8h2NtbnVke4leOTgrlt/7RkB1QwdIO468S1xdz83OL6i5TKiHaCZH5MVT
slTbFLsFDZSup7Tlp0tk6SQRwoRMqXXp/Yx3b4z1r+Aoa5m3kLGECKyf1TthW+MzF6JU
G7knqzShOf4js/1jXwLWDF/hHfuWlf5Ij2wcZUq4PQnNqUUJqAWTpPMpzuKSMHvtsD57
neyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748418281; x=1749023081;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=NCAzjCL4Bl6CH02UvykJmrP16J+tWlFWZGvoCIzzt7U=;
b=rzvNSSE6wQbZg/3QG9f9+OqvObtuSKs1XFno7OlKniM4VK4gHCc0IITATaUhcu7KIU
DbffQVGGcFbe34gnGZU4eVWhUUEjqvlJ7oWi2heTQr7Gr1t0hnFvEULNVdLKWorbxhwf
JSRbU8XFXEBog6EOG7gRuK1MD0/f3OWSMZzZoUxSoDroy2FwFhACFF7xXw9jUvyAwfUq
VIDhyYUjbPXv7V4pwKmoMb6Khvirtx0YTx/aryxzbEIibszkg6NthQ8zHUV774VZY8Me
zfLClwVPVUuxMgEcj6tigE7oz9c/R4RzxMikU9L/9km6VOB1lMVkMz7B6g3uJy4DLMmX
S5UA==
X-Forwarded-Encrypted: i=1; AJvYcCVRVIDs9KmWvxNGz+rpT9PI5EdNkwQgb/Y8Rpj7J5gQIqsQlAQYYUzVXKAaXTcvmTPPAU5K4fVrdZ63aZg=@vger.kernel.org
X-Gm-Message-State: AOJu0YxO/5/sjg3GUMUEQOQV94OsRaxmrUvoeV9xDsd67o/W5LQTdwmL
Sr3bN7PnfxFP5XA2SXXMnGVRDgEEvFHLMdPRdc7SAmYwYN8Lc2m9+nT3rE3/FVznJGY=
X-Gm-Gg: ASbGncsxxwMfM50lO5NdaxgW5e9OcJ7xNWxXqRcoRqAg7nnQtYcK6TmK3l6lxktVGPD
af2N2mpKWH483ASSEw5Nd2oPe8xMX8Ud8y/SoliE7oo7qbNS/TLgbSOLJnin5LEZyISFjgTYIsZ
wV4kBoUqNP4/TNrPJ+00Q0dZxrsEQNQh/IMb5wd9RNKLZ2MSsXnUlwWLNQ8VdXVu7d8lL0puUvD
z/Hxg1BMoQx4DFNQDnzeiIxY0XJU1x2gNQJsnnRMZ+mEm92XpqhVulRfA8okOma9ns3cSslsWom
IT+gDcbeBCNgJwczSAGqzbo+JoBssTNZodBh7Qf5bIarj2ew
X-Google-Smtp-Source: AGHT+IE/iUqPKQrG7bwzgJBp3KKnYuDmJ/JAmKt65e94C4RB9c06whWy8YwNSu/XTnIj1izcf15HNw==
X-Received: by 2002:a05:600c:4e0a:b0:43c:f895:cb4e with SMTP id 5b1f17b1804b1-44c91dd158bmr145314685e9.17.1748418281526;
Wed, 28 May 2025 00:44:41 -0700 (PDT)
Received: from linaro.org ([62.231.96.41])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064a1246sm12549605e9.10.2025.05.28.00.44.39
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 00:44:40 -0700 (PDT)
Date: Wed, 28 May 2025 10:44:39 +0300
From: Abel Vesa <abel.vesa@xxxxxxxxxx>
To: Konrad Dybcio <konradybcio@xxxxxxxxxx>
Cc: Bjorn Andersson <andersson@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Sibi Sankar <quic_sibis@xxxxxxxxxxx>,
Rajendra Nayak <quic_rjendra@xxxxxxxxxxx>,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Subject: Re: [PATCH] arm64: dts: qcom: x1e80100: Add interconnect to primary
USB3 controller
Message-ID: <aDa+57zCFSOXyYY7@xxxxxxxxxx>
References: <20250527-topic-x1e_usb_icc-v1-1-43b604cb0609@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250527-topic-x1e_usb_icc-v1-1-43b604cb0609@xxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 25-05-27 21:26:17, Konrad Dybcio wrote:
> From: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
>
> This seems to have been omitted during the initial bringup.
>
> Fixes: 4af46b7bd66f ("arm64: dts: qcom: x1e80100: Add USB nodes")
> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Reviewed-by: Abel Vesa <abel.vesa@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665009-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C5E5341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:45:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1B5421BC3C70
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:45:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 76481246333;
Wed, 28 May 2025 07:45:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="LsgC/GyR"
Received: from casper.infradead.org (casper.infradead.org [90.155.50.34])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A5B719B3EC;
Wed, 28 May 2025 07:45:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=90.155.50.34
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418313; cv=none; b=h5JdJEiZl9TdDR7s+Zy9TJiF3Bbtndlay09kwKYmG6Gk+P2I5Ci4u9h1xZIVqTBqDA5tgYOmD8hvlz+tp/zxpfcFFq/hRMn2QPz4ZJ2J0octJdJi0YQZBSOlpj612uqrODuJ2qCiMBxyH1fgfXr/BTgLSHDuhMLQU9XXDvhtl3E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418313; c=relaxed/simple;
bh=iafivI8V/MTAg4QPelROK6ZjF73rLhrtzNbr40jE06Q=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=m9Sv/yLhJbCvFuxCARs75HcJ4smRtmmtmSSDqiYIp3ApoF5qsox0IDZDwk14D17eZRBeqAW3ujNHmCPq8rYR8XYjvS4Atrh856Apesj66lmqpxyhqKYxbXiLhQmq1dBWYXgaBUflryVQjJgeIJ0Z77gOxKqsRYi+kDkpVHnfack=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=LsgC/GyR; arc=none smtp.client-ip=90.155.50.34
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
Content-Transfer-Encoding:Content-ID:Content-Description;
bh=iafivI8V/MTAg4QPelROK6ZjF73rLhrtzNbr40jE06Q=; b=LsgC/GyR5rTERHl0o7UzTubCfZ
AJh7GZltqv7gxIf2314J6nKbqBoaTeQhbu6/bPN7yAzvTtCaqAH3Uq5SxT7OUamehRbcZCXpn7KBM
D2NwnVgTmQSEqrPC02BXOilRVb4cUMw5qz12MS4FDMZcOEVU85lACRniDOt4uzVFCsooqqwSmwAw4
dhxUoNrSvFoEvCsD5A+TCba/7u5qCsm7wBu2SCJio0AMODUc2ftmiQ5pA4uvrD1drrKLnfZzdVkP8
S47F5d+REC77oIN8pLOiENDsJVYxGk4In1LZXRTlkYbYFLDsSJoE+0qFMilT1q6u6/VthQckhRsIq
TiUi/m3A==;
Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252] helo=noisy.programming.kicks-ass.net)
by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
id 1uKBT6-0000000DMJR-0nhG;
Wed, 28 May 2025 07:44:56 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
id 60707300472; Wed, 28 May 2025 09:44:52 +0200 (CEST)
Date: Wed, 28 May 2025 09:44:52 +0200
From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
To: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Cc: Sean Christopherson <seanjc@xxxxxxxxxx>,
"H. Peter Anvin" <hpa@xxxxxxxxx>, x86@xxxxxxxxxx, kys@xxxxxxxxxxxxx,
haiyangz@xxxxxxxxxxxxx, wei.liu@xxxxxxxxxx, decui@xxxxxxxxxxxxx,
tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, bp@xxxxxxxxx,
dave.hansen@xxxxxxxxxxxxxxx, pbonzini@xxxxxxxxxx, ardb@xxxxxxxxxx,
kees@xxxxxxxxxx, Arnd Bergmann <arnd@xxxxxxxx>,
gregkh@xxxxxxxxxxxxxxxxxxx, linux-hyperv@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx,
linux-efi@xxxxxxxxxxxxxxx, samitolvanen@xxxxxxxxxx,
ojeda@xxxxxxxxxx, xin@xxxxxxxxx
Subject: Re: [PATCH v2 00/13] objtool: Detect and warn about indirect calls
in __nocfi functions
Message-ID: <20250528074452.GU39944@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250501103038.GB4356@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<20250501153844.GD4356@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<aBO9uoLnxCSD0UwT@xxxxxxxxxx>
<20250502084007.GS4198@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<aBUiwLV4ZY2HdRbz@xxxxxxxxxx>
<20250503095023.GE4198@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<p6mkebfvhxvtqyz6mtohm2ko3nqe2zdawkgbfi6h2rfv2gxbuz@ktixvjaj44en>
<20250506073100.GG4198@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<20250506133234.GH4356@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<vukrlmb4kbpcol6rtest3tsw4y6obopbrwi5hcb5iwzogsopgt@sokysuzxvehi>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <vukrlmb4kbpcol6rtest3tsw4y6obopbrwi5hcb5iwzogsopgt@sokysuzxvehi>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 06, 2025 at 12:18:49PM -0700, Josh Poimboeuf wrote:
> Weird, I'm not seeing that.
I Ate'nt Crazeh...
https://lore.kernel.org/all/202505280410.2qfTQCRt-lkp@xxxxxxxxx/T/#u
I'll go poke at it, see if today is the day I can figure out WTF
happens.
Return-Path: <linux-kernel+bounces-665010-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 41DE741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:46:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 4DB051BC43C7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:46:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 95C1A1F8728;
Wed, 28 May 2025 07:46:29 +0000 (UTC)
Received: from mx3.molgen.mpg.de (mx3.molgen.mpg.de [141.14.17.11])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3F6C25C96;
Wed, 28 May 2025 07:46:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=141.14.17.11
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418389; cv=none; b=oB0GmW+J50HveXFrQ8rRtdvJbiXvSSqICbDd0ELr37zUUo1c5/qT5n13Hv3gWSzJAO4LDETBWik+DIS9lV6AAwX4q1T5d55gJY+JmY59W2BtrTQStDOaRgs6sZ2cT/xD7agdRuiDFxDGBnAzv6ZYqV01IF3E57lz9Hr6vjOT/rA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418389; c=relaxed/simple;
bh=cQm3c1lDvA7kKP0rBKOZKHIR+yvIS7pKEtlBgOcgSi0=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=VmoGo8rmukRsTB4rRMN2W8hQP06PfiOjw1dGnbxdsMKyqiBzboCYlS3l76eZ1WufCUBsdHmKcReTxWFDwAOh15Q0hteLapIwWEZvpUhyJgvHKK+2qpjDrFREnkPVR85k3UkXZpvgLnl3r1c/f3igxt75i8ob4ZoenEl0Ncu+coQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=molgen.mpg.de; spf=pass smtp.mailfrom=molgen.mpg.de; arc=none smtp.client-ip=141.14.17.11
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=molgen.mpg.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=molgen.mpg.de
Received: from [192.168.0.192] (ip5f5af669.dynamic.kabel-deutschland.de [95.90.246.105])
(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
(Authenticated sender: pmenzel)
by mx.molgen.mpg.de (Postfix) with ESMTPSA id 62EFA601EBE87;
Wed, 28 May 2025 09:46:10 +0200 (CEST)
Message-ID: <140ac32d-432c-496d-b62d-d4254735dc4c@xxxxxxxxxxxxx>
Date: Wed, 28 May 2025 09:46:09 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Bluetooth: BT Driver: mediatek: add gpio pin to reset bt
To: Zhangchao Zhang <ot_zhangchao.zhang@xxxxxxxxxxxx>
Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx>,
Johan Hedberg <johan.hedberg@xxxxxxxxx>,
Luiz Von Dentz <luiz.dentz@xxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxxxx>,
Deren Wu <deren.Wu@xxxxxxxxxxxx>, Aaron Hou <aaron.hou@xxxxxxxxxxxx>,
Chris Lu <chris.lu@xxxxxxxxxxxx>, Steve Lee <steve.lee@xxxxxxxxxxxx>,
linux-bluetooth@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx
References: <20250528070323.14902-1-ot_zhangchao.zhang@xxxxxxxxxxxx>
Content-Language: en-US
From: Paul Menzel <pmenzel@xxxxxxxxxxxxx>
In-Reply-To: <20250528070323.14902-1-ot_zhangchao.zhang@xxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Dear Zhangchao,
Thank you for your patch. For the summary, Iâ??d just use:
Bluetooth: btmtk: Add gpio pin to reset bt
Am 28.05.25 um 09:03 schrieb Zhangchao Zhang:
> This patch provides some methods btmtk_reset_by_gpio,
some â?? the two
> btmtk_reset_by_gpio_work_for mediatek controller.
>
> The pin is configured in dts files, bluetooth is reset by pulling
> the pin, when an exception or coredump occurs, the above method will
> be used to reset the bluetooth.
How did you test this? Could you please add that to the commit message.
> Co-developed-by Hao qin <hao.qin@xxxxxxxxxxxx>
qin â?? Qin
> Co-developed-by Chirs lu <chris.lu@xxxxxxxxxxxx>
Chirs â?? Chris
lu â?? Lu
> Co-developed-by Jiande lu <jiande.lu@xxxxxxxxxxxx>
lu â?? Lu
> Signed-off-by: Zhangchao Zhang <ot_zhangchao.zhang@xxxxxxxxxxxx>
> ---
> drivers/bluetooth/btmtk.c | 59 +++++++++++++++++++++++++++++++++++++++
> drivers/bluetooth/btmtk.h | 5 ++++
> 2 files changed, 64 insertions(+)
>
> diff --git a/drivers/bluetooth/btmtk.c b/drivers/bluetooth/btmtk.c
> index 4390fd571dbd..16542c724b40 100644
> --- a/drivers/bluetooth/btmtk.c
> +++ b/drivers/bluetooth/btmtk.c
> @@ -6,6 +6,8 @@
> #include <linux/firmware.h>
> #include <linux/usb.h>
> #include <linux/iopoll.h>
> +#include <linux/of.h>
> +#include <linux/of_gpio.h>
> #include <linux/unaligned.h>
>
> #include <net/bluetooth/bluetooth.h>
> @@ -109,6 +111,59 @@ static void btmtk_coredump_notify(struct hci_dev *hdev, int state)
> }
> }
>
> +static void btmtk_reset_by_gpio_work(struct work_struct *work)
> +{
> + struct btmtk_reset_gpio *reset_gpio_data =
> + container_of(work, struct btmtk_reset_gpio, reset_work.work);
> +
> + gpio_direction_output(reset_gpio_data->gpio_number, 1);
> + kfree(reset_gpio_data);
> +}
> +
> +static int btmtk_reset_by_gpio(struct hci_dev *hdev)
> +{
> + struct btmtk_data *data = hci_get_priv(hdev);
> + struct btmtk_reset_gpio *reset_gpio_data;
> + struct device_node *node;
> + int reset_gpio_number;
> +
> + node = of_find_compatible_node(NULL, NULL, "mediatek,usb-bluetooth");
> + if (node) {
> + reset_gpio_number = of_get_named_gpio(node, "reset-gpios", 0);
> + if (!gpio_is_valid(reset_gpio_number)) {
> + bt_dev_warn(hdev, "invalid reset gpio, use SW reset");
gpio â?? GPIO
SW â?? software
reet â?? reset?
Please also log the GPIO number. Also, a hint, what the user should do
in this situation would be great.
> + return -EINVAL;
> + }
> + } else {
> + bt_dev_warn(hdev, "no reset gpio, use SW reet");
gpio â?? GPIO
SW â?? software
reet â?? reset?
> + return -ENODEV;
> + }
> +
> + /* Toggle the hard reset line. The Mediatek device is going to
> + * yank itself off the USB and then replug. The cleanup is handled
> + * correctly on the way out (standard USB disconnect), and the new
> + * device is detected cleanly and bound to the driver again like
> + * it should be.
> + */
> +
> + if (test_and_set_bit(BTMTK_HW_RESET_ACTIVE, &data->flags)) {
> + bt_dev_err(hdev, "last reset failed? Not resetting again");
Itâ??d be great, if this error message could be rephrased, so users know
what is wrong, and what to do.
> + return 0;
> + }
> +
> + reset_gpio_data = kzalloc(sizeof(*reset_gpio_data), GFP_KERNEL);
> + if (!reset_gpio_data)
> + return -ENOMEM;
> +
> + INIT_DELAYED_WORK(&reset_gpio_data->reset_work, btmtk_reset_by_gpio_work);
> + reset_gpio_data->gpio_number = reset_gpio_number;
> +
> + gpio_direction_output(reset_gpio_number, 0);
> + schedule_delayed_work(&reset_gpio_data->reset_work, msecs_to_jiffies(200));
A 200 ms delay is quite long. Maybe add the datasheet section as a
reference in a comment?
> +
> + return 0;
> +}
> +
> void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id, u32 fw_ver,
> u32 fw_flavor)
> {
> @@ -364,6 +419,10 @@ void btmtk_reset_sync(struct hci_dev *hdev)
> struct btmtk_data *reset_work = hci_get_priv(hdev);
> int err;
>
> + /*Toggle reset gpio if the platform provieds one*/
1. Please add a space in the beginning and end.
2. provides (A spell checker should have found this.)
> + err = btmtk_reset_by_gpio(hdev);
> + if (!err)
> + return;
> hci_dev_lock(hdev);
>
> err = hci_cmd_sync_queue(hdev, reset_work->reset_sync, NULL, NULL);
> diff --git a/drivers/bluetooth/btmtk.h b/drivers/bluetooth/btmtk.h
> index 5df7c3296624..8a265ce367d1 100644
> --- a/drivers/bluetooth/btmtk.h
> +++ b/drivers/bluetooth/btmtk.h
> @@ -179,6 +179,11 @@ struct btmtk_data {
> spinlock_t isorxlock;
> };
>
> +struct btmtk_reset_gpio {
> + struct delayed_work reset_work;
> + int gpio_number;
> +};
> +
> typedef int (*wmt_cmd_sync_func_t)(struct hci_dev *,
> struct btmtk_hci_wmt_params *);
>
Kind regards,
Paul
Return-Path: <linux-kernel+bounces-665011-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1F33E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:50:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 4CD894A6F4A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:50:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B47F52459D9;
Wed, 28 May 2025 07:50:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="a/mMw2F6"
Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 481C0193077;
Wed, 28 May 2025 07:50:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418641; cv=none; b=lMrPXmyfyLS4j0DMtawgBprF62lgAzsAIYt41SUk+Bt0q9oaH9/Eaxu11SUqVLvDNJN5kLz/URnSmpsWvafOy6y5FejDE3iTHkbkICkYoaygIclHL6rEjOTBOrgnOBRz97LGAakUpqWNNnbJEh4yTgqx9QPeHho1V1uYVeBUT18=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418641; c=relaxed/simple;
bh=/zyrLXezRJjYrfxpfUoQ6048QS9eM9+IT5qoZfTuJC0=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=gTJdKseX7fKlQQWgCXQCDIWinEqPHGZUbXZob3QhCDgSkTUkPFunkPVRiFmMPziL9coz4sZbDpGI4gHlBK0Orn4zdYG9RD0wPWSjq5GyhWm7jU2dB34UXVAJCOUUXWs5uECmwoomHswIIbhCpviDJbiqvPBdzgKSip1I2629Bqk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=a/mMw2F6; arc=none smtp.client-ip=209.85.218.51
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ad5273c1fd7so845961266b.1;
Wed, 28 May 2025 00:50:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748418637; x=1749023437; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=PFDvh+xhYK9vwsPou+GJtGwXTTWho/iEsaQhsuFcYPk=;
b=a/mMw2F6XRftS0L+tQbti+QZmY2tDea6rorSLlQrwZ+PtnNy4WQPvxxXMrNHesQl/A
dLCQ0IPONSJ6rNpNXiygRp3aru/JaAqOjEszSS3r5rUl6Q38mA3d+m5x4zRLxvrtjmaV
KBYqPHWvPxhN3c2++Kb4XGCwRyxB01V8S/Ygf5qpjiW4PyxRu+Xez09EhSnLvO6uL7CQ
/NISuiHAL5tUHzeH2Dlr9EiFTlFzyap/6YslNJn8UrpBN20QtWUBnlwwU+6P9rY8O1CC
O0XeC6mA8XvYrM/lw9DXMvPKjbaWHzF7RKC5rYuMhyT6OZHPqxbHrhdtggEQpLPlaZv/
5n9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748418637; x=1749023437;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=PFDvh+xhYK9vwsPou+GJtGwXTTWho/iEsaQhsuFcYPk=;
b=RKfPA3ZtZLuYCaH5K7oGIVJ2kBHF3x3m9AB66oFh8/CPMmw9i70xSe5jLB48LCesrj
NMbaw4u1+4k8cJzg/R3uXYuEet0MrAN8S4R8vXr+e3Wf9kEiPFiM0jAqL8g2BB/JL3RA
uiBlc+bv8qL+MCEm6a+woRzQLAaSXLnJ+7fZL8iOByLtX86Zv3IOLIJFA8Kk2KJibDmE
PX72POawLo6hNfE5PakWE0bkBshsYs23HzeXqvZg98uyiw4eMiJYgIDlC/yDEVk3wY0r
Piz5T4DMdFARZeeQ7KG5KGEW7VCP3WVYMRdbJ3dRpDHuE6kfvr8M7FUKgfanXamCx9gU
s31g==
X-Forwarded-Encrypted: i=1; AJvYcCVI05DsSo3cti1shxMaS9vHc1x17Gqdf2NgTG3pd2FvM7+MTq8/YRMQpMjhpoZyKTItX1av80wzDw5HOpbM@xxxxxxxxxxxxxxx, AJvYcCX/9/UUSJw7j0qMr8T59R5k/1gPhB5W9Bt3r55PxZqDl95P816X2nY7EJDesj2wXZPIoBVtXx3zM//HtQ==@vger.kernel.org, AJvYcCXWO+rvqXvpNfDAm3/McENAp6WPo+4M1r17cNqHzgBA6wUK1dSWtVCHzUshUMaPsEgRnPivqCP/@vger.kernel.org, AJvYcCXtTRJmJx9e9g3vLUpvBL1U/leyt03lRFxoSzGQB9yfwsah90452lBtZxqCA4qrX0gbsoE=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw3qLxQ1UNHWeagQDWp30SjfYHRj1FxH/6gLWxYHxCehwEKlmVX
blIDmuHJ0CLrcD/vDwuU4mTktj++AFf130MbEpH+gitf+HewRx68dY2b
X-Gm-Gg: ASbGncskm0l7mEZeEAzCk7ZoImEaqkBQW7qocY2r501BR6/2aySLRMid11dvPicTUsK
45he/+hI8+eLWMO+EupQfx3EDCbTzYBcdo6h7m+BZokD3lcjZuFQWwK33D765d+G8HEUu6+zYCb
Lie04gDeosKcPWOxfRl4qQVVIO3DCozePZvEeF0Gj1ohEFp0Zi/ef56U+892pU0y1hAiwPyHmMP
cPGVfrdXHvznRHEA+bq0+8Qi1515guYA056cE9RHYsi77lztuxnWD2OFU8Y+rrhTuVtI/o4tecf
4H+tf83x5JLh0Y0cICylXcOGLyzjq7ypGxAUwILVRqHtvmMogK0R5eRQA46gOkyiKrt6l1LZgA=
=
X-Google-Smtp-Source: AGHT+IHzIvt1GsZdZ9b+8NwHHnVvWWl+yKTgbs8TGJXB/bYOk6vqqvJWk7DJJKDVW+H4h0XE0+Ln5g==
X-Received: by 2002:a17:907:9688:b0:ad5:2a24:7c09 with SMTP id a640c23a62f3a-ad85b2b55e8mr1294527966b.60.1748418637260;
Wed, 28 May 2025 00:50:37 -0700 (PDT)
Received: from ?IPV6:2620:10d:c096:325::6f? ([2620:10d:c092:600::1:c447])
by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6051d79e78asm399291a12.65.2025.05.28.00.50.35
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 00:50:36 -0700 (PDT)
Message-ID: <a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
Date: Wed, 28 May 2025 08:51:47 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access page->pp_magic
in page_pool_page_is_pp()
To: Byungchul Park <byungchul@xxxxxx>, Mina Almasry <almasrymina@xxxxxxxxxx>
Cc: willy@xxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, kernel_team@xxxxxxxxxxx,
kuba@xxxxxxxxxx, ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx,
hawk@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx, toke@xxxxxxxxxx,
tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx,
david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx,
vbabka@xxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx, mhocko@xxxxxxxx,
horms@xxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Pavel Begunkov <asml.silence@xxxxxxxxx>
In-Reply-To: <20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/26/25 03:23, Byungchul Park wrote:
> On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
>> On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
>>>
>>> To simplify struct page, the effort to seperate its own descriptor from
>>> struct page is required and the work for page pool is on going.
>>>
>>> To achieve that, all the code should avoid accessing page pool members
>>> of struct page directly, but use safe APIs for the purpose.
>>>
>>> Use netmem_is_pp() instead of directly accessing page->pp_magic in
>>> page_pool_page_is_pp().
>>>
>>> Signed-off-by: Byungchul Park <byungchul@xxxxxx>
>>> ---
>>> include/linux/mm.h | 5 +----
>>> net/core/page_pool.c | 5 +++++
>>> 2 files changed, 6 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/include/linux/mm.h b/include/linux/mm.h
>>> index 8dc012e84033..3f7c80fb73ce 100644
>>> --- a/include/linux/mm.h
>>> +++ b/include/linux/mm.h
>>> @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
>>> #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
>>>
>>> #ifdef CONFIG_PAGE_POOL
>>> -static inline bool page_pool_page_is_pp(struct page *page)
>>> -{
>>> - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
>>> -}
>>
>> I vote for keeping this function as-is (do not convert it to netmem),
>> and instead modify it to access page->netmem_desc->pp_magic.
>
> Once the page pool fields are removed from struct page, struct page will
> have neither struct netmem_desc nor the fields..
>
> So it's unevitable to cast it to netmem_desc in order to refer to
> pp_magic. Again, pp_magic is no longer associated to struct page.
>
> Thoughts?
Once the indirection / page shrinking is realized, the page is
supposed to have a type field, isn't it? And all pp_magic trickery
will be replaced with something like
page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; }
--
Pavel Begunkov
Return-Path: <linux-kernel+bounces-665012-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3BCF341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:51:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 818FB1BA13CC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:51:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0187E24678C;
Wed, 28 May 2025 07:50:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=iogearbox.net header.i=@iogearbox.net header.b="anpN95ZV"
Received: from www62.your-server.de (www62.your-server.de [213.133.104.62])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6BF76262A6;
Wed, 28 May 2025 07:50:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.133.104.62
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418657; cv=none; b=NngH6tv0jS0CbrnixBOXZEYaMGYZTp/LRoGxbsiRM9NS46QRhjdbidduZdaHW9+GLmHtPUhVa8+fhjQ+X4JQs4rK0SdXbyT0KHmm8hKI2/YDlGR/AeagdkcfXAJCrwb383Wm69uIuMzwvbeggmFA2JigjukHnu6RdooCT8x3W2M=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418657; c=relaxed/simple;
bh=sXByYE7G/EbYj2Kb28o+SirVJewPQkEkE75MRYhIQUo=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=Bod97u3FkVoLsbuGasnQMv0/cfCcZn2bc6ISxvvJpx0yyNEUjPYcPKqkvdmhjRy2IsxTvUlvfDJTeu0935WM7I7LSOAEWya2vd4XpETsnw1DmiMPGA2a5CRGiP4eeNRnKwM6OZIW1ZMaaMgZqR0zQDYZMJvliqa4HYpMtKBLUmQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iogearbox.net; spf=pass smtp.mailfrom=iogearbox.net; dkim=pass (2048-bit key) header.d=iogearbox.net header.i=@iogearbox.net header.b=anpN95ZV; arc=none smtp.client-ip=213.133.104.62
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iogearbox.net
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iogearbox.net
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=iogearbox.net; s=default2302; h=Content-Transfer-Encoding:Content-Type:
In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender
:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID;
bh=a637J+7iFbdZZem+MX8oUfZiqEO0o82G2136IY6Yx8c=; b=anpN95ZVN9niv+kKFgwnqDbZ7+
FlWpd3NRE//eAa6/2LP08ZiQg4x7nly26ODpopF+lvRc3yZSajq3efdLIwQ9b7eShZKz4DnYoZzY2
hX3HBBXwbrmlnBgC5gJqPGevX/qBFKXEqeoy7cH4XsBF18YFc6vFSeO32tvvVRzjtByVwPrZ9fzNh
N1RIDTfNZnp2TpliX85jgcl03+RBrj7VxKA6Zx8bXw9/6ygo/9OKi5jUBRAOup+RB5Lf7wAz6hDRN
T4cLsQehXyKzf0JziPf9bXNFjxwgXlPdHT0T9PADOW2sOctTLXGitWTV6IEhrHlWt+CST2+UO5tGQ
dIQy4Dzw==;
Received: from sslproxy02.your-server.de ([78.47.166.47])
by www62.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384
(Exim 4.96.2)
(envelope-from <daniel@xxxxxxxxxxxxx>)
id 1uKBYR-0005wW-16;
Wed, 28 May 2025 09:50:27 +0200
Received: from localhost ([127.0.0.1])
by sslproxy02.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384
(Exim 4.96)
(envelope-from <daniel@xxxxxxxxxxxxx>)
id 1uKBYQ-0006GL-0J;
Wed, 28 May 2025 09:50:26 +0200
Message-ID: <a5e1a243-4679-454f-aac0-2297a74e68dc@xxxxxxxxxxxxx>
Date: Wed, 28 May 2025 09:50:25 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH net-next] selftests/bpf: Fix bpf selftest build warning
To: Saket Kumar Bhaskar <skb99@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx
Cc: bpf@xxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-next@xxxxxxxxxxxxxxx,
hbathini@xxxxxxxxxxxxx, maddy@xxxxxxxxxxxxx, venkat88@xxxxxxxxxxxxx,
sfr@xxxxxxxxxxxxxxxx, alexei.starovoitov@xxxxxxxxx, mykolal@xxxxxx,
yoong.siang.song@xxxxxxxxx, martin.lau@xxxxxxxxx, song@xxxxxxxxxx,
yonghong.song@xxxxxxxxx, john.fastabend@xxxxxxxxx, kpsingh@xxxxxxxxxx,
sdf@xxxxxxxxxxx, haoluo@xxxxxxxxxx, jolsa@xxxxxxxxxx, shuah@xxxxxxxxxx
References: <20250527054138.1086006-1-skb99@xxxxxxxxxxxxx>
Content-Language: en-US
From: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Autocrypt: addr=daniel@xxxxxxxxxxxxx; keydata=
xsFNBGNAkI0BEADiPFmKwpD3+vG5nsOznvJgrxUPJhFE46hARXWYbCxLxpbf2nehmtgnYpAN
2HY+OJmdspBntWzGX8lnXF6eFUYLOoQpugoJHbehn9c0Dcictj8tc28MGMzxh4aK02H99KA8
VaRBIDhmR7NJxLWAg9PgneTFzl2lRnycv8vSzj35L+W6XT7wDKoV4KtMr3Szu3g68OBbp1TV
HbJH8qe2rl2QKOkysTFRXgpu/haWGs1BPpzKH/ua59+lVQt3ZupePpmzBEkevJK3iwR95TYF
06Ltpw9ArW/g3KF0kFUQkGXYXe/icyzHrH1Yxqar/hsJhYImqoGRSKs1VLA5WkRI6KebfpJ+
RK7Jxrt02AxZkivjAdIifFvarPPu0ydxxDAmgCq5mYJ5I/+BY0DdCAaZezKQvKw+RUEvXmbL
94IfAwTFA1RAAuZw3Rz5SNVz7p4FzD54G4pWr3mUv7l6dV7W5DnnuohG1x6qCp+/3O619R26
1a7Zh2HlrcNZfUmUUcpaRPP7sPkBBLhJfqjUzc2oHRNpK/1mQ/+mD9CjVFNz9OAGD0xFzNUo
yOFu/N8EQfYD9lwntxM0dl+QPjYsH81H6zw6ofq+jVKcEMI/JAgFMU0EnxrtQKH7WXxhO4hx
3DFM7Ui90hbExlFrXELyl/ahlll8gfrXY2cevtQsoJDvQLbv7QARAQABzSZEYW5pZWwgQm9y
a21hbm4gPGRhbmllbEBpb2dlYXJib3gubmV0PsLBkQQTAQoAOxYhBCrUdtCTcZyapV2h+93z
cY/jfzlXBQJjQJCNAhsDBQkHhM4ACAsJCAcNDAsKBRUKCQgLAh4BAheAAAoJEN3zcY/jfzlX
dkUQAIFayRgjML1jnwKs7kvfbRxf11VI57EAG8a0IvxDlNKDcz74mH66HMyhMhPqCPBqphB5
ZUjN4N5I7iMYB/oWUeohbuudH4+v6ebzzmgx/EO+jWksP3gBPmBeeaPv7xOvN/pPDSe/0Ywp
dHpl3Np2dS6uVOMnyIsvmUGyclqWpJgPoVaXrVGgyuer5RpE/a3HJWlCBvFUnk19pwDMMZ8t
0fk9O47HmGh9Ts3O8pGibfdREcPYeGGqRKRbaXvcRO1g5n5x8cmTm0sQYr2xhB01RJqWrgcj
ve1TxcBG/eVMmBJefgCCkSs1suriihfjjLmJDCp9XI/FpXGiVoDS54TTQiKQinqtzP0jv+TH
1Ku+6x7EjLoLH24ISGyHRmtXJrR/1Ou22t0qhCbtcT1gKmDbTj5TcqbnNMGWhRRTxgOCYvG0
0P2U6+wNj3HFZ7DePRNQ08bM38t8MUpQw4Z2SkM+jdqrPC4f/5S8JzodCu4x80YHfcYSt+Jj
ipu1Ve5/ftGlrSECvy80ZTKinwxj6lC3tei1bkI8RgWZClRnr06pirlvimJ4R0IghnvifGQb
M1HwVbht8oyUEkOtUR0i0DMjk3M2NoZ0A3tTWAlAH8Y3y2H8yzRrKOsIuiyKye9pWZQbCDu4
ZDKELR2+8LUh+ja1RVLMvtFxfh07w9Ha46LmRhpCzsFNBGNAkI0BEADJh65bNBGNPLM7cFVS
nYG8tqT+hIxtR4Z8HQEGseAbqNDjCpKA8wsxQIp0dpaLyvrx4TAb/vWIlLCxNu8Wv4W1JOST
wI+PIUCbO/UFxRy3hTNlb3zzmeKpd0detH49bP/Ag6F7iHTwQQRwEOECKKaOH52tiJeNvvyJ
pPKSKRhmUuFKMhyRVK57ryUDgowlG/SPgxK9/Jto1SHS1VfQYKhzMn4pWFu0ILEQ5x8a0RoX
k9p9XkwmXRYcENhC1P3nW4q1xHHlCkiqvrjmWSbSVFYRHHkbeUbh6GYuCuhqLe6SEJtqJW2l
EVhf5AOp7eguba23h82M8PC4cYFl5moLAaNcPHsdBaQZznZ6NndTtmUENPiQc2EHjHrrZI5l
kRx9hvDcV3Xnk7ie0eAZDmDEbMLvI13AvjqoabONZxra5YcPqxV2Biv0OYp+OiqavBwmk48Z
P63kTxLddd7qSWbAArBoOd0wxZGZ6mV8Ci/ob8tV4rLSR/UOUi+9QnkxnJor14OfYkJKxot5
hWdJ3MYXjmcHjImBWplOyRiB81JbVf567MQlanforHd1r0ITzMHYONmRghrQvzlaMQrs0V0H
5/sIufaiDh7rLeZSimeVyoFvwvQPx5sXhjViaHa+zHZExP9jhS/WWfFE881fNK9qqV8pi+li
2uov8g5yD6hh+EPH6wARAQABwsF8BBgBCgAmFiEEKtR20JNxnJqlXaH73fNxj+N/OVcFAmNA
kI0CGwwFCQeEzgAACgkQ3fNxj+N/OVfFMhAA2zXBUzMLWgTm6iHKAPfz3xEmjtwCF2Qv/TT3
KqNUfU3/0VN2HjMABNZR+q3apm+jq76y0iWroTun8Lxo7g89/VDPLSCT0Nb7+VSuVR/nXfk8
R+OoXQgXFRimYMqtP+LmyYM5V0VsuSsJTSnLbJTyCJVu8lvk3T9B0BywVmSFddumv3/pLZGn
17EoKEWg4lraXjPXnV/zaaLdV5c3Olmnj8vh+14HnU5Cnw/dLS8/e8DHozkhcEftOf+puCIl
Awo8txxtLq3H7KtA0c9kbSDpS+z/oT2S+WtRfucI+WN9XhvKmHkDV6+zNSH1FrZbP9FbLtoE
T8qBdyk//d0GrGnOrPA3Yyka8epd/bXA0js9EuNknyNsHwaFrW4jpGAaIl62iYgb0jCtmoK/
rCsv2dqS6Hi8w0s23IGjz51cdhdHzkFwuc8/WxI1ewacNNtfGnorXMh6N0g7E/r21pPeMDFs
rUD9YI1Je/WifL/HbIubHCCdK8/N7rblgUrZJMG3W+7vAvZsOh/6VTZeP4wCe7Gs/cJhE2gI
DmGcR+7rQvbFQC4zQxEjo8fNaTwjpzLM9NIp4vG9SDIqAm20MXzLBAeVkofixCsosUWUODxP
owLbpg7pFRJGL9YyEHpS7MGPb3jSLzucMAFXgoI8rVqoq6si2sxr2l0VsNH5o3NgoAgJNIg=
In-Reply-To: <20250527054138.1086006-1-skb99@xxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Authenticated-Sender: daniel@xxxxxxxxxxxxx
X-Virus-Scanned: Clear (ClamAV 1.0.7/27650/Tue May 27 10:36:31 2025)
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/27/25 7:41 AM, Saket Kumar Bhaskar wrote:
> On linux-next, build for bpf selftest displays a warning:
>
> Warning: Kernel ABI header at 'tools/include/uapi/linux/if_xdp.h'
> differs from latest version at 'include/uapi/linux/if_xdp.h'.
>
> Commit 8066e388be48 ("net: add UAPI to the header guard in various network headers")
> changed the header guard from _LINUX_IF_XDP_H to _UAPI_LINUX_IF_XDP_H
> in include/uapi/linux/if_xdp.h.
>
> To resolve the warning, update tools/include/uapi/linux/if_xdp.h
> to align with the changes in include/uapi/linux/if_xdp.h
>
> Fixes: 8066e388be48 ("net: add UAPI to the header guard in various network headers")
> Reported-by: Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>
> Closes: https://lore.kernel.org/all/c2bc466d-dff2-4d0d-a797-9af7f676c065@xxxxxxxxxxxxx/
> Tested-by: Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>
> Signed-off-by: Saket Kumar Bhaskar <skb99@xxxxxxxxxxxxx>
Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665013-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CF99D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:52:45 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 7F8941890AA7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:52:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2467F2459FE;
Wed, 28 May 2025 07:52:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="i/lvZouP"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 616121DE4F1;
Wed, 28 May 2025 07:52:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418753; cv=none; b=iTlOamm3sIOP63/UbOVIOUvvKHCQ8lKS+YtZnSws0q/7fZu7jv7b07IVMzj3VGtS2UF2JfURjzvp1FIR+U7ZqyNUZ0NkGRWn++GZB9J925MRZjC7ZhSTL30urHUJjmdjYDa5P9ePz7ur6gtk8cFHHlclss/XtyA/a6bPaXH+0Nw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418753; c=relaxed/simple;
bh=vOIZMb5lEDF1Fh0DsUBC/oFFOQgqXuEgzjSZapxTDuA=;
h=Content-Type:MIME-Version:Subject:From:Message-Id:Date:References:
In-Reply-To:To:Cc; b=rw0JUVHNzL0hkHx8TsSITHx6bM91nCS6gtyJgXwaKNzWeBsMjiDBU1MhZeKFJNhxJ2y+3kOACCNzvuu9ttT5NQVAfnTzp/qlIYR1A+P8t9nOT0rDPqOZ93v3yBRHTghaMwPtMWk3W6pI+0YUThl/yFAyPwtTlzGaBhTI5Wx8tZk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=i/lvZouP; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2D21FC4CEE7;
Wed, 28 May 2025 07:52:33 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748418753;
bh=vOIZMb5lEDF1Fh0DsUBC/oFFOQgqXuEgzjSZapxTDuA=;
h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
b=i/lvZouPKufeyVtJyNLJAmoqQ6Kn8IJe8SDM6Fs1LgC/1UlKE+lNSluLtVjRebt6x
aYnHwguwdqLi0I2wyFYwof856+u+DIYfSY4W2xXDAjWEE0+J8FlsfupsD7S04njyOj
+6TaRLjBHiT3MPAD33HrD/obUFzKDeKjbgV5i+q9SFHbVfLPElKAmJAyN5AIkvVrt+
TdLLLhhNJ95cRk3V4qaquytjpI5lVrua7WwxmmYfn6plIsqaDDj2bQjvM/j7stw7+c
B7nlwljKmyHO4Q6HzENrm1qXYVi63x/aezIN4auaR7rUSy8lbDhUEgiVEXx1aYLNFn
qOzzzGzpMcY8Q==
Received: from [10.30.226.235] (localhost [IPv6:::1])
by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id 70EC239F1DE4;
Wed, 28 May 2025 07:53:08 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH net] net: phy: mscc: Stop clearing the the UDPv4 checksum for
L2 frames
From: patchwork-bot+netdevbpf@xxxxxxxxxx
Message-Id:
<174841878725.2284365.16902969225916201562.git-patchwork-notify@xxxxxxxxxx>
Date: Wed, 28 May 2025 07:53:07 +0000
References: <20250523082716.2935895-1-horatiu.vultur@xxxxxxxxxxxxx>
In-Reply-To: <20250523082716.2935895-1-horatiu.vultur@xxxxxxxxxxxxx>
To: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
Cc: andrew@xxxxxxx, hkallweit1@xxxxxxxxx, linux@xxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, edumazet@xxxxxxxxxx, kuba@xxxxxxxxxx, pabeni@xxxxxxxxxx,
richardcochran@xxxxxxxxx, kory.maincent@xxxxxxxxxxx, wintera@xxxxxxxxxxxxx,
viro@xxxxxxxxxxxxxxxxxx, quentin.schulz@xxxxxxxxxxx, atenart@xxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello:
This patch was applied to netdev/net.git (main)
by Paolo Abeni <pabeni@xxxxxxxxxx>:
On Fri, 23 May 2025 10:27:16 +0200 you wrote:
> We have noticed that when PHY timestamping is enabled, L2 frames seems
> to be modified by changing two 2 bytes with a value of 0. The place were
> these 2 bytes seems to be random(or I couldn't find a pattern). In most
> of the cases the userspace can ignore these frames but if for example
> those 2 bytes are in the correction field there is nothing to do. This
> seems to happen when configuring the HW for IPv4 even that the flow is
> not enabled.
> These 2 bytes correspond to the UDPv4 checksum and once we don't enable
> clearing the checksum when using L2 frames then the frame doesn't seem
> to be changed anymore.
>
> [...]
Here is the summary with links:
- [net] net: phy: mscc: Stop clearing the the UDPv4 checksum for L2 frames
https://git.kernel.org/netdev/net/c/57a92d14659d
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Return-Path: <linux-kernel+bounces-665014-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1B28E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:53:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 86A83189106B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:53:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C3264246333;
Wed, 28 May 2025 07:53:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b="BxhS0FZ5"
Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [78.32.30.218])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9001243968;
Wed, 28 May 2025 07:53:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=78.32.30.218
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418805; cv=none; b=U2ggOTXp2XGpCa/hHydfQH4Gv+hrbBiRbIZRgbezWzG3E8owIhbththiQ/hS1N2QQR4OMymmq2ReAgogaJ4hEZMr51+USghN215cFZP8GjvYOm4rkycQ4d+D8hW52AMjPWQQ4iFa32ShcBEJ7vYWGj9+SzZJ9pcKVhlVPN64qV4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418805; c=relaxed/simple;
bh=PxiB0VdarYPOAXAu6174aIJk6fsKNzMiJatbecF9DbU=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=qjAqnTm9ZUOHKF+sHek9qmWVIJEoYGA0POKPNjjGoerxtGuoC2wOaDA0vKOZz5WRGIR1tWetjQShNklvCQCS7KZ7+0wj4Fo4WSrdVMz9g3/G36r9oFYALga/5F5Z0tCU8mjGtU15b3bNGJtaQS2Gzs+GGjnxHcf/YDCX9kT8/U4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=armlinux.org.uk; spf=none smtp.mailfrom=armlinux.org.uk; dkim=pass (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b=BxhS0FZ5; arc=none smtp.client-ip=78.32.30.218
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=armlinux.org.uk
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=armlinux.org.uk
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To:
Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID:
Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date:
Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:
List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;
bh=Ve9zlEhyAeIJvFh++9HwCNvy/GoFzpwAhVVWMjKo3bE=; b=BxhS0FZ5P9KDXBIuaA2hPCfF72
kQOc+zam/61pRNAjeSCEDHXcETAjwY5InAkIrntfRtDixw/t8lP0638gmI/JR8kWHFDfLOOXpi/Gm
pWz4Gkuma2cqnwp+70Osyffe0NV66c2sAGngS1k6cNP/fJDk3xULr+kI8L+74EYw8az0Bd1xmGHcJ
PbJue0I+lPkoL06qAbKfO8VXR6n21brNYIrFenE9dDocepHHHkGTEddAsFwejmNBBw2AzoHYR7aUr
P7aPxwZ8ueOHujHeLD6T9b5p78EuLX9EByQMobwH2cn/IhZCPUZtJVG/AD6unO95Fxpjz6edFovbj
7rgRLdxQ==;
Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:55976)
by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
(Exim 4.96)
(envelope-from <linux@xxxxxxxxxxxxxxx>)
id 1uKBb9-0008NH-0j;
Wed, 28 May 2025 08:53:15 +0100
Received: from linux by shell.armlinux.org.uk with local (Exim 4.96)
(envelope-from <linux@xxxxxxxxxxxxxxxxxxxxx>)
id 1uKBb4-0002G5-1v;
Wed, 28 May 2025 08:53:10 +0100
Date: Wed, 28 May 2025 08:53:10 +0100
From: "Russell King (Oracle)" <linux@xxxxxxxxxxxxxxx>
To: James Hilliard <james.hilliard1@xxxxxxxxx>
Cc: Andrew Lunn <andrew@xxxxxxx>, netdev@xxxxxxxxxxxxxxx,
linux-sunxi@xxxxxxxxxxxxxxx, Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>,
Furong Xu <0x1207@xxxxxxxxx>,
Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 1/3] net: stmmac: allow drivers to explicitly select
PHY device
Message-ID: <aDbA5l5iXNntTN6n@xxxxxxxxxxxxxxxxxxxxx>
References: <20250527175558.2738342-1-james.hilliard1@xxxxxxxxx>
<631ed4fe-f28a-443b-922b-7f41c20f31f3@xxxxxxx>
<CADvTj4rGdb_kHV_gjKTJNkzYEPMzqLcHY_1xw7wy5r-ryqDfNQ@xxxxxxxxxxxxxx>
<fe8fb314-de99-45c2-b71e-5cedffe590b0@xxxxxxx>
<CADvTj4qRmjUQJnhamkWNpHGNAtvFyOJnbaQ5RZ6NYYqSNhxshA@xxxxxxxxxxxxxx>
<014d8d63-bfb1-4911-9ea6-6f4cdabc46e5@xxxxxxx>
<CADvTj4oVj-38ohw7Na9rkXLTGEEFkLv=4S40GPvHM5eZnN7KyA@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CADvTj4oVj-38ohw7Na9rkXLTGEEFkLv=4S40GPvHM5eZnN7KyA@xxxxxxxxxxxxxx>
Sender: Russell King (Oracle) <linux@xxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 02:37:03PM -0600, James Hilliard wrote:
> On Tue, May 27, 2025 at 2:30â?¯PM Andrew Lunn <andrew@xxxxxxx> wrote:
> >
> > > Sure, that may make sense to do as well, but I still don't see
> > > how that impacts the need to runtime select the PHY which
> > > is configured for the correct MFD.
> >
> > If you know what variant you have, you only include the one PHY you
> > actually have, and phy-handle points to it, just as normal. No runtime
> > selection.
>
> Oh, so here's the issue, we have both PHY variants, older hardware
> generally has AC200 PHY's while newer ships AC300 PHY's, but
> when I surveyed our deployed hardware using these boards many
> systems of similar age would randomly mix AC200 and AC300 PHY's.
>
> It appears there was a fairly long transition period where both variants
> were being shipped.
Given that DT is supposed to describe the hardware that is being run on,
it should _describe_ _the_ _hardware_ that the kernel is being run on.
That means not enumerating all possibilities in DT and then having magic
in the kernel to select the right variant. That means having a correct
description in DT for the kernel to use.
I don't think that abusing "phys" is a good idea.
It's quite normal for the boot loader to fix up the device tree
according to the hardware - for example, adding the actual memory
location and sizes that are present, adding reserved memory regions,
etc. I don't see why you couldn't detect the differences and have
the boot loader patch the device tree appropriately.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Return-Path: <linux-kernel+bounces-665015-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 92D2741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:54:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id C3AEB7A657D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:53:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3CD50246765;
Wed, 28 May 2025 07:54:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="O6A6Vlst"
Received: from mailgw01.mediatek.com (unknown [60.244.123.138])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8868C1DE4F1;
Wed, 28 May 2025 07:54:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=60.244.123.138
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748418869; cv=none; b=srIGJiVUufTyZB/lVmkvcAdvHcNoXGEACwybhJ7vDAEf62K0NrNqC1IYXOxhObJJOnfKr7ucWsLTE1OByEGSTLZBe1X/W9JVmJ1e3PXtaed3geHswcX3DnoYMInm+4qqnCoKbjeVDmxAdGfk5VTS1Bl7czYFcU8Of+bSUGB3XnU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748418869; c=relaxed/simple;
bh=1eKx/Xcp7Zw3JeZhrqVfQkMnweqpNr9X4J/fm8KiB4w=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=BR++rjyl4c7frODnrjlKOHETCVmtlQfYWqZk4BeZCmn55kayoV9cN2J9HggYPHRcOvdrVuKP4lYcenguuYA24zd35VAAD5yxj9EXrwXvJCGYMzqodKep1d0iYyjQN/e5k3wTB5pkRT0BGLdokZyYRLdjhWurt805i++OjRMrvN0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=O6A6Vlst; arc=none smtp.client-ip=60.244.123.138
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com
X-UUID: f73d93c63b9811f0813e4fe1310efc19-20250528
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk;
h=Content-Type:Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=7FlhNB9pTksMToqSnpWt6CkAE6AWRUfjH5SfzBJw+bk=;
b=O6A6VlstJHZBqAaw4fXeBxoQgB5x6+o5NkPiAijVhBLASkCS/pi4rxBEuD0wsoh8/j3WYgcuyjKSLE/HXayoE81y+AfmXFo30y3xi5v15ZgXtnIMcsSFiU4CT3YLWIlAgypMcW7KV0VdJFo+uy0ugU5ZmBUx94tckeJfJaiTa7k=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:99757d0d-af35-4114-9419-b3566a63de74,IP:0,UR
L:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION:r
elease,TS:0
X-CID-META: VersionHash:0ef645f,CLOUDID:cf251058-abad-4ac2-9923-3af0a8a9a079,B
ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0|50,EDM:-3,IP:ni
l,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES
:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0
X-CID-BVR: 0
X-CID-BAS: 0,_,0,_
X-CID-FACTOR: TF_CID_SPAM_SNR
X-UUID: f73d93c63b9811f0813e4fe1310efc19-20250528
Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw01.mediatek.com
(envelope-from <macpaul.lin@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 1576526437; Wed, 28 May 2025 15:54:21 +0800
Received: from mtkmbs11n2.mediatek.inc (172.21.101.187) by
MTKMBS14N2.mediatek.inc (172.21.101.76) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Wed, 28 May 2025 15:54:19 +0800
Received: from mtksitap99.mediatek.inc (10.233.130.16) by
mtkmbs11n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Wed, 28 May 2025 15:54:19 +0800
From: Macpaul Lin <macpaul.lin@xxxxxxxxxxxx>
To: Felix Fietkau <nbd@xxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxxxx>, Lorenzo
Bianconi <lorenzo@xxxxxxxxxx>, Andrew Lunn <andrew+netdev@xxxxxxx>, "David S
. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>, Jakub
Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>, Matthias Brugger
<matthias.bgg@xxxxxxxxx>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx>, Bartosz Golaszewski
<brgl@xxxxxxxx>, <netdev@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-mediatek@xxxxxxxxxxxxxxxxxxx>
CC: Bear Wang <bear.wang@xxxxxxxxxxxx>, Pablo Sun <pablo.sun@xxxxxxxxxxxx>,
Ramax Lo <ramax.lo@xxxxxxxxxxxx>, Macpaul Lin <macpaul.lin@xxxxxxxxxxxx>,
Macpaul Lin <macpaul@xxxxxxxxx>, <stable@xxxxxxxxxxxxxxx>, MediaTek
Chromebook Upstream <Project_Global_Chrome_Upstream_Group@xxxxxxxxxxxx>,
Yanqing Wang <ot_yanqing.wang@xxxxxxxxxxxx>, Biao Huang
<biao.huang@xxxxxxxxxxxx>
Subject: [PATCH] driver: net: ethernet: mtk_star_emac: fix suspend/resume issue
Date: Wed, 28 May 2025 15:53:51 +0800
Message-ID: <20250528075351.593068-1-macpaul.lin@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-MTK: N
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
From: Yanqing Wang <ot_yanqing.wang@xxxxxxxxxxxx>
Identify the cause of the suspend/resume hang: netif_carrier_off()
is called during link state changes and becomes stuck while
executing linkwatch_work().
To resolve this issue, call netif_device_detach() during the Ethernet
suspend process to temporarily detach the network device from the
kernel and prevent the suspend/resume hang.
Fixes: 8c7bd5a454ff ("net: ethernet: mtk-star-emac: new driver")
Signed-off-by: Yanqing Wang <ot_yanqing.wang@xxxxxxxxxxxx>
Signed-off-by: Macpaul Lin <macpaul.lin@xxxxxxxxxxxx>
Signed-off-by: Biao Huang <biao.huang@xxxxxxxxxxxx>
---
drivers/net/ethernet/mediatek/mtk_star_emac.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/ethernet/mediatek/mtk_star_emac.c b/drivers/net/ethernet/mediatek/mtk_star_emac.c
index b175119a6a7d..b83886a41121 100644
--- a/drivers/net/ethernet/mediatek/mtk_star_emac.c
+++ b/drivers/net/ethernet/mediatek/mtk_star_emac.c
@@ -1463,6 +1463,8 @@ static __maybe_unused int mtk_star_suspend(struct device *dev)
if (netif_running(ndev))
mtk_star_disable(ndev);
+ netif_device_detach(ndev);
+
clk_bulk_disable_unprepare(MTK_STAR_NCLKS, priv->clks);
return 0;
@@ -1487,6 +1489,8 @@ static __maybe_unused int mtk_star_resume(struct device *dev)
clk_bulk_disable_unprepare(MTK_STAR_NCLKS, priv->clks);
}
+ netif_device_attach(ndev);
+
return ret;
}
--
2.45.2
Return-Path: <linux-kernel+bounces-665016-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2139941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:57:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 112C33AFDBD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:56:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2B7C2246348;
Wed, 28 May 2025 07:57:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=cherry.de header.i=@cherry.de header.b="ctmeYbW0"
Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013006.outbound.protection.outlook.com [40.107.162.6])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3C03207DE2;
Wed, 28 May 2025 07:56:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.6
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419021; cv=fail; b=MX0KXXv1dULSzKqcdZkRQq5uCnBvymTPqxA7IO36pMGGt1LNJlkGaF3Efs9RBy7C8jVsKfWbnDnKDne7EPuOURb9V7il/vqu7CS8uXyCmMob9NhPTkaj3Nw/l8MNJKXvH/l66RI7GdXCwcTWxez8IqU6CUBT/awm0Kuow/ftQOI=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419021; c=relaxed/simple;
bh=76T1Vh+iBA5HH93fkjwph9NXWvmDkzOYcHdVesVRsvA=;
h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
Content-Type:MIME-Version; b=nLwOFIUV8cfi5AaFoXLeGZuG1F+dxhR3Pdh1ngG7wP6ZnXgbfD0eUP+TwZ2jE5rq56nRFXCB91MT6cGFAMYwpUyUKOq21tT0VC52I05+KpIKXrEn0ZN864fm1R4ZG3wtE4Vnx6GBO1anq9x20SC+rs9HBi5OgkJDA+IH/tnXANo=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=cherry.de; spf=pass smtp.mailfrom=cherry.de; dkim=pass (1024-bit key) header.d=cherry.de header.i=@cherry.de header.b=ctmeYbW0; arc=fail smtp.client-ip=40.107.162.6
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=cherry.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cherry.de
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=YB0kwjY0cgwPvlSTZrnVWayfi5KkxGWBngB7+1LzO/HRxGxwbXyMNl/JY8g4pSbwITrzLVeG/3lFgW+BisekTJat570OBVpbjq3gn18URtgrd+ESostjmJF0wZQyhq5xztewy4SupcjM0/B8KB45KhV5GQRnRFgSmSr2X4QlMCDmxKKd7/Jf9n23yuGn8WmjP+bRUVRxvLs0Uk0OcCSt7QMou2oezEVx2wtayRbKUno7ENbVkPRLTTq0i2Yh0HfV0tZbZcCuWjPZIcWpZeLFiog+ITxuHw14xXIkWcH8PMMV0tMYMNcKmZ9hfK4ielQLIpCeb/RGO2WSZ4A+PI0oew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=aJGyll++d4N8cr/UuHrqmerbjAl0ICsQjhWR5FgUS84=;
b=Kusbm/uBy9md3Iarj+ShYsbNnLWE6Gf8XtTKHA75OnixIo9+3G6/sCuKMgrIYeXnOU/fWLFmBCsKF6s3iK+1A1zK2Du9QXEDM5i8VouCdBLAvoDnWMDdk9kGS34UtWnq9ecziZd8djzHXFhkKUuOIsytnpASzNxogHF9i33eCJk+RPO1f8QqfdOiDnSo403L1Y0YO/JgAwbfGhryUQ9JmluW5hdYpukAyrdBSNf+vedlUuwVeBpVeGaDg1UFNodT9/ihPCWfZVybXcDQB9nMp+H5IOyOR5iH3FoUgTxGId6j2WtnqDE0Y8UjLIhdf5V0OaYYvCN2Uv0eu5nLG7CQzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=cherry.de; dmarc=pass action=none header.from=cherry.de;
dkim=pass header.d=cherry.de; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cherry.de;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=aJGyll++d4N8cr/UuHrqmerbjAl0ICsQjhWR5FgUS84=;
b=ctmeYbW0pJYBsKJJN3rqO5xJPw+F5k1IEH1JhOhcigdVSK5zHW0wKhPvvaToE7y1AeUHIUztdOdXkqfT+3PdbmpCzTPgwBWpfvdboiMZ8zBa3K4uup+6v6sVQyn0Rqvl4CEPkj7R0ROBFJfjKX4cqWv7tJOj3FSqESuux1ahz/M=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=cherry.de;
Received: from AS8PR04MB8897.eurprd04.prod.outlook.com (2603:10a6:20b:42c::20)
by VI1PR04MB9836.eurprd04.prod.outlook.com (2603:10a6:800:1d9::9) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.33; Wed, 28 May
2025 07:56:53 +0000
Received: from AS8PR04MB8897.eurprd04.prod.outlook.com
([fe80::35f6:bc7d:633:369a]) by AS8PR04MB8897.eurprd04.prod.outlook.com
([fe80::35f6:bc7d:633:369a%4]) with mapi id 15.20.8769.025; Wed, 28 May 2025
07:56:53 +0000
Message-ID: <380ba32b-bb9a-411e-8006-127461cac08a@xxxxxxxxx>
Date: Wed, 28 May 2025 09:56:51 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] arm64: dts: rockchip: support Ethernet Switch adapter
for RK3588 Jaguar
To: Andrew Lunn <andrew@xxxxxxx>, Jakob Unterwurzacher <jakobunt@xxxxxxxxx>
Cc: foss+kernel@xxxxxxxxx, conor+dt@xxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
heiko@xxxxxxxxx, jakob.unterwurzacher@xxxxxxxxx, krzk+dt@xxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-rockchip@xxxxxxxxxxxxxxxxxxx, robh@xxxxxxxxxx,
Kever Yang <kever.yang@xxxxxxxxxxxxxx>
References: <20250523-jaguar-mezz-eth-switch-v2-1-aced8bf6612d@xxxxxxxxx>
<20250527131142.1100673-1-jakob.unterwurzacher@xxxxxxxxx>
<35e0a925-4cba-41de-8fe4-4dd10e8816f1@xxxxxxx>
Content-Language: en-US
From: Quentin Schulz <quentin.schulz@xxxxxxxxx>
In-Reply-To: <35e0a925-4cba-41de-8fe4-4dd10e8816f1@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0082.GBRP265.PROD.OUTLOOK.COM
(2603:10a6:600:8::22) To AS8PR04MB8897.eurprd04.prod.outlook.com
(2603:10a6:20b:42c::20)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR04MB8897:EE_|VI1PR04MB9836:EE_
X-MS-Office365-Filtering-Correlation-Id: 232ff0ac-6d49-4a2a-50dd-08dd9dbd358c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?VlZXT1NWMTVBem91eGw1V3BWTTR1V0NEU08wWHJ0YzBMenQ3SlRYdFJidTF3?=
=?utf-8?B?M1RmZVNLLzZ6T29aZGxTTUFUM2U2bXNaOWw2SDB3STY0RlNVRVNBZCtld1Ew?=
=?utf-8?B?S0pVMTJ3dEtPcHEyYU1lWEpwM0FrbzBKSmVGckpRQXZ0bVBDOXhETFFXQXgx?=
=?utf-8?B?Z0FyazJqSGJYb090T3RrMTY5K21DdSttRUhVQm9hUUhBS2EzOUU0YlJDbHJZ?=
=?utf-8?B?Q0wvWHlyUHlhWU4yTXhvelhWZmpENGd2eCtLRGR5Si9NNFdRaFF2SlNTUS9k?=
=?utf-8?B?NnBkanJuclFKdHY3VEFPc1FVTnRnU3hnbm16ZE9NQXdMc0VvYlhMd3JTdDgx?=
=?utf-8?B?dUN1dVRwb1hFSjRYTllreUI4TE8xUHloQTdTQnd3S1RXL0xoS0MrTWRFWVJF?=
=?utf-8?B?djRTZzk0ZUR6MVQ0ZHpCanhDUHFoV01rV29XUkVlRWl4ZklldHpTLzJER1hY?=
=?utf-8?B?d3FNWGZzRkJPUkd1cUF2Tk1XZ0NaOHRtczZERFdpbUVpZzN5TmNRUXZpWHF6?=
=?utf-8?B?UVhOZU9oOGtTc0Z5VFlMSGd5eGxzQTVFL3RRUlh3aDBGY2RxMy9HcE9jaUJp?=
=?utf-8?B?VWFLcWJhL2FDbk9ib0JlSThuK2RvdEY5YWpDM1Y4Q0NrYUhWK2ZFQ1MyNGc2?=
=?utf-8?B?NlFFcVJMbWtvcjUrcy9QZjVsZkJGZ3B5RjBJRW1IYkFCdy9xWVI0OG16dmZO?=
=?utf-8?B?OXpqeXNlZ2dGM1pjZGM2Z3N5WXdUbTBwUTlxZTFxYVMrY2FtRHo3WERVY3RR?=
=?utf-8?B?cko3YUlnL1U0WktBdEhFcDhZMUNsd1VjUUpsMFdTT0JndnUvc21RdHY5aHlJ?=
=?utf-8?B?VktMRklOdVprSTJ4YlBSK2hqK3REbVdLWms1NFBoY0xaU1cwZkQ4YnhCa1V3?=
=?utf-8?B?bE42a2daVzFkTHRFUjNZWEtXcEREYWpUOUhQWkxIYThuUGNjNTNYZXZWeW5H?=
=?utf-8?B?WjhJM2NISEs0RTkwdXVOVG9ncElQUHFra05DOENxcS9JbDVIVkowa3p5dWF5?=
=?utf-8?B?NnU4L3Fzc21EOUdmMU9obTFSeGFIMWVVYjdBdUMwYS8vTUYzbVJCakhsZkpP?=
=?utf-8?B?TWNIbTdtMVZ5d2VuU0E1UGlwMkYvRjMvTFA4UUNrakNIY3VobEZkY2FSM2Vj?=
=?utf-8?B?Wk92SUdxZmFVVEZTQmluVnduZTFOdWJKeXVucEU3eTFJK1Q2OTRoUENtdmN4?=
=?utf-8?B?L1F6YStXK0hRdG11TUREUnFhb1dLOWEwa2t1TGdVYXFSTnFWZFFXZllMYmhF?=
=?utf-8?B?WVBsNWR0b1RUNjlUSFZ2MlhURlFsZG5SbDJQQ2R3V2RIRkZoaXg2TElBeDk0?=
=?utf-8?B?R1hMU0Z5MTBSUXA4Z3R6dGZReDkydHFaZ29sd0ZMOW93QXBQQUVDUnNDUHZo?=
=?utf-8?B?NjFnYzNvNWdtZXh2QVBpTU84MzFrQ1BQeEdpdGpvdkJzSUxmUVpEMTQvMTd3?=
=?utf-8?B?eTdFd0ZKdU83U2N0S3pselYvYjd2VmpmMm5Kbzh3TFVBbGVlakg3a01GZHIz?=
=?utf-8?B?MW1oaXY3VHA1WnFiSzZRWjV4MFFBNnlUazJacTQ2My92UjF5NjNuMFJHY3hH?=
=?utf-8?B?U1lxYldacWIzRmlZVVg5ZEJvQUF5L3JCN0NKOGVyMEJ4VXMzN0diVk1qTzg2?=
=?utf-8?B?Wk9NRXFSbFY4a0Zua3Q3Z1hxbGNMbk9IWHlTYVBBOTVLWEhzemQ0Tm11U3VK?=
=?utf-8?B?ZmNUWjdmWlF1SUZIc0ZnWnIzVExRRnhsOEdWWWExckZNVmRDdkZ4NDBtQkRQ?=
=?utf-8?B?QmZjakhzSmsvOXYySDJPWFhLdDVlcGR6YnpmaHF0UnVQcCtsL2tpQTYvYUYw?=
=?utf-8?B?d0xDZHVjUnh5Rk0vRnNsa0NSNWxmSUlWRzV6L0V4eHNJUVo0TlVOSkZVYStt?=
=?utf-8?B?M3E3WjE3UTdIZFZMRmw0MFV3ODMyc3dGRExWbVRGRWREbmJ0SmZpUEg4aVBU?=
=?utf-8?Q?5E/J0BoNGpA=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8897.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?cko0RDNWd2xjL3cxd3E5MHk5STFxeXdRWUdFOGF3UUUwbWtwQ0loVDhSMHhW?=
=?utf-8?B?YkF6VVRleHRXT2x4VGV6bTRBQVMxaVptdjBVem5VUkYzTnZuOHJhdTFsOTZO?=
=?utf-8?B?R3FDSkR4Q05sMWt5UXRsTVZDMEdLclNqZUJpc25ycDc4eS8rMlcrL3hwamlv?=
=?utf-8?B?enplbHhabWNGZkVaN1pIam1KUnY2bm9MVCtiU2t5dFpFNXRtei8yNnV5djlF?=
=?utf-8?B?RjJXNTk5SHpmU1o2RXBJRXNxM2RHRm4rNGQ3NCtoVDdmbDZra050N1dOUU51?=
=?utf-8?B?OGFINHEzL3RYbHZMdXlrNWxyZEpIUkdLL2lEVlJCNHdEdkdnNHdEL1RXWFAy?=
=?utf-8?B?MDhkeXdIZjFOM01vbFNmTmF2WExmN3pYejJLZERaa0R6dFc0cnFmeGZ1RFZx?=
=?utf-8?B?SzJUN0RrMnBSWUhHUlh0c0Y0UUFMaGxoWWR4cUd0SS91K3JzZkFqTmZidzVD?=
=?utf-8?B?YWs3UWFUdUF4STJqT09WM0g5TWFtck9CdzRrZjhyMzBNSEZ1RnMzbzFpdzdx?=
=?utf-8?B?dUxodGFhc0RObFB6ck5DRTdSd0hSRUpjY2Y4VzlGVnlseHc3RUl0Rnh0WGFj?=
=?utf-8?B?V0hmYWJSSkNNd1F2RjRBTHRBbmt5bVlQOU9neHlVb2dmME81QmVxd204dHk2?=
=?utf-8?B?cldDZkczVkxNR1RqY2ExN0MzNVpQa1doZzNNVFdDNnBsMGJWWWxkME1rMlBo?=
=?utf-8?B?Z01aN2JLbVJNa29RekZ1TlM5UjJMWXBlZjJReDZJVGxaeEtqcXQ5Z1FWSi9X?=
=?utf-8?B?WEVKY09kLzZRR3F5YVBLVnQyc2ZtdVhTL09hNHRqaUc1ZldjMFEzeUVvZVgv?=
=?utf-8?B?SUZmQnkzdGJJSDRQeXo5OTZIc3RuOVFkRCt4VzR0UTAzaE5VdVZqdDlweFMz?=
=?utf-8?B?Y1g4Mkt5UEd0OWN4bGs4NkVVYzR2eFkxNEU5ZW0yR1dVWkNJNlR4U3A5ejFR?=
=?utf-8?B?MmRQb3o2bXlpTU04Q0VDc0RVbzFUazdpRFdXZVhqRXJuK1Jja2VHRHR4V29B?=
=?utf-8?B?d2RhZDBzSmN4cUI4UHRKZVE3cDNQcW9veWZXL0ZWdlUxTzduQjlkSWEwZzBT?=
=?utf-8?B?bGVzV1pmVFRLbDFocHBXVk5PZTJ4SjdTVHlSNnQ3RVo4ZnNDM2kyT3N2TCtE?=
=?utf-8?B?bExqN1ZDL2wxUWR3ck5pdXMvUWUzQ2xQMEdZMlhtQUordGs3T2Q2eU9qQWVH?=
=?utf-8?B?UmdqalJ0Y1RzcDFKUUNGWmFLZVZzZ1Bxb1BQVC85cVVlMWRTVGdOV0VEUFJH?=
=?utf-8?B?dmF2d0JLMjc5WmZuLy9WZmIwK3JoeVM1QWR1VE4xcVF1cGRRc0prT0VFZFVI?=
=?utf-8?B?blMwM1JpN3FCSUlGVU5HTzdXUGgveDZ3NEY4VHdKNVpJUURSbTRzWmJScklV?=
=?utf-8?B?NTZzdklMWmZVY3VDd2hMWUo2VC94VXl0eEJGZXB2OGl4MnNYT2N3Yy8xOGxy?=
=?utf-8?B?eklFMmZYWWpsOThkNjBqWEczOVEyOUxTMUE2NU5kbWR2NUpzVTFPRDgxdTU3?=
=?utf-8?B?YkoyRk96Ykd5Vi9ibDJxT0ROK3AycW4xSFZxTjMySEJCbkVXV050R1IrZHN3?=
=?utf-8?B?eGtXMXVINGNreXNqMEtNb1F1LzBxNjAxaXdUM0VEZ0VWMWVmZzFtVmtieUZm?=
=?utf-8?B?eGNwWVhWbWoyMUhuc2lVWWVrRXZ0anpmM2JyTmp1MmhoWTJHdytqbnhDeFRW?=
=?utf-8?B?bW11WU9rcjRWK2FTYVo4MjJieXJsaDJMWTBiSUtVTTZPcXZETVJBTlhDbkln?=
=?utf-8?B?alhFb2o2c2xwUCtuNHBBUXBSelBDUlBoR1ZIRGVkT0c4REJsTVMxSjNJelRs?=
=?utf-8?B?SzFYblhQTzhtRHFQTlljdVY5SmpZdzUyN1RZUkJiczFQcFBsME1SWEltUXM2?=
=?utf-8?B?SzZDbWRIK3hLcVlQQlltdUNDVGxVZTJ3RjhiNFVLZTNjdStPT0tId0dZQ3NX?=
=?utf-8?B?aWJzRWhiUVVlZGp5L3hCZHZ0dERIRHJxT1QrTTZjVk9wYTdlamhWNk5LaUdR?=
=?utf-8?B?dmdwRWVPeCsyUjJPcFRiWVY5eUlGdjNuaWNzWVFmT3VTRFlvZTQyUVFzbFlQ?=
=?utf-8?B?R2ZBSGNmRWJENGF0NFJPR3RxVFArenJsK2tiUnc0UDFTV2swdEp2UFBncEQ0?=
=?utf-8?B?SEYyTGwyU2s1cWszL2QzWGdsRjFydVFsbHhzbWhORnZ6aDBpbkJHWjg5TjE4?=
=?utf-8?B?R2c9PQ==?=
X-OriginatorOrg: cherry.de
X-MS-Exchange-CrossTenant-Network-Message-Id: 232ff0ac-6d49-4a2a-50dd-08dd9dbd358c
X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8897.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 07:56:53.0938
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 5e0e1b52-21b5-4e7b-83bb-514ec460677e
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lcePiZqUjzWtwtxKdkXckOkezBnlPdJfhPqZMfDH21cBGSrUkyTOnu/qoPuCOeXms1JumHcDb9SfcUiDzlys8fk7vnakjAyjc+xGKOCQdo4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9836
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Andrew,
On 5/27/25 6:18 PM, Andrew Lunn wrote:
> On Tue, May 27, 2025 at 03:11:42PM +0200, Jakob Unterwurzacher wrote:
>>> @Jakob, is this something you could check? devmem2 0xfd58c31c w 0x3c0000
>>> should do the trick to disable the circuitry according to the TRM?
>>
>> I measured TXCLK vs TXD3 on an oscilloscope on gmac1:
>>
>> Setting Decimal Actual TXCLK delay (ps)
>> 00 0 47
>> 0a 10 283
>> 10 16 440
>> 20 32 893
>> 30 48 1385
>> 40 64 1913
>> 50 80 2514
>> 60 96 3077
>> 70 112 3565
>> 7f 127 4009
>>
>> off x -315
>>
>> Setting = tx_delay (hex)
>> Decimal = tx_delay (dec)
>> Actual TXCLK delay (ps) = Measurement from oscilloscope
>>
>> Plotting this we can deduce that one tx_delay unit is about 31ps.
>
> Nice to see somebody actually do the measurements. Based on this, it
> would be good to implement:
>
> tx-internal-delay-ps:
> description:
> RGMII Transmit Clock Delay defined in pico seconds. This is used for
> controllers that have configurable TX internal delays. If this
> property is present then the MAC applies the TX delay.
>
> For the moment, please limit it to just the device you measured it on.
>
What exactly do you mean with "limit it to just the device you measured
it on"?
I'll need to implement reading the delay from the stmmac driver to use
this property, do I need to restrict reading this property to the SoC we
tested (RK3588)? Or should I just apply it indiscriminately (considering
that no Rockchip board actually set this property in its DT?) and let
future users fix up the scale for the other SoCs whenever they want to
use this property?
I assume you're then expecting tx-internal-delay-ps only on this new
DTSO's gmac1?
Would you still want rx_delay/tx_delay to be set to 0x00? Maybe only
rx_delay since we won't have a companion rx-internal-delay-ps for now
(until someone from Rockchip answers :); adding Kever back to the Cc for
that)? Or should I remove both of them?
Is this request blocking the merging of this DTSO patch or would a
follow-up series be okay?
Cheers,
Quentin
Return-Path: <linux-kernel+bounces-665017-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 844E141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:57:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id BA7E13B5DF7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:57:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D4174246774;
Wed, 28 May 2025 07:57:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="E12zlNVr"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1AFC1246333
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:57:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419041; cv=none; b=kN+UNexsc0dMl2t954Ak/PZgojuOAVItLji31IogDp8RDIc4+hKTUjym/QpkTlcuvo/2EaIcnXlTdGZjQfA83R4s5dcwpq/aHXbEOXGpWL6f6DqvytBdxddWKVier5OwJ9K2h1rSV7wsAKMghpB6LgWEdceJkEEeWaDa4NEtMz8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419041; c=relaxed/simple;
bh=++Q4mKF98cD+c18CNdwprn8yWU8Z/zioCJe8t2w0Kb4=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=VRtXy/kS6oYTYBbFGHLp9aKKD2lrEaTkJCyW2dPHgKCmarh3GQtRTveDH9rnzmPl8Nt8klygSDUdns94x6iXTwfLSy+4JkN4xGnzCCMtjbjbEOdEEzJJ2lUm3OdBXvNkoPGDamkFCtquCYwbCVRHmSqPgUKrBankPPmD3ab1atw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=E12zlNVr; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748419039;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=iar4upBixTl9NYOuefrehoa64+W7FsckxVPaK+xP0LI=;
b=E12zlNVrv0UBVB8w84PwURbopaPGIP7vY2+Fx1zMc5Kxjf2spxhtmJxUgQU7pYn3ZmhTMx
qNl/Vd04dEyImn0aBILCVA+Jp2xZu7iZYYWrc9qD82AlJShlMC+p9KJq0TXzECp1o0pPgk
4qKLm/mWypx2bbrKw4zdXJEENCK5TR4=
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
[209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-661-BChBfZbUOmOExrSuAXn72Q-1; Wed, 28 May 2025 03:57:15 -0400
X-MC-Unique: BChBfZbUOmOExrSuAXn72Q-1
X-Mimecast-MFC-AGG-ID: BChBfZbUOmOExrSuAXn72Q_1748419034
Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-43cec217977so24113455e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 00:57:15 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419034; x=1749023834;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=iar4upBixTl9NYOuefrehoa64+W7FsckxVPaK+xP0LI=;
b=Mlc2W+Zej/Qzn3I6sdJHxa7yB1qRUkKniNtwLcujTxz2Ws8AcB/GoL+Vj7yJe8hvuf
pjxtJ+ZfZ7eBOO8aUdz3kIAooewqhrlDY1tkEWbFuM3zjNlQpJ+a4kM0Q7ofnhrMA7Dp
XQijICNlSI1E/CgMTknKhR2MZIbA4G9zv0WSVA/FYPV5tKjpRGrWuaopLTQLb/ESwxsS
pDc3tB3chnZocVLdXHhJYG1kmCqXWnA4AUwMNVDjaqkhMtMXQFEaOoLv0nnFdUT1JfwI
MexhKGZkXxHaNBgs2nK2O2co3WnJBrmJHrWoZC28RJGyhwPF5ZSiHy3dbI5bzrJMTVbg
2yqw==
X-Forwarded-Encrypted: i=1; AJvYcCUGudIUmxu4fWyiAxdHKpQfv4a4JuQLvaFjMzOVxiechcnQV3hNUsPXT5KsmNQ6+1vCLoakArCT2QmbByQ=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy7qoPHtShDZLf8rtGK1o/dCVQLA29WNx0VXcn6Nm70tUyykWzg
td/Ir6y7/rcWJQLHB4DBCdVPMR/TSIHR7t1dbXuqroSEmxbph7Wv6bBvrpCv2UE3cBYA7KvCyK+
ETfPGo96mBt68U0XZf1SruxUfZ/b/A2yoDEKegf5aqu27cmxJexn+F+1qdeXKZlYTlw==
X-Gm-Gg: ASbGncsIjdjTWm3i/OJDlg58+qq6AAqZagFV3cNr1RFvzwSrIAb7keyGGB5+c6pL7kd
JjZkCC98ueJfZvs9X1qy8c6BU6PqsfzQcMDkUjWJhQAf6CjXoU0dGA3Yv05QHLjGBcVEQc1hvte
A92nwNBckBhXTeBHNttNeHEC45llnqo7XEhkSqlnS7SwQFesgFDjR5iF9iTNBIL0wOtV/YwYAYg
sUnoEJNSLVKAGRbyK9vIL7K5c85StHpx1/grhDBDqMsMNoyk/fDoJBlwXl1Q2Wokqc2Kuob/Ysv
tj4/1mUoKWQvS2q+mlo1eRpi26ybIdBvirutuG0vskpdPCevBshjcNEzi233
X-Received: by 2002:a05:600c:8283:b0:43d:45a:8fca with SMTP id 5b1f17b1804b1-44c94c2a4c6mr144954595e9.30.1748419034131;
Wed, 28 May 2025 00:57:14 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEMJo+Ct94cj0YyB7i6b94aZWFudVWZko8nkaONnu4gYPe+xjPHrearFkc8yOOEVQn4tCzDyQ==
X-Received: by 2002:a05:600c:8283:b0:43d:45a:8fca with SMTP id 5b1f17b1804b1-44c94c2a4c6mr144954225e9.30.1748419033483;
Wed, 28 May 2025 00:57:13 -0700 (PDT)
Received: from sgarzare-redhat (host-82-53-134-35.retail.telecomitalia.it. [82.53.134.35])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm12831655e9.17.2025.05.28.00.57.11
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 00:57:12 -0700 (PDT)
Date: Wed, 28 May 2025 09:57:04 +0200
From: Stefano Garzarella <sgarzare@xxxxxxxxxx>
To: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx, jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx,
Yinggang Gu <guyinggang@xxxxxxxxxxx>, Huacai Chen <chenhuacai@xxxxxxxxxxx>
Subject: Re: [PATCH v10 4/5] tpm: Add a driver for Loongson TPM device
Message-ID: <7ifsmhpubkedbiivcnfrxlrhriti5ksb4lbgrdwhwfxtp5ledc@z2jf6sz4vdgd>
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx>
<20250528065944.4511-5-zhaoqunqin@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Disposition: inline
In-Reply-To: <20250528065944.4511-5-zhaoqunqin@xxxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 02:59:43PM +0800, Qunqin Zhao wrote:
>Loongson Security Engine supports random number generation, hash,
>symmetric encryption and asymmetric encryption. Based on these
>encryption functions, TPM2 have been implemented in the Loongson
>Security Engine firmware. This driver is responsible for copying data
>into the memory visible to the firmware and receiving data from the
>firmware.
>
>Co-developed-by: Yinggang Gu <guyinggang@xxxxxxxxxxx>
>Signed-off-by: Yinggang Gu <guyinggang@xxxxxxxxxxx>
>Signed-off-by: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
>Reviewed-by: Huacai Chen <chenhuacai@xxxxxxxxxxx>
>---
>v10: Added error check in send and recv callbak
>
>v9: "tpm_loongson_driver" --> "tpm_loongson"
> "depends on CRYPTO_DEV_LOONGSON_SE" --> "depends on MFD_LOONGSON_SE"
>
>v8: In the send callback, it will wait until the TPM2 command is
> completed. So do not need to wait in the recv callback.
> Removed Jarkko's tag cause there are some changes in v8
>
>v7: Moved Kconfig entry between TCG_IBMVTPM and TCG_XEN.
> Added Jarkko's tag(a little change, should be fine).
>
>v6: Replace all "ls6000se" with "loongson"
> Prefix all with tpm_loongson instead of tpm_lsse.
> Removed Jarkko's tag cause there are some changes in v6
>
>v5: None
>v4: Prefix all with tpm_lsse instead of tpm.
> Removed MODULE_AUTHOR fields.
>
>v3: Added reminder about Loongson security engine to git log.
>
> drivers/char/tpm/Kconfig | 9 ++++
> drivers/char/tpm/Makefile | 1 +
> drivers/char/tpm/tpm_loongson.c | 84 +++++++++++++++++++++++++++++++++
> 3 files changed, 94 insertions(+)
> create mode 100644 drivers/char/tpm/tpm_loongson.c
>
>diff --git a/drivers/char/tpm/Kconfig b/drivers/char/tpm/Kconfig
>index dddd702b2..ba3924eb1 100644
>--- a/drivers/char/tpm/Kconfig
>+++ b/drivers/char/tpm/Kconfig
>@@ -189,6 +189,15 @@ config TCG_IBMVTPM
> will be accessible from within Linux. To compile this driver
> as a module, choose M here; the module will be called tpm_ibmvtpm.
>
>+config TCG_LOONGSON
>+ tristate "Loongson TPM Interface"
>+ depends on MFD_LOONGSON_SE
>+ help
>+ If you want to make Loongson TPM support available, say Yes and
>+ it will be accessible from within Linux. To compile this
>+ driver as a module, choose M here; the module will be called
>+ tpm_loongson.
>+
> config TCG_XEN
> tristate "XEN TPM Interface"
> depends on TCG_TPM && XEN
>diff --git a/drivers/char/tpm/Makefile b/drivers/char/tpm/Makefile
>index 9de1b3ea3..5b5cdc0d3 100644
>--- a/drivers/char/tpm/Makefile
>+++ b/drivers/char/tpm/Makefile
>@@ -46,3 +46,4 @@ obj-$(CONFIG_TCG_ARM_CRB_FFA) += tpm_crb_ffa.o
> obj-$(CONFIG_TCG_VTPM_PROXY) += tpm_vtpm_proxy.o
> obj-$(CONFIG_TCG_FTPM_TEE) += tpm_ftpm_tee.o
> obj-$(CONFIG_TCG_SVSM) += tpm_svsm.o
>+obj-$(CONFIG_TCG_LOONGSON) += tpm_loongson.o
>diff --git a/drivers/char/tpm/tpm_loongson.c b/drivers/char/tpm/tpm_loongson.c
>new file mode 100644
>index 000000000..5cbdb37f8
>--- /dev/null
>+++ b/drivers/char/tpm/tpm_loongson.c
>@@ -0,0 +1,84 @@
>+// SPDX-License-Identifier: GPL-2.0
>+/* Copyright (c) 2025 Loongson Technology Corporation Limited. */
>+
>+#include <linux/device.h>
>+#include <linux/mfd/loongson-se.h>
>+#include <linux/platform_device.h>
>+#include <linux/wait.h>
>+
>+#include "tpm.h"
>+
>+struct tpm_loongson_cmd {
>+ u32 cmd_id;
>+ u32 data_off;
>+ u32 data_len;
>+ u32 pad[5];
>+};
>+
>+static int tpm_loongson_recv(struct tpm_chip *chip, u8 *buf, size_t count)
>+{
>+ struct loongson_se_engine *tpm_engine = dev_get_drvdata(&chip->dev);
>+ struct tpm_loongson_cmd *cmd_ret = tpm_engine->command_ret;
>+
>+ if (cmd_ret->data_len > count)
>+ return -EIO;
>+
>+ memcpy(buf, tpm_engine->data_buffer, cmd_ret->data_len);
>+
>+ return cmd_ret->data_len;
>+}
>+
>+static int tpm_loongson_send(struct tpm_chip *chip, u8 *buf, size_t count)
>+{
>+ struct loongson_se_engine *tpm_engine = dev_get_drvdata(&chip->dev);
>+ struct tpm_loongson_cmd *cmd = tpm_engine->command;
>+
>+ if (count > tpm_engine->buffer_size)
>+ return -E2BIG;
>+
>+ cmd->data_len = count;
>+ memcpy(tpm_engine->data_buffer, buf, count);
>+
>+ return loongson_se_send_engine_cmd(tpm_engine);
>+}
>+
>+static const struct tpm_class_ops tpm_loongson_ops = {
>+ .flags = TPM_OPS_AUTO_STARTUP,
>+ .recv = tpm_loongson_recv,
>+ .send = tpm_loongson_send,
>+};
>+
>+static int tpm_loongson_probe(struct platform_device *pdev)
>+{
>+ struct loongson_se_engine *tpm_engine;
>+ struct device *dev = &pdev->dev;
>+ struct tpm_loongson_cmd *cmd;
>+ struct tpm_chip *chip;
>+
>+ tpm_engine = loongson_se_init_engine(dev->parent, SE_ENGINE_TPM);
>+ if (!tpm_engine)
>+ return -ENODEV;
>+ cmd = tpm_engine->command;
>+ cmd->cmd_id = SE_CMD_TPM;
>+ cmd->data_off = tpm_engine->buffer_off;
>+
>+ chip = tpmm_chip_alloc(dev, &tpm_loongson_ops);
>+ if (IS_ERR(chip))
>+ return PTR_ERR(chip);
>+ chip->flags = TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_IRQ;
Why setting TPM_CHIP_FLAG_IRQ?
IIUC this driver is similar to ftpm and svsm where the send is
synchronous so having .status, .cancel, etc. set to 0 should be enough
to call .recv() just after send() in tpm_try_transmit(). See commit
980a573621ea ("tpm: Make chip->{status,cancel,req_canceled} opt")
BTW, I think I should touch also this driver in the next version of my
series that I'll send after the merge window:
https://lore.kernel.org/linux-integrity/20250514134630.137621-1-sgarzare@xxxxxxxxxx/
The rest LGTM!
Thanks,
Stefano
>+ dev_set_drvdata(&chip->dev, tpm_engine);
>+
>+ return tpm_chip_register(chip);
>+}
>+
>+static struct platform_driver tpm_loongson = {
>+ .probe = tpm_loongson_probe,
>+ .driver = {
>+ .name = "loongson-tpm",
>+ },
>+};
>+module_platform_driver(tpm_loongson);
>+
>+MODULE_ALIAS("platform:loongson-tpm");
>+MODULE_LICENSE("GPL");
>+MODULE_DESCRIPTION("Loongson TPM driver");
>--
>2.45.2
>
>
Return-Path: <linux-kernel+bounces-665018-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 21E1241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:58:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 982141BC3001
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:58:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0AED0246774;
Wed, 28 May 2025 07:58:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b="evO/lKUw"
Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [78.32.30.218])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 042283C01;
Wed, 28 May 2025 07:58:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=78.32.30.218
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419109; cv=none; b=i7Nyz41Ro0DpSt79nFRjiR2fpCcaJR0NgU55D+VllbQBiC/hL8PEaucF/NCjsAyv5t6nPd9n0+hw2exazf7zpCMl77IYhC5O95WhI+xbmnf9oWk2iShsy1i59ZE9bqiHZLMlIXmWB6b743NoaPVNTPIJ5/e+WuldMGaK1ltGbpU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419109; c=relaxed/simple;
bh=EhB0hPfGz22xprRM8wkMV43cCAg/VXZ3QzUsu3SMRdg=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=D0uO688b8a67swKaZObZNFcF31dTjmBWGoGiPAdhg2EjxSz1J4JJb+qqwgtJVpi7eNlRItc3G4RAWE6GV9thkwNFs+XIeMu00Iw40y5pm6mKY6aOUk63cbCnhkebA4VhPNtxCcKEWUXIOTfbT65ZeZ9/PSPZDMlEYG/+ck2/owE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=armlinux.org.uk; spf=none smtp.mailfrom=armlinux.org.uk; dkim=pass (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b=evO/lKUw; arc=none smtp.client-ip=78.32.30.218
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=armlinux.org.uk
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=armlinux.org.uk
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To:Content-Type:
MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To:
Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:
Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:
List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;
bh=IFyA/Ev6J4dUYbbORf9U6czVrOpgGxA4vABlRFXcEts=; b=evO/lKUw5MnJ7tsXnKrD9jnoqg
b+PYF3g+tT3s31UjYVEVLUGD4QbVFxAfDe3jTt6zSBYs+BqcW7L4o5H/4lV7IAFO87k6z8drWy5fa
+vScF2jVlpn9cLiY4WYiOtgEi5WgKmCMIPgwHxusoT7b3o06F4DVQjoJZe9dfpVaBHibLWbrJd6IW
Gu1oxMalrZustOdJN5UvUSgvwrh1CdrLPzbN+K2eLneCuzGPxEUMaOW3MhnK4aFdt455xrGh5qZC7
Zo/NTYKwb6lkek7YVLTY6lXsIjJqz+8AwcuyThkWfOmH+M4By7TooetgF5MUQQ5zdFOoTXrpTeUEt
P7lO75mA==;
Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:41916)
by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
(Exim 4.96)
(envelope-from <linux@xxxxxxxxxxxxxxx>)
id 1uKBg3-0008Nv-1S;
Wed, 28 May 2025 08:58:19 +0100
Received: from linux by shell.armlinux.org.uk with local (Exim 4.96)
(envelope-from <linux@xxxxxxxxxxxxxxxxxxxxx>)
id 1uKBfw-0002GD-2Q;
Wed, 28 May 2025 08:58:12 +0100
Date: Wed, 28 May 2025 08:58:12 +0100
From: "Russell King (Oracle)" <linux@xxxxxxxxxxxxxxx>
To: "Abhishek Chauhan (ABC)" <quic_abchauha@xxxxxxxxxxx>
Cc: Jitendra Vegiraju <jitendra.vegiraju@xxxxxxxxxxxx>,
Andrew Lunn <andrew@xxxxxxx>, netdev@xxxxxxxxxxxxxxx,
alexandre.torgue@xxxxxxxxxxx, joabreu@xxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, edumazet@xxxxxxxxxx, kuba@xxxxxxxxxx,
pabeni@xxxxxxxxxx, mcoquelin.stm32@xxxxxxxxx,
bcm-kernel-feedback-list@xxxxxxxxxxxx, richardcochran@xxxxxxxxx,
ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx, hawk@xxxxxxxxxx,
john.fastabend@xxxxxxxxx, fancer.lancer@xxxxxxxxx,
ahalaney@xxxxxxxxxx, xiaolei.wang@xxxxxxxxxxxxx,
rohan.g.thomas@xxxxxxxxx, Jianheng.Zhang@xxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
horms@xxxxxxxxxx, florian.fainelli@xxxxxxxxxxxx,
Sagar Cheluvegowda <quic_scheluve@xxxxxxxxxxx>
Subject: Re: [PATCH net-next v6 0/5] net: stmmac: Add PCI driver support for
BCM8958x
Message-ID: <aDbCFGIi09h1irho@xxxxxxxxxxxxxxxxxxxxx>
References: <20241018205332.525595-1-jitendra.vegiraju@xxxxxxxxxxxx>
<CAMdnO-+FjsRX4fjbCE_RVNY4pEoArD68dAWoEM+oaEZNJiuA3g@xxxxxxxxxxxxxx>
<67919001-1cb7-4e9b-9992-5b3dd9b03406@xxxxxxxxxxx>
<CAMdnO-+HwXf7c=igt2j6VHcki3cYanXpFApZDcEe7DibDz810g@xxxxxxxxxxxxxx>
<7ac5c034-9e6d-45c4-b20a-2a386b4d9117@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <7ac5c034-9e6d-45c4-b20a-2a386b4d9117@xxxxxxxxxxx>
Sender: Russell King (Oracle) <linux@xxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 05:04:52PM -0700, Abhishek Chauhan (ABC) wrote:
> Thanks Jitendra, I am sorry but just a follow up.
>
> Do we know if stmmac maintainer are identified now ?
>
> Andrew/Russell - Can you please help us ?
My mainline work is in abayence at the moment (apart from occasionally
replying to a few emails from time to time) as I have other commitments
at the moment. I still have my own patches from before the previous
merge window that I didn't get around to submitting.
Sorry, I'm not in a position to help right now.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Return-Path: <linux-kernel+bounces-665019-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2270241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:58:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 163284A4962
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:58:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E712124676B;
Wed, 28 May 2025 07:58:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="MZY20TUS"
Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 63D5A1DE4F1;
Wed, 28 May 2025 07:58:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.132.182.106
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419124; cv=none; b=eAGNdVBBJ99ZfY//uBd7bklEHNmhRxq0pvkpua1MHRmSwXHGix/ukOdQ5FiLhtykyiCqMzg81syxwHddyFVcwTPAMuHyr65TQjzJzFOxKj2u16j3vffH3OerBr1ok6w+RgmvHM6RB1KSWUTTtLsugykkOwE6H6m/x7288eG8x9g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419124; c=relaxed/simple;
bh=GwAIH0J4QxodC4TBbWXZN0g8BBoWbus+4IO1ifLIQZ4=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=XEuXVlqt30kJX25hTbl4CGrKlgJfOeG3l9KTiILgvwf7/vOBwh0yoh2wtEvQpBR91g3TnXgSIgu5TuK/MjBEsoxvA3C3Q/68h71kjFxLRPKkfm+7GrXuidy2LDX9oTCU9dhlV1spjvSBiz5XKd9uo+vsNIc1kPyeD7xe6idfDX4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=MZY20TUS; arc=none smtp.client-ip=185.132.182.106
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com
Received: from pps.filterd (m0288072.ppops.net [127.0.0.1])
by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S5K2Zc023650;
Wed, 28 May 2025 09:58:20 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=selector1; bh=
zs/m0sTwjcc/cPY4fbpGq8K8yrAOAzwWnhRtkFcb4oA=; b=MZY20TUSWorsKXkH
iZj2sXs6x5m2C5ADe4PIn1Ww24WqZxmm5Y0Nq3c+oiIck/cUZFB0vYxUbNYoWoPJ
yA0aQQ9f/469vaJMc2ScDZV4sNyfRF9faM8D9bqX5d6dVQLeVroAq3nNfLdIl3yz
QdFNDPs99aNgY95rsUYhltqttb88A147ZFAEoGPMCW0vz9XHg0G9bvZu+GZDxyLQ
xHugAG5+4JAtbTW3JrfktXlgc3LbzcscjNU+ZGj2wxwoAixkC3CyhYy2RtFApu3V
EbtGzyxVyKVqvD1LdjJmI0OLhiw4ul+xFt9cMWl6GZ4ocrrVToGUoGG7236MNtbT
3X3rTQ==
Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35])
by mx07-00178001.pphosted.com (PPS) with ESMTPS id 46u3hk84u6-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:58:20 +0200 (MEST)
Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20])
by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id 1A40240046;
Wed, 28 May 2025 09:57:03 +0200 (CEST)
Received: from Webmail-eu.st.com (shfdag1node1.st.com [10.75.129.69])
by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 9B9E5B27A38;
Wed, 28 May 2025 09:55:46 +0200 (CEST)
Received: from [10.48.87.141] (10.48.87.141) by SHFDAG1NODE1.st.com
(10.75.129.69) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 28 May
2025 09:55:46 +0200
Message-ID: <bd6c5a45-f6ee-4cdc-99fe-6af22e30015b@xxxxxxxxxxx>
Date: Wed, 28 May 2025 09:55:38 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Input: gpio-keys - fix a sleep while atomic with
PREEMPT_RT
To: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
CC: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>,
Clark Williams
<clrkwllms@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Paul Cercueil
<paul@xxxxxxxxxxxxxxx>, <linux-input@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-rt-devel@xxxxxxxxxxxxxxx>,
Fabrice
Gasnier <fabrice.gasnier@xxxxxxxxxxx>
References: <20250526-gpio_keys_preempt_rt-v1-1-09ddadf8e19d@xxxxxxxxxxx>
<20250526141321.FcXEgnV4@xxxxxxxxxxxxx>
<661af124-3072-4dcf-b613-ec3e48549626@xxxxxxxxxxx>
<20250527144159.Dcstk83c@xxxxxxxxxxxxx>
Content-Language: en-US
From: Gatien CHEVALLIER <gatien.chevallier@xxxxxxxxxxx>
In-Reply-To: <20250527144159.Dcstk83c@xxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To SHFDAG1NODE1.st.com
(10.75.129.69)
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello Sebastian,
On 5/27/25 16:41, Sebastian Andrzej Siewior wrote:
> On 2025-05-27 15:36:37 [+0200], Gatien CHEVALLIER wrote:
>> Hello Sebastian,
> Hello Gatien,
>
>> Can you elaborate on "This flag change makes not difference on
>> !PREEMPT_RT" please? IIUC,this makes the callback not run in hard IRQ
>> context, even in !PREEMPT_RT, no?
>
> If you set
> - HRTIMER_MODE_REL_HARD
> then the callback runs in
> - hardirq context on !PREEMPT_RT
> - hardirq context on PREEMPT_RT.
>
> - HRTIMER_MODE_REL
> then the callback runs in
> - hardirq context on !PREEMPT_RT
> - preemptible softirq on PREEMPT_RT.
>
> - HRTIMER_MODE_REL_SOFT
> then the callback runs in
> - softirq context on !PREEMPT_RT
> - preemptible softirq on PREEMPT_RT.
>
> Therefore if you switch HRTIMER_MODE_REL_HARD -> HRTIMER_MODE_REL then
> it is a nop on !PREEMPT_RT.
>
Thank you for the details.
>> Regarding the need of the spin_lock: gpio_keys_irq_timer() and
>> gpio_keys_irq_isr() appear to access the same resources. Can't we
>> have a concurrent access on it from:
>> HR timer interrupt // GPIO interrupt?
>
> Yes, it could.
>
>> But looking back at the patch, this situation does not depend on
>> the HRTIMER_MODE_REL_HARD flag. So maybe it should be addressed
>> separately.
>
> Yes, please.
>
Ok, I will do that in V2
>> On the other hand, I should use the new
>> guard(spinlock_irqsave)(&bdata->lock);
>
> Yes, please. The other instance already does so.
>
> Sebastian
Ok
Best regards,
Gatien
Return-Path: <linux-kernel+bounces-665020-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4ACF441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:59:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8A8C03AF14D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:59:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AB03A24635E;
Wed, 28 May 2025 07:59:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=beagleboard-org.20230601.gappssmtp.com header.i=@beagleboard-org.20230601.gappssmtp.com header.b="NTABLokc"
Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E582D1F8728
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:59:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419165; cv=none; b=PLcwO7qv7KOlTrtjKhG06btiNuOCsWUdd8UMxOEa4Wjt98CpTIEuPvgdxQ4C9rnyq3DOhACGkJ71zoCH9Ko9mB4v30Rjjb4Gf0hW3I+rgelPasyy3lFE+ldolU5CcM4nqxOSMEcl9ySyUiGuJuhFKQSLQHk80mWDw/1wy3vtbgw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419165; c=relaxed/simple;
bh=lTpKD/0DenivGi6z0137m81o+V5ysUx2nV8K0HXyN9w=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=A3rANg0wEutBSXkoPzZFT39L9t1SAjcBSmgE/BwaGCgiJy7RGNpHfWIhHiFDFjMDkPAhNJHYoQJH3TFKIEuh0WtfdvZ6q6LhWJsbkP8SIjZcdyfUlYz1StDl9pZhpH8aY3f/fE8ZJBaPica5oTPboQCVlmcs67nChsPpT0GehS4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=beagleboard.org; spf=fail smtp.mailfrom=beagleboard.org; dkim=pass (2048-bit key) header.d=beagleboard-org.20230601.gappssmtp.com header.i=@beagleboard-org.20230601.gappssmtp.com header.b=NTABLokc; arc=none smtp.client-ip=209.85.214.172
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=beagleboard.org
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=beagleboard.org
Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-234d3261631so1889965ad.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 00:59:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=beagleboard-org.20230601.gappssmtp.com; s=20230601; t=1748419162; x=1749023962; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=4S1CZW2QhVODXn5wyDF2trheqRunplrz19cyZTEBaFI=;
b=NTABLokcS6bGT9ndtFEYuJl0txh0ugGOYIhMraS0kZ/yi6YQUG+H7LCW2An3TxwZ62
Zagryqbby+XSoPd2/7l4WcIawQiCv5VJJ94dEwZMSih6yHbPg+VDEpkjVQJqZ0Emsz2Q
EsuhboNkyYKWGWUyZJwBX9dFwyuW6taBOGcTeO+H65P5a2+LHSQpscQOmbsJlpBw3W7W
aN8oMG3IW2F5th+IqUAjKXJ4wXR/82hC5cDwmPeY/GB2pZQTAZQvOzC+u4LE9AFeZln8
5EPK/YvtFEfPOEvbuTFy6swM87WtEc0kYbPNJ3C+j6oEzcija35KnFLbezE8haHCBwYm
vixQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419162; x=1749023962;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=4S1CZW2QhVODXn5wyDF2trheqRunplrz19cyZTEBaFI=;
b=En8mK0YgNgAxEwJ0jLiUw8kDxuBqdvYLjwS/uBAMziN32Uvw0iDFxkrk+6+W3iXHkP
nLLnsO64nWVVl0Jp3wiWX8G55UtFbOCHZq3V+4JQhbb3SZwNjj2MQoLJOhcn1s5Qzcun
5a7c7wUjNwPwkIPsqvNBEpatdlbIWf+mXrrC4Q3mC2EvCbeQQUuO7oszEcCcxH12BnUJ
aQeIjPp+nrZKBpoyro46Xm07cu5BzFswwo21GifAczj965CIXsPwhZd00E2froUbbElJ
Qq1D4WC/ACICdNS5PZVxc8C7O5HprCTZ7IgXpjgnwbU2uV/TaQGsz+QtCxocjHUllxbY
Cs8w==
X-Forwarded-Encrypted: i=1; AJvYcCUOzAmybdKAHzizj0rMlRWuJ1hf8fSUnF9kDETHcdbjUWxacBMPmp6oEx7kD1xL+hMjIvAhp3IjEj0T09w=@vger.kernel.org
X-Gm-Message-State: AOJu0YzZcgpzB2SUwKFP7D63klEgRcMlCFExid2Dea0RgQYQ3PC09dW2
o/Nlmwhq6wxtAdrfMiBTRLD6u8RuQXSy/Ho+voJ0Veye8pdFhPi9e5tcTqRtQOfmlw==
X-Gm-Gg: ASbGnctVqxNmRLt3QledmO3JjQom4ZjbBCqO4LCIbmcK2GAeWfjzXgEvmpYwYCX0yl0
nhvdO8R5A24rH0a1p0pw9S05QBt0Urfa7aO15djrkaOB7jBDQxYhrx8Xvuq+cBsKswa4VXq/FYI
sBDKhbYvaZHryBCBITf/+ty3T//XfpQOjp/o9eW8e9o7Mw4s9r23UR/U7j8LzW3aDGgQoE5Paer
Z0CyoOB+jr/grOi5O1U/yzvR8qBHSayA/KheGmTYBQTrjzLD5mjgRSkN8Zf95OM/7Gjx3ToJuON
1agVojERANZej1NuYEpDU8Fj8oxxPJ1ua4nrn/XccnKhthfKoH2J3c5t6/k1fsXscx0K+Q6uS4I
Tzs+KHZQiLrAYWfDInadotfY7jjPa
X-Google-Smtp-Source: AGHT+IFinm210KsgPpT052kUqMgd0kmoXBGoJfUCmTLu114QHHNEhBfzO75J/jBa41z7KGIIueND9g==
X-Received: by 2002:a17:902:e845:b0:234:bfcb:5c21 with SMTP id d9443c01a7336-234bfcb5d41mr40674185ad.19.1748419161996;
Wed, 28 May 2025 00:59:21 -0700 (PDT)
Received: from ?IPV6:2401:4900:8898:4f57:7796:ebc0:39c1:2cae? ([2401:4900:8898:4f57:7796:ebc0:39c1:2cae])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-234d35ac4e2sm6265415ad.177.2025.05.28.00.59.16
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 00:59:21 -0700 (PDT)
Message-ID: <6c61a101-6ec7-4350-bfa7-5b7d32177818@xxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 13:29:14 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/7] dt-bindings: Add support for export-symbols node
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Herve Codina <herve.codina@xxxxxxxxxxx>,
David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>, Andrew Davis <afd@xxxxxx>,
Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Saravana Kannan <saravanak@xxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx, devicetree-compiler@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>,
Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx>
References: <20250430125154.195498-1-herve.codina@xxxxxxxxxxx>
<20250430125154.195498-2-herve.codina@xxxxxxxxxxx>
<0770a47e-fd2f-4b6f-9a9a-b0d539ace30c@xxxxxxxxxx>
Content-Language: en-US
From: Ayush Singh <ayush@xxxxxxxxxxxxxxx>
In-Reply-To: <0770a47e-fd2f-4b6f-9a9a-b0d539ace30c@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 00:01, Krzysztof Kozlowski wrote:
> On 30/04/2025 14:51, Herve Codina wrote:
>> An export-symbols node allows to export symbols for symbols resolution
>> performed when applying a device tree overlay.
>>
>> When a device tree overlay is applied on a node having an export-symbols
>> node, symbols listed in the export-symbols node are used to resolve
>> undefined symbols referenced from the overlay.
>
> I have impression that this is being discussed in three places
> simultaneously - here, DT spec and DT schema. I don't know how to solve
> the multiplication, but I will keep answering here, because that's my part.
>
>> This allows:
>> - Referencing symbols from an device tree overlay without the need to
>> know the full base board. Only the connector definition is needed.
>>
>> - Using the exact same overlay on several connectors available on a given
>> board.
>>
>> For instance, the following description is supported with the
>> export-symbols node:
>> - Base device tree board A:
>> ...
>> foo_connector: connector1 {
>> export-symbols {
>> connector = <&foo_connector>;
>> };
>> };
>>
>> bar_connector: connector2 {
>> export-symbols {
>> connector = <&bar_connector>;
>> };
>> };
>> ...
> And what would this mean? Which symbol is exported - foo or bar?
>
>> - Base device tree board B:
>> ...
>> front_connector: addon-connector {
>> export-symbols {
>> connector = <&front_connector>;
>> };
>> };
> <from my other reply in private>
> Another problem is that the board DTS should not care about overlays. It
> feels like breaking encapsulation and I cannot imagine now adding 1000
> export-symbols, because every i2c, spi, mikrobus or PCI slot could have
> an overlay applied.
>
> You could argue that only few nodes will be exported like this, so only
> real mikrobus connectors. Then I will argue: look at aliases. People
> alias everything everywhere, not following the guidelines.
>
> If we assume that such overlays are designed for specific boards, thus
> there will be only one or two exported symbols not 1000, then what is
> the benefit of export symbols comparing to referencing by full path?
> </end from my other reply>
Can you explain how referencing by full path will work in connector +
addon board setups?
The full path will be dependent on the connector, which means the same
addon board overlay cannot work for different connectors.
>
> And with above assumption - such overlays designed per board - plus my
> first point about duplicated exports:
> connector = <&foo_connector>;
> connector = <&bar_connector>;
>
> why not exporting the symbol with the same name? E.g.:
>
> foo_connector: connector1 {
> export-symbols {
> whatever-property-style = <&foo_connector>;
> };
> };
>
> and overlay:
>
> node {
> ...
> connector = <&foo_connector>;
> ...
> };
Isn't this overlay tied to `foo_connector`, i.e. it cannot be used with
`bar_connector`?
>
> Or even annotation?
>
> foo_connector: connector1 __exported_symbol__ {
> ....
> };
>
>
> node {
> ...
> connector = <&foo_connector>;
> ...
> };
>
> ? This also answers my further question about DTS style (see at the bottom)
>
>> ...
>>
>> - Overlay describing an addon board the can be connected on connectors:
>> ...
>> node {
>> ...
>> connector = <&connector>;
>> ...
>> };
>> ...
>>
>> Thanks to the export-symbols node, the overlay can be applied on
>> connector1 or connector2 available on board A but also on
>> addon-connector available on board B.
>>
>> Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx>
>> Tested-by: Ayush Singh <ayush@xxxxxxxxxxxxxxx>
> I would argue you cannot test a binding, because testing here is part of
> a process, but what do I know...
Ahh, I added tested by for the whole patch series to check that the
phandle resolution is working. But yes, I have not tested the bindings.
>
>
>> ---
>> .../devicetree/bindings/export-symbols.yaml | 43 +++++++++++++++++++
>> 1 file changed, 43 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/export-symbols.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/export-symbols.yaml b/Documentation/devicetree/bindings/export-symbols.yaml
>> new file mode 100644
>> index 000000000000..0e404eff8937
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/export-symbols.yaml
>> @@ -0,0 +1,43 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/export-symbols.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Export symbols
>> +
>> +maintainers:
>> + - Herve Codina <herve.codina@xxxxxxxxxxx>
>> +
>> +description: |
>> + An export-symbols node allows to export symbols for symbols resolution
>> + performed when applying a device tree overlay.
>> +
>> + When a device tree overlay is applied on a node having an export-symbols
>> + node, symbols listed in the export-symbols node are used to resolve undefined
>> + symbols referenced from the overlay.
>> +
>> +properties:
>> + $nodename:
>> + const: export-symbols
>> +
>> +patternProperties:
>> + "^[a-zA-Z_]?[a-zA-Z0-9_]*$":
> This messes up with coding style which I would prefer keep intact.
> Basically these properties will be using label style.
>
>> + $ref: /schemas/types.yaml#/definitions/phandle
>> + description:
>> + A symbol exported in the form <symbol_name>=<phandle>.
>> +
>> +additionalProperties: false
>> +
> Best regards,
> Krzysztof
Maybe the dt-schema discussion will give a better description of why I
need export-symbols or something similar [0].
I have also been trying to move the discussion regarding global vs local
scope overlay application for connectors here [1].
[0]:
https://lore.kernel.org/devicetree-spec/20250411-export-symbols-v3-1-f59368d97063@xxxxxxxxxxxxxxx/T/#u
[1]:
https://lore.kernel.org/linux-devicetree/9c326bb7-e09a-4c21-944f-006b3fad1870@xxxxxxxxxxxxxxx/
Best Regards,
Ayush Sigh
Return-Path: <linux-kernel+bounces-665021-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D753A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:00:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E195A1BC45C7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:00:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DC00C24467F;
Wed, 28 May 2025 08:00:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="i3GzBSDk"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DC7E12F2F;
Wed, 28 May 2025 08:00:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419230; cv=none; b=Sd6lV/kT6FVtGk8Z0ejGuGr8O07kHieZR1JYGQXfrah6RLBHBVMt/PKPpUKNAmzAEoJX9GSB/Z0JESA+SPV1lsPvaYugerGbcZjr0519b7utxbT+DqITZZtZsG88fuvY/qM0BI4nq11cUh1w6Iswr9OIvUJibeCAc2gZO1+RiiI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419230; c=relaxed/simple;
bh=TmszLVj5iUvpcleJUy57ZyoHPz759+MbiVMNdUK/0Ec=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=Ahltmd259FYpSNW9JjxprhoQ6xBK2Otg156jMKfR+LH/f9nRtMpKJe2CPbzaqECMU70CTeHE7Mk+PsVdRkxpn1fyiTo0+79AEU0YwJkjiTtSZypWquRsFjUw+1IKKE558S180YY4B8ZnwAbNfgEBVV6pu2mHKbKrGkKMXiz1Lus=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=i3GzBSDk; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5ECA2C4CEEB;
Wed, 28 May 2025 08:00:27 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419229;
bh=TmszLVj5iUvpcleJUy57ZyoHPz759+MbiVMNdUK/0Ec=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=i3GzBSDkMqQqxwqNiCJROS5Skhr4W5gJf2J7xHjASkor7ATp0BJaY8OLa1sME71lA
Q04/wnFCpgLVOEkL6+06NrPrkA0zy1IR9hdLWcclSQwoV8sblSzARRVogeOH6uBM85
azcO7CJR32BftuPPfenfolAWI6EFBOZbEVe3VOvNphzDDMJOFiD8k2Dz4piedsvRPb
2Ycp4/UEUYwgXKDZiuCpJW7HO2zu1hPBMuP491d5UPBkRADC+uXanHfUWWGipytd+6
TnkzQMN+txu0qT1KORT/Uq08LbBgBIc34C1ryCIaYjO9YC8KTEPxRH46y0E7sAXGB9
O02xtsnzbrZ4Q==
Message-ID: <56bcea70-6180-443b-8c9b-f5d2a129c73f@xxxxxxxxxx>
Date: Wed, 28 May 2025 10:00:25 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] dt-bindings: mmc: sdhci-omap: convert text based binding
to json schema
To: Charan Pedumuru <charan.pedumuru@xxxxxxxxx>,
Ulf Hansson <ulf.hansson@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-mmc@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <20250523-ti-sdhci-omap-v1-1-695c6eeac778@xxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250523-ti-sdhci-omap-v1-1-695c6eeac778@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 23/05/2025 19:05, Charan Pedumuru wrote:
> Convert TI OMAP SDHCI Controller binding to YAML format.
> Changes during Conversion:
> - Add patternProperties for pinctrl-<n>.
> - Define new properties like "ti,hwmods", "ti,needs-special-reset"
> "ti,needs-special-hs-handling", "cap-mmc-dual-data-rate"
> and "pbias-supply".
Why? commit should answer this.
> - Remove "ti,hwmods", "pinctrl-names" and "pinctrl-<n>"
Why? You just added ti,hwmods, so how can you remove it from required?
> from required as they are not necessary for all DTS files.
> - Add missing strings like "default-rev11", "sdr12-rev11", "sdr25-rev11",
> "hs-rev11", "sdr25-rev11" and "sleep" to pinctrl-names string array.
>
> Signed-off-by: Charan Pedumuru <charan.pedumuru@xxxxxxxxx>
> ---
> .../devicetree/bindings/mmc/sdhci-omap.txt | 43 ------
> .../devicetree/bindings/mmc/sdhci-omap.yaml | 155 +++++++++++++++++++++
Filename: ti,omap-sdhci.yaml or one of the compatibles (or anything else
following convention that it should match compatible).
"ti,needs-special-hs-handling" is already documented in other binding
> 2 files changed, 155 insertions(+), 43 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/sdhci-omap.txt b/Documentation/devicetree/bindings/mmc/sdhci-omap.txt
> deleted file mode 100644
> index f91e341e6b36c410275e6f993dd08400be3fc1f8..0000000000000000000000000000000000000000
> --- a/Documentation/devicetree/bindings/mmc/sdhci-omap.txt
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -* TI OMAP SDHCI Controller
...
> diff --git a/Documentation/devicetree/bindings/mmc/sdhci-omap.yaml b/Documentation/devicetree/bindings/mmc/sdhci-omap.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..e707837bc242b055bbc497ed893a91c9b24f2dde
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mmc/sdhci-omap.yaml
> @@ -0,0 +1,155 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mmc/sdhci-omap.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI OMAP SDHCI Controller
> +
> +maintainers:
> + - Ulf Hansson <ulf.hansson@xxxxxxxxxx>
This is supposed to be someone caring about this device. Eventually
platform maintainer.
> +
> +description:
> + For UHS devices which require tuning, the device tree should have a
> + cpu_thermal node which maps to the appropriate thermal zone. This
> + is used to get the temperature of the zone during tuning.
> +
> +allOf:
> + - $ref: sdhci-common.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - ti,omap2430-sdhci
> + - ti,omap3-sdhci
> + - ti,omap4-sdhci
> + - ti,omap5-sdhci
> + - ti,dra7-sdhci
> + - ti,k2g-sdhci
> + - ti,am335-sdhci
> + - ti,am437-sdhci
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + pinctrl-names:
> + $ref: /schemas/types.yaml#/definitions/string-array
> + minItems: 1
> + maxItems: 19
> + items:
> + enum:
> + - default
> + - default-rev11
> + - hs
> + - sdr12
> + - sdr12-rev11
> + - sdr25
> + - sdr25-rev11
> + - sdr50
> + - ddr50-rev11
> + - sdr104-rev11
> + - ddr50
> + - sdr104
> + - ddr_1_8v-rev11
> + - ddr_1_8v
> + - ddr_3_3v
> + - hs-rev11
> + - hs200_1_8v-rev11
> + - hs200_1_8v
> + - sleep
> +
> + dmas:
> + maxItems: 2
> +
> + dma-names:
> + items:
> + - const: tx
> + - const: rx
> +
> + ti,hwmods:
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + This field is used to fetch the information such as
> + address range, irq lines, dma lines, interconnect, PRCM register,
> + clock domain, input clocks associated with MMC.
> + pattern: "^mmc[0-9]+$"
> +
> + ti,needs-special-reset:
I don't understand why you added this. There is no user of it.
> + description:
> + It indicates that a specific soft reset sequence is required for
> + certain Texas Instruments devices, particularly those with
> + HSMMC (High-Speed MultiMediaCard) controllers.
> + type: boolean
> +
> + ti,needs-special-hs-handling:
I don't understand why you added this. There is no user of it.
> + description:
> + It's presence in an MMC controller's DT node signals to the Linux kernel's
> + omap_hsmmc driver that this particular IP block requires special software
> + handling or workarounds to correctly manage High-Speed (HS) modes like
> + SDR25, SDR50, SDR104, DDR50.
> + type: boolean
> +
> + pbias-supply:
> + description:
> + It is used to specify the voltage regulator that provides the bias
> + voltage for certain analog or I/O pads.
> +
> + cap-mmc-dual-data-rate:
> + description:
> + A characteristic or capability associated with MultiMediaCard (MMC)
> + interfaces, specifically indicating that the MMC controller
> + supports Dual Data Rate (DDR) mode
Drop the property. We have standard properties for this and there is no
ABI for it anyway.
> + type: boolean
> +
> + ti,non-removable:
> + description:
> + It indicates that a component is not meant to be easily removed or
> + replaced by the user, such as an embedded battery or a non-removable
> + storage slot like eMMC.
> + type: boolean
> + deprecated: true
> +
> + vmmmc-supply:
> + description:
> + It is used to specify the power supply (regulator) for the MMC/SD card's
> + main operating voltage (VCC/VDD).
> +
> + clock-frequency:
Why is it here? Nothing in commit msg explained adding it.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + It is used to specify the frequency of a clock in Hertz (Hz). It's a
> + fundamental property for communicating hardware clocking information from
> + the Device Tree to the Linux kernel.
Redundant description. It is not a fundamental property. It is a legacy
property.
> +
> +patternProperties:
> + "^pinctrl-[0-9]+$":
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + description:
> + Phandles to pinctrl states. The numeric suffix determines the
> + state index corresponding to entries in the pinctrl-names array.
> + minItems: 1
Why exactly do you need these?
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +unevaluatedProperties: false
> +
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665022-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7682D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:01:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 803923A2F5F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:01:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DD792244676;
Wed, 28 May 2025 08:01:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="npqAgIvb"
Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C64392F2F;
Wed, 28 May 2025 08:01:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419287; cv=none; b=AExajn4XAB8rSMnixXXoyuJjbGAQXEKzqoqt6WNZSM6M2wyIMiatQhkWhfjapKy7jrVXmkoVD6AXKq7dJUSuExu+8G7rSqiJtPLwIiSLMIfSK2oBOVkyxpJT/6HmNRWwr+4QP570EoWseNwPYZaNtFy/dm8Um3oF8rTjBFmUl6I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419287; c=relaxed/simple;
bh=IxHFccLgpCgNcXpBy6g6veU5pEuw/iNFgadb6in5fvU=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=A1KZS8RJ0ylY/4AMl5fgmiU9bDZ9kZgCSMTMyHBeY75Yw2cd60dpgyw/Q5L6ppHq23ZDx6YsPyKezi4Q0ScOcQg6r1Njxzo+iwxhORxIQuLX2H6caT98jSBLyGCoeu5pg6uJwZP0sCuuH1c0Knr4Gw+r1nLpGQMprgE7ZrzWK58=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=npqAgIvb; arc=none smtp.client-ip=209.85.210.171
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-742c73f82dfso3215852b3a.2;
Wed, 28 May 2025 01:01:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748419285; x=1749024085; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=UWdQG3Tx6wClBi/pyNZ7WtC6psNihL3zvEzBuIdhfFs=;
b=npqAgIvbxnMb+IAyg/a0uq1Rq7FOmPlkfGu5VDxF3dNd+KSMhSq8ZLqgtoVFDEctFK
hfgxtTPThPSv1O37DAgcuUGP19mrW+H+/yVD8WfTTe3/LTN4FalyYy47st4UutvrJRF7
faxE+LGOJP2cmH1cGocgrAch4K4DIbuBu0rpYATRkr57DEqqL1RM195Eo4cgRbYABv2j
EX4l8xfYZN/uIk7rGH2YilykS7zkl67zMrX2/lK7kbWOVmvbF1YVc8nTYf3MosA/qGJM
RuYPidB3fsjG+ltVk8B0OJYjEAfRjvdqCIiqrRBRKw1SJJr5EYfF6hVDLlAF2My8WAHN
VJoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419285; x=1749024085;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=UWdQG3Tx6wClBi/pyNZ7WtC6psNihL3zvEzBuIdhfFs=;
b=mciSicSGBag8VYjBlE6VgBcMVD9KRPDMKuBkUZpumO73IbscGuDFVKtO0q/D5OakeZ
6ngF0xKAYNpSfgmoZFXu0L7an5XkA0ecjnPC6N73VCLC5Vf2Fdde25HI0Eb2SqxNZYWs
EDIKNgJhHPcOrrk55Yp7856j3SPzYU2TjbBDOa9tNDHyf6UM726UvklBm/KvV1JY6jLp
P3ZmhAuLNyDsP2/8NSAOqOY5V7V0xF8dNLJ1iEgfljxBCNLcpwmDz5OyVuGjeOw3/AKy
ByyYLxU59r8bJEhsMkAnp0HnO7gge/76W5uTU6TRFH5owhXMLFlEYOcp0R2tG7KaqjGj
qGeA==
X-Forwarded-Encrypted: i=1; AJvYcCXUW2zoNPhm7Zr9Fg1nrtVqKOfGnaYYafoGGgr8PyUApm9ad+687bFhIyBU3R1Bze7t3oxz2c068TCd97nl@xxxxxxxxxxxxxxx, AJvYcCXZV9/wyLtinOqNLT3rCKxNV5HWo6eOP4fT6cQgqJ3f0y342HHvzXroPYYW12qSWf80GjhPYy5eyQ8=@vger.kernel.org
X-Gm-Message-State: AOJu0YyKb8wPQRh7UDN5BPQ5D4vx8eTb7eZHG+VhqV+N5XBd73HjtdkC
/jwgZQ/Oym3gPE7O0mSJwrmvXGjv3EB4j80Z/GjXSfqB+oJEyFUVO/pi
X-Gm-Gg: ASbGnctB1Dz6wZZv3oSWOwns8kFIQhmeyb4ZKBF+cZdLYhLmOEjNRiY+JlX6om2auo2
kjjMvk0amSgFSPLwoZsJi7MJDW/s5NHXh31R9Z/3Q/hTaQY4Y+sB3giKwjWmE86ZMcGuOO+aU7/
PLITsxWdPXyhcZa6FDGuIBFptGLLQx15kN/52S1kiEelhscfREZVCEkqNkzx1l/LHIwlleQV/J8
vKUMPbG/FaCh3SFJ8FbZ2RCD2hLewv3QWTpwYsvGBbB6dfIs0C/mMkasnw0HZJXJlYF3eiSH9wb
zBy6f4Ecxs37GOohJ070o1ts8nwqGehmN86vJRwY4KpndhAOrhBkSNFK
X-Google-Smtp-Source: AGHT+IF5I55hrT2xFf6Cw60An/loPVGY74aTV1aVgoiR/mgaKSLKaf027Ydwk44wllbi/nYP5kXseg==
X-Received: by 2002:a05:6a00:4646:b0:742:ae7e:7da8 with SMTP id d2e1a72fcca58-745fdfcc5e9mr24012397b3a.8.1748419284699;
Wed, 28 May 2025 01:01:24 -0700 (PDT)
Received: from gye-ThinkPad-T590.. ([59.16.200.168])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-746e341039dsm701253b3a.103.2025.05.28.01.01.22
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:01:24 -0700 (PDT)
From: Gyeyoung Baek <gye976@xxxxxxxxx>
To: Jonathan Cameron <jic23@xxxxxxxxxx>
Cc: David Lechner <dlechner@xxxxxxxxxxxx>,
=?UTF-8?q?Nuno=20S=C3=A1?= <nuno.sa@xxxxxxxxxx>,
Andy Shevchenko <andy@xxxxxxxxxx>,
linux-iio@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Gyeyoung Baek <gye976@xxxxxxxxx>
Subject: [PATCH v2] iio: trigger: Avoid data race
Date: Wed, 28 May 2025 17:01:19 +0900
Message-ID: <20250528080119.9380-1-gye976@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
A data race could occur between `atomic_read()` and `atomic_set()`.
Use `atomic_cmpxchg_relaxed()` to group them atomically.
Previously the main logic was executed when `use_count` was 0.
Now it returns early when `use_count` was not 0.
Signed-off-by: Gyeyoung Baek <gye976@xxxxxxxxx>
---
Changelog:
v2:
- Edit commit message.
- Separate variable declaration from logic. (Andy)
---
drivers/iio/industrialio-trigger.c | 32 +++++++++++++++---------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/drivers/iio/industrialio-trigger.c b/drivers/iio/industrialio-trigger.c
index 54416a384232..fc799910c74d 100644
--- a/drivers/iio/industrialio-trigger.c
+++ b/drivers/iio/industrialio-trigger.c
@@ -196,15 +196,15 @@ void iio_trigger_poll(struct iio_trigger *trig)
{
int i;
- if (!atomic_read(&trig->use_count)) {
- atomic_set(&trig->use_count, CONFIG_IIO_CONSUMERS_PER_TRIGGER);
+ if (atomic_cmpxchg_relaxed(&trig->use_count, 0,
+ CONFIG_IIO_CONSUMERS_PER_TRIGGER))
+ return;
- for (i = 0; i < CONFIG_IIO_CONSUMERS_PER_TRIGGER; i++) {
- if (trig->subirqs[i].enabled)
- generic_handle_irq(trig->subirq_base + i);
- else
- iio_trigger_notify_done_atomic(trig);
- }
+ for (i = 0; i < CONFIG_IIO_CONSUMERS_PER_TRIGGER; i++) {
+ if (trig->subirqs[i].enabled)
+ generic_handle_irq(trig->subirq_base + i);
+ else
+ iio_trigger_notify_done_atomic(trig);
}
}
EXPORT_SYMBOL(iio_trigger_poll);
@@ -227,15 +227,15 @@ void iio_trigger_poll_nested(struct iio_trigger *trig)
{
int i;
- if (!atomic_read(&trig->use_count)) {
- atomic_set(&trig->use_count, CONFIG_IIO_CONSUMERS_PER_TRIGGER);
+ if (atomic_cmpxchg_relaxed(&trig->use_count, 0,
+ CONFIG_IIO_CONSUMERS_PER_TRIGGER))
+ return;
- for (i = 0; i < CONFIG_IIO_CONSUMERS_PER_TRIGGER; i++) {
- if (trig->subirqs[i].enabled)
- handle_nested_irq(trig->subirq_base + i);
- else
- iio_trigger_notify_done(trig);
- }
+ for (i = 0; i < CONFIG_IIO_CONSUMERS_PER_TRIGGER; i++) {
+ if (trig->subirqs[i].enabled)
+ handle_nested_irq(trig->subirq_base + i);
+ else
+ iio_trigger_notify_done(trig);
}
}
EXPORT_SYMBOL(iio_trigger_poll_nested);
--
2.43.0
Return-Path: <linux-kernel+bounces-665023-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6675041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:02:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 49A293B5378
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:02:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D1F4D217679;
Wed, 28 May 2025 08:02:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="Lzh+O3CL"
Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id ABF4F1990A7
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:02:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419344; cv=none; b=ekdVuvgDcQqgaaMpni74UdgTi+Q12nC6IrjZ3T9o8KSmFKxk7I3rSiqpT6NqY1j5CHa1YMruYBT2ROfinxDUTel2d1AygTofnAq8AhjVuVR+sNosuorGGQ1qjnDLN5Q3f6qRrGw2zWSoKCDSjZRQKcrZJ2L96b9Lz4v4vVd1N7w=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419344; c=relaxed/simple;
bh=j33UOVfCtP+OBLlWoSq7L3BIIjfPLyhaksFfIeuR9wM=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=NRhYEW7AS/0878SfVKTOzSsNetsPkwUWQwdjPKfLKTGJ5YMzgYTWipDdAdXOqTUYmlYCM6wUEsjiYS3blSm3cVQqBfwIDFKU0ZPZcqrjS/AoMspyJTGWm9n/LVTvZnSxRbymv57ST91As6qS3mnCvZgPlmwxcJ6hr31RCT41rXc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=Lzh+O3CL; arc=none smtp.client-ip=148.163.156.1
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0360083.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S0LQnu005029;
Wed, 28 May 2025 08:02:00 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-transfer-encoding:date:from:message-id:mime-version
:subject:to; s=pp1; bh=aDNoI7l2gVyFTt1uPUySpwZBuVpBknjRexryaYxPI
Oo=; b=Lzh+O3CLLRbdDrVpWxvRdChTiSFRBmNUkMqrWYeFwJTCDT2PbCHVbWZ8e
9yTQ93bkNJTDeqfsUMI3J0mP0ru4wocdlQoso1GwStpW1eKMvrc+xN9mRqVajIoD
5xg6/rGGRC6X7wgdinPgIkmWtD0j6O/EYWWMBITf6NAlkHy5h7q+sJM0t/AkT2ei
2vfds/cZhyBAI30OcdPRKSZp+yL9YeKao4vLUtVPCY9Rv2s9n2FDeWLqnx74nRy/
FKtJOB+kFimgj7xL4WAqVALWb53gBgPkqoPBBurYlYyaTI23ids2A5uclK1C9NNW
34iwae9kPvaIUUPdsXtNxrTg0dLFA==
Received: from pps.reinject (localhost [127.0.0.1])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wgsj3jbu-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 08:01:59 +0000 (GMT)
Received: from m0360083.ppops.net (m0360083.ppops.net [127.0.0.1])
by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 54S81xxi021733;
Wed, 28 May 2025 08:01:59 GMT
Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wgsj3jb9-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 08:01:59 +0000 (GMT)
Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1])
by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54S6FGP9021349;
Wed, 28 May 2025 08:01:51 GMT
Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226])
by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 46utnmpbp2-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 08:01:51 +0000
Received: from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com [10.20.54.103])
by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54S81mq033161680
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 08:01:48 GMT
Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id F31452004E;
Wed, 28 May 2025 08:01:47 +0000 (GMT)
Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id C85DF2004D;
Wed, 28 May 2025 08:01:45 +0000 (GMT)
Received: from li-e1dea04c-3555-11b2-a85c-f57333552245.ibm.com.com (unknown [9.39.16.188])
by smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP;
Wed, 28 May 2025 08:01:45 +0000 (GMT)
From: Mukesh Kumar Chaurasiya <mchauras@xxxxxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: maddy@xxxxxxxxxxxxx, mpe@xxxxxxxxxxxxxx, npiggin@xxxxxxxxx,
christophe.leroy@xxxxxxxxxx, arnd@xxxxxxxx, jk@xxxxxxxxxx,
segher@xxxxxxxxxxxxxxxxxxx, mchauras@xxxxxxxxxxxxx,
linuxppc-dev@xxxxxxxxxxxxxxxx
Subject: [PATCH] powerpc: Fixing typo in comment
Date: Wed, 28 May 2025 13:30:52 +0530
Message-ID: <20250528080051.1351779-2-mchauras@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=IcmHWXqa c=1 sm=1 tr=0 ts=6836c2f7 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=dt9VzEwgFbYA:10 a=VnNF1IyMAAAA:8 a=8gZw5ORUxxO3s-nOcEQA:9
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA2OCBTYWx0ZWRfX6Zbl3gEU7qly HmOkeo5f68AI4NExUN+Yv37CQWrZtOc8iEdMiqIDk1FWCLA1whVwLSyiJx8PNpc8+i+VMT6rbDe tvQgkKu67yz1Sb6yCfbbE+6gRyiQaxwtIQhUq8329wEwe5TF38RZ96Pz48kYjXV4s65hphYPFv7
HRCPnbyEG/LRsAbFxyNfVsevylJWSCbMZH7Q9vOgqTGUl+wgtii+Kl8o3oF3ZMPpIdPLnT+YSoE Y8sfh6581GN78lfT8mlWM6Jq/zewq3ss3Togzh6g5P44MIjgv9Id+NSVVBxd6pZto4dDFaR5KOO BXpjbJPoYmf6U1LvVI5bA/Yc4YJV2VNr43xDgl/zz53FMYHhZ6L4ARBNYc1+4EeJl4LZd2LQLum
zIg8NuloAm5d3+SPwMsaFCijOaT1EF35Qo5ZLrOp5uxviNfGtkZh3ZUlaEamhAbpGU8TRwr/
X-Proofpoint-ORIG-GUID: yNZlvGQnOUJ6IprvLClb59YNjDANaIwP
X-Proofpoint-GUID: G01uFiV0ldAuktpyn0RK6Jn7Yi0IyIVJ
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0
priorityscore=1501 mlxscore=0 phishscore=0 clxscore=1011
lowpriorityscore=0 suspectscore=0 mlxlogscore=547 adultscore=0
impostorscore=0 bulkscore=0 spamscore=0 classifier=spam authscore=0
authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280068
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
fixing a typo where iff is supposed to be if.
Signed-off-by: Mukesh Kumar Chaurasiya <mchauras@xxxxxxxxxxxxx>
---
arch/powerpc/kernel/exceptions-64s.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index b7229430ca94..53667dc7fe1a 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -393,7 +393,7 @@ DEFINE_FIXED_SYMBOL(\name\()_common_real, text)
.endif
ld r10,PACAKMSR(r13) /* get MSR value for kernel */
- /* MSR[RI] is clear iff using SRR regs */
+ /* MSR[RI] is clear if using SRR regs */
.if IHSRR_IF_HVMODE
BEGIN_FTR_SECTION
xori r10,r10,MSR_RI
--
2.49.0
Return-Path: <linux-kernel+bounces-665024-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D6E1A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:02:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A824B1BA1DAC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:03:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D6DAF24502D;
Wed, 28 May 2025 08:02:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rn4vKWs7"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 153D31FE461;
Wed, 28 May 2025 08:02:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419369; cv=none; b=Z+xUKMqP46q4XczV1xZ/H/+Hfc5sNffIPhi/LBFgjtBilF6G00eXbo59wTjV72OsxcBIHV8PYJkBB5VlrzVhHXjFlofXr9s6d5GT53VtL0ugoRt2nyac7ZVHagw0DMH364KBxzzM9us/rwZkOZHVoAHopX25PjDncCzhJ79Om7I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419369; c=relaxed/simple;
bh=3FSWHD3qycKECEg7gTlnngzs/HUVLk9BvvfwY+tVfLE=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=SLMe08ScgF78P0rMFNe//mHimCkFrj9DAiWN7TLBeAiZ+fql5Orh3Eggxp+dbZtiHg2zzS2ueIwlDLxocZYdpg3kLQb8JW1nZFi9KcjLYLaouH+6CUsuldvj05n2haAM85E2HeV//3f+cYmJekCxluNN04bvffXtOv1tCF+0iMw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rn4vKWs7; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 607EFC4CEE7;
Wed, 28 May 2025 08:02:46 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419368;
bh=3FSWHD3qycKECEg7gTlnngzs/HUVLk9BvvfwY+tVfLE=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=rn4vKWs71TYxMUa4t4D/2mddYUg7lGsD4WkIzi3nAZgLs1UwBY9gKnUpUEDpVuUvD
2D/w/sQwvLNig2fzR/axh1JZFSegHYBLd4FWzecx7MRz55sqYpGQm3VFRcteVCer6+
GSn7qyFcCi/p7nxa93guRNeh926DEQZ9HTzLPEykRNCUKf67SuLnACLNcmHU5sC+2B
9NXCHFx+WoNlArj133YrUumlqaNklkUfdJLev4XkbEsA4o44BRi2sqYMimE5L3B73Y
GcwJQxeDJ7oDl71uSK0SYNE0hIrThz+igjqRdUQUzxEmFWnT/ZJVRRKE3FnIx7CRNw
6q8BuM2eEIBpA==
Message-ID: <1c7e9077-c213-40a9-92f4-07e813a3d151@xxxxxxxxxx>
Date: Wed, 28 May 2025 10:02:44 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] dt-bindings: mmc: ti,da830-mmc: convert text based
binding to json schema
To: Charan Pedumuru <charan.pedumuru@xxxxxxxxx>,
Ulf Hansson <ulf.hansson@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-mmc@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <20250523-davinci-mmc-v1-1-ceebd8352d9c@xxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250523-davinci-mmc-v1-1-ceebd8352d9c@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 23/05/2025 15:34, Charan Pedumuru wrote:
> Convert TI Highspeed MMC host controller binding to YAML format. Add
> 'clocks' property to resolve errors identified by 'dtb_check'.
>
> Signed-off-by: Charan Pedumuru <charan.pedumuru@xxxxxxxxx>
> ---
> .../devicetree/bindings/mmc/davinci_mmc.txt | 32 -----------
> .../devicetree/bindings/mmc/ti,da830-mmc.yaml | 62 ++++++++++++++++++++++
> 2 files changed, 62 insertions(+), 32 deletions(-)
>
A nit, subject: drop second/last, redundant "binding". The "dt-bindings"
prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
"convert to DT Schema"
...
> +
> +allOf:
> + - $ref: mmc-controller.yaml
> +
> +maintainers:
> + - Rob Herring <robh@xxxxxxxxxx>
No, I really doubt Rob cares about this hardware.
> +
> +properties:
> + compatible:
> + enum:
> + - ti,da830-mmc
> + - ti,dm355-mmc
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 2
> +
This wasn't in original binding. You need to document this in the commit
msg. Also, list the items.
> + dmas:
> + maxItems: 2
> +
> + dma-names:
> + items:
> + - const: rx
> + - const: tx
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
why interrupts are required?
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665025-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 701D741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:03:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 9E0157B105B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:02:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F111624337D;
Wed, 28 May 2025 08:03:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Z6s2xY/f"
Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 002D11990A7;
Wed, 28 May 2025 08:03:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419402; cv=none; b=GwKq8TdFzJ9rDfOmg90ig23ZrFRtjbWFYAoECiZGzgRcEpB0A1PWIfrDgEIDL2AAmZSSm3psf8HQw1IJnnsgFMk4dQbFbt0A4faM8Fch+lSBoeh8UQNydJRGTSf9TwWkyaj0ByAEVBhf2iQ2f33bb/ApF98ffc0/PdqW7Im+Gpo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419402; c=relaxed/simple;
bh=m1AgbkSD9ZhqsKYGnxQT5QuWasbz/mdwKFB3lNLS1o0=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=i6P4hJOyZZlYzlMBLJorBSHOk8hSDS2BQv1L+7lkKV5/L1gJIrGOsEpR0wcAqNfLB4pUpH2dKAL0ZZQk87d7kjFpY8al4SYWOyd6nLzpyHNNfvcrXgczEaaXg8UaGVPZRjmkawB+HiNWIN/Pjdc0/JOGoiWgT089UFemSWWBWWw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Z6s2xY/f; arc=none smtp.client-ip=209.85.216.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-309f26c68b8so279522a91.2;
Wed, 28 May 2025 01:03:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748419400; x=1749024200; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=7EOwFLOIjUGE9rMIYijxRVcus8CYn2cGLNdJL9ka6c0=;
b=Z6s2xY/fAvUzL8vDUiVijKTi5TK+7jVXS4BgONUdNxXuEVvvMKC9PDSou1xKgeS8Of
rrNNx67fger4NMvSZbTPtggcZTe/gZE3Pe1rlpIoghBCtl+Nq4dEXZE9kxgsfVrmxmOu
JHqc0Mbm7uPQGjG31mJAz3EeIqhpO2n7OdhNko+yTHT7OWuu21viXWW/EJ21jAxp65v3
5LP1BrHxOuRXRnEP1mJ2ZAQBZaUzYp7injDzlMut+riPLNl8aGzgdXojZHAZSaBwgFVK
DGO2qEk4iROXOOwFGv1GpiT+ewnTJdZ45w05pR6/TpjsZONhTuJAD31OQFGo+Ebu30Sn
kQqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419400; x=1749024200;
h=content-transfer-encoding:cc:to: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=7EOwFLOIjUGE9rMIYijxRVcus8CYn2cGLNdJL9ka6c0=;
b=lz97CXLBCeixQUTg/0A66oNbAsnj3fXCWqPGRcBstQ9bBjO9DdgOTk4l9I6MTKxRi8
R8am77/GkPpRuwmW3ZW8TFdiWzOUQG00nCf5JWJcYRLMb/pD0C1k9wuEudd6vDBgY2aV
obz5NSf+6nR/uDI7ONP5nBdB3CEZA+LiRXGKOxrO2M/nwtYIRbxVwcbM4Gdi/1XJJUsx
7Aai82ew9tlvfCoMNydzH3i5JBnzPWXntUqAtV6PndP1wLla1tlVrl9AAgbH8oBX5JLQ
2pC+KnR3J10QhTgEe7tcfmk8qj6wuTee76wipAAh8BIrN4FczJSw7bhkXqVmpPFcjsT2
aGKQ==
X-Forwarded-Encrypted: i=1; AJvYcCVh7Gq+scQ4wbXEYNHO7MD4RbFmcyKX7nOAnd6/c89tr8SAu7O6KQC2WvXrp+wVGKq1xLEhNuHwZQ+hfdSY1SI=@vger.kernel.org, AJvYcCWFrlp3xQYcwTpiuvrvE2hTCDTvqzgpcly7nLvtXgfJIeklhPzJjYrdy8fnUN9b0wRb4rWipWyPKNVXP/ypkcxr@xxxxxxxxxxxxxxx, AJvYcCXXn3fFLJPUFV2ICCHck6LTnKXzAbHr5jtHTYpL4jzCzNCId/lo92urfYtY11M8D5j+obocnVvvZzkB5vw=@vger.kernel.org
X-Gm-Message-State: AOJu0YyUZkmOmod9ADzR9cAi9kvoi7ysD0Iw4ax4Es0VfO/d8UTzDCeB
sJ6rN2DrYIiTMGpPEiUXvqV7CJc5w7ypuwiNJAgJDco8x7EoG1/bvf3OB28oYYrDmzyAObsgSYO
hz8G5nYWp3vH9y159UAX8xHzWGmW4GvY=
X-Gm-Gg: ASbGncud6fRez0GzjTdQbEtZGYwSxCdX1tF3ldxd/rSjYD3P1ODQeAs+PvKC8wn/e58
dNtooTBlwKBcK4bNQi4lZ75uQ5PQpoCHp1Z1qHk3FrJz6cXIObIZ14L+hvUz7RymucI7qqTZriR
Lh+pt3eiDWSCIR3VE9n5Pq7jrk3fkKss36
X-Google-Smtp-Source: AGHT+IEiwicS/q9RUO/V8KuNVVyWFDIAjAK2Mnb5ZiQ/pv0ORt4DIc9nszJacBNbGZrUZagNVQ3qcC1eIdODchfFkbQ=
X-Received: by 2002:a17:90b:1b4b:b0:311:e8cc:424b with SMTP id
98e67ed59e1d1-311e8cc4639mr847651a91.5.1748419400178; Wed, 28 May 2025
01:03:20 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250502215133.1923676-1-ojeda@xxxxxxxxxx> <CANiq72mj2yv4E7Dd+19fmP9xGWELdv6JwXULpu91oq0BMzob+g@xxxxxxxxxxxxxx>
In-Reply-To: <CANiq72mj2yv4E7Dd+19fmP9xGWELdv6JwXULpu91oq0BMzob+g@xxxxxxxxxxxxxx>
From: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>
Date: Wed, 28 May 2025 10:03:07 +0200
X-Gm-Features: AX0GCFvKE0fCOzzRb6dIal5zXh6Jr2moZJDyfrK-nCJ7S0wGurEFElmTeo_tH7w
Message-ID: <CANiq72m2vnoagiFBU81L=Z=AXa--+Sz-Q8OKcv-++mXvRu__mA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 0/7] Rust KUnit `#[test]` support improvements
To: Miguel Ojeda <ojeda@xxxxxxxxxx>, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Cc: Brendan Higgins <brendan.higgins@xxxxxxxxx>, David Gow <davidgow@xxxxxxxxxx>,
Alex Gaynor <alex.gaynor@xxxxxxxxx>, Rae Moar <rmoar@xxxxxxxxxx>,
linux-kselftest@xxxxxxxxxxxxxxx, kunit-dev@xxxxxxxxxxxxxxxx,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
=?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>, Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 2:10=E2=80=AFAM Miguel Ojeda
<miguel.ojeda.sandonis@xxxxxxxxx> wrote:
>
> [ Used the `cfg_attr` from the TODO comment and clarified its comment
> now that the stabilization is in beta and thus quite likely stable
> in Rust 1.88.0. Simplified the `new_body` code by introducing a new
> variable. Added `#[allow(clippy::incompatible_msrv)]`. - Miguel ]
One addition:
Required `KUNIT=3Dy` like for doctests.
The build error was reported by Stephen when merging -- thanks!
Cheers,
Miguel
Return-Path: <linux-kernel+bounces-665026-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 52DC541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:04:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 8E26F16B911
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:04:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 79DAA244681;
Wed, 28 May 2025 08:04:04 +0000 (UTC)
Received: from mail-io1-f70.google.com (mail-io1-f70.google.com [209.85.166.70])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id ACFCC1990A7
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:04:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.70
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419444; cv=none; b=aIf30tiwTE7vbIH0ZLYIYzLzXxEESrKGehpLKT18nhRhaWVDHFNJ9luIpjMOFQUMt33G28GT2pjh30J+VK4afXIsoSvJY0FRazLvF2aSsoVUfZFdh04h/Bxf0r1vIdR6AQyuC9jQpWo8kHdNZxdv1UK1jU5Q3B35f7FNPkSKgpU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419444; c=relaxed/simple;
bh=1oeI1j1lw8DC0A/7yt/5p9dEKr5IkC/rOemfjplVwlI=;
h=MIME-Version:Date:In-Reply-To:Message-ID:Subject:From:To:
Content-Type; b=ZeKg4WuF78zHSpWr9eh9uOc0P2KM95Qz8WljYSYiYv5Xyxwq6dm0mOvmIQOvV46K3IXKJmUp8lfdz6vCEWNwgSQA3L/jthYOUpHO0rdU5Rp9HMRQQwAwJqxVKBvTmL7glUgKyJMN7990+z+oDZu21X+xfPuB4XXGOmaGf0yYggo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.70
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-io1-f70.google.com with SMTP id ca18e2360f4ac-86195b64df7so631857539f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:04:02 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419442; x=1749024242;
h=to:from:subject:message-id:in-reply-to:date:mime-version
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=MWDhC9r9oehNAeAGxW4ZZpblr+pALrjlJXaJu5GfEiI=;
b=vDTouUSjtY2tYxVFWCOBnGJL3nC28PGDL/OIDp3LA/nBrVEY+Os2NwgSfuVY4DtMQe
UWYVb6Gi00iv9/x6G6YsVuxqgu9hjikt2lIJRGA1+wmx9FFykmeAJDJU8vJGRjWazu5p
v1eOPvjjYEnuG8jr7w2aA0Q1VABVpVGAbhpg56YrSl6grFOA5sTRikgHhiexDH072t2F
bVbLUtL63fNSwdDfi+XsSqtnWWa9WOVrRxeT+4hUddW+ybcLux1xcxMtpuJujh+7UQ1K
rWYTkawSAsPffl+kxS+GEdn+yhEk9FyXZBgGrohy4LqJKwjDSKR99c7jc0BUO2MRIuIv
L8ow==
X-Forwarded-Encrypted: i=1; AJvYcCVF9enFvKqf9kAcJcsJ2vGqYv+GKoqNjxg1d2mc2WxmA0yCta6qoaq0eIXPypIYimJyN3tVXuOoiOxJlIw=@vger.kernel.org
X-Gm-Message-State: AOJu0YwI7JnDzJOcsPvXyHq5cYcb1oPoBZv+gOoU4S9yWMs0hfmJBb0V
iF4fjdkq/jlelUi7NVKmp0THJ/VQ+aEoZ7cIQOMntd897eTN0cX1XiAHJNxgFRcHpcByAhdwT0P
sFocT+zXIBz4UZnvC5O3lIyW2b29jFstnorFiMeoMVwsWKJGYdNlXUL/2hM4=
X-Google-Smtp-Source: AGHT+IEWDo3N5Y8nJt4+xEYmCWGJ5P4xfnzlN1fx3ds89XYRyy+o3hQXbMe2tox95EQkf7Cfu+qZRRLsC7xzQomT57mTkOqhoTy7
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6602:371a:b0:85b:3a51:2923 with SMTP id
ca18e2360f4ac-86cbb8b7b35mr1789997039f.14.1748419441880; Wed, 28 May 2025
01:04:01 -0700 (PDT)
Date: Wed, 28 May 2025 01:04:01 -0700
In-Reply-To: <68c2c045-c0d4-4896-b3e5-ba3d767f7110@xxxxxxxxxx>
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6836c371.a70a0220.253bc2.00c4.GAE@xxxxxxxxxx>
Subject: Re: [syzbot] [f2fs?] KASAN: slab-out-of-bounds Read in build_sit_entries
From: syzbot <syzbot+1fa48dc6faf1ff972d7d@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: chao@xxxxxxxxxx, jaegeuk@xxxxxxxxxx,
linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.0 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello,
syzbot has tested the proposed patch but the reproducer is still triggering an issue:
unregister_netdevice: waiting for DEV to become free
unregister_netdevice: waiting for batadv0 to become free. Usage count = 3
Tested on:
commit: 8b56d4fb f2fs: fix to do sanity check on section ckpt_..
git tree: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git bugfix/syzbot
console output: https://syzkaller.appspot.com/x/log.txt?x=171403f4580000
kernel config: https://syzkaller.appspot.com/x/.config?x=d25f4819d9920a3e
dashboard link: https://syzkaller.appspot.com/bug?extid=1fa48dc6faf1ff972d7d
compiler: Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6
Note: no patches were applied.
Return-Path: <linux-kernel+bounces-665027-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0011641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:04:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id ABAB63A7D0C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:04:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7BE0724676B;
Wed, 28 May 2025 08:04:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="wNqcsvHH";
dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="i72A5JCB"
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 538DA1990A7;
Wed, 28 May 2025 08:04:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419477; cv=none; b=c1wEY/s9/2ZvSqvS29sRt+f3sEwWymGRj6WRcCwpDC0H/Vs1Ude6EyXZdkb2HqMHI9FiESN3w5N500Wr/AOluM+LM0MIrlabFuvsJGwcOHshWpZ6r5N5EHEcOwCF1H8tu5vPwBknv2v2WxK82oDR0LS41kLRa7TWvZCYZjfiKEo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419477; c=relaxed/simple;
bh=XqT576a4+pge7B4a4Rzz0v2Or+g/qgeLaa1Dg40HAWk=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=oDnEnz7oTXacd9/v5x+ct8kNeyxigX2YmGHaiFW1M5arr5pGO3lk2E00PGS2WS5TOz0i+CAVHYQZEBYj5inuBS7GixK2gTIiqJnMiChSlVCYWdLIdvfFEHfFIzArd9+iM9bHRGvYmZhinix92Kzc8m4SiT/OWJZ6yF5shDxZMXo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=wNqcsvHH; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=i72A5JCB; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Date: Wed, 28 May 2025 10:04:32 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020; t=1748419474;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=ovrRv3FXIRrWqtjmQh9OpUxF47ZJQWlIULBJidB3gng=;
b=wNqcsvHH6McVUSiMrlgCo3LTQwVwhgf0mPCMpt9R2KGu+FVTqTVg5a44RP2KRT8Pc5+bUL
xAcg5mYhzBkLFccdvw9AEQMsMkcnwsOGdhqfA07+KXbUmfF/+Hs24egqAooz+xrvNoBJEC
77TZ5xYpidvzv0TUnWNf/IrD9VLDfuy2y3vKm82746Gtjoa2KimeBWr8/YiNdTOic68Zd9
TSHZ80jmP5k33g/IjGozXKDUflBl+oPF3WWmFd0LYehqLrJ89Z548y9LOpoe4ewY/JuUMG
6adKo/tWZ5vPFEwHAhiJxsGzHdmjpzgpKgZelfxg3gj7mcJoA6FAbcT9utqs0g==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020e; t=1748419474;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=ovrRv3FXIRrWqtjmQh9OpUxF47ZJQWlIULBJidB3gng=;
b=i72A5JCBGUIF5ClurNrGNHBichGzZbPsYF1G187CWSqEG0evuQoIdcPRiH7PHQLMuLtxSf
1uLDT5gD4W0S1DBg==
From: Nam Cao <namcao@xxxxxxxxxxxxx>
To: Holger =?iso-8859-1?Q?Hoffst=E4tte?= <holger@xxxxxxxxxxxxxxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>,
Christian Brauner <brauner@xxxxxxxxxx>, Jan Kara <jack@xxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
John Ogness <john.ogness@xxxxxxxxxxxxx>,
Clark Williams <clrkwllms@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-rt-devel@xxxxxxxxxxxxxxx,
linux-rt-users@xxxxxxxxxxxxxxx, Joe Damato <jdamato@xxxxxxxxxx>,
Martin Karsten <mkarsten@xxxxxxxxxxxx>,
Jens Axboe <axboe@xxxxxxxxx>,
Frederic Weisbecker <frederic@xxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>
Subject: Re: [PATCH v2] eventpoll: Fix priority inversion problem
Message-ID: <20250528080432.Qke-VMIY@xxxxxxxxxxxxx>
References: <20250523061104.3490066-1-namcao@xxxxxxxxxxxxx>
<3475f3f1-4109-b6ac-6ea6-dadcdec8db1f@xxxxxxxxxxxxxxxxxxxxxx>
<20250528061252.AeDA23yH@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250528061252.AeDA23yH@xxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 08:12:58AM +0200, Nam Cao wrote:
> On Wed, May 28, 2025 at 07:57:26AM +0200, Holger Hoffstätte wrote:
> > I have been running with v2 on 6.15.0 without any issues so far, but just
> > found this in my server's kern.log:
>
> Thanks for testing!
>
> > It seems the condition (!n) in __ep_remove is not always true and the WARN_ON triggers.
> > This is the first and only time I've seen this. Currently rebuilding with v3.
>
> Yeah this means __ep_remove() thinks the item is in epoll's rdllist and
> attempt to remove it, but then couldn't actually find the item in the list.
>
> __ep_remove() relies on the 'ready' flag, and this flags is quite
> complicated. And as my colleague pointed out off-list, I got memory
> ordering wrong for this flag. Therefore it is likely that you stepped on a
> bug with this flag.
>
> I got rid of this flag in v3, so hopefully the problem goes away.
Sorry, I have been staring at this but still have no clue why. None of my
stress test can reproduce the issue.
Let me know if testing for v3 goes well.
Best regards,
Nam
Return-Path: <linux-kernel+bounces-665028-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3D2A041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:05:08 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0E40D16F3A3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:05:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7866E246772;
Wed, 28 May 2025 08:05:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WpRqsxLE"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18D36217679;
Wed, 28 May 2025 08:04:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.17
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419499; cv=none; b=ra1/guNrpt3gUYcVxn3Pm7+NkwuiOI9do3faYXhGpc3ExGIw+TfZh2PKtj2GBhdrSgrCjOM/p59/xH7VcIDY1ZfQe5hfl36kxaNv8B5NpguTX2pfwVzaPd8d5Az8rvqG5eIEMTMA21WzgjZYlLd4LczKGidgVfODBrS8+GYWKUM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419499; c=relaxed/simple;
bh=zvk+/0pOBB6n96MopJf2kYiRrFww4RvKm0+5MlficmA=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=hWupNrP4RtYbm3CjEU4tfmtOZDo8+KAiJfsGOiPGdM3rq5kpBYz0QwZnimTLLU0bB7YiP7uhSJc3v1QoYLVqcgP3yabPg45S1MuGceIvbosWO8wWMIJyughk6tOv/nthSwo/FiuwCHyngkW3ifSzm3fseBDg6lBY7+6e4Mmhtnc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=WpRqsxLE; arc=none smtp.client-ip=198.175.65.17
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748419498; x=1779955498;
h=message-id:date:mime-version:subject:to:cc:references:
from:in-reply-to:content-transfer-encoding;
bh=zvk+/0pOBB6n96MopJf2kYiRrFww4RvKm0+5MlficmA=;
b=WpRqsxLE0fqpqsst422z/Tq2rzisuo9Bkb/HudTVO5w2BThmaFtIA7b7
VH4gxyehConApYL8jcLvQtONp+LJz22YzS/edeoQBcTKSJ63ssElkY9Jw
WisD3rK51n4FpNbTWbTMOjOd/TYNFa06wIHGI5zk6nRDc6ljpV19TVdEy
nzVeZODzVQitPC3WT/RScz18I8z0T/dX6sK8mrY40M1iUoIwRNHsdvcRD
/Q4pPzfO3Sow9oqZJ10iJ24CM9WOHaCTbenX5d5e9Gsk3C3KbyTI/aICa
RWrN2ZQSc+LDYXXKw+NtG/6Kn0hePbNlln1Fpah3OH9yijjgLRSJABXqe
w==;
X-CSE-ConnectionGUID: f1b05I5ZT/64CMmDa7z1RQ==
X-CSE-MsgGUID: rMUIiL02TCOzQ1M87RoHKw==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="50428456"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="50428456"
Received: from fmviesa001.fm.intel.com ([10.60.135.141])
by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:04:56 -0700
X-CSE-ConnectionGUID: 2JaN/U7vSq2pjZYvQ5ifTg==
X-CSE-MsgGUID: 0swEWbnRSVKrGb0smiqn7Q==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="174057105"
Received: from xiaoyaol-hp-g830.ccr.corp.intel.com (HELO [10.124.247.1]) ([10.124.247.1])
by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:04:54 -0700
Message-ID: <7cc5cd92-1854-4e0e-93b7-e4eee5991334@xxxxxxxxx>
Date: Wed, 28 May 2025 16:04:51 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/4] KVM: x86/mmu: Dynamically allocate shadow MMU's
hashed page list
To: Sean Christopherson <seanjc@xxxxxxxxxx>,
Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: kvm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Vipin Sharma <vipinsh@xxxxxxxxxx>, James Houghton <jthoughton@xxxxxxxxxx>
References: <20250523001138.3182794-1-seanjc@xxxxxxxxxx>
<20250523001138.3182794-3-seanjc@xxxxxxxxxx>
Content-Language: en-US
From: Xiaoyao Li <xiaoyao.li@xxxxxxxxx>
In-Reply-To: <20250523001138.3182794-3-seanjc@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-5.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,HK_RANDOM_FROM,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/23/2025 8:11 AM, Sean Christopherson wrote:
> Dynamically allocate the (massive) array of hashed lists used to track
> shadow pages, as the array itself is 32KiB, i.e. is an order-3 allocation
> all on its own, and is *exactly* an order-3 allocation. Dynamically
> allocating the array will allow allocating "struct kvm" using kvmalloc(),
> and will also allow deferring allocation of the array until it's actually
> needed, i.e. until the first shadow root is allocated.
>
> Opportunistically use kvmalloc() for the hashed lists, as an order-3
> allocation is (stating the obvious) less likely to fail than an order-4
> allocation, and the overhead of vmalloc() is undesirable given that the
> size of the allocation is fixed.
>
> Cc: Vipin Sharma <vipinsh@xxxxxxxxxx>
> Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
> ---
> arch/x86/include/asm/kvm_host.h | 4 ++--
> arch/x86/kvm/mmu/mmu.c | 23 ++++++++++++++++++++++-
> arch/x86/kvm/x86.c | 5 ++++-
> 3 files changed, 28 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
> index 330cdcbed1a6..9667d6b929ee 100644
> --- a/arch/x86/include/asm/kvm_host.h
> +++ b/arch/x86/include/asm/kvm_host.h
> @@ -1343,7 +1343,7 @@ struct kvm_arch {
> bool has_private_mem;
> bool has_protected_state;
> bool pre_fault_allowed;
> - struct hlist_head mmu_page_hash[KVM_NUM_MMU_PAGES];
> + struct hlist_head *mmu_page_hash;
> struct list_head active_mmu_pages;
> /*
> * A list of kvm_mmu_page structs that, if zapped, could possibly be
> @@ -2006,7 +2006,7 @@ void kvm_mmu_vendor_module_exit(void);
>
> void kvm_mmu_destroy(struct kvm_vcpu *vcpu);
> int kvm_mmu_create(struct kvm_vcpu *vcpu);
> -void kvm_mmu_init_vm(struct kvm *kvm);
> +int kvm_mmu_init_vm(struct kvm *kvm);
> void kvm_mmu_uninit_vm(struct kvm *kvm);
>
> void kvm_mmu_init_memslot_memory_attributes(struct kvm *kvm,
> diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
> index cbc84c6abc2e..41da2cb1e3f1 100644
> --- a/arch/x86/kvm/mmu/mmu.c
> +++ b/arch/x86/kvm/mmu/mmu.c
> @@ -3882,6 +3882,18 @@ static int mmu_alloc_direct_roots(struct kvm_vcpu *vcpu)
> return r;
> }
>
> +static int kvm_mmu_alloc_page_hash(struct kvm *kvm)
> +{
> + typeof(kvm->arch.mmu_page_hash) h;
Out of curiousity, it is uncommon in KVM to use typeof() given that we
know what the type actually is. Is there some specific reason?
anyway, it works.
Reviewed-by: Xiaoyao Li <xiaoyao.li@xxxxxxxxx>
> +
> + h = kvcalloc(KVM_NUM_MMU_PAGES, sizeof(*h), GFP_KERNEL_ACCOUNT);
> + if (!h)
> + return -ENOMEM;
> +
> + kvm->arch.mmu_page_hash = h;
> + return 0;
> +}
> +
> static int mmu_first_shadow_root_alloc(struct kvm *kvm)
> {
> struct kvm_memslots *slots;
> @@ -6675,13 +6687,19 @@ static void kvm_mmu_zap_all_fast(struct kvm *kvm)
> kvm_tdp_mmu_zap_invalidated_roots(kvm, true);
> }
>
> -void kvm_mmu_init_vm(struct kvm *kvm)
> +int kvm_mmu_init_vm(struct kvm *kvm)
> {
> + int r;
> +
> kvm->arch.shadow_mmio_value = shadow_mmio_value;
> INIT_LIST_HEAD(&kvm->arch.active_mmu_pages);
> INIT_LIST_HEAD(&kvm->arch.possible_nx_huge_pages);
> spin_lock_init(&kvm->arch.mmu_unsync_pages_lock);
>
> + r = kvm_mmu_alloc_page_hash(kvm);
> + if (r)
> + return r;
> +
> if (tdp_mmu_enabled)
> kvm_mmu_init_tdp_mmu(kvm);
>
> @@ -6692,6 +6710,7 @@ void kvm_mmu_init_vm(struct kvm *kvm)
>
> kvm->arch.split_desc_cache.kmem_cache = pte_list_desc_cache;
> kvm->arch.split_desc_cache.gfp_zero = __GFP_ZERO;
> + return 0;
> }
>
> static void mmu_free_vm_memory_caches(struct kvm *kvm)
> @@ -6703,6 +6722,8 @@ static void mmu_free_vm_memory_caches(struct kvm *kvm)
>
> void kvm_mmu_uninit_vm(struct kvm *kvm)
> {
> + kvfree(kvm->arch.mmu_page_hash);
> +
> if (tdp_mmu_enabled)
> kvm_mmu_uninit_tdp_mmu(kvm);
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index f9f798f286ce..d204ba9368f8 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -12787,7 +12787,9 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
> if (ret)
> goto out;
>
> - kvm_mmu_init_vm(kvm);
> + ret = kvm_mmu_init_vm(kvm);
> + if (ret)
> + goto out_cleanup_page_track;
>
> ret = kvm_x86_call(vm_init)(kvm);
> if (ret)
> @@ -12840,6 +12842,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
>
> out_uninit_mmu:
> kvm_mmu_uninit_vm(kvm);
> +out_cleanup_page_track:
> kvm_page_track_cleanup(kvm);
> out:
> return ret;
Return-Path: <linux-kernel+bounces-665029-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DCB6341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:05:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 8922C7A7F96
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:04:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 857EA24634F;
Wed, 28 May 2025 08:05:32 +0000 (UTC)
Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08B4E2A1BA;
Wed, 28 May 2025 08:05:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.255
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419532; cv=none; b=qelZ6LqqpZTLBOHHGsjeZw/kcBvlXBkK0zsi4EJlUamiFapc/kO9sw1YAIymHm1jYtrkHgSOyfxVW5gqyysS7vmI0oUmZV4NEerFYSjzmYtMYF5oYvHcfNloDqgUZDWkEodWlGxyBopvfBTwCSlUnlMbPMcFfB0dqL1FPXaFLpg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419532; c=relaxed/simple;
bh=ZDPLgkg3MtN9+MqqFoZLuB0esX0Y9CnOOIuDP2Tdf48=;
h=Message-ID:Date:MIME-Version:CC:Subject:To:References:From:
In-Reply-To:Content-Type; b=AM09Inz88WedF44FoxiXENwyhK945wQzLHkn79szKycRBmZ0NP1O+xzt2K4PgVMBnkid6IUdGXlISW4d5d7Jn1GaxDEE9d4a+Sw+lDTybyYyTFTTsNu55i8X0lMaBjyQUF+NT1kvYihkfWVAw4Xol8btB3wle6eB9uO6fKODXa0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=45.249.212.255
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com
Received: from mail.maildlp.com (unknown [172.19.163.48])
by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4b6hnZ5HvZz1d0ym;
Wed, 28 May 2025 16:02:58 +0800 (CST)
Received: from kwepemk100013.china.huawei.com (unknown [7.202.194.61])
by mail.maildlp.com (Postfix) with ESMTPS id D24BE18007F;
Wed, 28 May 2025 16:04:42 +0800 (CST)
Received: from [10.67.120.192] (10.67.120.192) by
kwepemk100013.china.huawei.com (7.202.194.61) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.11; Wed, 28 May 2025 16:04:42 +0800
Message-ID: <012a9ce8-bc38-4b0b-b344-2e4a7a9a344e@xxxxxxxxxx>
Date: Wed, 28 May 2025 16:04:41 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
CC: <shaojijie@xxxxxxxxxx>, <netdev@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Subject: Re: [PATCH] [net-next] hns3: Demote load and progress messages to
debug level
To: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>, Jian Shen
<shenjian15@xxxxxxxxxx>, Salil Mehta <salil.mehta@xxxxxxxxxx>, Andrew Lunn
<andrew+netdev@xxxxxxx>, "David S . Miller" <davem@xxxxxxxxxxxxx>, Eric
Dumazet <edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni
<pabeni@xxxxxxxxxx>
References: <0df556d6b5208e4e5f0597c66e196775b45dac60.1748357693.git.geert+renesas@xxxxxxxxx>
From: Jijie Shao <shaojijie@xxxxxxxxxx>
In-Reply-To: <0df556d6b5208e4e5f0597c66e196775b45dac60.1748357693.git.geert+renesas@xxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: kwepems200002.china.huawei.com (7.221.188.68) To
kwepemk100013.china.huawei.com (7.202.194.61)
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
on 2025/5/28 3:30, Geert Uytterhoeven wrote:
> From: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>
> No driver should spam the kernel log when merely being loaded.
> The message in hclge_init() is clearly a debug message.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
Thanks,
Reviewed-by: Jijie Shao<shaojijie@xxxxxxxxxx>
> ---
> Alternatively, the printing in hns3_init_module() could be removed
> completely, but that would make hns3_driver_string[] and
> hns3_copyright[] unused, which HiSilicon legal may object against?
> ---
> drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 4 ++--
> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
> index b03b8758c7774ec2..5c8c62ea6ac0429f 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
> @@ -5961,8 +5961,8 @@ static int __init hns3_init_module(void)
> {
> int ret;
>
> - pr_info("%s: %s - version\n", hns3_driver_name, hns3_driver_string);
> - pr_info("%s: %s\n", hns3_driver_name, hns3_copyright);
> + pr_debug("%s: %s - version\n", hns3_driver_name, hns3_driver_string);
> + pr_debug("%s: %s\n", hns3_driver_name, hns3_copyright);
>
> client.type = HNAE3_CLIENT_KNIC;
> snprintf(client.name, HNAE3_CLIENT_NAME_LENGTH, "%s",
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> index 3e28a08934abd2e1..6bfff77ea7e67e8d 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> @@ -12904,7 +12904,7 @@ static struct hnae3_ae_algo ae_algo = {
>
> static int __init hclge_init(void)
> {
> - pr_info("%s is initializing\n", HCLGE_NAME);
> + pr_debug("%s is initializing\n", HCLGE_NAME);
>
> hclge_wq = alloc_workqueue("%s", WQ_UNBOUND, 0, HCLGE_NAME);
> if (!hclge_wq) {
Return-Path: <linux-kernel+bounces-665030-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A2A5041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:06:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9D165170A8B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:06:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9D7C4246776;
Wed, 28 May 2025 08:06:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="H0WSSbSh"
Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 354BC244677;
Wed, 28 May 2025 08:06:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.199
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419590; cv=none; b=n8bkoO+ZNkoPqeIQyfXcYdVV/cpJB0vUV6J9Rzxq3tlShYKDRj8TVYEG+cDi3ZIYKHTLiHCgnoa0s8OMuL8zV7h4S4883xgFzelzv4V/P0MI1GyvqNgZATdXmv/WX3F4OeqHzGsUMCF6qoPJ6aFDcqIrMQJJI/GVZ3VpC2fAZHw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419590; c=relaxed/simple;
bh=5wzSer57ZtS3RP0AmDkAKyNzrSWEp8TBPzOL/QWmaqg=;
h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To:
References:In-Reply-To; b=cteWHXrDJt0NIunbq4XYOzZ0A9teZeUXdcEEjIM6f1x/naTAqheWbAQC+Bd/wyukqBlCVCiQXju6P0Nuq9zJ4uMn/2IM83+SgJN4Z5A7+d+SwGcaYsZAdBxgeiUH6ugqh5FGgBtrA01As8pG6LPQqymRH/QHWamreYSGhP+5IZs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=H0WSSbSh; arc=none smtp.client-ip=217.70.183.199
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com
Received: by mail.gandi.net (Postfix) with ESMTPSA id 9370A44393;
Wed, 28 May 2025 08:06:23 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748419586;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=u8Snn3M2Xto80GFCTzGDH4eMJtf9SvjbeLQR53HTuGQ=;
b=H0WSSbShJ0Gz7Vg8g+HKsOFdUBIafPRnGn2jUS3PRcl77WiUdJ9uR25cfFiY7ItPIDyii/
gppDVRhJ/E+EiQx2GzxL/QxaIylJmxFNR8xsY5x5UqkpWbQfyAgVLQ0jq7JCE95lsooIL4
QV0kYkFlCSVo0RDy3BGQK0+36/6pMrHGVySCDuQbk1Z8tJPL/YicoKHGZ0oR4fGJF00K9f
loiiuW0yTVcTH+XXAI14PJROcA3E1HMWlO4t1VV4x4Y9xSu1negVKjX+EFApwCfZuBQoqb
akMwK1VWuR5S1uEz1ESV/mFcLaOnDptzmhJrUPbOXs8ueYrooE10alPOZDnmyA==
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 28 May 2025 10:06:23 +0200
Message-Id: <DA7N0K4FSI14.QARGA1ALU2XV@xxxxxxxxxxx>
Cc: "Alexandre Torgue" <alexandre.torgue@xxxxxxxxxxx>, "Jose Abreu"
<joabreu@xxxxxxxxxxxx>, "Andrew Lunn" <andrew+netdev@xxxxxxx>, "David S.
Miller" <davem@xxxxxxxxxxxxx>, "Eric Dumazet" <edumazet@xxxxxxxxxx>, "Jakub
Kicinski" <kuba@xxxxxxxxxx>, "Paolo Abeni" <pabeni@xxxxxxxxxx>, "Maxime
Coquelin" <mcoquelin.stm32@xxxxxxxxx>, "Richard Cochran"
<richardcochran@xxxxxxxxx>, "Phil Reid" <preid@xxxxxxxxxxxxxxxxx>, "Thomas
Petazzoni" <thomas.petazzoni@xxxxxxxxxxx>, <netdev@xxxxxxxxxxxxxxx>,
<linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v2] net: stmmac: add explicit check and error on invalid
PTP clock rate
From: =?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@xxxxxxxxxxx>
To: "Maxime Chevallier" <maxime.chevallier@xxxxxxxxxxx>
X-Mailer: aerc 0.20.1-0-g2ecb8770224a
References: <20250527-stmmac_tstamp_div-v2-1-663251b3b542@xxxxxxxxxxx>
<20250527183105.7c4bad49@xxxxxxxxxxxxxx>
In-Reply-To: <20250527183105.7c4bad49@xxxxxxxxxxxxxx>
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdejfeculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepggfgtgffkfevuffhvffofhgjsehtqhertdertdejnecuhfhrohhmpeetlhgvgihishcunfhothhhohhrrocuoegrlhgvgihishdrlhhothhhohhrvgessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepleekheeihfefheevhfdtgeeuleekheffffffuedvkeekkeduvdeugeeugfeiueeknecuffhomhgrihhnpegsohhothhlihhnrdgtohhmnecukfhppeeltddrkeelrdduieefrdduvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledtrdekledrudeifedruddvjedphhgvlhhopehlohgtrghlhhhoshhtpdhmrghilhhfrhhomheprghlvgigihhsrdhlohhthhhorhgvsegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopeduiedprhgtphhtthhopehmrgigihhmvgdrtghhvghvrghllhhivghrsegsohhothhlihhnrdgtohhmpdhrtghpthhtoheprghlvgigrghnughrvgdrthhorhhguhgvsehfohhsshdrshhtrdgtohhmpdhrtghpthhtohepjhhorggsrhgvuhesshihnhhophhshihsrdgtohhmpdhrtghpthhtoheprghnughrvgifo
dhnvghtuggvvheslhhunhhnrdgthhdprhgtphhtthhopegurghvvghmsegurghvvghmlhhofhhtrdhnvghtpdhrtghpthhtohepvgguuhhmrgiivghtsehgohhoghhlvgdrtghomhdprhgtphhtthhopehkuhgsrgeskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepphgrsggvnhhisehrvgguhhgrthdrtghomh
X-GND-Sasl: alexis.lothore@xxxxxxxxxxx
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hey Maxime,
On Tue May 27, 2025 at 6:31 PM CEST, Maxime Chevallier wrote:
> Hi Alexis,
>
> On Tue, 27 May 2025 08:33:44 +0200
> Alexis Lothor=C3=A9 <alexis.lothore@xxxxxxxxxxx> wrote:
[...]
>> + if (!priv->plat->clk_ptp_rate) {
>> + netdev_err(priv->dev, "Invalid PTP clock rate");
>> + return -EINVAL;
>> + }
>> +
>> stmmac_config_hw_tstamping(priv, priv->ptpaddr, systime_flags);
>> priv->systime_flags =3D systime_flags;
>
> This may be some nitpick that can be addressed at a later point, but we
> now have a guarantee that when stmmac_ptp_register() gets called,
> priv->ptp_clk_rate is non-zero, right ? If so, we can drop the test in
> said function :
>
> if (priv->plat->has_gmac4 && priv->plat->clk_ptp_rate)
> priv->plat->cdc_error_adj =3D (2 * NSEC_PER_SEC) / priv->plat->clk_ptp_=
rate;
You are right, my series makes this check a duplicate, I'll remove it.
> There is another spot in the code, like in the EST handling, where we
> divide by priv->plat->ptp_clk_rate :
>
> stmmac_adjust_time(...)
> stmmac_est_configure(priv, priv, priv->est,
> priv->plat->clk_ptp_rate)
> .est_configure()
> ctrl |=3D ((NSEC_PER_SEC / ptp_rate) [...]
>
> Maybe we should fail EST configuration as well if ptp_clk_rate is 0
> (probably in stmmac_tc.c's tc_taprio_configure or in the
> .est_configure). That can be a step for later as well, as I don't know
> if the setup you found this bug on even supports taprio/EST, and setups
> that do didn't seem to encounter the bug yet.
I guess you are right as well, it may not make sense to try to configure
EST if we have a bogus clk_ptp_rate value. est_configure seems to be called
in both tc_taprio_configure and stmmac_adjust_time, so I'll add the check
in est_configure.
Thanks,
Alexis
--=20
Alexis Lothor=C3=A9, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Return-Path: <linux-kernel+bounces-665031-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F343841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:07:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1407C3B6E6C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:06:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8956B246778;
Wed, 28 May 2025 08:06:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MnXdCUZ4"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 825452459EA;
Wed, 28 May 2025 08:06:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419600; cv=none; b=leAZFwzOEE8OtRGJi/Hr1Q+dGs+Z3FW2xdrTYoQjjkIYm9e9y37t38x/8i/pSYn4NEqydcFv+1Np52NbhCAsnSR4DUKMHeMGwmz13+wBwCf5WmK+qPvJTfEeO8kPn4EsgulxDHhpncW0OmPGry+DF2fP8ZBMASWiqcW3LlPszwE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419600; c=relaxed/simple;
bh=SW97+/6o0Bda4FjXubNbdRzpoyh+i+v91gUy6eOTLnw=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=Zc53j/kawKnTqE5C6fNhEMWdYnnQtl2sC2Sl4jaPd3QDVb81rWxggr2c3mSfqEl5/WVTuVftQsZSHte9h2zE9lLCJihaHgicQu+6EdvvIWdlyV12g8/+UJb+HjWO9xtrLXtgDiz1moGXitQ6RsadbaaDqy6DNbgCEMlqefkdgos=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=MnXdCUZ4; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5CBC9C4CEEF;
Wed, 28 May 2025 08:06:36 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419600;
bh=SW97+/6o0Bda4FjXubNbdRzpoyh+i+v91gUy6eOTLnw=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=MnXdCUZ4xGgmcADcuH8m4JaGdkcG7IZRZVNxJV6pOk2wBRf6P7LFmWZg8ikKdSok5
c/F6aAGMEBlRBrDRt/0v57upw4kP0EuWXE3UrGyatLFJvYRMzBLHPmvkdmB5d/oLKr
slMAAbBnaKTMUsEm9zidYETJLxMPMUI4n/LVANKTGj/1E3nz3lcaimGUT1lc1WIdiW
4wVWMcfPU3OM16wZ8rC56c78a9qnN65CRqByN+++s3UEbs4rM9K34I1zAD79FqWiEb
/BnkFFncv1s8JN4vK6Sr8HmTzANGCdWgoCSkrr8XsiSSNdfc46VhNvD6TwAMmvIMJ2
NzdPz5jnu8OOQ==
Message-ID: <412231e0-5fcf-4708-aeab-cc3aa38c817e@xxxxxxxxxx>
Date: Wed, 28 May 2025 10:06:34 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/7] dt-bindings: Add support for export-symbols node
To: Ayush Singh <ayush@xxxxxxxxxxxxxxx>,
Herve Codina <herve.codina@xxxxxxxxxxx>,
David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>, Andrew Davis <afd@xxxxxx>,
Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Saravana Kannan <saravanak@xxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx, devicetree-compiler@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>,
Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx>
References: <20250430125154.195498-1-herve.codina@xxxxxxxxxxx>
<20250430125154.195498-2-herve.codina@xxxxxxxxxxx>
<0770a47e-fd2f-4b6f-9a9a-b0d539ace30c@xxxxxxxxxx>
<6c61a101-6ec7-4350-bfa7-5b7d32177818@xxxxxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <6c61a101-6ec7-4350-bfa7-5b7d32177818@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 09:59, Ayush Singh wrote:
> On 5/28/25 00:01, Krzysztof Kozlowski wrote:
>
>> On 30/04/2025 14:51, Herve Codina wrote:
>>> An export-symbols node allows to export symbols for symbols resolution
>>> performed when applying a device tree overlay.
>>>
>>> When a device tree overlay is applied on a node having an export-symbols
>>> node, symbols listed in the export-symbols node are used to resolve
>>> undefined symbols referenced from the overlay.
>>
>> I have impression that this is being discussed in three places
>> simultaneously - here, DT spec and DT schema. I don't know how to solve
>> the multiplication, but I will keep answering here, because that's my part.
>>
>>> This allows:
>>> - Referencing symbols from an device tree overlay without the need to
>>> know the full base board. Only the connector definition is needed.
>>>
>>> - Using the exact same overlay on several connectors available on a given
>>> board.
>>>
>>> For instance, the following description is supported with the
>>> export-symbols node:
>>> - Base device tree board A:
>>> ...
>>> foo_connector: connector1 {
>>> export-symbols {
>>> connector = <&foo_connector>;
>>> };
>>> };
>>>
>>> bar_connector: connector2 {
>>> export-symbols {
>>> connector = <&bar_connector>;
>>> };
>>> };
>>> ...
>> And what would this mean? Which symbol is exported - foo or bar?
>>
>>> - Base device tree board B:
>>> ...
>>> front_connector: addon-connector {
>>> export-symbols {
>>> connector = <&front_connector>;
>>> };
>>> };
>> <from my other reply in private>
>> Another problem is that the board DTS should not care about overlays. It
>> feels like breaking encapsulation and I cannot imagine now adding 1000
>> export-symbols, because every i2c, spi, mikrobus or PCI slot could have
>> an overlay applied.
>>
>> You could argue that only few nodes will be exported like this, so only
>> real mikrobus connectors. Then I will argue: look at aliases. People
>> alias everything everywhere, not following the guidelines.
>>
>> If we assume that such overlays are designed for specific boards, thus
>> there will be only one or two exported symbols not 1000, then what is
>> the benefit of export symbols comparing to referencing by full path?
>> </end from my other reply>
>
> Can you explain how referencing by full path will work in connector +
> addon board setups?
>
> The full path will be dependent on the connector, which means the same
> addon board overlay cannot work for different connectors.
That was the assumption.
>
>
>>
>> And with above assumption - such overlays designed per board - plus my
>> first point about duplicated exports:
>> connector = <&foo_connector>;
>> connector = <&bar_connector>;
>>
>> why not exporting the symbol with the same name? E.g.:
>>
>> foo_connector: connector1 {
>> export-symbols {
>> whatever-property-style = <&foo_connector>;
>> };
>> };
>>
>> and overlay:
>>
>> node {
>> ...
>> connector = <&foo_connector>;
>> ...
>> };
>
>
> Isn't this overlay tied to `foo_connector`, i.e. it cannot be used with
> `bar_connector`?
I don't know what the example tried to say. I asked the question, so
don't ask question to my question. We both apparently do not know. What
is the meaning of that example I questioned? To which connector this is
an overlay? Which symbol is exported for that example?
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665032-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 96BDD41E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:07:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id F20674E078C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:07:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3DCE01F63F9;
Wed, 28 May 2025 08:06:48 +0000 (UTC)
Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C2F3224728C;
Wed, 28 May 2025 08:06:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419607; cv=none; b=LCfZydscWsw9ZO4NZikABE6LZjd8CjQG/2ROnVCtNeyIaAAo3D+qjJhCtO0ibNLyqGmSmgwSuzUZ7bBlCRnzoV8YDPZiQVrZX0sTEcFkd7Xhzo9fuS65qb5RchK5kseY6164qnitk0Uxj6cKtS84EWxB/+TaxHjXepqUTbY2kIc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419607; c=relaxed/simple;
bh=Utmj1w9gpAnryKiUXD1QajcvknvGJPR2n8w8hmdFaHw=;
h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version:
In-Reply-To:Content-Type; b=WV7VtxIwCtEDy9H64c7/sS0VzJJCK9+mu/f9a/LbUJFa1aT5sqVTRQfxeTC3uOL1m1Dv+8S9WM6USAwUymTmKA/Rp5EXJJjkEKWY/YE4UnkiHlI4piyB4dHgpP5DQIx+lq+PiwzCAI+m/oWCRRfsxymgEQkZ9AtiGRCd/csqsoM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn
Received: from loongson.cn (unknown [10.20.42.164])
by gateway (Coremail) with SMTP id _____8Bx22oRxDZo5Mb_AA--.49226S3;
Wed, 28 May 2025 16:06:41 +0800 (CST)
Received: from [10.20.42.164] (unknown [10.20.42.164])
by front1 (Coremail) with SMTP id qMiowMDxfRsLxDZolYv3AA--.27101S2;
Wed, 28 May 2025 16:06:38 +0800 (CST)
Subject: Re: [PATCH v10 0/5] Add Loongson Security Engine chip driver
To: Huacai Chen <chenhuacai@xxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx,
jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx>
<CAAhV-H7hBksA2P+vfMbpDVnbjW1Mo09Out_wOQLgLRXPLaFCfA@xxxxxxxxxxxxxx>
From: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Message-ID: <cda7ef56-87b3-6594-c2b6-2a4f5a1b63ce@xxxxxxxxxxx>
Date: Wed, 28 May 2025 16:05:39 +0800
User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:68.0) Gecko/20100101
Thunderbird/68.7.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
In-Reply-To: <CAAhV-H7hBksA2P+vfMbpDVnbjW1Mo09Out_wOQLgLRXPLaFCfA@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-CM-TRANSID:qMiowMDxfRsLxDZolYv3AA--.27101S2
X-CM-SenderInfo: 52kd01pxqtx0o6or00hjvr0hdfq/
X-Coremail-Antispam: 1Uk129KBj93XoWxXF4ktFWfCry3XFyrXw18Zwc_yoW5ZF47pF
45Ca9xCr4UJF47C3s3t34rCFyrZ3s3Jr9rKa9rXw15ur9rAa4xXrW7AFyUCFW7ZF1rGry2
vFWxCF43uF15AacCm3ZEXasCq-sJn29KB7ZKAUJUUUU7529EdanIXcx71UUUUU7KY7ZEXa
sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU
0xBIdaVrnRJUUUPFb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2
IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v
e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI
0_Cr0_Gr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v2
6rxl6s0DM2kKe7AKxVWUXVWUAwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYI
kI8VC2zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUAVWU
twAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcVAKI48JMx
k0xIA0c2IEe2xFo4CEbIxvr21lc7CjxVAaw2AFwI0_JF0_Jw1l42xK82IYc2Ij64vIr41l
4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1l4IxYO2xFxVAFwI0_JF0_Jw1lx2IqxVAqx4xG67AKxV
WUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r43MIIYrxkI
7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r
1j6r4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJwCI
42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUcpBTUUUUU
X-Spam-Status: No, score=-5.9 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
å?¨ 2025/5/28 ä¸?å??3:17, Huacai Chen å??é??:
> Hi, Qunqin,
>
> As I said before, why the patch "MAINTAINERS: Add entry for Loongson
> Security Module driver" is missing?
Hi, Huacai
https://lore.kernel.org/all/8e55801a-a46e-58d5-cf84-2ee8a733df9a@xxxxxxxxxxx/
Thanks,
Qunqin.
>
> Huacai
>
> On Wed, May 28, 2025 at 2:59â?¯PM Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx> wrote:
>> The Loongson Security Engine chip supports RNG, SM2, SM3 and SM4
>> accelerator engines. Each engine have its own DMA buffer provided
>> by the controller. The kernel cannot directly send commands to the
>> engine and must first send them to the controller, which will
>> forward them to the corresponding engine. Based on these engines,
>> TPM2 have been implemented in the chip, then let's treat TPM2 itself
>> as an engine.
>>
>> v10: mfd: Cleanned up coding style.
>> crypto: Unlimited tfm
>> tpm: Added error check
>>
>> v9: Moved the base driver back to drivers/mfd. Cleanned up coding style.
>>
>> v8: Like Lee said, the base driver goes beyond MFD scope. Since these
>> are all encryption related drivers and SM2, SM3, and SM4 drivers
>> will be added to the crypto subsystem in the future, the base driver
>> need to be changed when adding these drivers. Therefore, it may be
>> more appropriate to place the base driver within the crypto
>> subsystem.
>>
>> Removed complete callback in all driver. Removed the concepts of
>> "channel", "msg" and "request" as they may be confusing. Used
>>
>> v7: Addressed Huacai's comments.
>>
>> v6: mfd :MFD_LS6000SE -> MFD_LOONGSON_SE, ls6000se.c -> loongson-se.c
>>
>> crypto :CRYPTO_DEV_LS6000SE_RNG -> CRYPTO_DEV_LOONGSON_RNG,
>> ls6000se-rng.c ->loongson-rng.c
>>
>> tpm: TCG_LSSE -> TCG_LOONGSON, tpm_lsse.c ->tpm_loongson.c
>>
>> v5: Registered "ls6000se-rng" device in mfd driver
>>
>>
>> Qunqin Zhao (5):
>> mfd: Add support for Loongson Security Engine chip controller
>> crypto: loongson - add Loongson RNG driver support
>> MAINTAINERS: Add entry for Loongson crypto driver
>> tpm: Add a driver for Loongson TPM device
>> MAINTAINERS: Add tpm_loongson.c to LOONGSON CRYPTO DRIVER entry
>>
>> MAINTAINERS | 9 +
>> drivers/char/tpm/Kconfig | 9 +
>> drivers/char/tpm/Makefile | 1 +
>> drivers/char/tpm/tpm_loongson.c | 84 ++++++++
>> drivers/crypto/Kconfig | 1 +
>> drivers/crypto/Makefile | 1 +
>> drivers/crypto/loongson/Kconfig | 5 +
>> drivers/crypto/loongson/Makefile | 1 +
>> drivers/crypto/loongson/loongson-rng.c | 211 +++++++++++++++++++++
>> drivers/mfd/Kconfig | 11 ++
>> drivers/mfd/Makefile | 2 +
>> drivers/mfd/loongson-se.c | 253 +++++++++++++++++++++++++
>> include/linux/mfd/loongson-se.h | 53 ++++++
>> 13 files changed, 641 insertions(+)
>> create mode 100644 drivers/char/tpm/tpm_loongson.c
>> create mode 100644 drivers/crypto/loongson/Kconfig
>> create mode 100644 drivers/crypto/loongson/Makefile
>> create mode 100644 drivers/crypto/loongson/loongson-rng.c
>> create mode 100644 drivers/mfd/loongson-se.c
>> create mode 100644 include/linux/mfd/loongson-se.h
>>
>>
>> base-commit: c89756bcf406af313d191cfe3709e7c175c5b0cd
>> --
>> 2.45.2
>>
>>
Return-Path: <linux-kernel+bounces-665033-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2D65E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:07:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D654D1BA2746
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:08:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 79BE8246772;
Wed, 28 May 2025 08:07:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VICjx/ML"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 647B720A5EC;
Wed, 28 May 2025 08:07:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419661; cv=none; b=VkSbozliwwtD1GKZvPTFRpVChbxCdFlnyjyxkGCG4CksS5Uw6oEVZ5X4b+So5pMl/uvwzhAUtwgHL2Lm595RYX+lk0dKhZ39F96yF3WiME+3VMTmZy22yTDgRx/WQPPt8Gkfq5WJwthpd5SZPNIA+iowV0qKfykutVoaWn2kmiU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419661; c=relaxed/simple;
bh=1pBhCd+qGZi/SHwoxBvC4XgzfEU7qen+VlOLfBKDrIo=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=RovghCcQX7weQuyUVUP5qiJtiBYfrbqZH9vDYzVDKeBBchICWHmQuNRnbcQCw9CR0V62Js/dNeD4KMNWtmTMcF5wvVE8vifz6vWD1WbYB2eIEjvrH0e15q2rOpIQNikT7+cBMmWtdWf1sboCcuof6s5ns+LpWlY1twhXdoz7OIQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VICjx/ML; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68098C4CEE7;
Wed, 28 May 2025 08:07:39 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419659;
bh=1pBhCd+qGZi/SHwoxBvC4XgzfEU7qen+VlOLfBKDrIo=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=VICjx/ML3GXxtr9cSwNwHdLHtS9jEPLnVCmSuYBCrkwGr4riClvxcJaOsj4M7QiUJ
pcGXkF+mtijzoRiSaDydxH7p4KkjQ12vSY6eaBi/AC4aGVAiFtOIE28pUedplnu7+B
uUwJXqY8QglH+olTCjbB8gMLq94U0zBBKfohkxnr/rQNnqxX7bqeqBkli3hKT/qJgL
Qf5X9pTS4iRPcU1gcDQgLchh6XQRdHbmExrgot83SitLC4IK7G1piVLthUNX+Har6P
XxKkUnjYKaqjjUypR41oHPNHuIKAc3SDOApXnMD7XeIFpaxpTH77CPFwTk0OAsO0md
6frSafGJtGK+w==
Date: Wed, 28 May 2025 10:07:37 +0200
From: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
To: Christian Marangi <ansuelsmth@xxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Sean Wang <sean.wang@xxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Benjamin Larsson <benjamin.larsson@xxxxxxxxxx>,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH 2/6] pinctrl: mediatek: airoha: generalize
pins/group/function/confs handling
Message-ID: <aDbESUHdO4DgOtsm@lore-desk>
References: <20250527222040.32000-1-ansuelsmth@xxxxxxxxx>
<20250527222040.32000-3-ansuelsmth@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="nqxKMu4BAXZxRr1I"
Content-Disposition: inline
In-Reply-To: <20250527222040.32000-3-ansuelsmth@xxxxxxxxx>
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--nqxKMu4BAXZxRr1I
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
> In preparation for support of Airoha AN7583, generalize
> pins/group/function/confs handling and move them in match_data.
> Inner function will base the values on the pinctrl priv struct instead of
> relying on hardcoded struct.
>=20
> This permits to use different PIN data while keeping the same logic.
>=20
> Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
Hi Christian,
I think the approach is fine, just some comments inline.
Regards,
Lorenzo
> ---
> drivers/pinctrl/mediatek/pinctrl-airoha.c | 569 ++++++++++++----------
> 1 file changed, 319 insertions(+), 250 deletions(-)
>=20
> diff --git a/drivers/pinctrl/mediatek/pinctrl-airoha.c b/drivers/pinctrl/=
mediatek/pinctrl-airoha.c
> index 8ef7f88477aa..8af9109db992 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-airoha.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-airoha.c
> @@ -30,20 +30,20 @@
> #include "../pinconf.h"
> #include "../pinmux.h"
> =20
> -#define PINCTRL_PIN_GROUP(id) \
> - PINCTRL_PINGROUP(#id, id##_pins, ARRAY_SIZE(id##_pins))
> +#define PINCTRL_PIN_GROUP(id, table) \
since this is now just used for the name pointer, I guess you can rename it=
in
"name".
> + PINCTRL_PINGROUP(id, table##_pins, ARRAY_SIZE(table##_pins))
> =20
> -#define PINCTRL_FUNC_DESC(id) \
> +#define PINCTRL_FUNC_DESC(id, table) \
> { \
> .desc =3D { \
> .func =3D { \
> - .name =3D #id, \
> - .groups =3D id##_groups, \
> - .ngroups =3D ARRAY_SIZE(id##_groups), \
> + .name =3D id, \
> + .groups =3D table##_groups, \
> + .ngroups =3D ARRAY_SIZE(table##_groups), \
> } \
> }, \
> - .groups =3D id##_func_group, \
> - .group_size =3D ARRAY_SIZE(id##_func_group), \
> + .groups =3D table##_func_group, \
> + .group_size =3D ARRAY_SIZE(table##_func_group), \
> }
> =20
> #define PINCTRL_CONF_DESC(p, offset, mask) \
> @@ -359,16 +359,46 @@ struct airoha_pinctrl_gpiochip {
> u32 irq_type[AIROHA_NUM_PINS];
> };
> =20
> +struct airoha_pinctrl_confs_info {
> + const struct airoha_pinctrl_conf *confs;
> + unsigned int num_confs;
> +};
> +
> +enum airoha_pinctrl_confs_type {
> + AIROHA_PINCTRL_CONFS_PULLUP,
> + AIROHA_PINCTRL_CONFS_PULLDOWN,
> + AIROHA_PINCTRL_CONFS_DRIVE_E2,
> + AIROHA_PINCTRL_CONFS_DRIVE_E4,
> + AIROHA_PINCTRL_CONFS_PCIE_RST_OD,
> +
> + AIROHA_PINCTRL_CONFS_MAX,
I guess with the approach suggested below we can get rid of AIROHA_PINCTRL_=
CONFS_MAX
> +};
> +
> struct airoha_pinctrl {
> struct pinctrl_dev *ctrl;
> =20
> + struct pinctrl_desc desc;
> + const struct pingroup *grps;
> + const struct airoha_pinctrl_func *funcs;
> + const struct airoha_pinctrl_confs_info *confs_info;
> +
> struct regmap *chip_scu;
> struct regmap *regmap;
> =20
> struct airoha_pinctrl_gpiochip gpiochip;
> };
> =20
> -static struct pinctrl_pin_desc airoha_pinctrl_pins[] =3D {
> +struct airoha_pinctrl_match_data {
> + const struct pinctrl_pin_desc *pins;
> + const unsigned int num_pins;
> + const struct pingroup *grps;
> + const unsigned int num_grps;
> + const struct airoha_pinctrl_func *funcs;
> + const unsigned int num_funcs;
> + const struct airoha_pinctrl_confs_info confs_info[AIROHA_PINCTRL_CONFS_=
MAX];
In order to generalize the approach, I guess we can use a
airoha_pinctrl_confs_info pointer here, something like:
const struct airoha_pinctrl_confs_info *confs_info;
const unsigned int num_confs;
> +};
> +
> +static struct pinctrl_pin_desc en7581_pinctrl_pins[] =3D {
> PINCTRL_PIN(0, "uart1_txd"),
> PINCTRL_PIN(1, "uart1_rxd"),
> PINCTRL_PIN(2, "i2c_scl"),
> @@ -429,172 +459,172 @@ static struct pinctrl_pin_desc airoha_pinctrl_pin=
s[] =3D {
> PINCTRL_PIN(63, "pcie_reset2"),
> };
> =20
> -static const int pon_pins[] =3D { 49, 50, 51, 52, 53, 54 };
> -static const int pon_tod_1pps_pins[] =3D { 46 };
> -static const int gsw_tod_1pps_pins[] =3D { 46 };
> -static const int sipo_pins[] =3D { 16, 17 };
> -static const int sipo_rclk_pins[] =3D { 16, 17, 43 };
> -static const int mdio_pins[] =3D { 14, 15 };
> -static const int uart2_pins[] =3D { 48, 55 };
> -static const int uart2_cts_rts_pins[] =3D { 46, 47 };
> -static const int hsuart_pins[] =3D { 28, 29 };
> -static const int hsuart_cts_rts_pins[] =3D { 26, 27 };
> -static const int uart4_pins[] =3D { 38, 39 };
> -static const int uart5_pins[] =3D { 18, 19 };
> -static const int i2c0_pins[] =3D { 2, 3 };
> -static const int i2c1_pins[] =3D { 14, 15 };
> -static const int jtag_udi_pins[] =3D { 16, 17, 18, 19, 20 };
> -static const int jtag_dfd_pins[] =3D { 16, 17, 18, 19, 20 };
> -static const int i2s_pins[] =3D { 26, 27, 28, 29 };
> -static const int pcm1_pins[] =3D { 22, 23, 24, 25 };
> -static const int pcm2_pins[] =3D { 18, 19, 20, 21 };
> -static const int spi_quad_pins[] =3D { 32, 33 };
> -static const int spi_pins[] =3D { 4, 5, 6, 7 };
> -static const int spi_cs1_pins[] =3D { 34 };
> -static const int pcm_spi_pins[] =3D { 18, 19, 20, 21, 22, 23, 24, 25 };
> -static const int pcm_spi_int_pins[] =3D { 14 };
> -static const int pcm_spi_rst_pins[] =3D { 15 };
> -static const int pcm_spi_cs1_pins[] =3D { 43 };
> -static const int pcm_spi_cs2_pins[] =3D { 40 };
> -static const int pcm_spi_cs2_p128_pins[] =3D { 40 };
> -static const int pcm_spi_cs2_p156_pins[] =3D { 40 };
> -static const int pcm_spi_cs3_pins[] =3D { 41 };
> -static const int pcm_spi_cs4_pins[] =3D { 42 };
> -static const int emmc_pins[] =3D { 4, 5, 6, 30, 31, 32, 33, 34, 35, 36, =
37 };
> -static const int pnand_pins[] =3D { 4, 5, 6, 7, 30, 31, 32, 33, 34, 35, =
36, 37, 38, 39, 40, 41, 42 };
> -static const int gpio0_pins[] =3D { 13 };
> -static const int gpio1_pins[] =3D { 14 };
> -static const int gpio2_pins[] =3D { 15 };
> -static const int gpio3_pins[] =3D { 16 };
> -static const int gpio4_pins[] =3D { 17 };
> -static const int gpio5_pins[] =3D { 18 };
> -static const int gpio6_pins[] =3D { 19 };
> -static const int gpio7_pins[] =3D { 20 };
> -static const int gpio8_pins[] =3D { 21 };
> -static const int gpio9_pins[] =3D { 22 };
> -static const int gpio10_pins[] =3D { 23 };
> -static const int gpio11_pins[] =3D { 24 };
> -static const int gpio12_pins[] =3D { 25 };
> -static const int gpio13_pins[] =3D { 26 };
> -static const int gpio14_pins[] =3D { 27 };
> -static const int gpio15_pins[] =3D { 28 };
> -static const int gpio16_pins[] =3D { 29 };
> -static const int gpio17_pins[] =3D { 30 };
> -static const int gpio18_pins[] =3D { 31 };
> -static const int gpio19_pins[] =3D { 32 };
> -static const int gpio20_pins[] =3D { 33 };
> -static const int gpio21_pins[] =3D { 34 };
> -static const int gpio22_pins[] =3D { 35 };
> -static const int gpio23_pins[] =3D { 36 };
> -static const int gpio24_pins[] =3D { 37 };
> -static const int gpio25_pins[] =3D { 38 };
> -static const int gpio26_pins[] =3D { 39 };
> -static const int gpio27_pins[] =3D { 40 };
> -static const int gpio28_pins[] =3D { 41 };
> -static const int gpio29_pins[] =3D { 42 };
> -static const int gpio30_pins[] =3D { 43 };
> -static const int gpio31_pins[] =3D { 44 };
> -static const int gpio33_pins[] =3D { 46 };
> -static const int gpio34_pins[] =3D { 47 };
> -static const int gpio35_pins[] =3D { 48 };
> -static const int gpio36_pins[] =3D { 49 };
> -static const int gpio37_pins[] =3D { 50 };
> -static const int gpio38_pins[] =3D { 51 };
> -static const int gpio39_pins[] =3D { 52 };
> -static const int gpio40_pins[] =3D { 53 };
> -static const int gpio41_pins[] =3D { 54 };
> -static const int gpio42_pins[] =3D { 55 };
> -static const int gpio43_pins[] =3D { 56 };
> -static const int gpio44_pins[] =3D { 57 };
> -static const int gpio45_pins[] =3D { 58 };
> -static const int gpio46_pins[] =3D { 59 };
> -static const int pcie_reset0_pins[] =3D { 61 };
> -static const int pcie_reset1_pins[] =3D { 62 };
> -static const int pcie_reset2_pins[] =3D { 63 };
> -
> -static const struct pingroup airoha_pinctrl_groups[] =3D {
> - PINCTRL_PIN_GROUP(pon),
> - PINCTRL_PIN_GROUP(pon_tod_1pps),
> - PINCTRL_PIN_GROUP(gsw_tod_1pps),
> - PINCTRL_PIN_GROUP(sipo),
> - PINCTRL_PIN_GROUP(sipo_rclk),
> - PINCTRL_PIN_GROUP(mdio),
> - PINCTRL_PIN_GROUP(uart2),
> - PINCTRL_PIN_GROUP(uart2_cts_rts),
> - PINCTRL_PIN_GROUP(hsuart),
> - PINCTRL_PIN_GROUP(hsuart_cts_rts),
> - PINCTRL_PIN_GROUP(uart4),
> - PINCTRL_PIN_GROUP(uart5),
> - PINCTRL_PIN_GROUP(i2c0),
> - PINCTRL_PIN_GROUP(i2c1),
> - PINCTRL_PIN_GROUP(jtag_udi),
> - PINCTRL_PIN_GROUP(jtag_dfd),
> - PINCTRL_PIN_GROUP(i2s),
> - PINCTRL_PIN_GROUP(pcm1),
> - PINCTRL_PIN_GROUP(pcm2),
> - PINCTRL_PIN_GROUP(spi),
> - PINCTRL_PIN_GROUP(spi_quad),
> - PINCTRL_PIN_GROUP(spi_cs1),
> - PINCTRL_PIN_GROUP(pcm_spi),
> - PINCTRL_PIN_GROUP(pcm_spi_int),
> - PINCTRL_PIN_GROUP(pcm_spi_rst),
> - PINCTRL_PIN_GROUP(pcm_spi_cs1),
> - PINCTRL_PIN_GROUP(pcm_spi_cs2_p128),
> - PINCTRL_PIN_GROUP(pcm_spi_cs2_p156),
> - PINCTRL_PIN_GROUP(pcm_spi_cs2),
> - PINCTRL_PIN_GROUP(pcm_spi_cs3),
> - PINCTRL_PIN_GROUP(pcm_spi_cs4),
> - PINCTRL_PIN_GROUP(emmc),
> - PINCTRL_PIN_GROUP(pnand),
> - PINCTRL_PIN_GROUP(gpio0),
> - PINCTRL_PIN_GROUP(gpio1),
> - PINCTRL_PIN_GROUP(gpio2),
> - PINCTRL_PIN_GROUP(gpio3),
> - PINCTRL_PIN_GROUP(gpio4),
> - PINCTRL_PIN_GROUP(gpio5),
> - PINCTRL_PIN_GROUP(gpio6),
> - PINCTRL_PIN_GROUP(gpio7),
> - PINCTRL_PIN_GROUP(gpio8),
> - PINCTRL_PIN_GROUP(gpio9),
> - PINCTRL_PIN_GROUP(gpio10),
> - PINCTRL_PIN_GROUP(gpio11),
> - PINCTRL_PIN_GROUP(gpio12),
> - PINCTRL_PIN_GROUP(gpio13),
> - PINCTRL_PIN_GROUP(gpio14),
> - PINCTRL_PIN_GROUP(gpio15),
> - PINCTRL_PIN_GROUP(gpio16),
> - PINCTRL_PIN_GROUP(gpio17),
> - PINCTRL_PIN_GROUP(gpio18),
> - PINCTRL_PIN_GROUP(gpio19),
> - PINCTRL_PIN_GROUP(gpio20),
> - PINCTRL_PIN_GROUP(gpio21),
> - PINCTRL_PIN_GROUP(gpio22),
> - PINCTRL_PIN_GROUP(gpio23),
> - PINCTRL_PIN_GROUP(gpio24),
> - PINCTRL_PIN_GROUP(gpio25),
> - PINCTRL_PIN_GROUP(gpio26),
> - PINCTRL_PIN_GROUP(gpio27),
> - PINCTRL_PIN_GROUP(gpio28),
> - PINCTRL_PIN_GROUP(gpio29),
> - PINCTRL_PIN_GROUP(gpio30),
> - PINCTRL_PIN_GROUP(gpio31),
> - PINCTRL_PIN_GROUP(gpio33),
> - PINCTRL_PIN_GROUP(gpio34),
> - PINCTRL_PIN_GROUP(gpio35),
> - PINCTRL_PIN_GROUP(gpio36),
> - PINCTRL_PIN_GROUP(gpio37),
> - PINCTRL_PIN_GROUP(gpio38),
> - PINCTRL_PIN_GROUP(gpio39),
> - PINCTRL_PIN_GROUP(gpio40),
> - PINCTRL_PIN_GROUP(gpio41),
> - PINCTRL_PIN_GROUP(gpio42),
> - PINCTRL_PIN_GROUP(gpio43),
> - PINCTRL_PIN_GROUP(gpio44),
> - PINCTRL_PIN_GROUP(gpio45),
> - PINCTRL_PIN_GROUP(gpio46),
> - PINCTRL_PIN_GROUP(pcie_reset0),
> - PINCTRL_PIN_GROUP(pcie_reset1),
> - PINCTRL_PIN_GROUP(pcie_reset2),
> +static const int en7581_pon_pins[] =3D { 49, 50, 51, 52, 53, 54 };
> +static const int en7581_pon_tod_1pps_pins[] =3D { 46 };
> +static const int en7581_gsw_tod_1pps_pins[] =3D { 46 };
> +static const int en7581_sipo_pins[] =3D { 16, 17 };
> +static const int en7581_sipo_rclk_pins[] =3D { 16, 17, 43 };
> +static const int en7581_mdio_pins[] =3D { 14, 15 };
> +static const int en7581_uart2_pins[] =3D { 48, 55 };
> +static const int en7581_uart2_cts_rts_pins[] =3D { 46, 47 };
> +static const int en7581_hsuart_pins[] =3D { 28, 29 };
> +static const int en7581_hsuart_cts_rts_pins[] =3D { 26, 27 };
> +static const int en7581_uart4_pins[] =3D { 38, 39 };
> +static const int en7581_uart5_pins[] =3D { 18, 19 };
> +static const int en7581_i2c0_pins[] =3D { 2, 3 };
> +static const int en7581_i2c1_pins[] =3D { 14, 15 };
> +static const int en7581_jtag_udi_pins[] =3D { 16, 17, 18, 19, 20 };
> +static const int en7581_jtag_dfd_pins[] =3D { 16, 17, 18, 19, 20 };
> +static const int en7581_i2s_pins[] =3D { 26, 27, 28, 29 };
> +static const int en7581_pcm1_pins[] =3D { 22, 23, 24, 25 };
> +static const int en7581_pcm2_pins[] =3D { 18, 19, 20, 21 };
> +static const int en7581_spi_quad_pins[] =3D { 32, 33 };
> +static const int en7581_spi_pins[] =3D { 4, 5, 6, 7 };
> +static const int en7581_spi_cs1_pins[] =3D { 34 };
> +static const int en7581_pcm_spi_pins[] =3D { 18, 19, 20, 21, 22, 23, 24,=
25 };
> +static const int en7581_pcm_spi_int_pins[] =3D { 14 };
> +static const int en7581_pcm_spi_rst_pins[] =3D { 15 };
> +static const int en7581_pcm_spi_cs1_pins[] =3D { 43 };
> +static const int en7581_pcm_spi_cs2_pins[] =3D { 40 };
> +static const int en7581_pcm_spi_cs2_p128_pins[] =3D { 40 };
> +static const int en7581_pcm_spi_cs2_p156_pins[] =3D { 40 };
> +static const int en7581_pcm_spi_cs3_pins[] =3D { 41 };
> +static const int en7581_pcm_spi_cs4_pins[] =3D { 42 };
> +static const int en7581_emmc_pins[] =3D { 4, 5, 6, 30, 31, 32, 33, 34, 3=
5, 36, 37 };
> +static const int en7581_pnand_pins[] =3D { 4, 5, 6, 7, 30, 31, 32, 33, 3=
4, 35, 36, 37, 38, 39, 40, 41, 42 };
> +static const int en7581_gpio0_pins[] =3D { 13 };
> +static const int en7581_gpio1_pins[] =3D { 14 };
> +static const int en7581_gpio2_pins[] =3D { 15 };
> +static const int en7581_gpio3_pins[] =3D { 16 };
> +static const int en7581_gpio4_pins[] =3D { 17 };
> +static const int en7581_gpio5_pins[] =3D { 18 };
> +static const int en7581_gpio6_pins[] =3D { 19 };
> +static const int en7581_gpio7_pins[] =3D { 20 };
> +static const int en7581_gpio8_pins[] =3D { 21 };
> +static const int en7581_gpio9_pins[] =3D { 22 };
> +static const int en7581_gpio10_pins[] =3D { 23 };
> +static const int en7581_gpio11_pins[] =3D { 24 };
> +static const int en7581_gpio12_pins[] =3D { 25 };
> +static const int en7581_gpio13_pins[] =3D { 26 };
> +static const int en7581_gpio14_pins[] =3D { 27 };
> +static const int en7581_gpio15_pins[] =3D { 28 };
> +static const int en7581_gpio16_pins[] =3D { 29 };
> +static const int en7581_gpio17_pins[] =3D { 30 };
> +static const int en7581_gpio18_pins[] =3D { 31 };
> +static const int en7581_gpio19_pins[] =3D { 32 };
> +static const int en7581_gpio20_pins[] =3D { 33 };
> +static const int en7581_gpio21_pins[] =3D { 34 };
> +static const int en7581_gpio22_pins[] =3D { 35 };
> +static const int en7581_gpio23_pins[] =3D { 36 };
> +static const int en7581_gpio24_pins[] =3D { 37 };
> +static const int en7581_gpio25_pins[] =3D { 38 };
> +static const int en7581_gpio26_pins[] =3D { 39 };
> +static const int en7581_gpio27_pins[] =3D { 40 };
> +static const int en7581_gpio28_pins[] =3D { 41 };
> +static const int en7581_gpio29_pins[] =3D { 42 };
> +static const int en7581_gpio30_pins[] =3D { 43 };
> +static const int en7581_gpio31_pins[] =3D { 44 };
> +static const int en7581_gpio33_pins[] =3D { 46 };
> +static const int en7581_gpio34_pins[] =3D { 47 };
> +static const int en7581_gpio35_pins[] =3D { 48 };
> +static const int en7581_gpio36_pins[] =3D { 49 };
> +static const int en7581_gpio37_pins[] =3D { 50 };
> +static const int en7581_gpio38_pins[] =3D { 51 };
> +static const int en7581_gpio39_pins[] =3D { 52 };
> +static const int en7581_gpio40_pins[] =3D { 53 };
> +static const int en7581_gpio41_pins[] =3D { 54 };
> +static const int en7581_gpio42_pins[] =3D { 55 };
> +static const int en7581_gpio43_pins[] =3D { 56 };
> +static const int en7581_gpio44_pins[] =3D { 57 };
> +static const int en7581_gpio45_pins[] =3D { 58 };
> +static const int en7581_gpio46_pins[] =3D { 59 };
> +static const int en7581_pcie_reset0_pins[] =3D { 61 };
> +static const int en7581_pcie_reset1_pins[] =3D { 62 };
> +static const int en7581_pcie_reset2_pins[] =3D { 63 };
> +
> +static const struct pingroup en7581_pinctrl_groups[] =3D {
> + PINCTRL_PIN_GROUP("pon", en7581_pon),
> + PINCTRL_PIN_GROUP("pon_tod_1pps", en7581_pon_tod_1pps),
> + PINCTRL_PIN_GROUP("gsw_tod_1pps", en7581_gsw_tod_1pps),
> + PINCTRL_PIN_GROUP("sipo", en7581_sipo),
> + PINCTRL_PIN_GROUP("sipo_rclk", en7581_sipo_rclk),
> + PINCTRL_PIN_GROUP("mdio", en7581_mdio),
> + PINCTRL_PIN_GROUP("uart2", en7581_uart2),
> + PINCTRL_PIN_GROUP("uart2_cts_rts", en7581_uart2_cts_rts),
> + PINCTRL_PIN_GROUP("hsuart", en7581_hsuart),
> + PINCTRL_PIN_GROUP("hsuart_cts_rts", en7581_hsuart_cts_rts),
> + PINCTRL_PIN_GROUP("uart4", en7581_uart4),
> + PINCTRL_PIN_GROUP("uart5", en7581_uart5),
> + PINCTRL_PIN_GROUP("i2c0", en7581_i2c0),
> + PINCTRL_PIN_GROUP("i2c1", en7581_i2c1),
> + PINCTRL_PIN_GROUP("jtag_udi", en7581_jtag_udi),
> + PINCTRL_PIN_GROUP("jtag_dfd", en7581_jtag_dfd),
> + PINCTRL_PIN_GROUP("i2s", en7581_i2s),
> + PINCTRL_PIN_GROUP("pcm1", en7581_pcm1),
> + PINCTRL_PIN_GROUP("pcm2", en7581_pcm2),
> + PINCTRL_PIN_GROUP("spi", en7581_spi),
> + PINCTRL_PIN_GROUP("spi_quad", en7581_spi_quad),
> + PINCTRL_PIN_GROUP("spi_cs1", en7581_spi_cs1),
> + PINCTRL_PIN_GROUP("pcm_spi", en7581_pcm_spi),
> + PINCTRL_PIN_GROUP("pcm_spi_int", en7581_pcm_spi_int),
> + PINCTRL_PIN_GROUP("pcm_spi_rst", en7581_pcm_spi_rst),
> + PINCTRL_PIN_GROUP("pcm_spi_cs1", en7581_pcm_spi_cs1),
> + PINCTRL_PIN_GROUP("pcm_spi_cs2_p128", en7581_pcm_spi_cs2_p128),
> + PINCTRL_PIN_GROUP("pcm_spi_cs2_p156", en7581_pcm_spi_cs2_p156),
> + PINCTRL_PIN_GROUP("pcm_spi_cs2", en7581_pcm_spi_cs2),
> + PINCTRL_PIN_GROUP("pcm_spi_cs3", en7581_pcm_spi_cs3),
> + PINCTRL_PIN_GROUP("pcm_spi_cs4", en7581_pcm_spi_cs4),
> + PINCTRL_PIN_GROUP("emmc", en7581_emmc),
> + PINCTRL_PIN_GROUP("pnand", en7581_pnand),
> + PINCTRL_PIN_GROUP("gpio0", en7581_gpio0),
> + PINCTRL_PIN_GROUP("gpio1", en7581_gpio1),
> + PINCTRL_PIN_GROUP("gpio2", en7581_gpio2),
> + PINCTRL_PIN_GROUP("gpio3", en7581_gpio3),
> + PINCTRL_PIN_GROUP("gpio4", en7581_gpio4),
> + PINCTRL_PIN_GROUP("gpio5", en7581_gpio5),
> + PINCTRL_PIN_GROUP("gpio6", en7581_gpio6),
> + PINCTRL_PIN_GROUP("gpio7", en7581_gpio7),
> + PINCTRL_PIN_GROUP("gpio8", en7581_gpio8),
> + PINCTRL_PIN_GROUP("gpio9", en7581_gpio9),
> + PINCTRL_PIN_GROUP("gpio10", en7581_gpio10),
> + PINCTRL_PIN_GROUP("gpio11", en7581_gpio11),
> + PINCTRL_PIN_GROUP("gpio12", en7581_gpio12),
> + PINCTRL_PIN_GROUP("gpio13", en7581_gpio13),
> + PINCTRL_PIN_GROUP("gpio14", en7581_gpio14),
> + PINCTRL_PIN_GROUP("gpio15", en7581_gpio15),
> + PINCTRL_PIN_GROUP("gpio16", en7581_gpio16),
> + PINCTRL_PIN_GROUP("gpio17", en7581_gpio17),
> + PINCTRL_PIN_GROUP("gpio18", en7581_gpio18),
> + PINCTRL_PIN_GROUP("gpio19", en7581_gpio19),
> + PINCTRL_PIN_GROUP("gpio20", en7581_gpio20),
> + PINCTRL_PIN_GROUP("gpio21", en7581_gpio21),
> + PINCTRL_PIN_GROUP("gpio22", en7581_gpio22),
> + PINCTRL_PIN_GROUP("gpio23", en7581_gpio23),
> + PINCTRL_PIN_GROUP("gpio24", en7581_gpio24),
> + PINCTRL_PIN_GROUP("gpio25", en7581_gpio25),
> + PINCTRL_PIN_GROUP("gpio26", en7581_gpio26),
> + PINCTRL_PIN_GROUP("gpio27", en7581_gpio27),
> + PINCTRL_PIN_GROUP("gpio28", en7581_gpio28),
> + PINCTRL_PIN_GROUP("gpio29", en7581_gpio29),
> + PINCTRL_PIN_GROUP("gpio30", en7581_gpio30),
> + PINCTRL_PIN_GROUP("gpio31", en7581_gpio31),
> + PINCTRL_PIN_GROUP("gpio33", en7581_gpio33),
> + PINCTRL_PIN_GROUP("gpio34", en7581_gpio34),
> + PINCTRL_PIN_GROUP("gpio35", en7581_gpio35),
> + PINCTRL_PIN_GROUP("gpio36", en7581_gpio36),
> + PINCTRL_PIN_GROUP("gpio37", en7581_gpio37),
> + PINCTRL_PIN_GROUP("gpio38", en7581_gpio38),
> + PINCTRL_PIN_GROUP("gpio39", en7581_gpio39),
> + PINCTRL_PIN_GROUP("gpio40", en7581_gpio40),
> + PINCTRL_PIN_GROUP("gpio41", en7581_gpio41),
> + PINCTRL_PIN_GROUP("gpio42", en7581_gpio42),
> + PINCTRL_PIN_GROUP("gpio43", en7581_gpio43),
> + PINCTRL_PIN_GROUP("gpio44", en7581_gpio44),
> + PINCTRL_PIN_GROUP("gpio45", en7581_gpio45),
> + PINCTRL_PIN_GROUP("gpio46", en7581_gpio46),
> + PINCTRL_PIN_GROUP("pcie_reset0", en7581_pcie_reset0),
> + PINCTRL_PIN_GROUP("pcie_reset1", en7581_pcie_reset1),
> + PINCTRL_PIN_GROUP("pcie_reset2", en7581_pcie_reset2),
> };
> =20
> static const char *const pon_groups[] =3D { "pon" };
> @@ -1957,33 +1987,33 @@ static const struct airoha_pinctrl_func_group phy=
4_led1_func_group[] =3D {
> },
> };
> =20
> -static const struct airoha_pinctrl_func airoha_pinctrl_funcs[] =3D {
> - PINCTRL_FUNC_DESC(pon),
> - PINCTRL_FUNC_DESC(tod_1pps),
> - PINCTRL_FUNC_DESC(sipo),
> - PINCTRL_FUNC_DESC(mdio),
> - PINCTRL_FUNC_DESC(uart),
> - PINCTRL_FUNC_DESC(i2c),
> - PINCTRL_FUNC_DESC(jtag),
> - PINCTRL_FUNC_DESC(pcm),
> - PINCTRL_FUNC_DESC(spi),
> - PINCTRL_FUNC_DESC(pcm_spi),
> - PINCTRL_FUNC_DESC(i2s),
> - PINCTRL_FUNC_DESC(emmc),
> - PINCTRL_FUNC_DESC(pnand),
> - PINCTRL_FUNC_DESC(pcie_reset),
> - PINCTRL_FUNC_DESC(pwm),
> - PINCTRL_FUNC_DESC(phy1_led0),
> - PINCTRL_FUNC_DESC(phy2_led0),
> - PINCTRL_FUNC_DESC(phy3_led0),
> - PINCTRL_FUNC_DESC(phy4_led0),
> - PINCTRL_FUNC_DESC(phy1_led1),
> - PINCTRL_FUNC_DESC(phy2_led1),
> - PINCTRL_FUNC_DESC(phy3_led1),
> - PINCTRL_FUNC_DESC(phy4_led1),
> +static const struct airoha_pinctrl_func en7581_pinctrl_funcs[] =3D {
> + PINCTRL_FUNC_DESC("pon", pon),
> + PINCTRL_FUNC_DESC("tod_1pps", tod_1pps),
> + PINCTRL_FUNC_DESC("sipo", sipo),
> + PINCTRL_FUNC_DESC("mdio", mdio),
> + PINCTRL_FUNC_DESC("uart", uart),
> + PINCTRL_FUNC_DESC("i2c", i2c),
> + PINCTRL_FUNC_DESC("jtag", jtag),
> + PINCTRL_FUNC_DESC("pcm", pcm),
> + PINCTRL_FUNC_DESC("spi", spi),
> + PINCTRL_FUNC_DESC("pcm_spi", pcm_spi),
> + PINCTRL_FUNC_DESC("i2s", i2s),
> + PINCTRL_FUNC_DESC("emmc", emmc),
> + PINCTRL_FUNC_DESC("pnand", pnand),
> + PINCTRL_FUNC_DESC("pcie_reset", pcie_reset),
> + PINCTRL_FUNC_DESC("pwm", pwm),
> + PINCTRL_FUNC_DESC("phy1_led0", phy1_led0),
> + PINCTRL_FUNC_DESC("phy2_led0", phy2_led0),
> + PINCTRL_FUNC_DESC("phy3_led0", phy3_led0),
> + PINCTRL_FUNC_DESC("phy4_led0", phy4_led0),
> + PINCTRL_FUNC_DESC("phy1_led1", phy1_led1),
> + PINCTRL_FUNC_DESC("phy2_led1", phy2_led1),
> + PINCTRL_FUNC_DESC("phy3_led1", phy3_led1),
> + PINCTRL_FUNC_DESC("phy4_led1", phy4_led1),
> };
> =20
> -static const struct airoha_pinctrl_conf airoha_pinctrl_pullup_conf[] =3D=
{
> +static const struct airoha_pinctrl_conf en7581_pinctrl_pullup_conf[] =3D=
{
> PINCTRL_CONF_DESC(0, REG_I2C_SDA_PU, UART1_TXD_PU_MASK),
> PINCTRL_CONF_DESC(1, REG_I2C_SDA_PU, UART1_RXD_PU_MASK),
> PINCTRL_CONF_DESC(2, REG_I2C_SDA_PU, I2C_SDA_PU_MASK),
> @@ -2044,7 +2074,7 @@ static const struct airoha_pinctrl_conf airoha_pinc=
trl_pullup_conf[] =3D {
> PINCTRL_CONF_DESC(63, REG_I2C_SDA_PU, PCIE2_RESET_PU_MASK),
> };
> =20
> -static const struct airoha_pinctrl_conf airoha_pinctrl_pulldown_conf[] =
=3D {
> +static const struct airoha_pinctrl_conf en7581_pinctrl_pulldown_conf[] =
=3D {
> PINCTRL_CONF_DESC(0, REG_I2C_SDA_PD, UART1_TXD_PD_MASK),
> PINCTRL_CONF_DESC(1, REG_I2C_SDA_PD, UART1_RXD_PD_MASK),
> PINCTRL_CONF_DESC(2, REG_I2C_SDA_PD, I2C_SDA_PD_MASK),
> @@ -2105,7 +2135,7 @@ static const struct airoha_pinctrl_conf airoha_pinc=
trl_pulldown_conf[] =3D {
> PINCTRL_CONF_DESC(63, REG_I2C_SDA_PD, PCIE2_RESET_PD_MASK),
> };
> =20
> -static const struct airoha_pinctrl_conf airoha_pinctrl_drive_e2_conf[] =
=3D {
> +static const struct airoha_pinctrl_conf en7581_pinctrl_drive_e2_conf[] =
=3D {
> PINCTRL_CONF_DESC(0, REG_I2C_SDA_E2, UART1_TXD_E2_MASK),
> PINCTRL_CONF_DESC(1, REG_I2C_SDA_E2, UART1_RXD_E2_MASK),
> PINCTRL_CONF_DESC(2, REG_I2C_SDA_E2, I2C_SDA_E2_MASK),
> @@ -2166,7 +2196,7 @@ static const struct airoha_pinctrl_conf airoha_pinc=
trl_drive_e2_conf[] =3D {
> PINCTRL_CONF_DESC(63, REG_I2C_SDA_E2, PCIE2_RESET_E2_MASK),
> };
> =20
> -static const struct airoha_pinctrl_conf airoha_pinctrl_drive_e4_conf[] =
=3D {
> +static const struct airoha_pinctrl_conf en7581_pinctrl_drive_e4_conf[] =
=3D {
> PINCTRL_CONF_DESC(0, REG_I2C_SDA_E4, UART1_TXD_E4_MASK),
> PINCTRL_CONF_DESC(1, REG_I2C_SDA_E4, UART1_RXD_E4_MASK),
> PINCTRL_CONF_DESC(2, REG_I2C_SDA_E4, I2C_SDA_E4_MASK),
> @@ -2227,7 +2257,7 @@ static const struct airoha_pinctrl_conf airoha_pinc=
trl_drive_e4_conf[] =3D {
> PINCTRL_CONF_DESC(63, REG_I2C_SDA_E4, PCIE2_RESET_E4_MASK),
> };
> =20
> -static const struct airoha_pinctrl_conf airoha_pinctrl_pcie_rst_od_conf[=
] =3D {
> +static const struct airoha_pinctrl_conf en7581_pinctrl_pcie_rst_od_conf[=
] =3D {
> PINCTRL_CONF_DESC(61, REG_PCIE_RESET_OD, PCIE0_RESET_OD_MASK),
> PINCTRL_CONF_DESC(62, REG_PCIE_RESET_OD, PCIE1_RESET_OD_MASK),
> PINCTRL_CONF_DESC(63, REG_PCIE_RESET_OD, PCIE2_RESET_OD_MASK),
> @@ -2548,12 +2578,17 @@ airoha_pinctrl_get_conf_reg(const struct airoha_p=
inctrl_conf *conf,
> }
> =20
> static int airoha_pinctrl_get_conf(struct airoha_pinctrl *pinctrl,
> - const struct airoha_pinctrl_conf *conf,
> - int conf_size, int pin, u32 *val)
> + enum airoha_pinctrl_confs_type conf_type,
> + int pin, u32 *val)
> {
> + const struct airoha_pinctrl_confs_info *confs_info;
> const struct airoha_pinctrl_reg *reg;
> =20
> - reg =3D airoha_pinctrl_get_conf_reg(conf, conf_size, pin);
> + confs_info =3D &pinctrl->confs_info[conf_type];
> +
> + reg =3D airoha_pinctrl_get_conf_reg(confs_info->confs,
> + confs_info->num_confs,
> + pin);
> if (!reg)
> return -EINVAL;
> =20
> @@ -2566,12 +2601,17 @@ static int airoha_pinctrl_get_conf(struct airoha_=
pinctrl *pinctrl,
> }
> =20
> static int airoha_pinctrl_set_conf(struct airoha_pinctrl *pinctrl,
> - const struct airoha_pinctrl_conf *conf,
> - int conf_size, int pin, u32 val)
> + enum airoha_pinctrl_confs_type conf_type,
> + int pin, u32 val)
> {
> + const struct airoha_pinctrl_confs_info *confs_info;
> const struct airoha_pinctrl_reg *reg =3D NULL;
> =20
> - reg =3D airoha_pinctrl_get_conf_reg(conf, conf_size, pin);
> + confs_info =3D &pinctrl->confs_info[conf_type];
> +
> + reg =3D airoha_pinctrl_get_conf_reg(confs_info->confs,
> + confs_info->num_confs,
> + pin);
> if (!reg)
> return -EINVAL;
> =20
> @@ -2584,44 +2624,34 @@ static int airoha_pinctrl_set_conf(struct airoha_=
pinctrl *pinctrl,
> }
> =20
> #define airoha_pinctrl_get_pullup_conf(pinctrl, pin, val) \
> - airoha_pinctrl_get_conf((pinctrl), airoha_pinctrl_pullup_conf, \
> - ARRAY_SIZE(airoha_pinctrl_pullup_conf), \
> + airoha_pinctrl_get_conf((pinctrl), AIROHA_PINCTRL_CONFS_PULLUP, \
> (pin), (val))
> #define airoha_pinctrl_get_pulldown_conf(pinctrl, pin, val) \
> - airoha_pinctrl_get_conf((pinctrl), airoha_pinctrl_pulldown_conf, \
> - ARRAY_SIZE(airoha_pinctrl_pulldown_conf), \
> + airoha_pinctrl_get_conf((pinctrl), AIROHA_PINCTRL_CONFS_PULLDOWN, \
> (pin), (val))
> #define airoha_pinctrl_get_drive_e2_conf(pinctrl, pin, val) \
> - airoha_pinctrl_get_conf((pinctrl), airoha_pinctrl_drive_e2_conf, \
> - ARRAY_SIZE(airoha_pinctrl_drive_e2_conf), \
> + airoha_pinctrl_get_conf((pinctrl), AIROHA_PINCTRL_CONFS_DRIVE_E2, \
> (pin), (val))
> #define airoha_pinctrl_get_drive_e4_conf(pinctrl, pin, val) \
> - airoha_pinctrl_get_conf((pinctrl), airoha_pinctrl_drive_e4_conf, \
> - ARRAY_SIZE(airoha_pinctrl_drive_e4_conf), \
> + airoha_pinctrl_get_conf((pinctrl), AIROHA_PINCTRL_CONFS_DRIVE_E4, \
> (pin), (val))
> #define airoha_pinctrl_get_pcie_rst_od_conf(pinctrl, pin, val) \
> - airoha_pinctrl_get_conf((pinctrl), airoha_pinctrl_pcie_rst_od_conf, \
> - ARRAY_SIZE(airoha_pinctrl_pcie_rst_od_conf), \
> + airoha_pinctrl_get_conf((pinctrl), AIROHA_PINCTRL_CONFS_PCIE_RST_OD, \
> (pin), (val))
> #define airoha_pinctrl_set_pullup_conf(pinctrl, pin, val) \
> - airoha_pinctrl_set_conf((pinctrl), airoha_pinctrl_pullup_conf, \
> - ARRAY_SIZE(airoha_pinctrl_pullup_conf), \
> + airoha_pinctrl_set_conf((pinctrl), AIROHA_PINCTRL_CONFS_PULLUP, \
> (pin), (val))
> #define airoha_pinctrl_set_pulldown_conf(pinctrl, pin, val) \
> - airoha_pinctrl_set_conf((pinctrl), airoha_pinctrl_pulldown_conf, \
> - ARRAY_SIZE(airoha_pinctrl_pulldown_conf), \
> + airoha_pinctrl_set_conf((pinctrl), AIROHA_PINCTRL_CONFS_PULLDOWN, \
> (pin), (val))
> #define airoha_pinctrl_set_drive_e2_conf(pinctrl, pin, val) \
> - airoha_pinctrl_set_conf((pinctrl), airoha_pinctrl_drive_e2_conf, \
> - ARRAY_SIZE(airoha_pinctrl_drive_e2_conf), \
> + airoha_pinctrl_set_conf((pinctrl), AIROHA_PINCTRL_CONFS_DRIVE_E2, \
> (pin), (val))
> #define airoha_pinctrl_set_drive_e4_conf(pinctrl, pin, val) \
> - airoha_pinctrl_set_conf((pinctrl), airoha_pinctrl_drive_e4_conf, \
> - ARRAY_SIZE(airoha_pinctrl_drive_e4_conf), \
> + airoha_pinctrl_set_conf((pinctrl), AIROHA_PINCTRL_CONFS_DRIVE_E4, \
> (pin), (val))
> #define airoha_pinctrl_set_pcie_rst_od_conf(pinctrl, pin, val) \
> - airoha_pinctrl_set_conf((pinctrl), airoha_pinctrl_pcie_rst_od_conf, \
> - ARRAY_SIZE(airoha_pinctrl_pcie_rst_od_conf), \
> + airoha_pinctrl_set_conf((pinctrl), AIROHA_PINCTRL_CONFS_PCIE_RST_OD, \
> (pin), (val))
> =20
> static int airoha_pinconf_get_direction(struct pinctrl_dev *pctrl_dev, u=
32 p)
> @@ -2798,12 +2828,13 @@ static int airoha_pinconf_set(struct pinctrl_dev =
*pctrl_dev,
> static int airoha_pinconf_group_get(struct pinctrl_dev *pctrl_dev,
> unsigned int group, unsigned long *config)
> {
> + struct airoha_pinctrl *pinctrl =3D pinctrl_dev_get_drvdata(pctrl_dev);
> u32 cur_config =3D 0;
> int i;
> =20
> - for (i =3D 0; i < airoha_pinctrl_groups[group].npins; i++) {
> + for (i =3D 0; i < pinctrl->grps[group].npins; i++) {
> if (airoha_pinconf_get(pctrl_dev,
> - airoha_pinctrl_groups[group].pins[i],
> + pinctrl->grps[group].pins[i],
> config))
> return -EOPNOTSUPP;
> =20
> @@ -2820,13 +2851,14 @@ static int airoha_pinconf_group_set(struct pinctr=
l_dev *pctrl_dev,
> unsigned int group, unsigned long *configs,
> unsigned int num_configs)
> {
> + struct airoha_pinctrl *pinctrl =3D pinctrl_dev_get_drvdata(pctrl_dev);
> int i;
> =20
> - for (i =3D 0; i < airoha_pinctrl_groups[group].npins; i++) {
> + for (i =3D 0; i < pinctrl->grps[group].npins; i++) {
> int err;
> =20
> err =3D airoha_pinconf_set(pctrl_dev,
> - airoha_pinctrl_groups[group].pins[i],
> + pinctrl->grps[group].pins[i],
> configs, num_configs);
> if (err)
> return err;
> @@ -2852,23 +2884,16 @@ static const struct pinctrl_ops airoha_pctlops =
=3D {
> .dt_free_map =3D pinconf_generic_dt_free_map,
> };
> =20
> -static struct pinctrl_desc airoha_pinctrl_desc =3D {
> - .name =3D KBUILD_MODNAME,
> - .owner =3D THIS_MODULE,
> - .pctlops =3D &airoha_pctlops,
> - .pmxops =3D &airoha_pmxops,
> - .confops =3D &airoha_confops,
> - .pins =3D airoha_pinctrl_pins,
> - .npins =3D ARRAY_SIZE(airoha_pinctrl_pins),
> -};
> -
> static int airoha_pinctrl_probe(struct platform_device *pdev)
> {
> + const struct airoha_pinctrl_match_data *data;
> struct device *dev =3D &pdev->dev;
> struct airoha_pinctrl *pinctrl;
> struct regmap *map;
> int err, i;
> =20
> + data =3D device_get_match_data(dev);
> +
> pinctrl =3D devm_kzalloc(dev, sizeof(*pinctrl), GFP_KERNEL);
> if (!pinctrl)
> return -ENOMEM;
> @@ -2883,14 +2908,23 @@ static int airoha_pinctrl_probe(struct platform_d=
evice *pdev)
> =20
> pinctrl->chip_scu =3D map;
> =20
> - err =3D devm_pinctrl_register_and_init(dev, &airoha_pinctrl_desc,
> + /* Init pinctrl desc struct */
> + pinctrl->desc.name =3D KBUILD_MODNAME;
> + pinctrl->desc.owner =3D THIS_MODULE,
> + pinctrl->desc.pctlops =3D &airoha_pctlops,
> + pinctrl->desc.pmxops =3D &airoha_pmxops,
> + pinctrl->desc.confops =3D &airoha_confops,
> + pinctrl->desc.pins =3D data->pins,
> + pinctrl->desc.npins =3D data->num_pins,
> +
> + err =3D devm_pinctrl_register_and_init(dev, &pinctrl->desc,
> pinctrl, &pinctrl->ctrl);
> if (err)
> return err;
> =20
> /* build pin groups */
> - for (i =3D 0; i < ARRAY_SIZE(airoha_pinctrl_groups); i++) {
> - const struct pingroup *grp =3D &airoha_pinctrl_groups[i];
> + for (i =3D 0; i < data->num_grps; i++) {
> + const struct pingroup *grp =3D &data->grps[i];
> =20
> err =3D pinctrl_generic_add_group(pinctrl->ctrl, grp->name,
> grp->pins, grp->npins,
> @@ -2903,10 +2937,10 @@ static int airoha_pinctrl_probe(struct platform_d=
evice *pdev)
> }
> =20
> /* build functions */
> - for (i =3D 0; i < ARRAY_SIZE(airoha_pinctrl_funcs); i++) {
> + for (i =3D 0; i < data->num_funcs; i++) {
> const struct airoha_pinctrl_func *func;
> =20
> - func =3D &airoha_pinctrl_funcs[i];
> + func =3D &data->funcs[i];
> err =3D pinmux_generic_add_function(pinctrl->ctrl,
> func->desc.func.name,
> func->desc.func.groups,
> @@ -2919,6 +2953,10 @@ static int airoha_pinctrl_probe(struct platform_de=
vice *pdev)
> }
> }
> =20
> + pinctrl->grps =3D data->grps;
> + pinctrl->funcs =3D data->funcs;
> + pinctrl->confs_info =3D data->confs_info;
I guess we can just use a airoha_pinctrl_match_data pointer here.
> +
> err =3D pinctrl_enable(pinctrl->ctrl);
> if (err)
> return err;
> @@ -2927,8 +2965,39 @@ static int airoha_pinctrl_probe(struct platform_de=
vice *pdev)
> return airoha_pinctrl_add_gpiochip(pinctrl, pdev);
> }
> =20
> +static const struct airoha_pinctrl_match_data en7581_pinctrl_match_data =
=3D {
> + .pins =3D en7581_pinctrl_pins,
> + .num_pins =3D ARRAY_SIZE(en7581_pinctrl_pins),
> + .grps =3D en7581_pinctrl_groups,
> + .num_grps =3D ARRAY_SIZE(en7581_pinctrl_groups),
> + .funcs =3D en7581_pinctrl_funcs,
> + .num_funcs =3D ARRAY_SIZE(en7581_pinctrl_funcs),
> + .confs_info =3D {
> + [AIROHA_PINCTRL_CONFS_PULLUP] =3D {
> + .confs =3D en7581_pinctrl_pullup_conf,
> + .num_confs =3D ARRAY_SIZE(en7581_pinctrl_pullup_conf),
> + },
> + [AIROHA_PINCTRL_CONFS_PULLDOWN] =3D {
> + .confs =3D en7581_pinctrl_pulldown_conf,
> + .num_confs =3D ARRAY_SIZE(en7581_pinctrl_pulldown_conf),
> + },
> + [AIROHA_PINCTRL_CONFS_DRIVE_E2] =3D {
> + .confs =3D en7581_pinctrl_drive_e2_conf,
> + .num_confs =3D ARRAY_SIZE(en7581_pinctrl_drive_e2_conf),
> + },
> + [AIROHA_PINCTRL_CONFS_DRIVE_E4] =3D {
> + .confs =3D en7581_pinctrl_drive_e4_conf,
> + .num_confs =3D ARRAY_SIZE(en7581_pinctrl_drive_e4_conf),
> + },
> + [AIROHA_PINCTRL_CONFS_PCIE_RST_OD] =3D {
> + .confs =3D en7581_pinctrl_pcie_rst_od_conf,
> + .num_confs =3D ARRAY_SIZE(en7581_pinctrl_pcie_rst_od_conf),
> + },
> + },
> +};
> +
> static const struct of_device_id airoha_pinctrl_of_match[] =3D {
> - { .compatible =3D "airoha,en7581-pinctrl" },
> + { .compatible =3D "airoha,en7581-pinctrl", .data =3D &en7581_pinctrl_ma=
tch_data },
> { /* sentinel */ }
> };
> MODULE_DEVICE_TABLE(of, airoha_pinctrl_of_match);
> --=20
> 2.48.1
>=20
--nqxKMu4BAXZxRr1I
Content-Type: application/pgp-signature; name=signature.asc
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQTquNwa3Txd3rGGn7Y6cBh0uS2trAUCaDbESQAKCRA6cBh0uS2t
rJLuAQCM0gHbHgsLE4uvFU6Yb6k7NCF1SNNA3JBIQFGbSBV1hwD+PZ+WCpsBVIA1
2b37ld3MQuGvCK3dOQShg69YU3PuvAM=
=KPIf
-----END PGP SIGNATURE-----
--nqxKMu4BAXZxRr1I--
Return-Path: <linux-kernel+bounces-665034-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7B53C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:09:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5DD5E3B04F8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:08:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1F042246787;
Wed, 28 May 2025 08:09:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="fZK+yr0t"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 879D919005E;
Wed, 28 May 2025 08:09:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.11
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419743; cv=none; b=a/BumcTd78Z2UmwCFqDt7ZT4CQUpL2Guemz6g3PoNaAv3lX98VDahYwAvb5GRtHE5P/wZW5YwMgaCr5OZxlBcpOdNQvFvqJMtBiMZHunXKCzhJ3N902POABrT0fZ8GkAV/FgvO3qnMhuyk2Whf4vGk5JI7GvrAmBs77IcN/smDw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419743; c=relaxed/simple;
bh=/3pRLiNTZ5mPQkB1yIvRzuKdK3DiRImq+aSu3O+yq7g=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=ONP1WgmDIJxYAp40k2DOoJzPuM7iljT9QtwJEIsn75vn0w3QTfLBkhUBq85oYs6kS68PFn81jiW5KGVGDB6+aoFICFd1Yihx1vHyZLpQaNTHuPW2joA6HQEucQmVtZnXOik0kya//0I3KMU9AUr5ddqJV6AEYFOgya17JEOohtY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=fZK+yr0t; arc=none smtp.client-ip=192.198.163.11
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748419742; x=1779955742;
h=message-id:date:mime-version:subject:to:cc:references:
from:in-reply-to:content-transfer-encoding;
bh=/3pRLiNTZ5mPQkB1yIvRzuKdK3DiRImq+aSu3O+yq7g=;
b=fZK+yr0tu8k0JEWIzNUEKwiq9ELlY8eutMpLjIRTa4X7m6VEviXWyWvi
7m4Xc8wWX244VkhPVwQ+t+meysnUh/8EERGPDEiVcCEBFF2lUqYc0MXLX
abv9wZthQXEtJjMJT21y9Kel4a76EOarfUXPVWwqmzJKKwgpSnW8AiLG9
cPIV8G/mwmozbpbFHhN5HFWjH9rtvdkm7hgp9EqwJ5diqgTCLefRlMEDc
/VDyqeUDGm6rNSllZtZIA7LHYgK+bOjY+Y75M2F+tFgi31pMoCTp3w3f7
Jn08m6Rr9DUpjDfXzeGuy1yYTEkDJ/6JIxipn6Iea6cEH2deM8MPiBLft
g==;
X-CSE-ConnectionGUID: ZMdipwDFRDmBArkM6EcIAg==
X-CSE-MsgGUID: EQvzJ0MpRBypQ/VuvxxXxg==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="61064888"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="61064888"
Received: from fmviesa009.fm.intel.com ([10.60.135.149])
by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:09:00 -0700
X-CSE-ConnectionGUID: Lr8duTnoQ/2ffFFG/pO8DA==
X-CSE-MsgGUID: tgUyM0yhThyjAoammQSSxw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="144141076"
Received: from unknown (HELO [10.238.3.95]) ([10.238.3.95])
by fmviesa009-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:08:37 -0700
Message-ID: <e38f0573-520a-4fe8-91fc-797086ab5866@xxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 16:08:34 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2 06/51] KVM: Query guest_memfd for private/shared
status
To: Yan Zhao <yan.y.zhao@xxxxxxxxx>, Ackerley Tng <ackerleytng@xxxxxxxxxx>
Cc: kvm@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
x86@xxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, aik@xxxxxxx,
ajones@xxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, amoorthy@xxxxxxxxxx,
anthony.yznaga@xxxxxxxxxx, anup@xxxxxxxxxxxxxx, aou@xxxxxxxxxxxxxxxxx,
bfoster@xxxxxxxxxx, brauner@xxxxxxxxxx, catalin.marinas@xxxxxxx,
chao.p.peng@xxxxxxxxx, chenhuacai@xxxxxxxxxx, dave.hansen@xxxxxxxxx,
david@xxxxxxxxxx, dmatlack@xxxxxxxxxx, dwmw@xxxxxxxxxxxx,
erdemaktas@xxxxxxxxxx, fan.du@xxxxxxxxx, fvdl@xxxxxxxxxx, graf@xxxxxxxxxx,
haibo1.xu@xxxxxxxxx, hch@xxxxxxxxxxxxx, hughd@xxxxxxxxxx,
ira.weiny@xxxxxxxxx, isaku.yamahata@xxxxxxxxx, jack@xxxxxxx,
james.morse@xxxxxxx, jarkko@xxxxxxxxxx, jgg@xxxxxxxx, jgowans@xxxxxxxxxx,
jhubbard@xxxxxxxxxx, jroedel@xxxxxxx, jthoughton@xxxxxxxxxx,
jun.miao@xxxxxxxxx, kai.huang@xxxxxxxxx, keirf@xxxxxxxxxx,
kent.overstreet@xxxxxxxxx, kirill.shutemov@xxxxxxxxx,
liam.merwick@xxxxxxxxxx, maciej.wieczor-retman@xxxxxxxxx,
mail@xxxxxxxxxxxxxxxxxxxxx, maz@xxxxxxxxxx, mic@xxxxxxxxxxx,
michael.roth@xxxxxxx, mpe@xxxxxxxxxxxxxx, muchun.song@xxxxxxxxx,
nikunj@xxxxxxx, nsaenz@xxxxxxxxx, oliver.upton@xxxxxxxxx,
palmer@xxxxxxxxxxx, pankaj.gupta@xxxxxxx, paul.walmsley@xxxxxxxxxx,
pbonzini@xxxxxxxxxx, pdurrant@xxxxxxxxxxxx, peterx@xxxxxxxxxx,
pgonda@xxxxxxxxxx, pvorel@xxxxxxx, qperret@xxxxxxxxxx,
quic_cvanscha@xxxxxxxxxxx, quic_eberman@xxxxxxxxxxx,
quic_mnalajal@xxxxxxxxxxx, quic_pderrin@xxxxxxxxxxx,
quic_pheragu@xxxxxxxxxxx, quic_svaddagi@xxxxxxxxxxx, quic_tsoni@xxxxxxxxxxx,
richard.weiyang@xxxxxxxxx, rick.p.edgecombe@xxxxxxxxx, rientjes@xxxxxxxxxx,
roypat@xxxxxxxxxxxx, rppt@xxxxxxxxxx, seanjc@xxxxxxxxxx, shuah@xxxxxxxxxx,
steven.price@xxxxxxx, steven.sistare@xxxxxxxxxx, suzuki.poulose@xxxxxxx,
tabba@xxxxxxxxxx, thomas.lendacky@xxxxxxx, usama.arif@xxxxxxxxxxxxx,
vannapurve@xxxxxxxxxx, vbabka@xxxxxxx, viro@xxxxxxxxxxxxxxxxxx,
vkuznets@xxxxxxxxxx, wei.w.wang@xxxxxxxxx, will@xxxxxxxxxx,
willy@xxxxxxxxxxxxx, xiaoyao.li@xxxxxxxxx, yilun.xu@xxxxxxxxx,
yuzenghui@xxxxxxxxxx, zhiquan1.li@xxxxxxxxx
References: <cover.1747264138.git.ackerleytng@xxxxxxxxxx>
<237590b163506821120734a0c8aad95d9c7ef299.1747264138.git.ackerleytng@xxxxxxxxxx>
<aDU3pN/0FVbowmNH@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Binbin Wu <binbin.wu@xxxxxxxxxxxxxxx>
In-Reply-To: <aDU3pN/0FVbowmNH@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/27/2025 11:55 AM, Yan Zhao wrote:
> On Wed, May 14, 2025 at 04:41:45PM -0700, Ackerley Tng wrote:
>> Query guest_memfd for private/shared status if those guest_memfds
>> track private/shared status.
>>
>> With this patch, Coco VMs can use guest_memfd for both shared and
>> private memory. If Coco VMs choose to use guest_memfd for both
>> shared and private memory, by creating guest_memfd with the
>> GUEST_MEMFD_FLAG_SUPPORT_SHARED flag, guest_memfd will be used to
>> provide the private/shared status of the memory, instead of
>> kvm->mem_attr_array.
>>
>> Change-Id: I8f23d7995c12242aa4e09ccf5ec19360e9c9ed83
>> Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
>> ---
>> include/linux/kvm_host.h | 19 ++++++++++++-------
>> virt/kvm/guest_memfd.c | 22 ++++++++++++++++++++++
>> 2 files changed, 34 insertions(+), 7 deletions(-)
>>
>> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
>> index b317392453a5..91279e05e010 100644
>> --- a/include/linux/kvm_host.h
>> +++ b/include/linux/kvm_host.h
>> @@ -2508,12 +2508,22 @@ static inline void kvm_prepare_memory_fault_exit(struct kvm_vcpu *vcpu,
>> }
>>
>> #ifdef CONFIG_KVM_GMEM_SHARED_MEM
>> +
>> bool kvm_gmem_memslot_supports_shared(const struct kvm_memory_slot *slot);
>> +bool kvm_gmem_is_private(struct kvm_memory_slot *slot, gfn_t gfn);
>> +
>> #else
>> +
>> static inline bool kvm_gmem_memslot_supports_shared(const struct kvm_memory_slot *slot)
>> {
>> return false;
>> }
>> +
>> +static inline bool kvm_gmem_is_private(struct kvm_memory_slot *slot, gfn_t gfn)
>> +{
>> + return false;
>> +}
>> +
>> #endif /* CONFIG_KVM_GMEM_SHARED_MEM */
>>
>> #ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES
>> @@ -2544,13 +2554,8 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
>> return false;
>>
>> slot = gfn_to_memslot(kvm, gfn);
>> - if (kvm_slot_has_gmem(slot) && kvm_gmem_memslot_supports_shared(slot)) {
>> - /*
>> - * For now, memslots only support in-place shared memory if the
>> - * host is allowed to mmap memory (i.e., non-Coco VMs).
>> - */
>> - return false;
>> - }
>> + if (kvm_slot_has_gmem(slot) && kvm_gmem_memslot_supports_shared(slot))
>> + return kvm_gmem_is_private(slot, gfn);
> When userspace gets an exit reason KVM_EXIT_MEMORY_FAULT, looks it needs to
> update both KVM memory attribute and gmem shareability, via two separate ioctls?
IIUC, when userspace sets flag GUEST_MEMFD_FLAG_SUPPORT_SHARED to create the
guest_memfd, the check for memory attribute will go through the guest_memfd way,
the information in kvm->mem_attr_array will not be used.
So if userspace sets GUEST_MEMFD_FLAG_SUPPORT_SHARED, it uses
KVM_GMEM_CONVERT_SHARED/PRIVATE to update gmem shareability.
If userspace doesn't set GUEST_MEMFD_FLAG_SUPPORT_SHARED, it still uses
KVM_SET_MEMORY_ATTRIBUTES to update KVM memory attribute tracking.
>
>
>> return kvm_get_memory_attributes(kvm, gfn) & KVM_MEMORY_ATTRIBUTE_PRIVATE;
>> }
Return-Path: <linux-kernel+bounces-665035-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E811441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:09:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 5E0EF7A2834
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:08:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0D3522459EA;
Wed, 28 May 2025 08:09:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gj8i3mXE"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1DDA319005E
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:09:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419789; cv=none; b=QNm/qMQXgX+g1ikYX31PslqGJga49vKwuvTEA9RxN+Zkt4l1bN2lu45D/fhM0gN6bLhAWnQ2OinLhTBp3MDgh0s7+9iHyDbP8bLElIDXtAvjRPsvt9BmNmO0uQvpFjXovPjYrg5DpMp3SZeYsAQNBf03mtFC1td+RiJ/cyQiZaU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419789; c=relaxed/simple;
bh=5Frxhoz1ICCLyAPUO80Qx8a04tT5PJs28LPKvhv8nH0=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=OPZ/ruXF7qi5Cq5Qow0HjZJCKYyQ5KlQ493ZD0K3+QwBpKXb3bgZUnNUcIcVin92hXOA44NZW86pNkHXHK2C6uVWoDgpKbouJKCrP/0BLZUvGwpa6jKanM9cJQh9ega+mp52wRzh3FH/ZPpjCXRJ6bzk1um+clAV32Ht0imkmeY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gj8i3mXE; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 935FBC4CEE7;
Wed, 28 May 2025 08:09:45 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419788;
bh=5Frxhoz1ICCLyAPUO80Qx8a04tT5PJs28LPKvhv8nH0=;
h=From:To:Cc:Subject:Date:From;
b=gj8i3mXEqYOR9yH3ybe9j2+UcVwmA14lILx93vLBrdPK74sQbEZ+M9ElazvNWlFuV
M7HdxIIpOVevB3ahVjVIWspmQ0RBQM3cm3zQHPHT9sRkDn/T/GNVVXJN6H2wiyiktb
yZJaUm/dd7B+JPcqYWZwnYOVbWE1IqRkC92UbX8lAwoY4gUXPtbBF4UKMzEFh4VOo2
cBHrwMKpYjTKoFa9SQQUOnrRyr8x+e/PSgBVzTbgkg5iZ/ugzltf8bnnWs3lTJaj9h
NJr0c8cUigISfi4vkSUJx3hfCKRvWn2JQFqILLhxbYjSVIX0GJtUlgyNRQr4hUWKaO
otqy8n/B+BJ9w==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>
Subject: [PATCH 00/43] sched: Use the SMP scheduler on UP too
Date: Wed, 28 May 2025 10:08:41 +0200
Message-ID: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This series implements an idea Peter Zijlstra has mentioned
before: standardize the Linux scheduler on the SMP variant to
drastically reduce the number of CONFIG_SMP blocks of code
and related complexity in the scheduler.
Today the Linux scheduler has an obscene amount of CONFIG_SMP
preprocessor blocks of code, where UP code diverges from SMP code:
$ git grep CONFIG_SMP kernel/sched/ | grep -v endif | wc -l
175
Which is substantial complexity that regularly results in build
failures and the occasional boot failure when people develop on
CONFIG_SMP and (naturally) don't immediately test on !CONFIG_SMP.
These build and boot failures are in fact under-reported in the
upstream kernel Git history, because they tend to be triggered
on developer systems: but they are still there and they are still
an ongoing development and maintenance cost. It's rare to see
a larger scheduler patch series that doesn't have some sort of
build complication on !SMP.
Another problem is that these literally 175 separate blocks of
preprocessor code make the scheduler code harder to review and
harder to understand.
All the while most modern hardware platforms - even embedded ones -
tend to have two or more CPUs and use SMP kernels these days.
So there's an ongoing and largely hidden burden of maintenance
and cost of complexity on scheduler developers.
This series gets rid of much of that CONFIG_SMP complexity by building
the UP scheduler from the SMP scheduler:
$ git grep CONFIG_SMP kernel/sched/ | grep -v endif | wc -l
28
The plain code reduction is nice too:
33 files changed, 237 insertions(+), 999 deletions(-)
... or, when measured from after the cleanup series:
24 files changed, 26 insertions(+), 789 deletions(-)
Note that even after this series the UP kernel can still be
improved too, as long as it is done via sensible patches
that use well-placed IS_ENABLED(CONFIG_SMP) kind of toggles,
without these almost 200 insane #ifdef blocks.
Note that the approach I chose is pretty blunt and straightforward,
to make sure this conversion is as bug-free as possible. I'd rather
bloat the UP scheduler a bit than to break it.
The first part of the series cleans up #if/#else/#endif markers to
be consistent, this made the removal patches much easier to
review, because instead of a random, context-free #endif removal:
@@ -658,6 +657,7 @@ int __sched_setscheduler(struct task_struct *p,
goto unlock;
}
}
-#endif
}
We now modify properly marked-up #endif blocks:
@@ -658,6 +657,7 @@ int __sched_setscheduler(struct task_struct *p,
goto unlock;
}
}
-#endif /* CONFIG_SMP */
}
Which can more easily be verified for intent and correctness.
The second part of the series converts the UP scheduler to the SMP
scheduler. The biggest patch:
sched/smp: Make SMP unconditional
Ended up being rather large and monolithic, and there's no easy way I can
see to increase granularity there without breaking the scheduler in the
interim step: because there's no clear separation of various aspects of the
UP/SMP scheduler, other than a humunguous amount of #ifdef CONFIG_SMP blocks
we grew over ~25 years...
Once that first large step was done, it was easier to do the rest more
gradually.
Note that much of the extra SMP code is unused code that will never
be triggered on a UP kernel - such as load-balancing, but there's some
extra context switching overhead on UP kernels:
$ perf stat --null --sync --repeat 5 perf bench sched pipe
# Before: 2.55022 +- 0.00308 seconds time elapsed ( +- 0.12% )
# After: 2.68700 +- 0.01600 seconds time elapsed ( +- 0.59% )
Kernel size impact (on x86-defconfig+!CONFIG_SMP):
text data bss dec hex filename
28816070 7720174 1837328 38373572 24988c4 vmlinux.defconfig.nosmp.before
28904324 7735982 1817876 38458182 24ad346 vmlinux.defconfig.nosmp.after
+0.3% text, +0.2% data.
But at this point I think the burden of proof and the burden of
work needs to be reversed: and anyone who cares about UP performance
or size should present sensible patches to improve performance/size.
The series is lightly tested at the moment, but I've tested the UP
scheduler on every bisection point to make sure it boots & works, and
to make sure any problems can be bisected back as far as possible.
The latest version of this series can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git WIP.sched/core
Thanks,
Ingo
================>
Ingo Molnar (43):
sched: Clean up and standardize #if/#else/#endif markers in sched/autogroup.[ch]
sched: Clean up and standardize #if/#else/#endif markers in sched/clock.c
sched: Clean up and standardize #if/#else/#endif markers in sched/core.c
sched: Clean up and standardize #if/#else/#endif markers in sched/cpufreq_schedutil.c
sched: Clean up and standardize #if/#else/#endif markers in sched/cpupri.h
sched: Clean up and standardize #if/#else/#endif markers in sched/cputime.c
sched: Clean up and standardize #if/#else/#endif markers in sched/deadline.c
sched: Clean up and standardize #if/#else/#endif markers in sched/debug.c
sched: Clean up and standardize #if/#else/#endif markers in sched/fair.c
sched: Clean up and standardize #if/#else/#endif markers in sched/idle.c
sched: Clean up and standardize #if/#else/#endif markers in sched/loadavg.c
sched: Clean up and standardize #if/#else/#endif markers in sched/pelt.[ch]
sched: Clean up and standardize #if/#else/#endif markers in sched/psi.c
sched: Clean up and standardize #if/#else/#endif markers in sched/rt.c
sched: Clean up and standardize #if/#else/#endif markers in sched/sched.h
sched: Clean up and standardize #if/#else/#endif markers in sched/stats.[ch]
sched: Clean up and standardize #if/#else/#endif markers in sched/syscalls.c
sched: Clean up and standardize #if/#else/#endif markers in sched/topology.c
sched/smp: Always define sched_domains_mutex_lock()/unlock(), def_root_domain and sched_domains_mutex
sched/smp: Make SMP unconditional
sched/smp: Always define is_percpu_thread() and scheduler_ipi()
sched/smp: Always define rq->hrtick_csd
sched/smp: Use the SMP version of try_to_wake_up()
sched/smp: Use the SMP version of __task_needs_rq_lock()
sched/smp: Use the SMP version of wake_up_new_task()
sched/smp: Use the SMP version of sched_exec()
sched/smp: Use the SMP version of idle_thread_set_boot_cpu()
sched/smp: Use the SMP version of the RT scheduling class
sched/smp: Use the SMP version of the deadline scheduling class
sched/smp: Use the SMP version of scheduler debugging data
sched/smp: Use the SMP version of schedstats
sched/smp: Use the SMP version of the scheduler syscalls
sched/smp: Use the SMP version of sched_update_asym_prefer_cpu()
sched/smp: Use the SMP version of the idle scheduling class
sched/smp: Use the SMP version of the stop-CPU scheduling class
sched/smp: Use the SMP version of cpu_of()
sched/smp: Use the SMP version of is_migration_disabled()
sched/smp: Use the SMP version of rq_pin_lock()
sched/smp: Use the SMP version of task_on_cpu()
sched/smp: Use the SMP version of WF_ and SD_ flag sanity checks
sched/smp: Use the SMP version of ENQUEUE_MIGRATED
sched/smp: Use the SMP version of add_nr_running()
sched/smp: Use the SMP version of double_rq_clock_clear_update()
include/linux/preempt.h | 9 --
include/linux/sched.h | 55 --------
include/linux/sched/deadline.h | 4 -
include/linux/sched/idle.h | 4 -
include/linux/sched/nohz.h | 4 +-
include/linux/sched/task.h | 4 -
include/linux/sched/topology.h | 32 -----
kernel/sched/autogroup.c | 6 +-
kernel/sched/autogroup.h | 4 +-
kernel/sched/build_policy.c | 6 +-
kernel/sched/build_utility.c | 9 +-
kernel/sched/clock.c | 4 +-
kernel/sched/core.c | 281 ++++++++++++---------------------------
kernel/sched/cpudeadline.h | 2 -
kernel/sched/cpufreq_schedutil.c | 4 +-
kernel/sched/cpupri.h | 2 -
kernel/sched/cputime.c | 14 +-
kernel/sched/deadline.c | 115 +---------------
kernel/sched/debug.c | 44 ++----
kernel/sched/fair.c | 194 ++++++---------------------
kernel/sched/idle.c | 10 +-
kernel/sched/loadavg.c | 4 +-
kernel/sched/pelt.c | 4 +-
kernel/sched/pelt.h | 62 +--------
kernel/sched/psi.c | 4 +-
kernel/sched/rt.c | 98 +++-----------
kernel/sched/sched.h | 206 +++++-----------------------
kernel/sched/stats.c | 4 -
kernel/sched/stats.h | 10 +-
kernel/sched/stop_task.c | 4 -
kernel/sched/syscalls.c | 15 +--
kernel/sched/topology.c | 14 +-
kernel/smpboot.c | 4 -
33 files changed, 237 insertions(+), 999 deletions(-)
--
2.45.2
Return-Path: <linux-kernel+bounces-665036-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7427F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:10:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 46DCFA206DB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:09:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 42F3419005E;
Wed, 28 May 2025 08:09:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fg0cKyeK"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 88A3524678B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:09:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419792; cv=none; b=PDc4e4CeFGyGOL0O/o2P+DZZYjhjLB+p/HzMjqzXAxfzwdsvxpdjDjaJ5MlX8AYvp2+XpbDsFrWwp4++h7dsG5nx3VKmOeF+CMmQddJGtE0McdTrI3G6AV/WMZti01ODK+vFwnjuULhoIAfdoyYVmc2sul3kDrjzt+6D3nt4nZg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419792; c=relaxed/simple;
bh=24zupqe2qOSiEYLckn16iIs+jmiZq7/UI4fvu5kVXUU=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=rPT7oR1EpSIVEamxXbRAbROGcZx0jVQpahkRfMdwWSncKTQBdeNN2EsNrWU9Z6rWhSITv3EguP3hCAY2Z+TXI2nLUPet2cEnf9rNSBeUc7ZDIkIx8eBD0R3+me6v5i1lirO/v6a64RJGY/yViWLQR10EvrGjtSQcf2U2HRHRseA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fg0cKyeK; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E9AE9C4CEEF;
Wed, 28 May 2025 08:09:48 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419792;
bh=24zupqe2qOSiEYLckn16iIs+jmiZq7/UI4fvu5kVXUU=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=fg0cKyeKF+6/h4C/4L92RMe65kTSDX67RAKFst53zrqGb6NVI+r7LwBXi4fIvZjpz
OhnuTfJxfkPVKNsqR2QYbFeJSe+gTYI6gr+m/aD/pzgMlW1aW/ogRnlYi6+70vxCX/
mOSxjvG4+p6LgbraA3ywmztj0Zj6tnPBfl1BnZIUxPwsPj+ocWdWHgwrAhA68NUR+S
N14zoC+EhyoSfSmuaE09esNUXGfBmgcaVKapTi/wuNY/6i6aHlv7+5fajm1vyQidvU
IkMV8nbJMWJGCOwcD1J3Nf9fHtRtrxQiAiA51kfFrbvIvdLLkN0n8C4qi8gyQdNogS
riYSB/AGgRTDg==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 01/43] sched: Clean up and standardize #if/#else/#endif markers in sched/autogroup.[ch]
Date: Wed, 28 May 2025 10:08:42 +0200
Message-ID: <20250528080924.2273858-2-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/autogroup.c | 6 +++---
kernel/sched/autogroup.h | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/kernel/sched/autogroup.c b/kernel/sched/autogroup.c
index 2b331822c7e7..ad2b218e4657 100644
--- a/kernel/sched/autogroup.c
+++ b/kernel/sched/autogroup.c
@@ -25,9 +25,9 @@ static void __init sched_autogroup_sysctl_init(void)
{
register_sysctl_init("kernel", sched_autogroup_sysctls);
}
-#else
+#else /* !CONFIG_SYSCTL: */
#define sched_autogroup_sysctl_init() do { } while (0)
-#endif
+#endif /* !CONFIG_SYSCTL */
void __init autogroup_init(struct task_struct *init_task)
{
@@ -108,7 +108,7 @@ static inline struct autogroup *autogroup_create(void)
free_rt_sched_group(tg);
tg->rt_se = root_task_group.rt_se;
tg->rt_rq = root_task_group.rt_rq;
-#endif
+#endif /* CONFIG_RT_GROUP_SCHED */
tg->autogroup = ag;
sched_online_group(tg, &root_task_group);
diff --git a/kernel/sched/autogroup.h b/kernel/sched/autogroup.h
index 90d69f2c5eaf..0ad3f71e1bfa 100644
--- a/kernel/sched/autogroup.h
+++ b/kernel/sched/autogroup.h
@@ -41,7 +41,7 @@ autogroup_task_group(struct task_struct *p, struct task_group *tg)
extern int autogroup_path(struct task_group *tg, char *buf, int buflen);
-#else /* !CONFIG_SCHED_AUTOGROUP */
+#else /* !CONFIG_SCHED_AUTOGROUP: */
static inline void autogroup_init(struct task_struct *init_task) { }
static inline void autogroup_free(struct task_group *tg) { }
@@ -61,6 +61,6 @@ static inline int autogroup_path(struct task_group *tg, char *buf, int buflen)
return 0;
}
-#endif /* CONFIG_SCHED_AUTOGROUP */
+#endif /* !CONFIG_SCHED_AUTOGROUP */
#endif /* _KERNEL_SCHED_AUTOGROUP_H */
--
2.45.2
Return-Path: <linux-kernel+bounces-665037-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B485D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:10:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 679AEA212EE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:09:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F020D2475F7;
Wed, 28 May 2025 08:09:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="R6q2CReX"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27880244677;
Wed, 28 May 2025 08:09:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419795; cv=none; b=ACwsvonDmY+bNK+DtR6CgR2CKCWnnqIIx5p35VJn5LgBoIbc1IqDAS5xpqt1glbJk8mQmHqVtuYNUfRh0E9rf1yH0dSotgpt0LrVj2hD2nat0PDS9NL2gTfwhUEzXzI0adNtXrlIghdBu4ybvd7Czo6HdpnEG13Qwt//9+heoBo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419795; c=relaxed/simple;
bh=xPH2TOLrYbaBzEBjshCytD643Fi1W6h06i3izOxmaMA=;
h=Content-Type:MIME-Version:Subject:From:Message-Id:Date:References:
In-Reply-To:To:Cc; b=nShdT9RTGfhI/VstRnEneMdkxvATwZPgZkCj/rkWSlJrpzQLntv6SPzz94wLM5E/REw57EXSFnUnTlaLaBO3qhbN/gGQYid8e7aEvVeIW8w+eB3iwFRDnydahbeByB/wMfOEIQJZUpyHVZBk7qFVCKOkDpMnBXg+2AKNoJ7k4Gg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=R6q2CReX; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3618C4CEE7;
Wed, 28 May 2025 08:09:54 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419794;
bh=xPH2TOLrYbaBzEBjshCytD643Fi1W6h06i3izOxmaMA=;
h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
b=R6q2CReXqi351arYamfusEQw3O0kwi4YGd1bt879B4qr4yvgBUk1CyvnArTIv0smc
NXvJhy3rHieKVOi+tUe5QmmlnCN5RO898055mEoH1EWKJPjjovI8/QDjF4zqm1vQfJ
cqU29tVewnnoJzKgnTuhDpH728qLojOt2AyC7BIE+/+X42qYlaKQwrYaMK403no7Ua
TZ0bKUkqqecki/5lUad1aiEGgWoQMqYzfRayyTmnEV25atRmA02iqR9BtlD0qJsJ0r
qB6J9uLElOL2/leSpfly+lbqDvyBix1dzCA1VbPuw7ltatxCIhV+w4Y2yOC6kxRB3e
Iccf1+EJveFYg==
Received: from [10.30.226.235] (localhost [IPv6:::1])
by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id EAF6739F1DE4;
Wed, 28 May 2025 08:10:29 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH net-next] selftests/bpf: Fix bpf selftest build warning
From: patchwork-bot+netdevbpf@xxxxxxxxxx
Message-Id:
<174841982875.2299972.9858779087019173111.git-patchwork-notify@xxxxxxxxxx>
Date: Wed, 28 May 2025 08:10:28 +0000
References: <20250527054138.1086006-1-skb99@xxxxxxxxxxxxx>
In-Reply-To: <20250527054138.1086006-1-skb99@xxxxxxxxxxxxx>
To: Saket Kumar Bhaskar <skb99@xxxxxxxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-next@xxxxxxxxxxxxxxx, hbathini@xxxxxxxxxxxxx, maddy@xxxxxxxxxxxxx,
venkat88@xxxxxxxxxxxxx, sfr@xxxxxxxxxxxxxxxx, alexei.starovoitov@xxxxxxxxx,
daniel@xxxxxxxxxxxxx, mykolal@xxxxxx, yoong.siang.song@xxxxxxxxx,
martin.lau@xxxxxxxxx, song@xxxxxxxxxx, yonghong.song@xxxxxxxxx,
john.fastabend@xxxxxxxxx, kpsingh@xxxxxxxxxx, sdf@xxxxxxxxxxx,
haoluo@xxxxxxxxxx, jolsa@xxxxxxxxxx, shuah@xxxxxxxxxx
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello:
This patch was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@xxxxxxxxxx>:
On Tue, 27 May 2025 11:11:38 +0530 you wrote:
> On linux-next, build for bpf selftest displays a warning:
>
> Warning: Kernel ABI header at 'tools/include/uapi/linux/if_xdp.h'
> differs from latest version at 'include/uapi/linux/if_xdp.h'.
>
> Commit 8066e388be48 ("net: add UAPI to the header guard in various network headers")
> changed the header guard from _LINUX_IF_XDP_H to _UAPI_LINUX_IF_XDP_H
> in include/uapi/linux/if_xdp.h.
>
> [...]
Here is the summary with links:
- [net-next] selftests/bpf: Fix bpf selftest build warning
https://git.kernel.org/netdev/net-next/c/acea6b132d81
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Return-Path: <linux-kernel+bounces-665038-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D00FC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:10:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 461C3A212B3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C6A7A248F53;
Wed, 28 May 2025 08:09:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="uqs8g7+3"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 15C1B2459EA
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:09:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419796; cv=none; b=Gc+3rF+Hq5M3um59T479wRvBW+Y3h4mMNvxS1H412AjKSZPK6zCQGBYxIcYVlXJR/J2glVD8Hi8OJ6oSYqrz4JhfTwoaBoACTEOLT7mcnNUgb89H/D0uVbsb0Tc20XUDlhp+0adh+x7v9rVyBoukDgoL/rYnxprmHS1yfbrlpCs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419796; c=relaxed/simple;
bh=aHNjuT+pVXde7vagc9ohxmkVnGnBYIIpr8O000cJReU=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=RWZabxsgd3yuQvMljlPpi5uTgmEZ/Hy2EXodDTxnU6SioIlQ3R/0YNXygilbNAIFeB+F8NG+3OphqtkeWYjrwYLElwDpl7K8+vC/GKULlwKqVtuZ9ZaYqU1dGquWW9V72NFn2QlKpc2cKMotlNRL0hjsnzTOP0P08md1TYn+Q7I=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uqs8g7+3; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 77AC3C4CEF0;
Wed, 28 May 2025 08:09:52 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419795;
bh=aHNjuT+pVXde7vagc9ohxmkVnGnBYIIpr8O000cJReU=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=uqs8g7+345gBU4LRzjilwc57vFuv5iAmjItNZfc5qb4iXPDBd0SqgC8AA9GJ7S97c
H8Ny+5nSpUlexxE+I2rtRF2izr6Mvf9A2+kM84CC2ElJo1EWZQK5FmkyuDtHjdnJUU
ktZMysdXtWM3LFQU7pF0wHwFYFS5xYFWwP+vBVRcICpkqT3ymiL/71vc/x20Uhlkph
2+MduEVQB2AZ4jmAHIQebN1pF0ClaB61PRDK6qjoRLFHXpyIyaGd5i+LgoZ1dU4Seq
6sp5eX829+cPHFyWVb6FBFTN8pUjJpvGUkMsAnLIaqUvvJFkD0NrX7uk/CpwTMAWxY
NDOUPzX4xLGyQ==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 02/43] sched: Clean up and standardize #if/#else/#endif markers in sched/clock.c
Date: Wed, 28 May 2025 10:08:43 +0200
Message-ID: <20250528080924.2273858-3-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/clock.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/clock.c b/kernel/sched/clock.c
index a09655b48140..3406145925b1 100644
--- a/kernel/sched/clock.c
+++ b/kernel/sched/clock.c
@@ -471,7 +471,7 @@ notrace void sched_clock_idle_wakeup_event(void)
}
EXPORT_SYMBOL_GPL(sched_clock_idle_wakeup_event);
-#else /* CONFIG_HAVE_UNSTABLE_SCHED_CLOCK */
+#else /* !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK: */
void __init sched_clock_init(void)
{
@@ -489,7 +489,7 @@ notrace u64 sched_clock_cpu(int cpu)
return sched_clock();
}
-#endif /* CONFIG_HAVE_UNSTABLE_SCHED_CLOCK */
+#endif /* !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK */
/*
* Running clock - returns the time that has elapsed while a guest has been
--
2.45.2
Return-Path: <linux-kernel+bounces-665039-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4690F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:10:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CC0D61BA7397
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8E8CC24677C;
Wed, 28 May 2025 08:10:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KttRv5MX"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 29D12246776
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:09:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419799; cv=none; b=Fr9zQHC03B4xVNmwTCHd7l9ZhjSmYeHNdCUsknVTF5SRNdqU1UFF5fdFWG/5o4VgGp6PTTII0fFX+vGwBljhef2Qqaz0VpemBmMpn2OVFsnqbAcl5VJgj8cdWFPZ265mLFwqSQX4Yeoe8xucNdKXUFCvLmRR91tZfL1MV/2gtbM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419799; c=relaxed/simple;
bh=9oM9khvttOQss4/2+9tZ2ORsA+VPp+9MA1k64OXpZ2o=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=HFh0xgST9CEJER8dkkvlXwaSf/a1kEzhWQG3q3UJYAOlo3HcMEnMnfNo0EjzgtSOormYF+nM+Lz7nqm7s3f+t7RRPZTcRWk4z95A/5Zbt3agRTIYoQW371MvEgkP6I3Gkk5iFkuEsr43Y/4KlO8SappQwnNgqFA3Yg/d+rRSVSw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KttRv5MX; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 04205C4CEF1;
Wed, 28 May 2025 08:09:55 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419799;
bh=9oM9khvttOQss4/2+9tZ2ORsA+VPp+9MA1k64OXpZ2o=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=KttRv5MXMGa7qjdTGOpYNWeV3IixN0gqzUe+0B/DXZcB39+KlOncfOqH3Gv75INdD
lsOoovXyVkZc2JzKoiESbtbUbpf4PMjlOTaeOlZf79cpMTeDqueMtAMVyD7TFQzJG4
WoKP7TLTnAPoVz6SIzcthZOLaM1sLH53rB5Q3USQsBIbo+16GmBupuRTyduOTrKayo
nhHpcAj2q2w6P/TxVRL4ABnFIjSouS3EeHjocugFHy950klExR9Ndo9czS1ULkyBFb
0jfAAIPL3q0hVgidkSmNLIBZOPrKS9FjRLzQwJgvM6mHe6EQJUcgxgN5Nbo70joUKc
yc/PMPKgYRL2g==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 03/43] sched: Clean up and standardize #if/#else/#endif markers in sched/core.c
Date: Wed, 28 May 2025 10:08:44 +0200
Message-ID: <20250528080924.2273858-4-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Apply this simplification:
-#if defined(CONFIG_FOO)
+#ifdef CONFIG_FOO
- Fix whitespace noise.
- Use vertical alignment to better visualize nested #ifdef blocks,
where appropriate:
#ifdef CONFIG_FOO
# ifdef CONFIG_BAR
...
# endif
#endif
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/core.c | 186 ++++++++++++++++++++++++++--------------------------
1 file changed, 93 insertions(+), 93 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 62b3416f5e43..21cf5809b2d8 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -481,13 +481,13 @@ void sched_core_put(void)
schedule_work(&_work);
}
-#else /* !CONFIG_SCHED_CORE */
+#else /* !CONFIG_SCHED_CORE: */
static inline void sched_core_enqueue(struct rq *rq, struct task_struct *p) { }
static inline void
sched_core_dequeue(struct rq *rq, struct task_struct *p, int flags) { }
-#endif /* CONFIG_SCHED_CORE */
+#endif /* !CONFIG_SCHED_CORE */
/* need a wrapper since we may need to trace from modules */
EXPORT_TRACEPOINT_SYMBOL(sched_set_state_tp);
@@ -667,7 +667,7 @@ void double_rq_lock(struct rq *rq1, struct rq *rq2)
double_rq_clock_clear_update(rq1, rq2);
}
-#endif
+#endif /* CONFIG_SMP */
/*
* __task_rq_lock - lock the rq @p resides on.
@@ -899,7 +899,7 @@ void hrtick_start(struct rq *rq, u64 delay)
smp_call_function_single_async(cpu_of(rq), &rq->hrtick_csd);
}
-#else
+#else /* !CONFIG_SMP: */
/*
* Called to set the hrtick timer state.
*
@@ -916,7 +916,7 @@ void hrtick_start(struct rq *rq, u64 delay)
HRTIMER_MODE_REL_PINNED_HARD);
}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
static void hrtick_rq_init(struct rq *rq)
{
@@ -925,7 +925,7 @@ static void hrtick_rq_init(struct rq *rq)
#endif
hrtimer_setup(&rq->hrtick_timer, hrtick, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD);
}
-#else /* CONFIG_SCHED_HRTICK */
+#else /* !CONFIG_SCHED_HRTICK: */
static inline void hrtick_clear(struct rq *rq)
{
}
@@ -933,7 +933,7 @@ static inline void hrtick_clear(struct rq *rq)
static inline void hrtick_rq_init(struct rq *rq)
{
}
-#endif /* CONFIG_SCHED_HRTICK */
+#endif /* !CONFIG_SCHED_HRTICK */
/*
* try_cmpxchg based fetch_or() macro so it works for different integer types:
@@ -1971,7 +1971,7 @@ static int sysctl_sched_uclamp_handler(const struct ctl_table *table, int write,
sysctl_sched_uclamp_util_min_rt_default = old_min_rt;
return result;
}
-#endif
+#endif /* CONFIG_SYSCTL */
static void uclamp_fork(struct task_struct *p)
{
@@ -2037,13 +2037,13 @@ static void __init init_uclamp(void)
}
}
-#else /* !CONFIG_UCLAMP_TASK */
+#else /* !CONFIG_UCLAMP_TASK: */
static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p, int flags) { }
static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p) { }
static inline void uclamp_fork(struct task_struct *p) { }
static inline void uclamp_post_fork(struct task_struct *p) { }
static inline void init_uclamp(void) { }
-#endif /* CONFIG_UCLAMP_TASK */
+#endif /* !CONFIG_UCLAMP_TASK */
bool sched_task_on_rq(struct task_struct *p)
{
@@ -3657,7 +3657,7 @@ void sched_set_stop_task(int cpu, struct task_struct *stop)
}
}
-#else /* CONFIG_SMP */
+#else /* !CONFIG_SMP: */
static inline void migrate_disable_switch(struct rq *rq, struct task_struct *p) { }
@@ -3766,7 +3766,7 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags,
rq->idle_stamp = 0;
}
-#endif
+#endif /* CONFIG_SMP */
}
/*
@@ -3988,14 +3988,14 @@ static bool ttwu_queue_wakelist(struct task_struct *p, int cpu, int wake_flags)
return false;
}
-#else /* !CONFIG_SMP */
+#else /* !CONFIG_SMP: */
static inline bool ttwu_queue_wakelist(struct task_struct *p, int cpu, int wake_flags)
{
return false;
}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
static void ttwu_queue(struct task_struct *p, int cpu, int wake_flags)
{
@@ -4331,9 +4331,9 @@ int try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags)
psi_ttwu_dequeue(p);
set_task_cpu(p, cpu);
}
-#else
+#else /* !CONFIG_SMP: */
cpu = task_cpu(p);
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
ttwu_queue(p, cpu, wake_flags);
}
@@ -4595,8 +4595,8 @@ static int sysctl_numa_balancing(const struct ctl_table *table, int write,
}
return err;
}
-#endif
-#endif
+#endif /* CONFIG_PROC_SYSCTL */
+#endif /* CONFIG_NUMA_BALANCING */
#ifdef CONFIG_SCHEDSTATS
@@ -4783,7 +4783,7 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p)
if (likely(sched_info_on()))
memset(&p->sched_info, 0, sizeof(p->sched_info));
#endif
-#if defined(CONFIG_SMP)
+#ifdef CONFIG_SMP
p->on_cpu = 0;
#endif
init_task_preempt_count(p);
@@ -4974,7 +4974,7 @@ fire_sched_out_preempt_notifiers(struct task_struct *curr,
__fire_sched_out_preempt_notifiers(curr, next);
}
-#else /* !CONFIG_PREEMPT_NOTIFIERS */
+#else /* !CONFIG_PREEMPT_NOTIFIERS: */
static inline void fire_sched_in_preempt_notifiers(struct task_struct *curr)
{
@@ -4986,7 +4986,7 @@ fire_sched_out_preempt_notifiers(struct task_struct *curr,
{
}
-#endif /* CONFIG_PREEMPT_NOTIFIERS */
+#endif /* !CONFIG_PREEMPT_NOTIFIERS */
static inline void prepare_task(struct task_struct *next)
{
@@ -5103,13 +5103,13 @@ void balance_callbacks(struct rq *rq, struct balance_callback *head)
}
}
-#else
+#else /* !CONFIG_SMP: */
static inline void __balance_callbacks(struct rq *rq)
{
}
-#endif
+#endif /* !CONFIG_SMP */
static inline void
prepare_lock_switch(struct rq *rq, struct task_struct *next, struct rq_flags *rf)
@@ -5523,7 +5523,7 @@ void sched_exec(void)
stop_one_cpu(task_cpu(p), migration_cpu_stop, &arg);
}
-#endif
+#endif /* CONFIG_SMP */
DEFINE_PER_CPU(struct kernel_stat, kstat);
DEFINE_PER_CPU(struct kernel_cpustat, kernel_cpustat);
@@ -5831,10 +5831,10 @@ int __init sched_tick_offload_init(void)
return 0;
}
-#else /* !CONFIG_NO_HZ_FULL */
+#else /* !CONFIG_NO_HZ_FULL: */
static inline void sched_tick_start(int cpu) { }
static inline void sched_tick_stop(int cpu) { }
-#endif
+#endif /* !CONFIG_NO_HZ_FULL */
#if defined(CONFIG_PREEMPTION) && (defined(CONFIG_DEBUG_PREEMPT) || \
defined(CONFIG_TRACE_PREEMPT_TOGGLE))
@@ -6549,7 +6549,7 @@ static inline void sched_core_cpu_dying(unsigned int cpu)
rq->core = rq;
}
-#else /* !CONFIG_SCHED_CORE */
+#else /* !CONFIG_SCHED_CORE: */
static inline void sched_core_cpu_starting(unsigned int cpu) {}
static inline void sched_core_cpu_deactivate(unsigned int cpu) {}
@@ -6561,7 +6561,7 @@ pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
return __pick_next_task(rq, prev, rf);
}
-#endif /* CONFIG_SCHED_CORE */
+#endif /* !CONFIG_SCHED_CORE */
/*
* Constants for the sched_mode argument of __schedule().
@@ -6988,14 +6988,14 @@ NOKPROBE_SYMBOL(preempt_schedule);
EXPORT_SYMBOL(preempt_schedule);
#ifdef CONFIG_PREEMPT_DYNAMIC
-#if defined(CONFIG_HAVE_PREEMPT_DYNAMIC_CALL)
-#ifndef preempt_schedule_dynamic_enabled
-#define preempt_schedule_dynamic_enabled preempt_schedule
-#define preempt_schedule_dynamic_disabled NULL
-#endif
+# ifdef CONFIG_HAVE_PREEMPT_DYNAMIC_CALL
+# ifndef preempt_schedule_dynamic_enabled
+# define preempt_schedule_dynamic_enabled preempt_schedule
+# define preempt_schedule_dynamic_disabled NULL
+# endif
DEFINE_STATIC_CALL(preempt_schedule, preempt_schedule_dynamic_enabled);
EXPORT_STATIC_CALL_TRAMP(preempt_schedule);
-#elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
+# elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
static DEFINE_STATIC_KEY_TRUE(sk_dynamic_preempt_schedule);
void __sched notrace dynamic_preempt_schedule(void)
{
@@ -7005,8 +7005,8 @@ void __sched notrace dynamic_preempt_schedule(void)
}
NOKPROBE_SYMBOL(dynamic_preempt_schedule);
EXPORT_SYMBOL(dynamic_preempt_schedule);
-#endif
-#endif
+# endif
+#endif /* CONFIG_PREEMPT_DYNAMIC */
/**
* preempt_schedule_notrace - preempt_schedule called by tracing
@@ -7061,14 +7061,14 @@ asmlinkage __visible void __sched notrace preempt_schedule_notrace(void)
EXPORT_SYMBOL_GPL(preempt_schedule_notrace);
#ifdef CONFIG_PREEMPT_DYNAMIC
-#if defined(CONFIG_HAVE_PREEMPT_DYNAMIC_CALL)
-#ifndef preempt_schedule_notrace_dynamic_enabled
-#define preempt_schedule_notrace_dynamic_enabled preempt_schedule_notrace
-#define preempt_schedule_notrace_dynamic_disabled NULL
-#endif
+# if defined(CONFIG_HAVE_PREEMPT_DYNAMIC_CALL)
+# ifndef preempt_schedule_notrace_dynamic_enabled
+# define preempt_schedule_notrace_dynamic_enabled preempt_schedule_notrace
+# define preempt_schedule_notrace_dynamic_disabled NULL
+# endif
DEFINE_STATIC_CALL(preempt_schedule_notrace, preempt_schedule_notrace_dynamic_enabled);
EXPORT_STATIC_CALL_TRAMP(preempt_schedule_notrace);
-#elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
+# elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
static DEFINE_STATIC_KEY_TRUE(sk_dynamic_preempt_schedule_notrace);
void __sched notrace dynamic_preempt_schedule_notrace(void)
{
@@ -7078,7 +7078,7 @@ void __sched notrace dynamic_preempt_schedule_notrace(void)
}
NOKPROBE_SYMBOL(dynamic_preempt_schedule_notrace);
EXPORT_SYMBOL(dynamic_preempt_schedule_notrace);
-#endif
+# endif
#endif
#endif /* CONFIG_PREEMPTION */
@@ -7297,7 +7297,7 @@ void rt_mutex_setprio(struct task_struct *p, struct task_struct *pi_task)
preempt_enable();
}
-#endif
+#endif /* CONFIG_RT_MUTEXES */
#if !defined(CONFIG_PREEMPTION) || defined(CONFIG_PREEMPT_DYNAMIC)
int __sched __cond_resched(void)
@@ -7328,17 +7328,17 @@ EXPORT_SYMBOL(__cond_resched);
#endif
#ifdef CONFIG_PREEMPT_DYNAMIC
-#if defined(CONFIG_HAVE_PREEMPT_DYNAMIC_CALL)
-#define cond_resched_dynamic_enabled __cond_resched
-#define cond_resched_dynamic_disabled ((void *)&__static_call_return0)
+# ifdef CONFIG_HAVE_PREEMPT_DYNAMIC_CALL
+# define cond_resched_dynamic_enabled __cond_resched
+# define cond_resched_dynamic_disabled ((void *)&__static_call_return0)
DEFINE_STATIC_CALL_RET0(cond_resched, __cond_resched);
EXPORT_STATIC_CALL_TRAMP(cond_resched);
-#define might_resched_dynamic_enabled __cond_resched
-#define might_resched_dynamic_disabled ((void *)&__static_call_return0)
+# define might_resched_dynamic_enabled __cond_resched
+# define might_resched_dynamic_disabled ((void *)&__static_call_return0)
DEFINE_STATIC_CALL_RET0(might_resched, __cond_resched);
EXPORT_STATIC_CALL_TRAMP(might_resched);
-#elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
+# elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
static DEFINE_STATIC_KEY_FALSE(sk_dynamic_cond_resched);
int __sched dynamic_cond_resched(void)
{
@@ -7356,8 +7356,8 @@ int __sched dynamic_might_resched(void)
return __cond_resched();
}
EXPORT_SYMBOL(dynamic_might_resched);
-#endif
-#endif
+# endif
+#endif /* CONFIG_PREEMPT_DYNAMIC */
/*
* __cond_resched_lock() - if a reschedule is pending, drop the given lock,
@@ -7423,9 +7423,9 @@ EXPORT_SYMBOL(__cond_resched_rwlock_write);
#ifdef CONFIG_PREEMPT_DYNAMIC
-#ifdef CONFIG_GENERIC_ENTRY
-#include <linux/entry-common.h>
-#endif
+# ifdef CONFIG_GENERIC_ENTRY
+# include <linux/entry-common.h>
+# endif
/*
* SC:cond_resched
@@ -7480,37 +7480,37 @@ int preempt_dynamic_mode = preempt_dynamic_undefined;
int sched_dynamic_mode(const char *str)
{
-#ifndef CONFIG_PREEMPT_RT
+# ifndef CONFIG_PREEMPT_RT
if (!strcmp(str, "none"))
return preempt_dynamic_none;
if (!strcmp(str, "voluntary"))
return preempt_dynamic_voluntary;
-#endif
+# endif
if (!strcmp(str, "full"))
return preempt_dynamic_full;
-#ifdef CONFIG_ARCH_HAS_PREEMPT_LAZY
+# ifdef CONFIG_ARCH_HAS_PREEMPT_LAZY
if (!strcmp(str, "lazy"))
return preempt_dynamic_lazy;
-#endif
+# endif
return -EINVAL;
}
-#define preempt_dynamic_key_enable(f) static_key_enable(&sk_dynamic_##f.key)
-#define preempt_dynamic_key_disable(f) static_key_disable(&sk_dynamic_##f.key)
+# define preempt_dynamic_key_enable(f) static_key_enable(&sk_dynamic_##f.key)
+# define preempt_dynamic_key_disable(f) static_key_disable(&sk_dynamic_##f.key)
-#if defined(CONFIG_HAVE_PREEMPT_DYNAMIC_CALL)
-#define preempt_dynamic_enable(f) static_call_update(f, f##_dynamic_enabled)
-#define preempt_dynamic_disable(f) static_call_update(f, f##_dynamic_disabled)
-#elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
-#define preempt_dynamic_enable(f) preempt_dynamic_key_enable(f)
-#define preempt_dynamic_disable(f) preempt_dynamic_key_disable(f)
-#else
-#error "Unsupported PREEMPT_DYNAMIC mechanism"
-#endif
+# if defined(CONFIG_HAVE_PREEMPT_DYNAMIC_CALL)
+# define preempt_dynamic_enable(f) static_call_update(f, f##_dynamic_enabled)
+# define preempt_dynamic_disable(f) static_call_update(f, f##_dynamic_disabled)
+# elif defined(CONFIG_HAVE_PREEMPT_DYNAMIC_KEY)
+# define preempt_dynamic_enable(f) preempt_dynamic_key_enable(f)
+# define preempt_dynamic_disable(f) preempt_dynamic_key_disable(f)
+# else
+# error "Unsupported PREEMPT_DYNAMIC mechanism"
+# endif
static DEFINE_MUTEX(sched_dynamic_mutex);
@@ -7614,7 +7614,7 @@ static void __init preempt_dynamic_init(void)
}
}
-#define PREEMPT_MODEL_ACCESSOR(mode) \
+# define PREEMPT_MODEL_ACCESSOR(mode) \
bool preempt_model_##mode(void) \
{ \
WARN_ON_ONCE(preempt_dynamic_mode == preempt_dynamic_undefined); \
@@ -8118,7 +8118,7 @@ static void balance_hotplug_wait(void)
TASK_UNINTERRUPTIBLE);
}
-#else
+#else /* !CONFIG_HOTPLUG_CPU: */
static inline void balance_push(struct rq *rq)
{
@@ -8132,7 +8132,7 @@ static inline void balance_hotplug_wait(void)
{
}
-#endif /* CONFIG_HOTPLUG_CPU */
+#endif /* !CONFIG_HOTPLUG_CPU */
void set_rq_online(struct rq *rq)
{
@@ -8441,7 +8441,7 @@ int sched_cpu_dying(unsigned int cpu)
sched_core_cpu_dying(cpu);
return 0;
}
-#endif
+#endif /* CONFIG_HOTPLUG_CPU */
void __init sched_init_smp(void)
{
@@ -8475,12 +8475,12 @@ static int __init migration_init(void)
}
early_initcall(migration_init);
-#else
+#else /* !CONFIG_SMP: */
void __init sched_init_smp(void)
{
sched_init_granularity();
}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
int in_sched_functions(unsigned long addr)
{
@@ -8632,15 +8632,15 @@ void __init sched_init(void)
INIT_LIST_HEAD(&rq->cfs_tasks);
rq_attach_root(rq, &def_root_domain);
-#ifdef CONFIG_NO_HZ_COMMON
+# ifdef CONFIG_NO_HZ_COMMON
rq->last_blocked_load_update_tick = jiffies;
atomic_set(&rq->nohz_flags, 0);
INIT_CSD(&rq->nohz_csd, nohz_csd_func, rq);
-#endif
-#ifdef CONFIG_HOTPLUG_CPU
+# endif
+# ifdef CONFIG_HOTPLUG_CPU
rcuwait_init(&rq->hotplug_wait);
-#endif
+# endif
#endif /* CONFIG_SMP */
hrtick_rq_init(rq);
atomic_set(&rq->nr_iowait, 0);
@@ -8825,7 +8825,7 @@ void __cant_sleep(const char *file, int line, int preempt_offset)
}
EXPORT_SYMBOL_GPL(__cant_sleep);
-#ifdef CONFIG_SMP
+# ifdef CONFIG_SMP
void __cant_migrate(const char *file, int line)
{
static unsigned long prev_jiffy;
@@ -8856,8 +8856,8 @@ void __cant_migrate(const char *file, int line)
add_taint(TAINT_WARN, LOCKDEP_STILL_OK);
}
EXPORT_SYMBOL_GPL(__cant_migrate);
-#endif
-#endif
+# endif /* CONFIG_SMP */
+#endif /* CONFIG_DEBUG_ATOMIC_SLEEP */
#ifdef CONFIG_MAGIC_SYSRQ
void normalize_rt_tasks(void)
@@ -8897,7 +8897,7 @@ void normalize_rt_tasks(void)
#endif /* CONFIG_MAGIC_SYSRQ */
-#if defined(CONFIG_KGDB_KDB)
+#ifdef CONFIG_KGDB_KDB
/*
* These functions are only useful for KDB.
*
@@ -8921,7 +8921,7 @@ struct task_struct *curr_task(int cpu)
return cpu_curr(cpu);
}
-#endif /* defined(CONFIG_KGDB_KDB) */
+#endif /* CONFIG_KGDB_KDB */
#ifdef CONFIG_CGROUP_SCHED
/* task_group_lock serializes the addition/removal of task groups */
@@ -9802,7 +9802,7 @@ static int cpu_idle_write_s64(struct cgroup_subsys_state *css,
scx_group_set_idle(css_tg(css), idle);
return ret;
}
-#endif
+#endif /* CONFIG_GROUP_SCHED_WEIGHT */
static struct cftype cpu_legacy_files[] = {
#ifdef CONFIG_GROUP_SCHED_WEIGHT
@@ -9930,7 +9930,7 @@ static int cpu_extra_stat_show(struct seq_file *sf,
cfs_b->nr_periods, cfs_b->nr_throttled,
throttled_usec, cfs_b->nr_burst, burst_usec);
}
-#endif
+#endif /* CONFIG_CFS_BANDWIDTH */
return 0;
}
@@ -10071,7 +10071,7 @@ static ssize_t cpu_max_write(struct kernfs_open_file *of,
ret = tg_set_cfs_bandwidth(tg, period, quota, burst);
return ret ?: nbytes;
}
-#endif
+#endif /* CONFIG_CFS_BANDWIDTH */
static struct cftype cpu_files[] = {
#ifdef CONFIG_GROUP_SCHED_WEIGHT
@@ -10107,7 +10107,7 @@ static struct cftype cpu_files[] = {
.read_u64 = cpu_cfs_burst_read_u64,
.write_u64 = cpu_cfs_burst_write_u64,
},
-#endif
+#endif /* CONFIG_CFS_BANDWIDTH */
#ifdef CONFIG_UCLAMP_TASK_GROUP
{
.name = "uclamp.min",
@@ -10121,7 +10121,7 @@ static struct cftype cpu_files[] = {
.seq_show = cpu_uclamp_max_show,
.write = cpu_uclamp_max_write,
},
-#endif
+#endif /* CONFIG_UCLAMP_TASK_GROUP */
{ } /* terminate */
};
@@ -10142,7 +10142,7 @@ struct cgroup_subsys cpu_cgrp_subsys = {
.threaded = true,
};
-#endif /* CONFIG_CGROUP_SCHED */
+#endif /* CONFIG_CGROUP_SCHED */
void dump_cpu_task(int cpu)
{
@@ -10728,7 +10728,7 @@ void sched_mm_cid_fork(struct task_struct *t)
WARN_ON_ONCE(!t->mm || t->mm_cid != -1);
t->mm_cid_active = 1;
}
-#endif
+#endif /* CONFIG_SCHED_MM_CID */
#ifdef CONFIG_SCHED_CLASS_EXT
void sched_deq_and_put_task(struct task_struct *p, int queue_flags,
@@ -10763,4 +10763,4 @@ void sched_enq_and_set_task(struct sched_enq_and_set_ctx *ctx)
if (ctx->running)
set_next_task(rq, ctx->p);
}
-#endif /* CONFIG_SCHED_CLASS_EXT */
+#endif /* CONFIG_SCHED_CLASS_EXT */
--
2.45.2
Return-Path: <linux-kernel+bounces-665040-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A8A0141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:10:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A6997A2175F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DAD24246783;
Wed, 28 May 2025 08:10:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="j2M1bSkh"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2ABF824DCEE
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419803; cv=none; b=C97pQj9ZqICLmaw9xWqAV1roFQA8hiZNN6ClU36MkxJ5uJ5QIqEICKFIVBCZn4C6V+nk7RhIQ03Hts5m5USph/Cu0qjI0aCdofc8Heup8V4mdco0luOHd9MTMrSHGJ2wOf2fusmpn9tyQNEeVMkunhk7zwZRabbU6+dQXB0wBME=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419803; c=relaxed/simple;
bh=2yy4uprkjJ9k8z5aYq2LuPZtLWlldXfXM4RXFHPqX4Q=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=UI/OBwR9QSLyFB5suv9p2IwE4386fyUpw1NiawQd/h1Yp1Zpj6qQSK4ioKybSUBG9ajY+uqmDC+TWO1HN1blYfTodn31rUGdtObStCa2VYb9kk8TwEo7uZf4vxlNxEXXp09E2fDu4cqpZVkWQJnby/Bf7tmjbHfQwN1BlvEgET4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=j2M1bSkh; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84208C4CEEB;
Wed, 28 May 2025 08:09:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419802;
bh=2yy4uprkjJ9k8z5aYq2LuPZtLWlldXfXM4RXFHPqX4Q=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=j2M1bSkh0//KRHIiNOVUp5xWktHsdWVQ2UxzqV6N9cQpNDeSlljHm/QbFQ17GvnfA
UIsodlxFFNlVakYXws7S0gIeiTbQmdAytXvdcwJxFjtd+dgts6YYrpFbp6eSSMVDHU
Fo6G95K1KW3xC4ITZTNkWmb6Wqnkn9SQOjMifT6Lwi2nRHxhEQGUO76sSDmBxhm3z5
MvyobJTK3pAehkzFKGQbCdusEzcncL9SLysh3QI30bBBbI4z/wqc9RbaWSeDCcO36y
BueAvl/wuXaUYPrZUhHE8EWZiZ54Uc+iStWhMvzjN+C7KEoplqRE2BVv+zfxZEA/i4
6a1wX63pr3+XA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 04/43] sched: Clean up and standardize #if/#else/#endif markers in sched/cpufreq_schedutil.c
Date: Wed, 28 May 2025 10:08:45 +0200
Message-ID: <20250528080924.2273858-5-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/cpufreq_schedutil.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index 816f07f9d30f..a28d0f94ed6b 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -380,9 +380,9 @@ static bool sugov_hold_freq(struct sugov_cpu *sg_cpu)
sg_cpu->saved_idle_calls = idle_calls;
return ret;
}
-#else
+#else /* !CONFIG_NO_HZ_COMMON: */
static inline bool sugov_hold_freq(struct sugov_cpu *sg_cpu) { return false; }
-#endif /* CONFIG_NO_HZ_COMMON */
+#endif /* !CONFIG_NO_HZ_COMMON */
/*
* Make sugov_should_update_freq() ignore the rate limit when DL
--
2.45.2
Return-Path: <linux-kernel+bounces-665042-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 328BB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:11:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 409021BA75DF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E326825334B;
Wed, 28 May 2025 08:10:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Z5ZxzWpN"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 243EB247285
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419810; cv=none; b=XBwuMA+vGzCLKZP9YLFfgfcwJFPKPa7XwrTuZeXVQrF8TSyDWEKQFE710orvXuXak4RlMZpf8JBsEvEvHeMCiDG/mA6PjtjkFp2TvX6m1AVqt6h0yg2LPvVPoEKaiAHd1+rA3Csf0fFvmLl5iomjPUvwh1jaOTdwBrSwROwgHHc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419810; c=relaxed/simple;
bh=AxBFKsNuYs50HDFmVhGNFAAe2Ve+EczsBe0uyX7QE48=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=rj05zprnPMxTvsLpYgnCYEfzoLAIi6ZD4ZF4GF7a1IjZjCiGfCLNbDCG7RRbWP5jasgCJKo/wQ74AJs4Mkc5QXZh5mCT5ZaXCHZqCnm/iffjHBpVdONHy6fj0viNKIto3la8H1WABQqn251jpXxmtlNy81xHdz8O6n/wMJbhMwI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Z5ZxzWpN; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97BB9C4CEE7;
Wed, 28 May 2025 08:10:06 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419809;
bh=AxBFKsNuYs50HDFmVhGNFAAe2Ve+EczsBe0uyX7QE48=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=Z5ZxzWpNo19c9sXgQhYikwqccMUU3EZ2fuFL1EWGt/rt4ZFZz4kReLd5uRZ1sOLPJ
vy+oSxBR++I0YPyDDNJqprm72Mbkxxu0NTlcigehr4WLfgbuewwLhwVshN9YDjfwGh
ttHwPgk67HsWpqcpnsW+xks57/FtV4hIp3+cOCFPHuzqpfCjjVan77/8z1cTKyLuNP
jhUpeQbkun6G27BXLFUPQYZxFlie1NBagCm0iWO6Q/d2weJ5szwo9ZoyNRyrrjzLsT
3dsIoaAtoEfysQlijfXhtWJUz0e2+RogU2Ho80+RiBqJDNHezIIMprUvnfZMU4xyIP
iv1U5s9VLA0cA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 06/43] sched: Clean up and standardize #if/#else/#endif markers in sched/cputime.c
Date: Wed, 28 May 2025 10:08:47 +0200
Message-ID: <20250528080924.2273858-7-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/cputime.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
index 6dab4854c6c0..dd745789c9fc 100644
--- a/kernel/sched/cputime.c
+++ b/kernel/sched/cputime.c
@@ -88,7 +88,7 @@ static u64 irqtime_tick_accounted(u64 maxtime)
return delta;
}
-#else /* CONFIG_IRQ_TIME_ACCOUNTING */
+#else /* !CONFIG_IRQ_TIME_ACCOUNTING: */
static u64 irqtime_tick_accounted(u64 dummy)
{
@@ -241,7 +241,7 @@ void __account_forceidle_time(struct task_struct *p, u64 delta)
task_group_account_field(p, CPUTIME_FORCEIDLE, delta);
}
-#endif
+#endif /* CONFIG_SCHED_CORE */
/*
* When a guest is interrupted for a longer amount of time, missed clock
@@ -262,7 +262,7 @@ static __always_inline u64 steal_account_process_time(u64 maxtime)
return steal;
}
-#endif
+#endif /* CONFIG_PARAVIRT */
return 0;
}
@@ -288,7 +288,7 @@ static inline u64 read_sum_exec_runtime(struct task_struct *t)
{
return t->se.sum_exec_runtime;
}
-#else
+#else /* !CONFIG_64BIT: */
static u64 read_sum_exec_runtime(struct task_struct *t)
{
u64 ns;
@@ -301,7 +301,7 @@ static u64 read_sum_exec_runtime(struct task_struct *t)
return ns;
}
-#endif
+#endif /* !CONFIG_64BIT */
/*
* Accumulate raw cputime values of dead tasks (sig->[us]time) and live
@@ -411,11 +411,11 @@ static void irqtime_account_idle_ticks(int ticks)
{
irqtime_account_process_tick(current, 0, ticks);
}
-#else /* CONFIG_IRQ_TIME_ACCOUNTING */
+#else /* !CONFIG_IRQ_TIME_ACCOUNTING: */
static inline void irqtime_account_idle_ticks(int ticks) { }
static inline void irqtime_account_process_tick(struct task_struct *p, int user_tick,
int nr_ticks) { }
-#endif /* CONFIG_IRQ_TIME_ACCOUNTING */
+#endif /* !CONFIG_IRQ_TIME_ACCOUNTING */
/*
* Use precise platform statistics if available:
--
2.45.2
Return-Path: <linux-kernel+bounces-665041-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6316D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:11:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id A7C827A93BC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:09:42 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EBA6724E4AF;
Wed, 28 May 2025 08:10:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IZdsq/U5"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D24224DD1B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419806; cv=none; b=u15z5aUDHFKri6XK3BOjxsnME1FQ3aw+bSrA72OOQJHcwlg8/qobHoK7s42gz6VSM+Y0CCpERLPFVrgrG0Lz2CfKes9uxNmXo8go13SoapxwVQaGmtsp01PJvaXgH5zud8cVh7s+L4kSkM6haLhAwu4piOT3BkYmK4qNfReY8v8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419806; c=relaxed/simple;
bh=+K51kWrxWCvbKfp493M0b+C5HU6KPSTl/Y8J4sAULk4=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=eToaoTHT8zEnitNUM1UI/Jf5NfYL3jL2P7/elc5zjigJT2XLg3LOT1MYS6TRzaVI2PNdiap3/gEEPi8Yc+IO34Oo1+7XrFol36U7ZQZVJhaFFoxbocmOS0DFkH/zQJlscN34yYApCSNm+/9TxL0sOvF+8qt3kNarDPBRKSEl88E=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IZdsq/U5; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 129B2C4CEEF;
Wed, 28 May 2025 08:10:02 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419806;
bh=+K51kWrxWCvbKfp493M0b+C5HU6KPSTl/Y8J4sAULk4=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=IZdsq/U5w+iYXqJpnN0hTJ7UTg9x7a1jN6608OPjt+kKTXmT/SIEuCZPrHFquVVyj
+dyq+DXeUmFdetg+AlJLYr7SEYaA2g5WZe2N/t1b1qWWobgDp9+SsE/REEMpGBcXzy
iVwytzS2A0Rip6IpXKngZ2MSlEChyHNB2ILjznWO8FR86elCmKk3lpwdNfsAbuR4zN
ajJWys9a7okVeilK7N47dD6CFU7nH7iRIdOid1rzGhYtuQktpFlunPZNZzcM3PkTjw
i/hVa2uge/cKvI3IA1EaqS3HYQIZ7Ot1FogQk1L07kXpbQivv359uRiuHO5BJtAekv
OEKBoPghvnIFA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 05/43] sched: Clean up and standardize #if/#else/#endif markers in sched/cpupri.h
Date: Wed, 28 May 2025 10:08:46 +0200
Message-ID: <20250528080924.2273858-6-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/cpupri.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/cpupri.h b/kernel/sched/cpupri.h
index d6cba0020064..f9c18e77d6a6 100644
--- a/kernel/sched/cpupri.h
+++ b/kernel/sched/cpupri.h
@@ -26,4 +26,4 @@ int cpupri_find_fitness(struct cpupri *cp, struct task_struct *p,
void cpupri_set(struct cpupri *cp, int cpu, int pri);
int cpupri_init(struct cpupri *cp);
void cpupri_cleanup(struct cpupri *cp);
-#endif
+#endif /* CONFIG_SMP */
--
2.45.2
Return-Path: <linux-kernel+bounces-665043-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6EE7D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:11:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 918514E10B0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 99796253F21;
Wed, 28 May 2025 08:10:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nM34g3Pn"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B00622472A5
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419813; cv=none; b=MJ92/w4C/74d+ZPm7c3WN3mhzPpZq7uWmSU12eE1IzXkScMwp/k5Gk4wu0EWOzmgpcvsDsjdNOf3+DIMMhlTLfJE1ln3yDuIuOOL3xB0AqWlsbr2jNphlhwWetMHWrhDILZ0r0BpXH9PnMwscrsHBxQ879UheuX+8xnLyrqlpSM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419813; c=relaxed/simple;
bh=n7Fd0CximPmTongnDQRpr8euc9lxQ5wvM8sWUUcg2Ms=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=AaW5JJkcWMY5G3qPQ8wNGhvWRnaUWJXjud1csQzZgNe9Ou6Lcq+rVWq9Mn+6d0Iqo8GBZQxujU/opiyMDt+ze0OoXXTbKNdqeGvLQ/d6DoB80swI9i5s9mdxmB9J0b42MZgZle37NRHrLG5062YXaXApCpm+vY4dpbFnf4cxozI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nM34g3Pn; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 22C56C4CEEB;
Wed, 28 May 2025 08:10:09 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419813;
bh=n7Fd0CximPmTongnDQRpr8euc9lxQ5wvM8sWUUcg2Ms=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=nM34g3Pn7qJ+VcC5iqsHmIloOR4G1jSSDtHCkCUIo2tCS/0etvThzQpboKdTxSuxm
R95fI47bvt8Swt31JdoL+ZCQnDTlmVhfMaV7OBg6pMGXX1JVijDjRVa/KYwN4a8/Zf
Qdz6orzPxAh3YCNhIHLpRQ5GgwK//dL/p1WtKA1vusHyeJr2/S1HGliXn1ptro0zve
J3FWZLzw2NpUX59Ev3C+9yp9wTWuzA33vBHTQSMkj4NIrX4/sTGMxNGbmUcgDk/J66
cXnQBd92wQJOARz2b2sPKazZhhaM2cPGhbr+XL6dl8LDHTQPJSma10K8zpKJKQDHTU
pTDoH4CiLz2tA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 07/43] sched: Clean up and standardize #if/#else/#endif markers in sched/deadline.c
Date: Wed, 28 May 2025 10:08:48 +0200
Message-ID: <20250528080924.2273858-8-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Fix whitespace noise and other inconsistencies.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/deadline.c | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index ad45a8fea245..7df38ea4d650 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -51,7 +51,7 @@ static int __init sched_dl_sysctl_init(void)
return 0;
}
late_initcall(sched_dl_sysctl_init);
-#endif
+#endif /* CONFIG_SYSCTL */
static bool dl_server(struct sched_dl_entity *dl_se)
{
@@ -99,7 +99,7 @@ static inline bool is_dl_boosted(struct sched_dl_entity *dl_se)
{
return pi_of(dl_se) != dl_se;
}
-#else
+#else /* !CONFIG_RT_MUTEXES: */
static inline struct sched_dl_entity *pi_of(struct sched_dl_entity *dl_se)
{
return dl_se;
@@ -109,7 +109,7 @@ static inline bool is_dl_boosted(struct sched_dl_entity *dl_se)
{
return false;
}
-#endif
+#endif /* !CONFIG_RT_MUTEXES */
#ifdef CONFIG_SMP
static inline struct dl_bw *dl_bw_of(int i)
@@ -191,7 +191,7 @@ void __dl_update(struct dl_bw *dl_b, s64 bw)
rq->dl.extra_bw += bw;
}
}
-#else
+#else /* !CONFIG_SMP: */
static inline struct dl_bw *dl_bw_of(int i)
{
return &cpu_rq(i)->dl.dl_bw;
@@ -219,7 +219,7 @@ void __dl_update(struct dl_bw *dl_b, s64 bw)
dl->extra_bw += bw;
}
-#endif
+#endif /* !CONFIG_SMP */
static inline
void __dl_sub(struct dl_bw *dl_b, u64 tsk_bw, int cpus)
@@ -753,7 +753,7 @@ static struct rq *dl_task_offline_migration(struct rq *rq, struct task_struct *p
return later_rq;
}
-#else
+#else /* !CONFIG_SMP: */
static inline
void enqueue_pushable_dl_task(struct rq *rq, struct task_struct *p)
@@ -782,7 +782,7 @@ static inline void deadline_queue_push_tasks(struct rq *rq)
static inline void deadline_queue_pull_task(struct rq *rq)
{
}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
static void
enqueue_dl_entity(struct sched_dl_entity *dl_se, int flags);
@@ -1209,7 +1209,7 @@ static void __push_dl_task(struct rq *rq, struct rq_flags *rf)
push_dl_task(rq);
rq_repin_lock(rq, rf);
}
-#endif
+#endif /* CONFIG_SMP */
}
/* a defer timer will not be reset if the runtime consumed was < dl_server_min_res */
@@ -1356,7 +1356,7 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)
* there.
*/
}
-#endif
+#endif /* CONFIG_SMP */
enqueue_task_dl(rq, p, ENQUEUE_REPLENISH);
if (dl_task(rq->donor))
@@ -1598,7 +1598,7 @@ static void update_curr_dl_se(struct rq *rq, struct sched_dl_entity *dl_se, s64
rt_rq->rt_time += delta_exec;
raw_spin_unlock(&rt_rq->rt_runtime_lock);
}
-#endif
+#endif /* CONFIG_RT_GROUP_SCHED */
}
/*
@@ -1881,12 +1881,12 @@ static void dec_dl_deadline(struct dl_rq *dl_rq, u64 deadline)
}
}
-#else
+#else /* !CONFIG_SMP: */
static inline void inc_dl_deadline(struct dl_rq *dl_rq, u64 deadline) {}
static inline void dec_dl_deadline(struct dl_rq *dl_rq, u64 deadline) {}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
static inline
void inc_dl_tasks(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
@@ -2375,11 +2375,11 @@ static void start_hrtick_dl(struct rq *rq, struct sched_dl_entity *dl_se)
{
hrtick_start(rq, dl_se->runtime);
}
-#else /* !CONFIG_SCHED_HRTICK */
+#else /* !CONFIG_SCHED_HRTICK: */
static void start_hrtick_dl(struct rq *rq, struct sched_dl_entity *dl_se)
{
}
-#endif
+#endif /* !CONFIG_SCHED_HRTICK */
static void set_next_task_dl(struct rq *rq, struct task_struct *p, bool first)
{
@@ -3121,13 +3121,13 @@ static void prio_changed_dl(struct rq *rq, struct task_struct *p,
dl_time_before(p->dl.deadline, rq->curr->dl.deadline))
resched_curr(rq);
}
-#else
+#else /* !CONFIG_SMP: */
/*
* We don't know if p has a earlier or later deadline, so let's blindly
* set a (maybe not needed) rescheduling point.
*/
resched_curr(rq);
-#endif
+#endif /* !CONFIG_SMP */
}
#ifdef CONFIG_SCHED_CORE
@@ -3158,7 +3158,7 @@ DEFINE_SCHED_CLASS(dl) = {
.rq_offline = rq_offline_dl,
.task_woken = task_woken_dl,
.find_lock_rq = find_lock_later_rq,
-#endif
+#endif /* CONFIG_SMP */
.task_tick = task_tick_dl,
.task_fork = task_fork_dl,
@@ -3570,7 +3570,7 @@ void dl_bw_free(int cpu, u64 dl_bw)
{
dl_bw_manage(dl_bw_req_free, cpu, dl_bw);
}
-#endif
+#endif /* CONFIG_SMP */
void print_dl_stats(struct seq_file *m, int cpu)
{
--
2.45.2
Return-Path: <linux-kernel+bounces-665044-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6C92941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:11:46 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E20B9A21851
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A23EB2472BF;
Wed, 28 May 2025 08:10:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UwziJpUk"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C93EF2459D9
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419816; cv=none; b=DWAgUVhDchU9FaMEOWH3rv5iW3lAy4OjA7xLwmywMmHgujqpewmeVMXBsekscYehGhJ8uwOKIogDZ71L0LlPvpV+oRp8FSP2NigH/rtzzt24QisZReTYExtL8F7sbj1m/mYYbrm41Am3E2No7w0RaaQk8PLMOyKNKvx6iL5/bS4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419816; c=relaxed/simple;
bh=FltFMf430RirGxiT9qRIFlCszu6z4QCr5D/YG0W1Npc=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=PyPoebHRjHNMK+rpwZHqJyTlRU3JG4HsbYuYEzllqHlATgZ3/8NBUvoSiiG3z4UT9Cx+HZ4fGyffJoOPNlwPZy8iEwKPylJwVJt/qZQenNgSj1i29k7PQ9LILK2PH0Avv2VxHGPkITpLvAPp0Ni/qQgUQxjF7sQxFz+1dc5TA7U=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UwziJpUk; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3FB0C4CEEF;
Wed, 28 May 2025 08:10:13 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419816;
bh=FltFMf430RirGxiT9qRIFlCszu6z4QCr5D/YG0W1Npc=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=UwziJpUkgFPLH6a1rt5o95YXb3kH1SygqhLXE61LX7vzmJXY1YDXf4NeAGThqO7wq
dxlKVHYpb7NiXVQCYGOlsQV73iSpwxg9I/5B3cH7MJ4AgvJSrFz8Pfx9HNlIUnlKNT
fi/d/7+fmWGl7R+UKM3xKheH1CW7tuqkPynR2oaLto0MBrhc/LYyHz4niRJ/QveL0D
B4ARhKSUjGyhWgbBi1NOkdnwsnzxBJhABGUKxWDx4qkVvTMIm5tHT1zItArIPOVdZf
cMCEskvrqE/5TBtHT3QbLk7J3o3O4Hz8emV2tK9iEaYsuJcmj9UQXyRoPIN+oLRUgE
mGoPEJ/Z6ZOVg==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 08/43] sched: Clean up and standardize #if/#else/#endif markers in sched/debug.c
Date: Wed, 28 May 2025 10:08:49 +0200
Message-ID: <20250528080924.2273858-9-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Fix whitespace noise and other inconsistencies.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/debug.c | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 557246880a7e..aaba8661aa46 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -90,10 +90,10 @@ static void sched_feat_enable(int i)
{
static_key_enable_cpuslocked(&sched_feat_keys[i]);
}
-#else
+#else /* !CONFIG_JUMP_LABEL: */
static void sched_feat_disable(int i) { };
static void sched_feat_enable(int i) { };
-#endif /* CONFIG_JUMP_LABEL */
+#endif /* !CONFIG_JUMP_LABEL */
static int sched_feat_set(char *cmp)
{
@@ -214,7 +214,7 @@ static const struct file_operations sched_scaling_fops = {
.release = single_release,
};
-#endif /* SMP */
+#endif /* CONFIG_SMP */
#ifdef CONFIG_PREEMPT_DYNAMIC
@@ -311,9 +311,9 @@ static ssize_t sched_verbose_write(struct file *filp, const char __user *ubuf,
return result;
}
-#else
-#define sched_verbose_write debugfs_write_file_bool
-#endif
+#else /* !CONFIG_SMP: */
+# define sched_verbose_write debugfs_write_file_bool
+#endif /* !CONFIG_SMP */
static const struct file_operations sched_verbose_fops = {
.read = debugfs_read_file_bool,
@@ -520,7 +520,7 @@ static __init int sched_init_debug(void)
sched_domains_mutex_lock();
update_sched_domain_debugfs();
sched_domains_mutex_unlock();
-#endif
+#endif /* CONFIG_SMP */
#ifdef CONFIG_NUMA_BALANCING
numa = debugfs_create_dir("numa_balancing", debugfs_sched);
@@ -530,7 +530,7 @@ static __init int sched_init_debug(void)
debugfs_create_u32("scan_period_max_ms", 0644, numa, &sysctl_numa_balancing_scan_period_max);
debugfs_create_u32("scan_size_mb", 0644, numa, &sysctl_numa_balancing_scan_size);
debugfs_create_u32("hot_threshold_ms", 0644, numa, &sysctl_numa_balancing_hot_threshold);
-#endif
+#endif /* CONFIG_NUMA_BALANCING */
debugfs_create_file("debug", 0444, debugfs_sched, NULL, &sched_debug_fops);
@@ -694,14 +694,14 @@ static void print_cfs_group_stats(struct seq_file *m, int cpu, struct task_group
P(se->avg.load_avg);
P(se->avg.util_avg);
P(se->avg.runnable_avg);
-#endif
+#endif /* CONFIG_SMP */
#undef PN_SCHEDSTAT
#undef PN
#undef P_SCHEDSTAT
#undef P
}
-#endif
+#endif /* CONFIG_FAIR_GROUP_SCHED */
#ifdef CONFIG_CGROUP_SCHED
static DEFINE_SPINLOCK(sched_debug_lock);
@@ -874,8 +874,8 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
cfs_rq->tg_load_avg_contrib);
SEQ_printf(m, " .%-30s: %ld\n", "tg_load_avg",
atomic_long_read(&cfs_rq->tg->load_avg));
-#endif
-#endif
+#endif /* CONFIG_FAIR_GROUP_SCHED */
+#endif /* CONFIG_SMP */
#ifdef CONFIG_CFS_BANDWIDTH
SEQ_printf(m, " .%-30s: %d\n", "throttled",
cfs_rq->throttled);
@@ -951,9 +951,9 @@ static void print_cpu(struct seq_file *m, int cpu)
SEQ_printf(m, "cpu#%d, %u.%03u MHz\n",
cpu, freq / 1000, (freq % 1000));
}
-#else
+#else /* !CONFIG_X86: */
SEQ_printf(m, "cpu#%d\n", cpu);
-#endif
+#endif /* !CONFIG_X86 */
#define P(x) \
do { \
@@ -981,7 +981,7 @@ do { \
P64(avg_idle);
P64(max_idle_balance_cost);
#undef P64
-#endif
+#endif /* CONFIG_SMP */
#define P(n) SEQ_printf(m, " .%-30s: %d\n", #n, schedstat_val(rq->n));
if (schedstat_enabled()) {
@@ -1163,7 +1163,7 @@ static void sched_show_numa(struct task_struct *p, struct seq_file *m)
SEQ_printf(m, "current_node=%d, numa_group_id=%d\n",
task_node(p), task_numa_group_id(p));
show_numa_stats(p, m);
-#endif
+#endif /* CONFIG_NUMA_BALANCING */
}
void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns,
@@ -1256,13 +1256,13 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns,
P(se.avg.util_avg);
P(se.avg.last_update_time);
PM(se.avg.util_est, ~UTIL_AVG_UNCHANGED);
-#endif
+#endif /* CONFIG_SMP */
#ifdef CONFIG_UCLAMP_TASK
__PS("uclamp.min", p->uclamp_req[UCLAMP_MIN].value);
__PS("uclamp.max", p->uclamp_req[UCLAMP_MAX].value);
__PS("effective uclamp.min", uclamp_eff_value(p, UCLAMP_MIN));
__PS("effective uclamp.max", uclamp_eff_value(p, UCLAMP_MAX));
-#endif
+#endif /* CONFIG_UCLAMP_TASK */
P(policy);
P(prio);
if (task_has_dl_policy(p)) {
--
2.45.2
Return-Path: <linux-kernel+bounces-665045-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4B7E141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:11:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id B8E387AB816
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9E3A525524C;
Wed, 28 May 2025 08:10:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SybNsy+7"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56DD22561A7
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419820; cv=none; b=AcNJbxiGlRGq6Uoml7T2GuzCfXaX4zWyklOfvIhFATwtK9ifeA9oin9V5622ZUjXru2ExqRmtSZiPW0BK8xHGgcGS1Ck7QPYCMoCAP/DqScvwNuQ7H1QBfkF6QJuEtZ2j8b9w79OJWiY+EL3xPYSOC5EcGtCuMEifeysfqbFBe4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419820; c=relaxed/simple;
bh=2GwVlWP3kyZi+qRaDCBa96mEqEKFz+u49EgTaZyIqCs=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=FZ9DK3utW3qjLwFzEZ6AmXLhPxWRAwbEZBnrpOzhBi9fKzU4WSyQ4T30/LNITkr47+kCN9/8GTr9OI7cunRoON45HgnOKn1UvwTdmoHrnmdwDl+Kx69oddKagruq4wjva817GCSDE9Vc7XAsvslLiaQS0Sy5ltjQFH3xQI3TpzU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SybNsy+7; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2EB2AC4CEE7;
Wed, 28 May 2025 08:10:16 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419820;
bh=2GwVlWP3kyZi+qRaDCBa96mEqEKFz+u49EgTaZyIqCs=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=SybNsy+73QApF5u/lQ4sDtJ73EptyWVnjCBMVa1YKNkVZEK7MBmMDpz0GV+MmqUt0
0bDGPHUJptThSiW3dxVibDdbWzXKqYkK6Mo2+DSQEhmOzT16ZmBOY9jyeP4b+Wc8Be
e1YteUxYBswlGLtWuNVh88/ArpZUw2vwH2Q3rA4yyW0fCEQtgxiDHqHobxdH/JHvCX
k+VYod60vZjoiYDeUgZ1cojA+t3H9Lw2Ek04BR/Jhni+ZnFK4D0gTBn1AHJyZdkdtZ
tvU0uKC8HDfw19+9Oe05vb8if85kgYVquLsXGJFZCY2Lf6JxED7ydaUAWe2NBsmvZf
RtZrSm+9OmaqA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 09/43] sched: Clean up and standardize #if/#else/#endif markers in sched/fair.c
Date: Wed, 28 May 2025 10:08:50 +0200
Message-ID: <20250528080924.2273858-10-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Fix whitespace noise and other inconsistencies.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/fair.c | 111 ++++++++++++++++++++++++++--------------------------
1 file changed, 56 insertions(+), 55 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 125912c0e9dd..92ae3da8ca37 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -111,7 +111,7 @@ int __weak arch_asym_cpu_priority(int cpu)
* (default: ~5%)
*/
#define capacity_greater(cap1, cap2) ((cap1) * 1024 > (cap2) * 1078)
-#endif
+#endif /* CONFIG_SMP */
#ifdef CONFIG_CFS_BANDWIDTH
/*
@@ -162,7 +162,7 @@ static int __init sched_fair_sysctl_init(void)
return 0;
}
late_initcall(sched_fair_sysctl_init);
-#endif
+#endif /* CONFIG_SYSCTL */
static inline void update_load_add(struct load_weight *lw, unsigned long inc)
{
@@ -471,7 +471,7 @@ static int se_is_idle(struct sched_entity *se)
return cfs_rq_is_idle(group_cfs_rq(se));
}
-#else /* !CONFIG_FAIR_GROUP_SCHED */
+#else /* !CONFIG_FAIR_GROUP_SCHED: */
#define for_each_sched_entity(se) \
for (; se; se = NULL)
@@ -517,7 +517,7 @@ static int se_is_idle(struct sched_entity *se)
return task_has_idle_policy(task_of(se));
}
-#endif /* CONFIG_FAIR_GROUP_SCHED */
+#endif /* !CONFIG_FAIR_GROUP_SCHED */
static __always_inline
void account_cfs_rq_runtime(struct cfs_rq *cfs_rq, u64 delta_exec);
@@ -1008,7 +1008,7 @@ int sched_update_scaling(void)
return 0;
}
-#endif
+#endif /* CONFIG_SMP */
static void clear_buddies(struct cfs_rq *cfs_rq, struct sched_entity *se);
@@ -1041,6 +1041,7 @@ static bool update_deadline(struct cfs_rq *cfs_rq, struct sched_entity *se)
}
#include "pelt.h"
+
#ifdef CONFIG_SMP
static int select_idle_sibling(struct task_struct *p, int prev_cpu, int cpu);
@@ -1131,7 +1132,7 @@ void post_init_entity_util_avg(struct task_struct *p)
sa->runnable_avg = sa->util_avg;
}
-#else /* !CONFIG_SMP */
+#else /* !CONFIG_SMP: */
void init_entity_runnable_average(struct sched_entity *se)
{
}
@@ -1141,7 +1142,7 @@ void post_init_entity_util_avg(struct task_struct *p)
static void update_tg_load_avg(struct cfs_rq *cfs_rq)
{
}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
static s64 update_curr_se(struct rq *rq, struct sched_entity *curr)
{
@@ -2114,12 +2115,12 @@ static inline int numa_idle_core(int idle_core, int cpu)
return idle_core;
}
-#else
+#else /* !CONFIG_SCHED_SMT: */
static inline int numa_idle_core(int idle_core, int cpu)
{
return idle_core;
}
-#endif
+#endif /* !CONFIG_SCHED_SMT */
/*
* Gather all necessary information to make NUMA balancing placement
@@ -3663,7 +3664,8 @@ static void update_scan_period(struct task_struct *p, int new_cpu)
p->numa_scan_period = task_scan_start(p);
}
-#else
+#else /* !CONFIG_NUMA_BALANCING: */
+
static void task_tick_numa(struct rq *rq, struct task_struct *curr)
{
}
@@ -3680,7 +3682,7 @@ static inline void update_scan_period(struct task_struct *p, int new_cpu)
{
}
-#endif /* CONFIG_NUMA_BALANCING */
+#endif /* !CONFIG_NUMA_BALANCING */
static void
account_entity_enqueue(struct cfs_rq *cfs_rq, struct sched_entity *se)
@@ -3775,12 +3777,12 @@ dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
cfs_rq->avg.load_sum = max_t(u32, cfs_rq->avg.load_sum,
cfs_rq->avg.load_avg * PELT_MIN_DIVIDER);
}
-#else
+#else /* !CONFIG_SMP: */
static inline void
enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) { }
static inline void
dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) { }
-#endif
+#endif /* !CONFIG_SMP */
static void place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags);
@@ -3990,11 +3992,11 @@ static void update_cfs_group(struct sched_entity *se)
reweight_entity(cfs_rq_of(se), se, shares);
}
-#else /* CONFIG_FAIR_GROUP_SCHED */
+#else /* !CONFIG_FAIR_GROUP_SCHED: */
static inline void update_cfs_group(struct sched_entity *se)
{
}
-#endif /* CONFIG_FAIR_GROUP_SCHED */
+#endif /* !CONFIG_FAIR_GROUP_SCHED */
static inline void cfs_rq_util_change(struct cfs_rq *cfs_rq, int flags)
{
@@ -4471,7 +4473,7 @@ static inline bool skip_blocked_update(struct sched_entity *se)
return true;
}
-#else /* CONFIG_FAIR_GROUP_SCHED */
+#else /* !CONFIG_FAIR_GROUP_SCHED: */
static inline void update_tg_load_avg(struct cfs_rq *cfs_rq) {}
@@ -4484,7 +4486,7 @@ static inline int propagate_entity_load_avg(struct sched_entity *se)
static inline void add_tg_cfs_propagate(struct cfs_rq *cfs_rq, long runnable_sum) {}
-#endif /* CONFIG_FAIR_GROUP_SCHED */
+#endif /* !CONFIG_FAIR_GROUP_SCHED */
#ifdef CONFIG_NO_HZ_COMMON
static inline void migrate_se_pelt_lag(struct sched_entity *se)
@@ -4565,9 +4567,9 @@ static inline void migrate_se_pelt_lag(struct sched_entity *se)
__update_load_avg_blocked_se(now, se);
}
-#else
+#else /* !CONFIG_NO_HZ_COMMON: */
static void migrate_se_pelt_lag(struct sched_entity *se) {}
-#endif
+#endif /* !CONFIG_NO_HZ_COMMON */
/**
* update_cfs_rq_load_avg - update the cfs_rq's load/util averages
@@ -5134,7 +5136,7 @@ static inline void update_misfit_status(struct task_struct *p, struct rq *rq)
rq->misfit_task_load = max_t(unsigned long, task_h_load(p), 1);
}
-#else /* CONFIG_SMP */
+#else /* !CONFIG_SMP: */
static inline bool cfs_rq_is_decayed(struct cfs_rq *cfs_rq)
{
@@ -5174,7 +5176,7 @@ util_est_update(struct cfs_rq *cfs_rq, struct task_struct *p,
bool task_sleep) {}
static inline void update_misfit_status(struct task_struct *p, struct rq *rq) {}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
void __setparam_fair(struct task_struct *p, const struct sched_attr *attr)
{
@@ -5675,7 +5677,7 @@ void cfs_bandwidth_usage_dec(void)
{
static_key_slow_dec_cpuslocked(&__cfs_bandwidth_used);
}
-#else /* CONFIG_JUMP_LABEL */
+#else /* !CONFIG_JUMP_LABEL: */
static bool cfs_bandwidth_used(void)
{
return true;
@@ -5683,7 +5685,7 @@ static bool cfs_bandwidth_used(void)
void cfs_bandwidth_usage_inc(void) {}
void cfs_bandwidth_usage_dec(void) {}
-#endif /* CONFIG_JUMP_LABEL */
+#endif /* !CONFIG_JUMP_LABEL */
/*
* default period for cfs group bandwidth.
@@ -6137,12 +6139,12 @@ static inline void __unthrottle_cfs_rq_async(struct cfs_rq *cfs_rq)
if (first)
smp_call_function_single_async(cpu_of(rq), &rq->cfsb_csd);
}
-#else
+#else /* !CONFIG_SMP: */
static inline void __unthrottle_cfs_rq_async(struct cfs_rq *cfs_rq)
{
unthrottle_cfs_rq(cfs_rq);
}
-#endif
+#endif /* !CONFIG_SMP */
static void unthrottle_cfs_rq_async(struct cfs_rq *cfs_rq)
{
@@ -6723,9 +6725,9 @@ static void sched_fair_update_stop_tick(struct rq *rq, struct task_struct *p)
if (cfs_task_bw_constrained(p))
tick_nohz_dep_set_cpu(cpu, TICK_DEP_BIT_SCHED);
}
-#endif
+#endif /* CONFIG_NO_HZ_FULL */
-#else /* CONFIG_CFS_BANDWIDTH */
+#else /* !CONFIG_CFS_BANDWIDTH: */
static void account_cfs_rq_runtime(struct cfs_rq *cfs_rq, u64 delta_exec) {}
static bool check_cfs_rq_runtime(struct cfs_rq *cfs_rq) { return false; }
@@ -6767,7 +6769,7 @@ bool cfs_task_bw_constrained(struct task_struct *p)
return false;
}
#endif
-#endif /* CONFIG_CFS_BANDWIDTH */
+#endif /* !CONFIG_CFS_BANDWIDTH */
#if !defined(CONFIG_CFS_BANDWIDTH) || !defined(CONFIG_NO_HZ_FULL)
static inline void sched_fair_update_stop_tick(struct rq *rq, struct task_struct *p) {}
@@ -6812,7 +6814,7 @@ static void hrtick_update(struct rq *rq)
hrtick_start_fair(rq, donor);
}
-#else /* !CONFIG_SCHED_HRTICK */
+#else /* !CONFIG_SCHED_HRTICK: */
static inline void
hrtick_start_fair(struct rq *rq, struct task_struct *p)
{
@@ -6821,7 +6823,7 @@ hrtick_start_fair(struct rq *rq, struct task_struct *p)
static inline void hrtick_update(struct rq *rq)
{
}
-#endif
+#endif /* !CONFIG_SCHED_HRTICK */
#ifdef CONFIG_SMP
static inline bool cpu_overutilized(int cpu)
@@ -6865,9 +6867,9 @@ static inline void check_update_overutilized_status(struct rq *rq)
if (!is_rd_overutilized(rq->rd) && cpu_overutilized(rq->cpu))
set_rd_overutilized(rq->rd, 1);
}
-#else
+#else /* !CONFIG_SMP: */
static inline void check_update_overutilized_status(struct rq *rq) { }
-#endif
+#endif /* !CONFIG_SMP */
/* Runqueue only has SCHED_IDLE tasks enqueued */
static int sched_idle_rq(struct rq *rq)
@@ -7667,7 +7669,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t
return -1;
}
-#else /* CONFIG_SCHED_SMT */
+#else /* !CONFIG_SCHED_SMT: */
static inline void set_idle_cores(int cpu, int val)
{
@@ -7688,7 +7690,7 @@ static inline int select_idle_smt(struct task_struct *p, struct sched_domain *sd
return -1;
}
-#endif /* CONFIG_SCHED_SMT */
+#endif /* !CONFIG_SCHED_SMT */
/*
* Scan the LLC domain for idle CPUs; this is dynamically regulated by
@@ -8733,9 +8735,9 @@ balance_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
return sched_balance_newidle(rq, rf) != 0;
}
-#else
+#else /* !CONFIG_SMP: */
static inline void set_task_max_allowed_capacity(struct task_struct *p) {}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
static void set_next_buddy(struct sched_entity *se)
{
@@ -8929,7 +8931,7 @@ pick_next_task_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf
return p;
simple:
-#endif
+#endif /* CONFIG_FAIR_GROUP_SCHED */
put_prev_set_next_task(rq, prev, p);
return p;
@@ -9347,13 +9349,13 @@ static long migrate_degrades_locality(struct task_struct *p, struct lb_env *env)
return src_weight - dst_weight;
}
-#else
+#else /* !CONFIG_NUMA_BALANCING: */
static inline long migrate_degrades_locality(struct task_struct *p,
struct lb_env *env)
{
return 0;
}
-#endif
+#endif /* !CONFIG_NUMA_BALANCING */
/*
* Check whether the task is ineligible on the destination cpu
@@ -9762,12 +9764,12 @@ static inline void update_blocked_load_status(struct rq *rq, bool has_blocked)
if (!has_blocked)
rq->has_blocked_load = 0;
}
-#else
+#else /* !CONFIG_NO_HZ_COMMON: */
static inline bool cfs_rq_has_blocked(struct cfs_rq *cfs_rq) { return false; }
static inline bool others_have_blocked(struct rq *rq) { return false; }
static inline void update_blocked_load_tick(struct rq *rq) {}
static inline void update_blocked_load_status(struct rq *rq, bool has_blocked) {}
-#endif
+#endif /* !CONFIG_NO_HZ_COMMON */
static bool __update_blocked_others(struct rq *rq, bool *done)
{
@@ -9876,7 +9878,7 @@ static unsigned long task_h_load(struct task_struct *p)
return div64_ul(p->se.avg.load_avg * cfs_rq->h_load,
cfs_rq_load_avg(cfs_rq) + 1);
}
-#else
+#else /* !CONFIG_FAIR_GROUP_SCHED: */
static bool __update_blocked_fair(struct rq *rq, bool *done)
{
struct cfs_rq *cfs_rq = &rq->cfs;
@@ -9893,7 +9895,7 @@ static unsigned long task_h_load(struct task_struct *p)
{
return p->se.avg.load_avg;
}
-#endif
+#endif /* !CONFIG_FAIR_GROUP_SCHED */
static void sched_balance_update_blocked_averages(int cpu)
{
@@ -10606,7 +10608,7 @@ static inline enum fbq_type fbq_classify_rq(struct rq *rq)
return remote;
return all;
}
-#else
+#else /* !CONFIG_NUMA_BALANCING: */
static inline enum fbq_type fbq_classify_group(struct sg_lb_stats *sgs)
{
return all;
@@ -10616,7 +10618,7 @@ static inline enum fbq_type fbq_classify_rq(struct rq *rq)
{
return regular;
}
-#endif /* CONFIG_NUMA_BALANCING */
+#endif /* !CONFIG_NUMA_BALANCING */
struct sg_lb_stats;
@@ -12762,7 +12764,7 @@ static void nohz_newidle_balance(struct rq *this_rq)
atomic_or(NOHZ_NEWILB_KICK, nohz_flags(this_cpu));
}
-#else /* !CONFIG_NO_HZ_COMMON */
+#else /* !CONFIG_NO_HZ_COMMON: */
static inline void nohz_balancer_kick(struct rq *rq) { }
static inline bool nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle)
@@ -12771,7 +12773,7 @@ static inline bool nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle
}
static inline void nohz_newidle_balance(struct rq *this_rq) { }
-#endif /* CONFIG_NO_HZ_COMMON */
+#endif /* !CONFIG_NO_HZ_COMMON */
/*
* sched_balance_newidle is called by schedule() if this_cpu is about to become
@@ -13066,10 +13068,10 @@ bool cfs_prio_less(const struct task_struct *a, const struct task_struct *b,
cfs_rqa = sea->cfs_rq;
cfs_rqb = seb->cfs_rq;
-#else
+#else /* !CONFIG_FAIR_GROUP_SCHED: */
cfs_rqa = &task_rq(a)->cfs;
cfs_rqb = &task_rq(b)->cfs;
-#endif
+#endif /* !CONFIG_FAIR_GROUP_SCHED */
/*
* Find delta after normalizing se's vruntime with its cfs_rq's
@@ -13093,9 +13095,9 @@ static int task_is_throttled_fair(struct task_struct *p, int cpu)
#endif
return throttled_hierarchy(cfs_rq);
}
-#else
+#else /* !CONFIG_SCHED_CORE: */
static inline void task_tick_core(struct rq *rq, struct task_struct *curr) {}
-#endif
+#endif /* !CONFIG_SCHED_CORE */
/*
* scheduler tick hitting a task of our scheduling class.
@@ -13189,9 +13191,9 @@ static void propagate_entity_cfs_rq(struct sched_entity *se)
list_add_leaf_cfs_rq(cfs_rq);
}
}
-#else
+#else /* !CONFIG_FAIR_GROUP_SCHED: */
static void propagate_entity_cfs_rq(struct sched_entity *se) { }
-#endif
+#endif /* !CONFIG_FAIR_GROUP_SCHED */
static void detach_entity_cfs_rq(struct sched_entity *se)
{
@@ -13727,6 +13729,5 @@ __init void init_sched_fair_class(void)
nohz.next_blocked = jiffies;
zalloc_cpumask_var(&nohz.idle_cpus_mask, GFP_NOWAIT);
#endif
-#endif /* SMP */
-
+#endif /* CONFIG_SMP */
}
--
2.45.2
Return-Path: <linux-kernel+bounces-665046-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 94CB641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:11:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9553B4E0C6C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A0C20257ACA;
Wed, 28 May 2025 08:10:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MiP70I7S"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D2997256C9E
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419823; cv=none; b=SL7vjJZ/jR5xwIudq6AIqGy6KtlnRHdDe2oH/o3ReXoIvF/rSZ9LQA0qfDca7kHiX2boZ7Mluv5YRRJuTaDAQWT9t1nGoeue5RuX3NjBYfjYriSY0yKUEi+/nx0nlFbYmp/iIt7wfxldrIamE4tZPeJd59oYWVTq9+xdleY8nyQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419823; c=relaxed/simple;
bh=iW2wp64UhYj72B17BJT/RjglonE4/PkPrYzggByrwHI=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=A7LnhjwDEoE+apX5HHM2Q9RXjOIFxe/hLHwfPELRsM7/5cc7CRf1IaFXoadHYKXGnbFQwpZ5mKDYh+76G8VNwY/dEOr41ljZKVlaV0gFvq3iBTQDvxwEG3J+4Dli3hCmIY6RBoYqPGE59heV+2xXlPJ2KUqcb8n2TeMhaUEm6g0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=MiP70I7S; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B2C6EC4CEEF;
Wed, 28 May 2025 08:10:20 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419823;
bh=iW2wp64UhYj72B17BJT/RjglonE4/PkPrYzggByrwHI=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=MiP70I7S0UmS6XnSZZPzgIlLQWbHvAKff3nNFSKBMQ5UeD926ebRqs6W76mQikekH
rx+6hBZu6uKQ+CKAHePuldY4AJItLW5dM/zCeeSQC3dCbWj9o+4xVlwa4daRKn6W9+
qE8YYT6mqH1a15Gd4zuTVjS5rfdEiTqWZoNfbatz9R+miHzHZIjBP2SGb5A+40stmM
2+m/JsGjmVGGAm26DOHa/M3ENf6xChT/L2wCvorKQJSbls4Sd1hkpBaNZPT1wO11bB
kUPJj/IoaJ7sMZe3E/E3X0KklT4GGOs64PTmKvAfOBM0hBFyE3EheglcPx4iHwBWRz
WQ6q+8K9SVXAw==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 10/43] sched: Clean up and standardize #if/#else/#endif markers in sched/idle.c
Date: Wed, 28 May 2025 10:08:51 +0200
Message-ID: <20250528080924.2273858-11-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Fix whitespace noise and other inconsistencies.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/idle.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c
index 2c85c86b455f..cb01b063d733 100644
--- a/kernel/sched/idle.c
+++ b/kernel/sched/idle.c
@@ -47,7 +47,7 @@ static int __init cpu_idle_nopoll_setup(char *__unused)
return 1;
}
__setup("hlt", cpu_idle_nopoll_setup);
-#endif
+#endif /* CONFIG_GENERIC_IDLE_POLL_SETUP */
static noinline int __cpuidle cpu_idle_poll(void)
{
@@ -95,10 +95,10 @@ static inline void cond_tick_broadcast_exit(void)
if (static_branch_unlikely(&arch_needs_tick_broadcast))
tick_broadcast_exit();
}
-#else
+#else /* !CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE: */
static inline void cond_tick_broadcast_enter(void) { }
static inline void cond_tick_broadcast_exit(void) { }
-#endif
+#endif /* !CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE */
/**
* default_idle_call - Default CPU idle routine.
@@ -439,7 +439,7 @@ balance_idle(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
{
return WARN_ON_ONCE(1);
}
-#endif
+#endif /* CONFIG_SMP */
/*
* Idle tasks are unconditionally rescheduled:
--
2.45.2
Return-Path: <linux-kernel+bounces-665048-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C579141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:12:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 825CD18897E8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1844F248F7D;
Wed, 28 May 2025 08:10:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="d+f/elGh"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57A1024469C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419831; cv=none; b=bH4veU/qwZSQ9CrnLsc3eIuOF+Z7ZC5XlKaILlLZRl2aToe5AHF5MD9ekUxM0/Mul7e9oUt7jyMJQjM7faOZacdSEzPhfNahnoJuEF+XjIRg4HaAZORh0tJxbmuu+TzztIQEhio/XXPQWX+iCtmhLFqg75yizFp1KPAhAdnTnQw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419831; c=relaxed/simple;
bh=ujQDYZVP7hXF+6mTGhNSKv+0Wz4zSkV/GbzAuJP3/HM=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=kdQSn5h3/5jQKY4Mp/ETy4Kp+ayiUkVchQpTkADQKlB6xFWg+cKIBu946dVB7WdBcoemuxSqrWE2dqQCPfsRmZZotgHNAKfxi4DuN1r8SNKVHpyhnUAaYRu27bOBwPdJhq+0o1nF1I3rClImOY1h+MxoTwIBuLgk9Zsj1MOJxcc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=d+f/elGh; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B79E2C4CEE7;
Wed, 28 May 2025 08:10:27 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419830;
bh=ujQDYZVP7hXF+6mTGhNSKv+0Wz4zSkV/GbzAuJP3/HM=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=d+f/elGhV+HtzzVj2+v1eOADh4nj6h09oRUDmKUQLLikWGCIQ9E5JLT/xlCtk+f0j
/bv00LoEuLGORPJh6GCteb8HpOQkuRRUq1CUWsf+AE8+UxnLukSnJ+zuIYocwWBdYt
xQ2QVKiOpvJ0d/e1PjPhbKoIit5rTb6YEoPSmtkfCH/aGKGx0SJowLkGXu8++oxU9+
jyjjNgMhdad9O2ur+HtY2+WTmj9miQ5AobKteBpBGvp89WaB4vZReSIW0yowOWZPc2
aHP03+B6stOSlQsrz/HHD4M7LbqKuIB3n4WHZrPjtkcSVm+lWfPj8QzZG1LIpdbU4O
xUJ7DiWlbqifw==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 12/43] sched: Clean up and standardize #if/#else/#endif markers in sched/pelt.[ch]
Date: Wed, 28 May 2025 10:08:53 +0200
Message-ID: <20250528080924.2273858-13-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Fix whitespace noise and other inconsistencies.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/pelt.c | 4 ++--
kernel/sched/pelt.h | 13 ++++++-------
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/kernel/sched/pelt.c b/kernel/sched/pelt.c
index 7a8534a2deff..7ec1ca5a6178 100644
--- a/kernel/sched/pelt.c
+++ b/kernel/sched/pelt.c
@@ -413,7 +413,7 @@ int update_hw_load_avg(u64 now, struct rq *rq, u64 capacity)
return 0;
}
-#endif
+#endif /* CONFIG_SCHED_HW_PRESSURE */
#ifdef CONFIG_HAVE_SCHED_AVG_IRQ
/*
@@ -466,7 +466,7 @@ int update_irq_load_avg(struct rq *rq, u64 running)
return ret;
}
-#endif
+#endif /* CONFIG_HAVE_SCHED_AVG_IRQ */
/*
* Load avg and utiliztion metrics need to be updated periodically and before
diff --git a/kernel/sched/pelt.h b/kernel/sched/pelt.h
index f4f6a0875c66..2635ec239bff 100644
--- a/kernel/sched/pelt.h
+++ b/kernel/sched/pelt.h
@@ -15,7 +15,7 @@ static inline u64 hw_load_avg(struct rq *rq)
{
return READ_ONCE(rq->avg_hw.load_avg);
}
-#else
+#else /* !CONFIG_SCHED_HW_PRESSURE: */
static inline int
update_hw_load_avg(u64 now, struct rq *rq, u64 capacity)
{
@@ -26,7 +26,7 @@ static inline u64 hw_load_avg(struct rq *rq)
{
return 0;
}
-#endif
+#endif /* !CONFIG_SCHED_HW_PRESSURE */
#ifdef CONFIG_HAVE_SCHED_AVG_IRQ
int update_irq_load_avg(struct rq *rq, u64 running);
@@ -174,15 +174,15 @@ static inline u64 cfs_rq_clock_pelt(struct cfs_rq *cfs_rq)
return rq_clock_pelt(rq_of(cfs_rq)) - cfs_rq->throttled_clock_pelt_time;
}
-#else
+#else /* !CONFIG_CFS_BANDWIDTH: */
static inline void update_idle_cfs_rq_clock_pelt(struct cfs_rq *cfs_rq) { }
static inline u64 cfs_rq_clock_pelt(struct cfs_rq *cfs_rq)
{
return rq_clock_pelt(rq_of(cfs_rq));
}
-#endif
+#endif /* !CONFIG_CFS_BANDWIDTH */
-#else
+#else /* !CONFIG_SMP: */
static inline int
update_cfs_rq_load_avg(u64 now, struct cfs_rq *cfs_rq)
@@ -231,6 +231,5 @@ static inline void
update_idle_rq_clock_pelt(struct rq *rq) { }
static inline void update_idle_cfs_rq_clock_pelt(struct cfs_rq *cfs_rq) { }
-#endif
-
+#endif /* !CONFIG_SMP */
--
2.45.2
Return-Path: <linux-kernel+bounces-665049-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 97CFC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:12:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CB8C118887E5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1CF1B24A04A;
Wed, 28 May 2025 08:10:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="FtJ8oNnW"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6174825DAFB
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419834; cv=none; b=INPz0MnloHk4th61K5zryXk0peyv396C6Cxz0Hss7H19G+ecjZWqza4dHT5qhKN77vjo/M4JmEoxH/OIopoAMNyfeAW5cMdWjl8RElRTwjTOfpOPqn3iqwnOxte/FdjffHqtS/R0sdElKxMCGDOPpr1s4R9fdn04ov9V+iDG6e0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419834; c=relaxed/simple;
bh=YhyixJygq2Xiz6zbjdR3uAQI14g8MbE2KC8BX2OleAs=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=DsYxVjReSUef2ak0hpaMl0kHNS/3si78Hc23r8pYU7IwuKP9J4G2VWDfOWJ9zoE9aOoHwJPcNdJl1zO0HaQ1i1Swf4rnUobb7XfH61DZtQ9FqdDnWBG5JoUllvDrPTxoXgiqEHGeUVKZJ77In0x9t1fK+rOkWUGYqZQtWb25ESs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FtJ8oNnW; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D598C4CEEF;
Wed, 28 May 2025 08:10:31 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419834;
bh=YhyixJygq2Xiz6zbjdR3uAQI14g8MbE2KC8BX2OleAs=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=FtJ8oNnW5z8z/hE2XhrDyi1ixXdnbqfGxplON1XXbabCeuW9VcV7jNzmFfUVzcdQ5
ZWYe9YK/r3PQre8oAtjpaewi0Jkevw74AdMzw9OYoEQQxy3K/yPpZ07VQEMEZeZPw7
T5DvES7qFqLR6ADIoVcm2+7neQDM6fSktZu1JgYWpxb66pLuCDd1wWm1oZB1At/u3d
ezmSARnrBOMBpa2vOy/YAwhqRlMcTEI2ycNOesWq/dQcaWm08ibBFBLxG+xeJ74yk4
PQdiaL5G3y+o7GbQhG9BKS2BaqusoLCBYGP/yeqW9qu1QjEeumyY0oOHxXZfneBq3v
hg2a/LtVRqELA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 13/43] sched: Clean up and standardize #if/#else/#endif markers in sched/psi.c
Date: Wed, 28 May 2025 10:08:54 +0200
Message-ID: <20250528080924.2273858-14-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/psi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/psi.c b/kernel/sched/psi.c
index 1396674fa722..c48aba6ab0a6 100644
--- a/kernel/sched/psi.c
+++ b/kernel/sched/psi.c
@@ -1035,7 +1035,7 @@ void psi_account_irqtime(struct rq *rq, struct task_struct *curr, struct task_st
psi_schedule_rtpoll_work(group, 1, false);
} while ((group = group->parent));
}
-#endif
+#endif /* CONFIG_IRQ_TIME_ACCOUNTING */
/**
* psi_memstall_enter - mark the beginning of a memory stall section
@@ -1651,7 +1651,7 @@ static const struct proc_ops psi_irq_proc_ops = {
.proc_poll = psi_fop_poll,
.proc_release = psi_fop_release,
};
-#endif
+#endif /* CONFIG_IRQ_TIME_ACCOUNTING */
static int __init psi_proc_init(void)
{
--
2.45.2
Return-Path: <linux-kernel+bounces-665047-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F2BAE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:12:36 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id F05DA3B15B8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 253AC246333;
Wed, 28 May 2025 08:10:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SKRSQtm8"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 60357248F44
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419827; cv=none; b=OeIs58ijBRfYOP2UVhKP8Wqh2WPrOEXFq8/C0ZEw1Dt5HevhSpURbl0zf3cTCtErcTOsNfFfJuRCtlvLYSP7x+A12mkCrsiE14mMY7o29Kwb5VWkW1SwcMSgyjmjjScCCjNb87GTaKghcYlQELW0KoefROoYzFE8ClGMNIaVFZ4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419827; c=relaxed/simple;
bh=P3OiQqibFlzAx0PMB2tm/D261Zww/xz/JyMwv2Fj7JI=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=SY8eT7nP9P1iy3Op1g3NkCVFw4uAp66/P9of8H2Lqn06OlJMBAFcjBcKMTLduzHLStEgbf9YDcqwzPKujITVxqcyn8AVMViTReQ/p/p/q8fJZtUsGOO/PFLktboy3PnJW16VxHiCM3iIWsbwINHt0tutM0GO2W7wRTvRMx1wnsQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SKRSQtm8; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3983FC4CEE7;
Wed, 28 May 2025 08:10:24 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419827;
bh=P3OiQqibFlzAx0PMB2tm/D261Zww/xz/JyMwv2Fj7JI=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=SKRSQtm8kpyEmrtQYpAWzB1wLcckvdnzRZO943TCEJIBEmYTzizV2xe8Zi5PCXAMR
S92oo7cncp5LBMhYuSuKl4hNzcleWlX0V/1BeY+YBc6jVbzihpwwReMR6alCMYT6LR
lCmcrmxENu+IC3MrVTk8uNRddqOpApv1nij6Dn2d8Bow640gUxgu+WJukczaSAMx81
SF3stR1OaWlk9+NjoFEpQjMdWB7GnrlB0NPMnswpMIDBdXbLGLlLsKgscxt/fQ4cyG
hCsQ3aMIfFoLHzzzPCsRkwSd4OCQW5ZFGiUcXV2dEYZXEqV0pQKwbMYFwpr/b9ngkJ
Gi57pXbC8c6pQ==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 11/43] sched: Clean up and standardize #if/#else/#endif markers in sched/loadavg.c
Date: Wed, 28 May 2025 10:08:52 +0200
Message-ID: <20250528080924.2273858-12-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Fix whitespace noise and other inconsistencies.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/loadavg.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/loadavg.c b/kernel/sched/loadavg.c
index c48900b856a2..318a271f9e91 100644
--- a/kernel/sched/loadavg.c
+++ b/kernel/sched/loadavg.c
@@ -333,12 +333,12 @@ static void calc_global_nohz(void)
smp_wmb();
calc_load_idx++;
}
-#else /* !CONFIG_NO_HZ_COMMON */
+#else /* !CONFIG_NO_HZ_COMMON: */
static inline long calc_load_nohz_read(void) { return 0; }
static inline void calc_global_nohz(void) { }
-#endif /* CONFIG_NO_HZ_COMMON */
+#endif /* !CONFIG_NO_HZ_COMMON */
/*
* calc_load - update the avenrun load estimates 10 ticks after the
--
2.45.2
Return-Path: <linux-kernel+bounces-665050-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1563441E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:12:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id DC01E4E0EFA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2F09B263F54;
Wed, 28 May 2025 08:10:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hFpMVfpY"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 47BB024A07C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419838; cv=none; b=Sq2LHvJTceVkvYIGcsSzd7JMrqcPm3bZnXhDZnSQne1NLn4SYNz6eTwt1z4HDp/CSwBBq0z5YFGuvLWlmY45747SwxeIpps7CsD7aWW5wnLvRCA0yU8mYcZ5IIInL/liHuDjYN1pe0ETvEEXh1LABm4fVh+AGkS6aX1huwdo8LA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419838; c=relaxed/simple;
bh=OMqjZ/k+TIxk2pcXS6Tt2oHRwQ8oYjlx5iJo+lWD9KY=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=NtOlpVGZZaBP4QykdfYICzvGR496BIVkKFjfnPsvBF/nUeAndPujJFH12rxI6Ps4gByzTFYqNKpdiQNenfxNXaZHlEzNaNvP3dqwJojnSM2HZQkrP28vcKZtkyjOhYVg12HxYqj7555j8hf0ng3/+P8xSUHvWg2Ky5GKJnD8yYA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hFpMVfpY; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BB306C4CEE7;
Wed, 28 May 2025 08:10:34 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419837;
bh=OMqjZ/k+TIxk2pcXS6Tt2oHRwQ8oYjlx5iJo+lWD9KY=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=hFpMVfpY4szmSyDM4mTjNEh30JOXJZYurgu5QOhWCF1G0m9uL0LKtFQXqYvbKLcuq
SjFnMkab1C4VIk5SdchQuRZdA+xWC91aVEb12q9O3e2NkwfStV+YFnTbKwR4lGRSdF
fvAAtATMKhPouZFU8d/ltHbzkWRs51lg1Ucv0WX91QJxFdbtI5KWmko4fSztr0aifL
NxlGQPYtuUXln6ii32NdwXGxmXEP+W6kYgF7TVLJ0o0bbwzVKLMXw3nQ8MIqkg7Zs6
DbVNUbsUMdYqu5GiZM2nndiyKhToOnhnKyWkjPBzgzsYBxNRHp27JAxBKU1q8fWGnf
ED+xmEYOrGzXA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 14/43] sched: Clean up and standardize #if/#else/#endif markers in sched/rt.c
Date: Wed, 28 May 2025 10:08:55 +0200
Message-ID: <20250528080924.2273858-15-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Fix whitespace noise and other inconsistencies.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/rt.c | 54 +++++++++++++++++++++++++++---------------------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index e40422c37033..85768c81531c 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -60,7 +60,7 @@ static int __init sched_rt_sysctl_init(void)
return 0;
}
late_initcall(sched_rt_sysctl_init);
-#endif
+#endif /* CONFIG_SYSCTL */
void init_rt_rq(struct rt_rq *rt_rq)
{
@@ -291,7 +291,7 @@ int alloc_rt_sched_group(struct task_group *tg, struct task_group *parent)
return 0;
}
-#else /* CONFIG_RT_GROUP_SCHED */
+#else /* !CONFIG_RT_GROUP_SCHED: */
#define rt_entity_is_task(rt_se) (1)
@@ -327,7 +327,7 @@ int alloc_rt_sched_group(struct task_group *tg, struct task_group *parent)
{
return 1;
}
-#endif /* CONFIG_RT_GROUP_SCHED */
+#endif /* !CONFIG_RT_GROUP_SCHED */
#ifdef CONFIG_SMP
@@ -430,7 +430,7 @@ static void dequeue_pushable_task(struct rq *rq, struct task_struct *p)
}
}
-#else
+#else /* !CONFIG_SMP: */
static inline void enqueue_pushable_task(struct rq *rq, struct task_struct *p)
{
@@ -443,7 +443,7 @@ static inline void dequeue_pushable_task(struct rq *rq, struct task_struct *p)
static inline void rt_queue_push_tasks(struct rq *rq)
{
}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
static void enqueue_top_rt_rq(struct rt_rq *rt_rq);
static void dequeue_top_rt_rq(struct rt_rq *rt_rq, unsigned int count);
@@ -485,12 +485,12 @@ static inline bool rt_task_fits_capacity(struct task_struct *p, int cpu)
return cpu_cap >= min(min_cap, max_cap);
}
-#else
+#else /* !CONFIG_UCLAMP_TASK: */
static inline bool rt_task_fits_capacity(struct task_struct *p, int cpu)
{
return true;
}
-#endif
+#endif /* !CONFIG_UCLAMP_TASK */
#ifdef CONFIG_RT_GROUP_SCHED
@@ -798,9 +798,9 @@ static void balance_runtime(struct rt_rq *rt_rq)
raw_spin_lock(&rt_rq->rt_runtime_lock);
}
}
-#else /* !CONFIG_SMP */
+#else /* !CONFIG_SMP: */
static inline void balance_runtime(struct rt_rq *rt_rq) {}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun)
{
@@ -930,7 +930,7 @@ static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq)
return 0;
}
-#else /* !CONFIG_RT_GROUP_SCHED */
+#else /* !CONFIG_RT_GROUP_SCHED: */
typedef struct rt_rq *rt_rq_iter_t;
@@ -982,7 +982,7 @@ static void __enable_runtime(struct rq *rq) { }
static void __disable_runtime(struct rq *rq) { }
#endif
-#endif /* CONFIG_RT_GROUP_SCHED */
+#endif /* !CONFIG_RT_GROUP_SCHED */
static inline int rt_se_prio(struct sched_rt_entity *rt_se)
{
@@ -1033,7 +1033,7 @@ static void update_curr_rt(struct rq *rq)
do_start_rt_bandwidth(sched_rt_bandwidth(rt_rq));
}
}
-#endif
+#endif /* CONFIG_RT_GROUP_SCHED */
}
static void
@@ -1107,14 +1107,14 @@ dec_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio)
cpupri_set(&rq->rd->cpupri, rq->cpu, rt_rq->highest_prio.curr);
}
-#else /* CONFIG_SMP */
+#else /* !CONFIG_SMP: */
static inline
void inc_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) {}
static inline
void dec_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) {}
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
#if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED
static void
@@ -1155,12 +1155,12 @@ dec_rt_prio(struct rt_rq *rt_rq, int prio)
dec_rt_prio_smp(rt_rq, prio, prev_prio);
}
-#else
+#else /* !(CONFIG_SMP || CONFIG_RT_GROUP_SCHED): */
static inline void inc_rt_prio(struct rt_rq *rt_rq, int prio) {}
static inline void dec_rt_prio(struct rt_rq *rt_rq, int prio) {}
-#endif /* CONFIG_SMP || CONFIG_RT_GROUP_SCHED */
+#endif /* !(CONFIG_SMP || CONFIG_RT_GROUP_SCHED) */
#ifdef CONFIG_RT_GROUP_SCHED
@@ -1182,7 +1182,7 @@ dec_rt_group(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq)
WARN_ON(!rt_rq->rt_nr_running && rt_rq->rt_nr_boosted);
}
-#else /* CONFIG_RT_GROUP_SCHED */
+#else /* !CONFIG_RT_GROUP_SCHED: */
static void
inc_rt_group(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq)
@@ -1192,7 +1192,7 @@ inc_rt_group(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq)
static inline
void dec_rt_group(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) {}
-#endif /* CONFIG_RT_GROUP_SCHED */
+#endif /* !CONFIG_RT_GROUP_SCHED */
static inline
unsigned int rt_se_nr_running(struct sched_rt_entity *rt_se)
@@ -1682,7 +1682,7 @@ static void wakeup_preempt_rt(struct rq *rq, struct task_struct *p, int flags)
*/
if (p->prio == donor->prio && !test_tsk_need_resched(rq->curr))
check_preempt_equal_prio(rq, p);
-#endif
+#endif /* CONFIG_SMP */
}
static inline void set_next_task_rt(struct rq *rq, struct task_struct *p, bool first)
@@ -2509,11 +2509,11 @@ prio_changed_rt(struct rq *rq, struct task_struct *p, int oldprio)
*/
if (p->prio > rq->rt.highest_prio.curr)
resched_curr(rq);
-#else
+#else /* !CONFIG_SMP: */
/* For UP simply resched on drop of prio */
if (oldprio < p->prio)
resched_curr(rq);
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
} else {
/*
* This task is not running, but if it is
@@ -2549,9 +2549,9 @@ static void watchdog(struct rq *rq, struct task_struct *p)
}
}
}
-#else
+#else /* !CONFIG_POSIX_TIMERS: */
static inline void watchdog(struct rq *rq, struct task_struct *p) { }
-#endif
+#endif /* !CONFIG_POSIX_TIMERS */
/*
* scheduler tick hitting a task of our scheduling class.
@@ -2620,7 +2620,7 @@ static int task_is_throttled_rt(struct task_struct *p, int cpu)
return rt_rq_throttled(rt_rq);
}
-#endif
+#endif /* CONFIG_SCHED_CORE */
DEFINE_SCHED_CLASS(rt) = {
@@ -2643,7 +2643,7 @@ DEFINE_SCHED_CLASS(rt) = {
.task_woken = task_woken_rt,
.switched_from = switched_from_rt,
.find_lock_rq = find_lock_lowest_rq,
-#endif
+#endif /* !CONFIG_SMP */
.task_tick = task_tick_rt,
@@ -2887,7 +2887,7 @@ int sched_rt_can_attach(struct task_group *tg, struct task_struct *tsk)
return 1;
}
-#else /* !CONFIG_RT_GROUP_SCHED */
+#else /* !CONFIG_RT_GROUP_SCHED: */
#ifdef CONFIG_SYSCTL
static int sched_rt_global_constraints(void)
@@ -2895,7 +2895,7 @@ static int sched_rt_global_constraints(void)
return 0;
}
#endif /* CONFIG_SYSCTL */
-#endif /* CONFIG_RT_GROUP_SCHED */
+#endif /* !CONFIG_RT_GROUP_SCHED */
#ifdef CONFIG_SYSCTL
static int sched_rt_global_validate(void)
--
2.45.2
Return-Path: <linux-kernel+bounces-665052-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D281941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:12:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 5554D1BC475A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:13:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A7161266595;
Wed, 28 May 2025 08:10:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Q/Wlo97Y"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E3447266571
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419845; cv=none; b=kZVKFLiNoRqRyMbX3h+2KpRJRdcpVS7tQOYjvTcBt8SznGGlnKFI81OCSNeACgl+G8hZokwnuanxUK8Z+WxARMHjbbNJFtEYOPFGwNqbd7U/hEOWYqhkzY2VqnNYmKv4jQy+ZrzOCgUNhzYDsQCUDFR43nWMAmSTg43cXpYsB8o=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419845; c=relaxed/simple;
bh=DqPTk2T9hd5pdXj/uwXvK+7QERI5wMwFXM+0Isu80bU=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=AonlM+bwoln29ber7M5W5IkwH6krUVTg4cQob+gZit/j2jZnPJ4mNwzTU94qLCJx8fSq8vjWhGQZ/ZaJe5/tGNfmNXcPiP7ONc5fRMhVCwMXjaweYDzzj3PUyIDNJ/cryo8d1IkqdOMyzUPg/NuR4Qxh+eGjZoC30mq7hxm5y8E=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Q/Wlo97Y; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C277FC4CEE7;
Wed, 28 May 2025 08:10:41 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419844;
bh=DqPTk2T9hd5pdXj/uwXvK+7QERI5wMwFXM+0Isu80bU=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=Q/Wlo97YMGxgyr7YA633lUiVZ4AR0qFhhBzaoTT7/0D7u4/l9GbxbnqrFD/RnRc/u
Nc7hvwwFw26e4PSBccBk4j8A//upKHyZc9yaIGnRwXY7JQbwdWKubqUZgSOHCQqNHk
bAJ9ZYzlLpv3gOxrG0L9VbzYoWddCw8pHngR4Bha2dfMbRKzjzHhMuGI9qeoKGFha5
3ToPje/z3M4y+hqGqOwqkl5aisFPOEtGKJwKAaozMhHTSK5uOULKIAahcyZLj5eO/q
CP8XwR1rqsLdSwyqW9SSsTCsS9gFqe9DdAB6skIOrYB/mvSsVC5jdoclfBUzQc/NmR
Ehwj4N+Z9T56w==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 16/43] sched: Clean up and standardize #if/#else/#endif markers in sched/stats.[ch]
Date: Wed, 28 May 2025 10:08:57 +0200
Message-ID: <20250528080924.2273858-17-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/stats.c | 2 +-
kernel/sched/stats.h | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/kernel/sched/stats.c b/kernel/sched/stats.c
index 4346fd81c31f..def01886e93f 100644
--- a/kernel/sched/stats.c
+++ b/kernel/sched/stats.c
@@ -163,7 +163,7 @@ static int show_schedstat(struct seq_file *seq, void *v)
sd->ttwu_move_balance);
}
rcu_read_unlock();
-#endif
+#endif /* CONFIG_SMP */
}
return 0;
}
diff --git a/kernel/sched/stats.h b/kernel/sched/stats.h
index 452826df6ae1..26f3fd4d34ce 100644
--- a/kernel/sched/stats.h
+++ b/kernel/sched/stats.h
@@ -112,10 +112,10 @@ void psi_task_switch(struct task_struct *prev, struct task_struct *next,
bool sleep);
#ifdef CONFIG_IRQ_TIME_ACCOUNTING
void psi_account_irqtime(struct rq *rq, struct task_struct *curr, struct task_struct *prev);
-#else
+#else /* !CONFIG_IRQ_TIME_ACCOUNTING: */
static inline void psi_account_irqtime(struct rq *rq, struct task_struct *curr,
struct task_struct *prev) {}
-#endif /*CONFIG_IRQ_TIME_ACCOUNTING */
+#endif /* !CONFIG_IRQ_TIME_ACCOUNTING */
/*
* PSI tracks state that persists across sleeps, such as iowaits and
* memory stalls. As a result, it has to distinguish between sleeps,
@@ -220,7 +220,7 @@ static inline void psi_sched_switch(struct task_struct *prev,
psi_task_switch(prev, next, sleep);
}
-#else /* CONFIG_PSI */
+#else /* !CONFIG_PSI: */
static inline void psi_enqueue(struct task_struct *p, bool migrate) {}
static inline void psi_dequeue(struct task_struct *p, bool migrate) {}
static inline void psi_ttwu_dequeue(struct task_struct *p) {}
@@ -229,7 +229,7 @@ static inline void psi_sched_switch(struct task_struct *prev,
bool sleep) {}
static inline void psi_account_irqtime(struct rq *rq, struct task_struct *curr,
struct task_struct *prev) {}
-#endif /* CONFIG_PSI */
+#endif /* !CONFIG_PSI */
#ifdef CONFIG_SCHED_INFO
/*
@@ -334,6 +334,6 @@ sched_info_switch(struct rq *rq, struct task_struct *prev, struct task_struct *n
# define sched_info_enqueue(rq, t) do { } while (0)
# define sched_info_dequeue(rq, t) do { } while (0)
# define sched_info_switch(rq, t, next) do { } while (0)
-#endif /* CONFIG_SCHED_INFO */
+#endif /* !CONFIG_SCHED_INFO */
#endif /* _KERNEL_STATS_H */
--
2.45.2
Return-Path: <linux-kernel+bounces-665053-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1285B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:13:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id BB4BC1BC471A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:13:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BA1652673B6;
Wed, 28 May 2025 08:10:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lxTG9bRp"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DCFEA24DCFE
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419848; cv=none; b=HD89iUsqjMyJ8ueDVx3W347WJHHcYNyQXXcP8TwcQ1pURdZW9I6yobxFXASNQ9X+snrIlu+nnVxfW39Hvry/hkt3CgT9y1vsaDYll61GyBy6RbapQvLVu9wnE/Ka0WZynAonNu68X/piJeCXUAUjE4yXGRsMO/VM5ekrF2/ETIY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419848; c=relaxed/simple;
bh=EUMq3U+2g1Y6gO9i90Y9JxXLAlxi7fyMP9TxxTt6mJA=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=oWUWc+rYio+cT8WMXtjH/M+tYAgQ/dyFEprHYW2jNF76c5/dlRyAh99sMuLYCWpb1+lLLMv/BoHITqQU0qvdm35YBdx7WD6JcLCvZVLwYejZv+1tzwTNtRWbaqgo8EJfX8xjx9qDt/XRvtSHt3Q32Tbu/okHtL410ctyAmzEf4A=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lxTG9bRp; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 49F1AC4CEE7;
Wed, 28 May 2025 08:10:45 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419848;
bh=EUMq3U+2g1Y6gO9i90Y9JxXLAlxi7fyMP9TxxTt6mJA=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=lxTG9bRpDV9A3L06A/lXpePQ2if1v2R3D6sU47vLRC8ys7yeiG1KyuIjc7v/VHHxm
CZEd/pOnIlMow2Qn/nPjqeMFJmo7WDHlfFrNVZVBZmN5/XCoNG5YZVZUyQtZlZ+C+n
/zt8BmB08AvFRttmJDvoymGwLsSzsWxs38nySmlrMruVOxnICLNZWMxm3zA2AW7JGU
EaUYTcx5WgZBeBJPWpXQ8wPdXhnwIHR+gnPENblUZ9rCuqY/yMYvPBL/TSmlyzEkOD
SN5tUyoTiEKW9zqJpg26dJFR60q+L/ixpPfGFKw50p55rFLNjP88Hx8SEA6WUd6Lsv
quJPbKIyZmqXQ==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 17/43] sched: Clean up and standardize #if/#else/#endif markers in sched/syscalls.c
Date: Wed, 28 May 2025 10:08:58 +0200
Message-ID: <20250528080924.2273858-18-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/syscalls.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/kernel/sched/syscalls.c b/kernel/sched/syscalls.c
index 547c1f05b667..5cb5e9487f0d 100644
--- a/kernel/sched/syscalls.c
+++ b/kernel/sched/syscalls.c
@@ -174,7 +174,7 @@ SYSCALL_DEFINE1(nice, int, increment)
return 0;
}
-#endif
+#endif /* __ARCH_WANT_SYS_NICE */
/**
* task_prio - return the priority value of a given task.
@@ -255,8 +255,7 @@ int sched_core_idle_cpu(int cpu)
return idle_cpu(cpu);
}
-
-#endif
+#endif /* CONFIG_SCHED_CORE */
/**
* find_process_by_pid - find a process with a matching PID value.
@@ -448,7 +447,7 @@ static inline int uclamp_validate(struct task_struct *p,
}
static void __setscheduler_uclamp(struct task_struct *p,
const struct sched_attr *attr) { }
-#endif
+#endif /* !CONFIG_UCLAMP_TASK */
/*
* Allow unprivileged RT tasks to decrease priority.
@@ -658,7 +657,7 @@ int __sched_setscheduler(struct task_struct *p,
goto unlock;
}
}
-#endif
+#endif /* CONFIG_SMP */
}
/* Re-check policy now with rq lock held: */
--
2.45.2
Return-Path: <linux-kernel+bounces-665051-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C57DD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:13:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id D32CCA2162E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8196C26562F;
Wed, 28 May 2025 08:10:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="C78Ux+ss"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6681024BBEE
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419841; cv=none; b=pTOKosEhcOC+k4fSV8Y5kO/F51UBwfJM/Sb7iIZJn9OV7lYrYujTk6A5mu8YVZuCLySUFSb5LqaVXeFktJj4ESk5DX25E3kYJtzaXP3NYRXlT1CwKikUkADTwsVTP4AeWbfUw4DE8whS80CJ/1AMnPa2BNaaRD3QVLo5Lq/DLAg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419841; c=relaxed/simple;
bh=u+72SrfGUPAKyn9eEe9IZIM4gVlxh2Bgyzf8yIigbn4=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=F6rmNwdM40AdvptqKSKqiMMZimJzs3GUHHHyBb+x15k4YV0jKuU8tQ8wnawBg6UuqSQqZ68VnkJA7pyDHfimUekK6Kez/EVND99+IA6yipfLEhcl/T7mu6lhA4dtr4WG/i+9iOXEpkeRmpNN7XIVFrDKAG8nbyrqncXDQ/sZBYM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=C78Ux+ss; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4318CC4CEEB;
Wed, 28 May 2025 08:10:38 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419841;
bh=u+72SrfGUPAKyn9eEe9IZIM4gVlxh2Bgyzf8yIigbn4=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=C78Ux+ss50FSa/ZWGYok8zqjMLhvFXXqOMlI70tvcaXmfTcTLZvrbLiAbYU2JMgMO
KS+EFGVqHlMKg+1/XP9qR8SpPvah7P//PdvqRJSf6ULmuUhILdbc0cy1Q6J3H++QdA
0fWvN9sDveULIEXBlu+bKlRKmmw8+a+B/ZXBYpu01ldWxxjKYTMwXkybngohnmczz7
/8OmCnriaaPSI70cBi4JcFJGJkceJtJGK7wgv19qtxXUZKfS2BLxmfS9+WrxyUu0VL
xNrDBlvNCaoK5WCCDigiB8SArEXBH6ESBZ/O9qt/LU2ucfEcXV4ciylMdWgMrvwsCf
tPVsEr8ifLeSA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 15/43] sched: Clean up and standardize #if/#else/#endif markers in sched/sched.h
Date: Wed, 28 May 2025 10:08:56 +0200
Message-ID: <20250528080924.2273858-16-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Fix whitespace noise and other inconsistencies.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/sched.h | 82 +++++++++++++++++++++++++++-------------------------
1 file changed, 42 insertions(+), 40 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index c5a6a503eb6d..aec0c8253c1c 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -424,7 +424,7 @@ struct cfs_bandwidth {
int nr_burst;
u64 throttled_time;
u64 burst_time;
-#endif
+#endif /* CONFIG_CFS_BANDWIDTH */
};
/* Task group related information */
@@ -442,15 +442,15 @@ struct task_group {
/* runqueue "owned" by this group on each CPU */
struct cfs_rq **cfs_rq;
unsigned long shares;
-#ifdef CONFIG_SMP
+#ifdef CONFIG_SMP
/*
* load_avg can be heavily contended at clock tick time, so put
* it in its own cache-line separated from the fields above which
* will also be accessed at each tick.
*/
atomic_long_t load_avg ____cacheline_aligned;
-#endif
-#endif
+#endif /* CONFIG_SMP */
+#endif /* CONFIG_FAIR_GROUP_SCHED */
#ifdef CONFIG_RT_GROUP_SCHED
struct sched_rt_entity **rt_se;
@@ -531,7 +531,7 @@ extern void free_fair_sched_group(struct task_group *tg);
extern int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent);
extern void online_fair_sched_group(struct task_group *tg);
extern void unregister_fair_sched_group(struct task_group *tg);
-#else
+#else /* !CONFIG_FAIR_GROUP_SCHED: */
static inline void free_fair_sched_group(struct task_group *tg) { }
static inline int alloc_fair_sched_group(struct task_group *tg, struct task_group *parent)
{
@@ -539,7 +539,7 @@ static inline int alloc_fair_sched_group(struct task_group *tg, struct task_grou
}
static inline void online_fair_sched_group(struct task_group *tg) { }
static inline void unregister_fair_sched_group(struct task_group *tg) { }
-#endif
+#endif /* !CONFIG_FAIR_GROUP_SCHED */
extern void init_tg_cfs_entry(struct task_group *tg, struct cfs_rq *cfs_rq,
struct sched_entity *se, int cpu,
@@ -576,22 +576,22 @@ extern int sched_group_set_idle(struct task_group *tg, long idle);
#ifdef CONFIG_SMP
extern void set_task_rq_fair(struct sched_entity *se,
struct cfs_rq *prev, struct cfs_rq *next);
-#else /* !CONFIG_SMP */
+#else /* !CONFIG_SMP: */
static inline void set_task_rq_fair(struct sched_entity *se,
struct cfs_rq *prev, struct cfs_rq *next) { }
-#endif /* CONFIG_SMP */
-#else /* !CONFIG_FAIR_GROUP_SCHED */
+#endif /* !CONFIG_SMP */
+#else /* !CONFIG_FAIR_GROUP_SCHED: */
static inline int sched_group_set_shares(struct task_group *tg, unsigned long shares) { return 0; }
static inline int sched_group_set_idle(struct task_group *tg, long idle) { return 0; }
-#endif /* CONFIG_FAIR_GROUP_SCHED */
+#endif /* !CONFIG_FAIR_GROUP_SCHED */
-#else /* CONFIG_CGROUP_SCHED */
+#else /* !CONFIG_CGROUP_SCHED: */
struct cfs_bandwidth { };
static inline bool cfs_task_bw_constrained(struct task_struct *p) { return false; }
-#endif /* CONFIG_CGROUP_SCHED */
+#endif /* !CONFIG_CGROUP_SCHED */
extern void unregister_rt_sched_group(struct task_group *tg);
extern void free_rt_sched_group(struct task_group *tg);
@@ -859,9 +859,9 @@ struct dl_rq {
* of the leftmost (earliest deadline) element.
*/
struct rb_root_cached pushable_dl_tasks_root;
-#else
+#else /* !CONFIG_SMP: */
struct dl_bw dl_bw;
-#endif
+#endif /* !CONFIG_SMP */
/*
* "Active utilization" for this runqueue: increased when a
* task wakes up (becomes TASK_RUNNING) and decreased when a
@@ -1008,7 +1008,7 @@ struct root_domain {
/* These atomics are updated outside of a lock */
atomic_t rto_loop_next;
atomic_t rto_loop_start;
-#endif
+#endif /* HAVE_RT_PUSH_IPI */
/*
* The "RT overload" flag: it gets set if a CPU has more than
* one runnable RT task.
@@ -1294,7 +1294,7 @@ struct rq {
unsigned int core_forceidle_seq;
unsigned int core_forceidle_occupation;
u64 core_forceidle_start;
-#endif
+#endif /* CONFIG_SCHED_CORE */
/* Scratch cpumask to be temporarily used under rq_lock */
cpumask_var_t scratch_mask;
@@ -1313,13 +1313,13 @@ static inline struct rq *rq_of(struct cfs_rq *cfs_rq)
return cfs_rq->rq;
}
-#else
+#else /* !CONFIG_FAIR_GROUP_SCHED: */
static inline struct rq *rq_of(struct cfs_rq *cfs_rq)
{
return container_of(cfs_rq, struct rq, cfs);
}
-#endif
+#endif /* !CONFIG_FAIR_GROUP_SCHED */
static inline int cpu_of(struct rq *rq)
{
@@ -1500,6 +1500,7 @@ static inline bool sched_group_cookie_match(struct rq *rq,
}
#endif /* !CONFIG_SCHED_CORE */
+
#ifdef CONFIG_RT_GROUP_SCHED
# ifdef CONFIG_RT_GROUP_SCHED_DEFAULT_DISABLED
DECLARE_STATIC_KEY_FALSE(rt_group_sched);
@@ -1507,16 +1508,16 @@ static inline bool rt_group_sched_enabled(void)
{
return static_branch_unlikely(&rt_group_sched);
}
-# else
+# else /* !CONFIG_RT_GROUP_SCHED_DEFAULT_DISABLED: */
DECLARE_STATIC_KEY_TRUE(rt_group_sched);
static inline bool rt_group_sched_enabled(void)
{
return static_branch_likely(&rt_group_sched);
}
-# endif /* CONFIG_RT_GROUP_SCHED_DEFAULT_DISABLED */
-#else
+# endif /* !CONFIG_RT_GROUP_SCHED_DEFAULT_DISABLED */
+#else /* !CONFIG_RT_GROUP_SCHED: */
# define rt_group_sched_enabled() false
-#endif /* CONFIG_RT_GROUP_SCHED */
+#endif /* !CONFIG_RT_GROUP_SCHED */
static inline void lockdep_assert_rq_held(struct rq *rq)
{
@@ -1574,9 +1575,9 @@ static inline void update_idle_core(struct rq *rq)
__update_idle_core(rq);
}
-#else
+#else /* !CONFIG_SCHED_SMT: */
static inline void update_idle_core(struct rq *rq) { }
-#endif
+#endif /* !CONFIG_SCHED_SMT */
#ifdef CONFIG_FAIR_GROUP_SCHED
@@ -1757,7 +1758,7 @@ static inline void scx_rq_clock_invalidate(struct rq *rq)
WRITE_ONCE(rq->scx.flags, rq->scx.flags & ~SCX_RQ_CLK_VALID);
}
-#else /* !CONFIG_SCHED_CLASS_EXT */
+#else /* !CONFIG_SCHED_CLASS_EXT: */
#define scx_enabled() false
#define scx_switched_all() false
@@ -2174,7 +2175,7 @@ static inline void set_task_rq(struct task_struct *p, unsigned int cpu)
tg = &root_task_group;
p->rt.rt_rq = tg->rt_rq[cpu];
p->rt.parent = tg->rt_se[cpu];
-#endif
+#endif /* CONFIG_RT_GROUP_SCHED */
}
#else /* !CONFIG_CGROUP_SCHED: */
@@ -2200,7 +2201,7 @@ static inline void __set_task_cpu(struct task_struct *p, unsigned int cpu)
smp_wmb();
WRITE_ONCE(task_thread_info(p)->cpu, cpu);
p->wake_cpu = cpu;
-#endif
+#endif /* CONFIG_SMP */
}
/*
@@ -2429,7 +2430,7 @@ struct sched_class {
void (*rq_offline)(struct rq *rq);
struct rq *(*find_lock_rq)(struct task_struct *p, struct rq *rq);
-#endif
+#endif /* CONFIG_SMP */
void (*task_tick)(struct rq *rq, struct task_struct *p, int queued);
void (*task_fork)(struct task_struct *p);
@@ -2954,7 +2955,7 @@ static inline bool rq_order_less(struct rq *rq1, struct rq *rq2)
/*
* __sched_core_flip() relies on SMT having cpu-id lock order.
*/
-#endif
+#endif /* CONFIG_SCHED_CORE */
return rq1->cpu < rq2->cpu;
}
@@ -3145,6 +3146,7 @@ extern void print_rt_rq(struct seq_file *m, int cpu, struct rt_rq *rt_rq);
extern void print_dl_rq(struct seq_file *m, int cpu, struct dl_rq *dl_rq);
extern void resched_latency_warn(int cpu, u64 latency);
+
#ifdef CONFIG_NUMA_BALANCING
extern void show_numa_stats(struct task_struct *p, struct seq_file *m);
extern void
@@ -3254,14 +3256,14 @@ static inline u64 irq_time_read(int cpu)
return total;
}
-#else
+#else /* !CONFIG_IRQ_TIME_ACCOUNTING: */
static inline int irqtime_enabled(void)
{
return 0;
}
-#endif /* CONFIG_IRQ_TIME_ACCOUNTING */
+#endif /* !CONFIG_IRQ_TIME_ACCOUNTING */
#ifdef CONFIG_CPU_FREQ
@@ -3355,9 +3357,9 @@ static inline unsigned long cpu_util_rt(struct rq *rq)
return READ_ONCE(rq->avg_rt.util_avg);
}
-#else /* !CONFIG_SMP */
+#else /* !CONFIG_SMP: */
static inline bool update_other_load_avgs(struct rq *rq) { return false; }
-#endif /* CONFIG_SMP */
+#endif /* !CONFIG_SMP */
#ifdef CONFIG_UCLAMP_TASK
@@ -3537,13 +3539,13 @@ static inline bool sched_energy_enabled(void)
extern struct cpufreq_governor schedutil_gov;
-#else /* ! (CONFIG_ENERGY_MODEL && CONFIG_CPU_FREQ_GOV_SCHEDUTIL) */
+#else /* !(CONFIG_ENERGY_MODEL && CONFIG_CPU_FREQ_GOV_SCHEDUTIL): */
#define perf_domain_span(pd) NULL
static inline bool sched_energy_enabled(void) { return false; }
-#endif /* CONFIG_ENERGY_MODEL && CONFIG_CPU_FREQ_GOV_SCHEDUTIL */
+#endif /* !(CONFIG_ENERGY_MODEL && CONFIG_CPU_FREQ_GOV_SCHEDUTIL) */
#ifdef CONFIG_MEMBARRIER
@@ -3569,7 +3571,7 @@ static inline void membarrier_switch_mm(struct rq *rq,
WRITE_ONCE(rq->membarrier_state, membarrier_state);
}
-#else /* !CONFIG_MEMBARRIER :*/
+#else /* !CONFIG_MEMBARRIER: */
static inline void membarrier_switch_mm(struct rq *rq,
struct mm_struct *prev_mm,
@@ -3590,7 +3592,7 @@ static inline bool is_per_cpu_kthread(struct task_struct *p)
return true;
}
-#endif
+#endif /* CONFIG_SMP */
extern void swake_up_all_locked(struct swait_queue_head *q);
extern void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait);
@@ -3910,7 +3912,7 @@ bool task_is_pushable(struct rq *rq, struct task_struct *p, int cpu)
return false;
}
-#endif
+#endif /* CONFIG_SMP */
#ifdef CONFIG_RT_MUTEXES
@@ -3954,7 +3956,7 @@ extern void check_class_changed(struct rq *rq, struct task_struct *p,
#ifdef CONFIG_SMP
extern struct balance_callback *splice_balance_callbacks(struct rq *rq);
extern void balance_callbacks(struct rq *rq, struct balance_callback *head);
-#else
+#else /* !CONFIG_SMP: */
static inline struct balance_callback *splice_balance_callbacks(struct rq *rq)
{
@@ -3965,7 +3967,7 @@ static inline void balance_callbacks(struct rq *rq, struct balance_callback *hea
{
}
-#endif
+#endif /* !CONFIG_SMP */
#ifdef CONFIG_SCHED_CLASS_EXT
/*
--
2.45.2
Return-Path: <linux-kernel+bounces-665054-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EAFB841E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:13:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 543D64E17B9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:13:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 30C2A267B00;
Wed, 28 May 2025 08:10:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="r08EkqhA"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B09124DD0F
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419853; cv=none; b=o4rBVjSoiG8LgsVYMX/IlQY10/jE34Kk/P9GPEu7AwvlJXC4Li9q9u5uzaN8Xe+GH6mzmGpRrDuYndCTwtNk3+fiV28NRCAkFZOenuWWHxOD6yNheizvoNyl0tIxwFThkzBuBUPcsfmI/cOQ0irCSUY4Ng9muWPbg6IapNECSoA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419853; c=relaxed/simple;
bh=mGk3g1M31GRTi5uDYP8pJrBKo0TW7wSdq0MMUjWhrwY=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=tlZ/OpQjScfqil/UGT9umy3hqWmO1752LX9Ae3mNQu9xHGxFSbZyfWJY8g9ExH5MqxCUNSwLPhUo5UPG2aO0OXWbrGSiQhIdDrPCT6jXjEaLCKVEZ67rTy7KnTfMFHU638iTKJUOWiZTbu1yOKowvWQWgsUefxCwLWCAIHSph2A=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=r08EkqhA; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CB589C4CEEB;
Wed, 28 May 2025 08:10:48 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419851;
bh=mGk3g1M31GRTi5uDYP8pJrBKo0TW7wSdq0MMUjWhrwY=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=r08EkqhAgoR/uAeiACeBHvkGaMlSZUjnp1+wcs5RcyRfhhdpj5tBazHsRM+dg2RYQ
l+bgCtPAV6pMaBk0wnkCIBiRrEzIfEj2UcEbsMePz1FD8Z5s/5AKPkwP6EToNG5fok
QupIG9Hdo3uqbxfUTveYW7vyGeaBkHPwlkEsyQD6z95yQsOaQOIGE/CN27CyVJNSfL
HyWXqir16OKNILKnjvNEH8Hykfj3D+WUBQL05R7bn0e/kywnMDpCkV60CpA9Qa7z+q
VbBl0ebG7iSGZNEr6FVhboM0twJfrhwvM1NVziI8FaUYsLelU2aKRLoCq+NZccbRUC
ub9CSRDXbsDnA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 18/43] sched: Clean up and standardize #if/#else/#endif markers in sched/topology.c
Date: Wed, 28 May 2025 10:08:59 +0200
Message-ID: <20250528080924.2273858-19-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
- Use the standard #ifdef marker format for larger blocks,
where appropriate:
#if CONFIG_FOO
...
#else /* !CONFIG_FOO: */
...
#endif /* !CONFIG_FOO */
- Fix whitespace noise and other inconsistencies.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/topology.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index a2a38e1b6f18..4f52b8e56c19 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -328,7 +328,7 @@ static int __init sched_energy_aware_sysctl_init(void)
}
late_initcall(sched_energy_aware_sysctl_init);
-#endif
+#endif /* CONFIG_PROC_SYSCTL */
static void free_pd(struct perf_domain *pd)
{
@@ -464,9 +464,9 @@ static bool build_perf_domains(const struct cpumask *cpu_map)
return false;
}
-#else
+#else /* !(CONFIG_ENERGY_MODEL && CONFIG_CPU_FREQ_GOV_SCHEDUTIL): */
static void free_pd(struct perf_domain *pd) { }
-#endif /* CONFIG_ENERGY_MODEL && CONFIG_CPU_FREQ_GOV_SCHEDUTIL*/
+#endif /* !(CONFIG_ENERGY_MODEL && CONFIG_CPU_FREQ_GOV_SCHEDUTIL) */
static void free_rootdomain(struct rcu_head *rcu)
{
@@ -1613,7 +1613,7 @@ static int sched_domains_curr_level;
int sched_max_numa_distance;
static int *sched_domains_numa_distance;
static struct cpumask ***sched_domains_numa_masks;
-#endif
+#endif /* CONFIG_NUMA */
/*
* SD_flags allowed in topology descriptions.
@@ -1729,7 +1729,7 @@ sd_init(struct sched_domain_topology_level *tl,
SD_WAKE_AFFINE);
}
-#endif
+#endif /* CONFIG_NUMA */
} else {
sd->cache_nice_tries = 1;
}
--
2.45.2
Return-Path: <linux-kernel+bounces-665056-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 57C3A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:13:36 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 1024E7B26A5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9042F2505AF;
Wed, 28 May 2025 08:11:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="py+toKK1"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 46694246776
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419859; cv=none; b=oCD+VN2Ba8PHZ8y5lWj3haQGTnoKS+39DlGaH2xbjjC6rZYpTpEIb9AJTY4wL8BGI9+DrXx+j00Py8rQ7ICG9xmbV3cCXenXGItrojDyR9k8KmhUP+OQkSLu3StfpGNWle3g4IsIy9O6/tKnmh+SYmkoeXAMPOV0Rxlci8mB+UM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419859; c=relaxed/simple;
bh=yU2xSJgIzAxzjfJe00I6IsyI1BX5uQqICOIuYlH7idI=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=TXlThd1uj8zAOQ+fMwgmTFa+i/x4AT/SvEvSI7SBFJ2wGzIShnfweompy1VzSPScS7Kque6LVbsfVsVUW7q6gSYsFz+xs+L/wCrUr6VJ3p/wazbWOMEfHZbC5vPOg/F82/hD+7y0TEPLR/0j3eFhOhdxLM14n1X4GnGrg0Saikk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=py+toKK1; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DCFE2C4CEE7;
Wed, 28 May 2025 08:10:55 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419859;
bh=yU2xSJgIzAxzjfJe00I6IsyI1BX5uQqICOIuYlH7idI=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=py+toKK1jcxymgpGN+zh6KkviBj78TnnkA/DgIBtEdawDrAyW1H6+6pZwBzQodHSR
m+6WT0ULTjudlDsi9LJ1OOKhsMHLU87lbg+mZdIC+slgi0hEJTO6XdWWDCEsCwBDaj
v9AWJdR7o5JKM4jjLsTboucfULiZopyFd57x2yYCpE3R+TT8NwaQykszhf8PGxG/09
RXPC8e7rLJ2VmZN2RM6GVUF6wO3D2z+bEFZzaA7j1uy2Z/VctGKd8IuAa1y0Vnjtzl
YteqSmnUCEG+NbvIKhgh+MTiDvIGbW93rPSmhG1DPtPk4olxSKf4Eses8zQ0McRLOQ
XYRfHA3y5Ik0g==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 20/43] sched/smp: Make SMP unconditional
Date: Wed, 28 May 2025 10:09:01 +0200
Message-ID: <20250528080924.2273858-21-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Introduce transitory wrappers for functionality not yet converted to SMP.
Note that this patch is pretty large, because there's no clear separation
between various aspects of the SMP scheduler, it's basically a huge block
of #ifdef CONFIG_SMP. A fair amount of it has to be switched on for it to
boot and work on UP systems.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
include/linux/preempt.h | 9 ---
include/linux/sched.h | 42 --------------
include/linux/sched/deadline.h | 4 --
include/linux/sched/idle.h | 4 --
include/linux/sched/nohz.h | 4 +-
include/linux/sched/topology.h | 32 -----------
kernel/sched/build_policy.c | 6 +-
kernel/sched/build_utility.c | 6 +-
kernel/sched/core.c | 106 +++++-------------------------------
kernel/sched/cpudeadline.h | 2 -
kernel/sched/cpupri.h | 2 -
kernel/sched/deadline.c | 95 --------------------------------
kernel/sched/debug.c | 12 ----
kernel/sched/fair.c | 115 ---------------------------------------
kernel/sched/pelt.h | 53 ------------------
kernel/sched/rt.c | 6 +-
kernel/sched/sched.h | 121 +----------------------------------------
kernel/sched/syscalls.c | 2 -
kernel/sched/topology.c | 10 +---
19 files changed, 31 insertions(+), 600 deletions(-)
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
index b0af8d4ef6e6..1fad1c8a4c76 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -369,8 +369,6 @@ static inline void preempt_notifier_init(struct preempt_notifier *notifier,
#endif
-#ifdef CONFIG_SMP
-
/*
* Migrate-Disable and why it is undesired.
*
@@ -429,13 +427,6 @@ static inline void preempt_notifier_init(struct preempt_notifier *notifier,
extern void migrate_disable(void);
extern void migrate_enable(void);
-#else
-
-static inline void migrate_disable(void) { }
-static inline void migrate_enable(void) { }
-
-#endif /* CONFIG_SMP */
-
/**
* preempt_disable_nested - Disable preemption inside a normally preempt disabled section
*
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 77fb5aa73d70..f60aaa7fc4ad 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -595,7 +595,6 @@ struct sched_entity {
unsigned long runnable_weight;
#endif
-#ifdef CONFIG_SMP
/*
* Per entity load average tracking.
*
@@ -603,7 +602,6 @@ struct sched_entity {
* collide with read-mostly values above.
*/
struct sched_avg avg;
-#endif
};
struct sched_rt_entity {
@@ -833,7 +831,6 @@ struct task_struct {
struct alloc_tag *alloc_tag;
#endif
-#ifdef CONFIG_SMP
int on_cpu;
struct __call_single_node wake_entry;
unsigned int wakee_flips;
@@ -849,7 +846,6 @@ struct task_struct {
*/
int recent_used_cpu;
int wake_cpu;
-#endif
int on_rq;
int prio;
@@ -908,9 +904,7 @@ struct task_struct {
cpumask_t *user_cpus_ptr;
cpumask_t cpus_mask;
void *migration_pending;
-#ifdef CONFIG_SMP
unsigned short migration_disabled;
-#endif
unsigned short migration_flags;
#ifdef CONFIG_PREEMPT_RCU
@@ -942,10 +936,8 @@ struct task_struct {
struct sched_info sched_info;
struct list_head tasks;
-#ifdef CONFIG_SMP
struct plist_node pushable_tasks;
struct rb_node pushable_dl_tasks;
-#endif
struct mm_struct *mm;
struct mm_struct *active_mm;
@@ -1834,7 +1826,6 @@ extern int cpuset_cpumask_can_shrink(const struct cpumask *cur, const struct cpu
extern int task_can_attach(struct task_struct *p);
extern int dl_bw_alloc(int cpu, u64 dl_bw);
extern void dl_bw_free(int cpu, u64 dl_bw);
-#ifdef CONFIG_SMP
/* do_set_cpus_allowed() - consider using set_cpus_allowed_ptr() instead */
extern void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask);
@@ -1852,33 +1843,6 @@ extern void release_user_cpus_ptr(struct task_struct *p);
extern int dl_task_check_affinity(struct task_struct *p, const struct cpumask *mask);
extern void force_compatible_cpus_allowed_ptr(struct task_struct *p);
extern void relax_compatible_cpus_allowed_ptr(struct task_struct *p);
-#else
-static inline void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
-{
-}
-static inline int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask)
-{
- /* Opencoded cpumask_test_cpu(0, new_mask) to avoid dependency on cpumask.h */
- if ((*cpumask_bits(new_mask) & 1) == 0)
- return -EINVAL;
- return 0;
-}
-static inline int dup_user_cpus_ptr(struct task_struct *dst, struct task_struct *src, int node)
-{
- if (src->user_cpus_ptr)
- return -EINVAL;
- return 0;
-}
-static inline void release_user_cpus_ptr(struct task_struct *p)
-{
- WARN_ON(p->user_cpus_ptr);
-}
-
-static inline int dl_task_check_affinity(struct task_struct *p, const struct cpumask *mask)
-{
- return 0;
-}
-#endif
extern int yield_to(struct task_struct *p, bool preempt);
extern void set_user_nice(struct task_struct *p, long nice);
@@ -1967,11 +1931,7 @@ extern int wake_up_state(struct task_struct *tsk, unsigned int state);
extern int wake_up_process(struct task_struct *tsk);
extern void wake_up_new_task(struct task_struct *tsk);
-#ifdef CONFIG_SMP
extern void kick_process(struct task_struct *tsk);
-#else
-static inline void kick_process(struct task_struct *tsk) { }
-#endif
extern void __set_task_comm(struct task_struct *tsk, const char *from, bool exec);
#define set_task_comm(tsk, from) ({ \
@@ -2216,7 +2176,6 @@ extern long sched_getaffinity(pid_t pid, struct cpumask *mask);
#define TASK_SIZE_OF(tsk) TASK_SIZE
#endif
-#ifdef CONFIG_SMP
static inline bool owner_on_cpu(struct task_struct *owner)
{
/*
@@ -2228,7 +2187,6 @@ static inline bool owner_on_cpu(struct task_struct *owner)
/* Returns effective CPU energy utilization, as seen by the scheduler */
unsigned long sched_cpu_util(int cpu);
-#endif /* CONFIG_SMP */
#ifdef CONFIG_SCHED_CORE
extern void sched_core_free(struct task_struct *tsk);
diff --git a/include/linux/sched/deadline.h b/include/linux/sched/deadline.h
index f9aabbc9d22e..c40115d4e34d 100644
--- a/include/linux/sched/deadline.h
+++ b/include/linux/sched/deadline.h
@@ -29,15 +29,11 @@ static inline bool dl_time_before(u64 a, u64 b)
return (s64)(a - b) < 0;
}
-#ifdef CONFIG_SMP
-
struct root_domain;
extern void dl_add_task_root_domain(struct task_struct *p);
extern void dl_clear_root_domain(struct root_domain *rd);
extern void dl_clear_root_domain_cpu(int cpu);
-#endif /* CONFIG_SMP */
-
extern u64 dl_cookie;
extern bool dl_bw_visited(int cpu, u64 cookie);
diff --git a/include/linux/sched/idle.h b/include/linux/sched/idle.h
index 439f6029d3b9..8465ff1f20d1 100644
--- a/include/linux/sched/idle.h
+++ b/include/linux/sched/idle.h
@@ -11,11 +11,7 @@ enum cpu_idle_type {
CPU_MAX_IDLE_TYPES
};
-#ifdef CONFIG_SMP
extern void wake_up_if_idle(int cpu);
-#else
-static inline void wake_up_if_idle(int cpu) { }
-#endif
/*
* Idle thread specific functions to determine the need_resched
diff --git a/include/linux/sched/nohz.h b/include/linux/sched/nohz.h
index 6d67e9a5af6b..0db7f67935fe 100644
--- a/include/linux/sched/nohz.h
+++ b/include/linux/sched/nohz.h
@@ -6,7 +6,7 @@
* This is the interface between the scheduler and nohz/dynticks:
*/
-#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
+#ifdef CONFIG_NO_HZ_COMMON
extern void nohz_balance_enter_idle(int cpu);
extern int get_nohz_timer_target(void);
#else
@@ -23,7 +23,7 @@ static inline void calc_load_nohz_remote(struct rq *rq) { }
static inline void calc_load_nohz_stop(void) { }
#endif /* CONFIG_NO_HZ_COMMON */
-#if defined(CONFIG_NO_HZ_COMMON) && defined(CONFIG_SMP)
+#ifdef CONFIG_NO_HZ_COMMON
extern void wake_up_nohz_cpu(int cpu);
#else
static inline void wake_up_nohz_cpu(int cpu) { }
diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h
index 198bb5cc1774..e54e7fa76ba6 100644
--- a/include/linux/sched/topology.h
+++ b/include/linux/sched/topology.h
@@ -9,7 +9,6 @@
/*
* sched-domains (multiprocessor balancing) declarations:
*/
-#ifdef CONFIG_SMP
/* Generate SD flag indexes */
#define SD_FLAG(name, mflags) __##name,
@@ -200,37 +199,6 @@ extern void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio);
# define SD_INIT_NAME(type) .name = #type
-#else /* CONFIG_SMP */
-
-struct sched_domain_attr;
-
-static inline void
-partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[],
- struct sched_domain_attr *dattr_new)
-{
-}
-
-static inline bool cpus_equal_capacity(int this_cpu, int that_cpu)
-{
- return true;
-}
-
-static inline bool cpus_share_cache(int this_cpu, int that_cpu)
-{
- return true;
-}
-
-static inline bool cpus_share_resources(int this_cpu, int that_cpu)
-{
- return true;
-}
-
-static inline void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio)
-{
-}
-
-#endif /* !CONFIG_SMP */
-
#if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
extern void rebuild_sched_domains_energy(void);
#else
diff --git a/kernel/sched/build_policy.c b/kernel/sched/build_policy.c
index 72d97aa8b726..c4a488e67aa7 100644
--- a/kernel/sched/build_policy.c
+++ b/kernel/sched/build_policy.c
@@ -50,11 +50,9 @@
#include "idle.c"
#include "rt.c"
+#include "cpudeadline.c"
-#ifdef CONFIG_SMP
-# include "cpudeadline.c"
-# include "pelt.c"
-#endif
+#include "pelt.c"
#include "cputime.c"
#include "deadline.c"
diff --git a/kernel/sched/build_utility.c b/kernel/sched/build_utility.c
index 5c485b2dfb95..e2cf3b08d4e9 100644
--- a/kernel/sched/build_utility.c
+++ b/kernel/sched/build_utility.c
@@ -80,10 +80,8 @@
#include "wait_bit.c"
#include "wait.c"
-#ifdef CONFIG_SMP
-# include "cpupri.c"
-# include "stop_task.c"
-#endif
+#include "cpupri.c"
+#include "stop_task.c"
#include "topology.c"
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 21cf5809b2d8..8e5f728df3e0 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -650,7 +650,6 @@ void raw_spin_rq_unlock(struct rq *rq)
raw_spin_unlock(rq_lockp(rq));
}
-#ifdef CONFIG_SMP
/*
* double_rq_lock - safely lock two runqueues
*/
@@ -667,7 +666,6 @@ void double_rq_lock(struct rq *rq1, struct rq *rq2)
double_rq_clock_clear_update(rq1, rq2);
}
-#endif /* CONFIG_SMP */
/*
* __task_rq_lock - lock the rq @p resides on.
@@ -949,7 +947,7 @@ static inline void hrtick_rq_init(struct rq *rq)
_val; \
})
-#if defined(CONFIG_SMP) && defined(TIF_POLLING_NRFLAG)
+#ifdef TIF_POLLING_NRFLAG
/*
* Atomically set TIF_NEED_RESCHED and test for TIF_POLLING_NRFLAG,
* this avoids any races wrt polling state changes and thereby avoids
@@ -988,13 +986,11 @@ static inline bool set_nr_and_not_polling(struct thread_info *ti, int tif)
return true;
}
-#ifdef CONFIG_SMP
static inline bool set_nr_if_polling(struct task_struct *p)
{
return false;
}
#endif
-#endif
static bool __wake_q_add(struct wake_q_head *head, struct task_struct *task)
{
@@ -1167,7 +1163,6 @@ void resched_cpu(int cpu)
raw_spin_rq_unlock_irqrestore(rq, flags);
}
-#ifdef CONFIG_SMP
#ifdef CONFIG_NO_HZ_COMMON
/*
* In the semi idle case, use the nearest busy CPU for migrating timers
@@ -1374,10 +1369,8 @@ bool sched_can_stop_tick(struct rq *rq)
return true;
}
#endif /* CONFIG_NO_HZ_FULL */
-#endif /* CONFIG_SMP */
-#if defined(CONFIG_RT_GROUP_SCHED) || (defined(CONFIG_FAIR_GROUP_SCHED) && \
- (defined(CONFIG_SMP) || defined(CONFIG_CFS_BANDWIDTH)))
+#if defined(CONFIG_RT_GROUP_SCHED) || defined(CONFIG_FAIR_GROUP_SCHED)
/*
* Iterate task_group tree rooted at *from, calling @down when first entering a
* node and @up when leaving it for the final time.
@@ -2353,8 +2346,6 @@ unsigned long wait_task_inactive(struct task_struct *p, unsigned int match_state
return ncsw;
}
-#ifdef CONFIG_SMP
-
static void
__do_set_cpus_allowed(struct task_struct *p, struct affinity_context *ctx);
@@ -3305,6 +3296,8 @@ void relax_compatible_cpus_allowed_ptr(struct task_struct *p)
WARN_ON_ONCE(ret);
}
+#ifdef CONFIG_SMP
+
void set_task_cpu(struct task_struct *p, unsigned int new_cpu)
{
unsigned int state = READ_ONCE(p->__state);
@@ -3358,6 +3351,7 @@ void set_task_cpu(struct task_struct *p, unsigned int new_cpu)
__set_task_cpu(p, new_cpu);
}
+#endif /* CONFIG_SMP */
#ifdef CONFIG_NUMA_BALANCING
static void __migrate_swap_task(struct task_struct *p, int cpu)
@@ -3657,17 +3651,6 @@ void sched_set_stop_task(int cpu, struct task_struct *stop)
}
}
-#else /* !CONFIG_SMP: */
-
-static inline void migrate_disable_switch(struct rq *rq, struct task_struct *p) { }
-
-static inline bool rq_has_pinned_tasks(struct rq *rq)
-{
- return false;
-}
-
-#endif /* !CONFIG_SMP */
-
static void
ttwu_stat(struct task_struct *p, int cpu, int wake_flags)
{
@@ -3678,7 +3661,6 @@ ttwu_stat(struct task_struct *p, int cpu, int wake_flags)
rq = this_rq();
-#ifdef CONFIG_SMP
if (cpu == rq->cpu) {
__schedstat_inc(rq->ttwu_local);
__schedstat_inc(p->stats.nr_wakeups_local);
@@ -3698,7 +3680,6 @@ ttwu_stat(struct task_struct *p, int cpu, int wake_flags)
if (wake_flags & WF_MIGRATED)
__schedstat_inc(p->stats.nr_wakeups_migrate);
-#endif /* CONFIG_SMP */
__schedstat_inc(rq->ttwu_count);
__schedstat_inc(p->stats.nr_wakeups);
@@ -3727,13 +3708,11 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags,
if (p->sched_contributes_to_load)
rq->nr_uninterruptible--;
-#ifdef CONFIG_SMP
if (wake_flags & WF_RQ_SELECTED)
en_flags |= ENQUEUE_RQ_SELECTED;
if (wake_flags & WF_MIGRATED)
en_flags |= ENQUEUE_MIGRATED;
else
-#endif
if (p->in_iowait) {
delayacct_blkio_end(p);
atomic_dec(&task_rq(p)->nr_iowait);
@@ -3744,7 +3723,6 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags,
ttwu_do_wakeup(p);
-#ifdef CONFIG_SMP
if (p->sched_class->task_woken) {
/*
* Our task @p is fully woken up and running; so it's safe to
@@ -3766,7 +3744,6 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags,
rq->idle_stamp = 0;
}
-#endif /* CONFIG_SMP */
}
/*
@@ -3820,7 +3797,6 @@ static int ttwu_runnable(struct task_struct *p, int wake_flags)
return ret;
}
-#ifdef CONFIG_SMP
void sched_ttwu_pending(void *arg)
{
struct llist_node *llist = arg;
@@ -3887,7 +3863,9 @@ static void __ttwu_queue_wakelist(struct task_struct *p, int cpu, int wake_flags
p->sched_remote_wakeup = !!(wake_flags & WF_MIGRATED);
WRITE_ONCE(rq->ttwu_pending, 1);
+#ifdef CONFIG_SMP
__smp_call_single_queue(cpu, &p->wake_entry.llist);
+#endif
}
void wake_up_if_idle(int cpu)
@@ -3988,15 +3966,6 @@ static bool ttwu_queue_wakelist(struct task_struct *p, int cpu, int wake_flags)
return false;
}
-#else /* !CONFIG_SMP: */
-
-static inline bool ttwu_queue_wakelist(struct task_struct *p, int cpu, int wake_flags)
-{
- return false;
-}
-
-#endif /* !CONFIG_SMP */
-
static void ttwu_queue(struct task_struct *p, int cpu, int wake_flags)
{
struct rq *rq = cpu_rq(cpu);
@@ -4529,10 +4498,8 @@ static void __sched_fork(unsigned long clone_flags, struct task_struct *p)
p->capture_control = NULL;
#endif
init_numa_balancing(clone_flags, p);
-#ifdef CONFIG_SMP
p->wake_entry.u_flags = CSD_TYPE_TTWU;
p->migration_pending = NULL;
-#endif
init_sched_mm_cid(p);
}
@@ -4783,14 +4750,11 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p)
if (likely(sched_info_on()))
memset(&p->sched_info, 0, sizeof(p->sched_info));
#endif
-#ifdef CONFIG_SMP
p->on_cpu = 0;
-#endif
init_task_preempt_count(p);
-#ifdef CONFIG_SMP
plist_node_init(&p->pushable_tasks, MAX_PRIO);
RB_CLEAR_NODE(&p->pushable_dl_tasks);
-#endif
+
return 0;
}
@@ -4867,7 +4831,6 @@ void wake_up_new_task(struct task_struct *p)
raw_spin_lock_irqsave(&p->pi_lock, rf.flags);
WRITE_ONCE(p->__state, TASK_RUNNING);
-#ifdef CONFIG_SMP
/*
* Fork balancing, do it here and not earlier because:
* - cpus_ptr can change in the fork path
@@ -4879,7 +4842,6 @@ void wake_up_new_task(struct task_struct *p)
p->recent_used_cpu = task_cpu(p);
rseq_migrate(p);
__set_task_cpu(p, select_task_rq(p, task_cpu(p), &wake_flags));
-#endif
rq = __task_rq_lock(p, &rf);
update_rq_clock(rq);
post_init_entity_util_avg(p);
@@ -4990,7 +4952,6 @@ fire_sched_out_preempt_notifiers(struct task_struct *curr,
static inline void prepare_task(struct task_struct *next)
{
-#ifdef CONFIG_SMP
/*
* Claim the task as running, we do this before switching to it
* such that any running task will have this set.
@@ -4999,12 +4960,10 @@ static inline void prepare_task(struct task_struct *next)
* its ordering comment.
*/
WRITE_ONCE(next->on_cpu, 1);
-#endif
}
static inline void finish_task(struct task_struct *prev)
{
-#ifdef CONFIG_SMP
/*
* This must be the very last reference to @prev from this CPU. After
* p->on_cpu is cleared, the task can be moved to a different CPU. We
@@ -5017,11 +4976,8 @@ static inline void finish_task(struct task_struct *prev)
* Pairs with the smp_cond_load_acquire() in try_to_wake_up().
*/
smp_store_release(&prev->on_cpu, 0);
-#endif
}
-#ifdef CONFIG_SMP
-
static void do_balance_callbacks(struct rq *rq, struct balance_callback *head)
{
void (*func)(struct rq *rq);
@@ -5103,14 +5059,6 @@ void balance_callbacks(struct rq *rq, struct balance_callback *head)
}
}
-#else /* !CONFIG_SMP: */
-
-static inline void __balance_callbacks(struct rq *rq)
-{
-}
-
-#endif /* !CONFIG_SMP */
-
static inline void
prepare_lock_switch(struct rq *rq, struct task_struct *next, struct rq_flags *rf)
{
@@ -5559,7 +5507,7 @@ unsigned long long task_sched_runtime(struct task_struct *p)
struct rq *rq;
u64 ns;
-#if defined(CONFIG_64BIT) && defined(CONFIG_SMP)
+#ifdef CONFIG_64BIT
/*
* 64-bit doesn't need locks to atomically read a 64-bit value.
* So we have a optimization chance when the task's delta_exec is 0.
@@ -5686,12 +5634,10 @@ void sched_tick(void)
if (donor->flags & PF_WQ_WORKER)
wq_worker_tick(donor);
-#ifdef CONFIG_SMP
if (!scx_switched_all()) {
rq->idle_balance = idle_cpu(cpu);
sched_balance_trigger(rq);
}
-#endif
}
#ifdef CONFIG_NO_HZ_FULL
@@ -7815,12 +7761,10 @@ void show_state_filter(unsigned int state_filter)
*/
void __init init_idle(struct task_struct *idle, int cpu)
{
-#ifdef CONFIG_SMP
struct affinity_context ac = (struct affinity_context) {
.new_mask = cpumask_of(cpu),
.flags = 0,
};
-#endif
struct rq *rq = cpu_rq(cpu);
unsigned long flags;
@@ -7836,13 +7780,11 @@ void __init init_idle(struct task_struct *idle, int cpu)
idle->flags |= PF_KTHREAD | PF_NO_SETAFFINITY;
kthread_set_per_cpu(idle, cpu);
-#ifdef CONFIG_SMP
/*
* No validation and serialization required at boot time and for
* setting up the idle tasks of not yet online CPUs.
*/
set_cpus_allowed_common(idle, &ac);
-#endif
/*
* We're having a chicken and egg problem, even though we are
* holding rq->lock, the CPU isn't yet set to this CPU so the
@@ -7861,9 +7803,7 @@ void __init init_idle(struct task_struct *idle, int cpu)
rq_set_donor(rq, idle);
rcu_assign_pointer(rq->curr, idle);
idle->on_rq = TASK_ON_RQ_QUEUED;
-#ifdef CONFIG_SMP
idle->on_cpu = 1;
-#endif
raw_spin_rq_unlock(rq);
raw_spin_unlock_irqrestore(&idle->pi_lock, flags);
@@ -7876,13 +7816,9 @@ void __init init_idle(struct task_struct *idle, int cpu)
idle->sched_class = &idle_sched_class;
ftrace_graph_init_idle_task(idle, cpu);
vtime_init_idle(idle, cpu);
-#ifdef CONFIG_SMP
sprintf(idle->comm, "%s/%d", INIT_TASK_COMM, cpu);
-#endif
}
-#ifdef CONFIG_SMP
-
int cpuset_cpumask_can_shrink(const struct cpumask *cur,
const struct cpumask *trial)
{
@@ -8475,13 +8411,6 @@ static int __init migration_init(void)
}
early_initcall(migration_init);
-#else /* !CONFIG_SMP: */
-void __init sched_init_smp(void)
-{
- sched_init_granularity();
-}
-#endif /* !CONFIG_SMP */
-
int in_sched_functions(unsigned long addr)
{
return in_lock_functions(addr) ||
@@ -8507,9 +8436,7 @@ void __init sched_init(void)
int i;
/* Make sure the linker didn't screw up */
-#ifdef CONFIG_SMP
BUG_ON(!sched_class_above(&stop_sched_class, &dl_sched_class));
-#endif
BUG_ON(!sched_class_above(&dl_sched_class, &rt_sched_class));
BUG_ON(!sched_class_above(&rt_sched_class, &fair_sched_class));
BUG_ON(!sched_class_above(&fair_sched_class, &idle_sched_class));
@@ -8552,9 +8479,7 @@ void __init sched_init(void)
#endif /* CONFIG_RT_GROUP_SCHED */
}
-#ifdef CONFIG_SMP
init_defrootdomain();
-#endif
#ifdef CONFIG_RT_GROUP_SCHED
init_rt_bandwidth(&root_task_group.rt_bandwidth,
@@ -8615,7 +8540,6 @@ void __init sched_init(void)
rq->rt.rt_runtime = global_rt_runtime();
init_tg_rt_entry(&root_task_group, &rq->rt, NULL, i, NULL);
#endif
-#ifdef CONFIG_SMP
rq->sd = NULL;
rq->rd = NULL;
rq->cpu_capacity = SCHED_CAPACITY_SCALE;
@@ -8632,16 +8556,15 @@ void __init sched_init(void)
INIT_LIST_HEAD(&rq->cfs_tasks);
rq_attach_root(rq, &def_root_domain);
-# ifdef CONFIG_NO_HZ_COMMON
+#ifdef CONFIG_NO_HZ_COMMON
rq->last_blocked_load_update_tick = jiffies;
atomic_set(&rq->nohz_flags, 0);
INIT_CSD(&rq->nohz_csd, nohz_csd_func, rq);
-# endif
-# ifdef CONFIG_HOTPLUG_CPU
+#endif
+#ifdef CONFIG_HOTPLUG_CPU
rcuwait_init(&rq->hotplug_wait);
-# endif
-#endif /* CONFIG_SMP */
+#endif
hrtick_rq_init(rq);
atomic_set(&rq->nr_iowait, 0);
fair_server_init(rq);
@@ -8691,8 +8614,9 @@ void __init sched_init(void)
#ifdef CONFIG_SMP
idle_thread_set_boot_cpu();
- balance_push_set(smp_processor_id(), false);
#endif
+
+ balance_push_set(smp_processor_id(), false);
init_sched_fair_class();
init_sched_ext_class();
diff --git a/kernel/sched/cpudeadline.h b/kernel/sched/cpudeadline.h
index 0adeda93b5fb..249dc320a6a6 100644
--- a/kernel/sched/cpudeadline.h
+++ b/kernel/sched/cpudeadline.h
@@ -15,7 +15,6 @@ struct cpudl {
struct cpudl_item *elements;
};
-#ifdef CONFIG_SMP
int cpudl_find(struct cpudl *cp, struct task_struct *p, struct cpumask *later_mask);
void cpudl_set(struct cpudl *cp, int cpu, u64 dl);
void cpudl_clear(struct cpudl *cp, int cpu);
@@ -23,4 +22,3 @@ int cpudl_init(struct cpudl *cp);
void cpudl_set_freecpu(struct cpudl *cp, int cpu);
void cpudl_clear_freecpu(struct cpudl *cp, int cpu);
void cpudl_cleanup(struct cpudl *cp);
-#endif /* CONFIG_SMP */
diff --git a/kernel/sched/cpupri.h b/kernel/sched/cpupri.h
index f9c18e77d6a6..cd3bc0adb9b3 100644
--- a/kernel/sched/cpupri.h
+++ b/kernel/sched/cpupri.h
@@ -17,7 +17,6 @@ struct cpupri {
int *cpu_to_pri;
};
-#ifdef CONFIG_SMP
int cpupri_find(struct cpupri *cp, struct task_struct *p,
struct cpumask *lowest_mask);
int cpupri_find_fitness(struct cpupri *cp, struct task_struct *p,
@@ -26,4 +25,3 @@ int cpupri_find_fitness(struct cpupri *cp, struct task_struct *p,
void cpupri_set(struct cpupri *cp, int cpu, int pri);
int cpupri_init(struct cpupri *cp);
void cpupri_cleanup(struct cpupri *cp);
-#endif /* CONFIG_SMP */
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 7df38ea4d650..80dd95419eac 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -111,7 +111,6 @@ static inline bool is_dl_boosted(struct sched_dl_entity *dl_se)
}
#endif /* !CONFIG_RT_MUTEXES */
-#ifdef CONFIG_SMP
static inline struct dl_bw *dl_bw_of(int i)
{
RCU_LOCKDEP_WARN(!rcu_read_lock_sched_held(),
@@ -191,35 +190,6 @@ void __dl_update(struct dl_bw *dl_b, s64 bw)
rq->dl.extra_bw += bw;
}
}
-#else /* !CONFIG_SMP: */
-static inline struct dl_bw *dl_bw_of(int i)
-{
- return &cpu_rq(i)->dl.dl_bw;
-}
-
-static inline int dl_bw_cpus(int i)
-{
- return 1;
-}
-
-static inline unsigned long dl_bw_capacity(int i)
-{
- return SCHED_CAPACITY_SCALE;
-}
-
-bool dl_bw_visited(int cpu, u64 cookie)
-{
- return false;
-}
-
-static inline
-void __dl_update(struct dl_bw *dl_b, s64 bw)
-{
- struct dl_rq *dl = container_of(dl_b, struct dl_rq, dl_bw);
-
- dl->extra_bw += bw;
-}
-#endif /* !CONFIG_SMP */
static inline
void __dl_sub(struct dl_bw *dl_b, u64 tsk_bw, int cpus)
@@ -552,23 +522,17 @@ void init_dl_rq(struct dl_rq *dl_rq)
{
dl_rq->root = RB_ROOT_CACHED;
-#ifdef CONFIG_SMP
/* zero means no -deadline tasks */
dl_rq->earliest_dl.curr = dl_rq->earliest_dl.next = 0;
dl_rq->overloaded = 0;
dl_rq->pushable_dl_tasks_root = RB_ROOT_CACHED;
-#else
- init_dl_bw(&dl_rq->dl_bw);
-#endif
dl_rq->running_bw = 0;
dl_rq->this_bw = 0;
init_dl_rq_bw_ratio(dl_rq);
}
-#ifdef CONFIG_SMP
-
static inline int dl_overloaded(struct rq *rq)
{
return atomic_read(&rq->rd->dlo_count);
@@ -753,37 +717,6 @@ static struct rq *dl_task_offline_migration(struct rq *rq, struct task_struct *p
return later_rq;
}
-#else /* !CONFIG_SMP: */
-
-static inline
-void enqueue_pushable_dl_task(struct rq *rq, struct task_struct *p)
-{
-}
-
-static inline
-void dequeue_pushable_dl_task(struct rq *rq, struct task_struct *p)
-{
-}
-
-static inline
-void inc_dl_migration(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
-{
-}
-
-static inline
-void dec_dl_migration(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
-{
-}
-
-static inline void deadline_queue_push_tasks(struct rq *rq)
-{
-}
-
-static inline void deadline_queue_pull_task(struct rq *rq)
-{
-}
-#endif /* !CONFIG_SMP */
-
static void
enqueue_dl_entity(struct sched_dl_entity *dl_se, int flags);
static void enqueue_task_dl(struct rq *rq, struct task_struct *p, int flags);
@@ -1195,7 +1128,6 @@ static int start_dl_timer(struct sched_dl_entity *dl_se)
static void __push_dl_task(struct rq *rq, struct rq_flags *rf)
{
-#ifdef CONFIG_SMP
/*
* Queueing this task back might have overloaded rq, check if we need
* to kick someone away.
@@ -1209,7 +1141,6 @@ static void __push_dl_task(struct rq *rq, struct rq_flags *rf)
push_dl_task(rq);
rq_repin_lock(rq, rf);
}
-#endif /* CONFIG_SMP */
}
/* a defer timer will not be reset if the runtime consumed was < dl_server_min_res */
@@ -1339,7 +1270,6 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)
goto unlock;
}
-#ifdef CONFIG_SMP
if (unlikely(!rq->online)) {
/*
* If the runqueue is no longer available, migrate the
@@ -1356,7 +1286,6 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)
* there.
*/
}
-#endif /* CONFIG_SMP */
enqueue_task_dl(rq, p, ENQUEUE_REPLENISH);
if (dl_task(rq->donor))
@@ -1844,8 +1773,6 @@ static void init_dl_inactive_task_timer(struct sched_dl_entity *dl_se)
#define __node_2_dle(node) \
rb_entry((node), struct sched_dl_entity, rb_node)
-#ifdef CONFIG_SMP
-
static void inc_dl_deadline(struct dl_rq *dl_rq, u64 deadline)
{
struct rq *rq = rq_of_dl_rq(dl_rq);
@@ -1881,13 +1808,6 @@ static void dec_dl_deadline(struct dl_rq *dl_rq, u64 deadline)
}
}
-#else /* !CONFIG_SMP: */
-
-static inline void inc_dl_deadline(struct dl_rq *dl_rq, u64 deadline) {}
-static inline void dec_dl_deadline(struct dl_rq *dl_rq, u64 deadline) {}
-
-#endif /* !CONFIG_SMP */
-
static inline
void inc_dl_tasks(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
{
@@ -2214,8 +2134,6 @@ static void yield_task_dl(struct rq *rq)
rq_clock_skip_update(rq);
}
-#ifdef CONFIG_SMP
-
static inline bool dl_task_is_earliest_deadline(struct task_struct *p,
struct rq *rq)
{
@@ -2345,7 +2263,6 @@ static int balance_dl(struct rq *rq, struct task_struct *p, struct rq_flags *rf)
return sched_stop_runnable(rq) || sched_dl_runnable(rq);
}
-#endif /* CONFIG_SMP */
/*
* Only called when both the current and waking task are -deadline
@@ -2359,7 +2276,6 @@ static void wakeup_preempt_dl(struct rq *rq, struct task_struct *p,
return;
}
-#ifdef CONFIG_SMP
/*
* In the unlikely case current and p have the same deadline
* let us try to decide what's the best thing to do...
@@ -2367,7 +2283,6 @@ static void wakeup_preempt_dl(struct rq *rq, struct task_struct *p,
if ((p->dl.deadline == rq->donor->dl.deadline) &&
!test_tsk_need_resched(rq->curr))
check_preempt_equal_dl(rq, p);
-#endif /* CONFIG_SMP */
}
#ifdef CONFIG_SCHED_HRTICK
@@ -2500,8 +2415,6 @@ static void task_fork_dl(struct task_struct *p)
*/
}
-#ifdef CONFIG_SMP
-
/* Only try algorithms three times */
#define DL_MAX_TRIES 3
@@ -2995,8 +2908,6 @@ void dl_clear_root_domain_cpu(int cpu)
dl_clear_root_domain(cpu_rq(cpu)->rd);
}
-#endif /* CONFIG_SMP */
-
static void switched_from_dl(struct rq *rq, struct task_struct *p)
{
/*
@@ -3069,10 +2980,8 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p)
}
if (rq->donor != p) {
-#ifdef CONFIG_SMP
if (p->nr_cpus_allowed > 1 && rq->dl.overloaded)
deadline_queue_push_tasks(rq);
-#endif
if (dl_task(rq->donor))
wakeup_preempt_dl(rq, p, 0);
else
@@ -3149,7 +3058,6 @@ DEFINE_SCHED_CLASS(dl) = {
.put_prev_task = put_prev_task_dl,
.set_next_task = set_next_task_dl,
-#ifdef CONFIG_SMP
.balance = balance_dl,
.select_task_rq = select_task_rq_dl,
.migrate_task_rq = migrate_task_rq_dl,
@@ -3158,7 +3066,6 @@ DEFINE_SCHED_CLASS(dl) = {
.rq_offline = rq_offline_dl,
.task_woken = task_woken_dl,
.find_lock_rq = find_lock_later_rq,
-#endif /* CONFIG_SMP */
.task_tick = task_tick_dl,
.task_fork = task_fork_dl,
@@ -3458,7 +3365,6 @@ bool dl_param_changed(struct task_struct *p, const struct sched_attr *attr)
return false;
}
-#ifdef CONFIG_SMP
int dl_cpuset_cpumask_can_shrink(const struct cpumask *cur,
const struct cpumask *trial)
{
@@ -3570,7 +3476,6 @@ void dl_bw_free(int cpu, u64 dl_bw)
{
dl_bw_manage(dl_bw_req_free, cpu, dl_bw);
}
-#endif /* CONFIG_SMP */
void print_dl_stats(struct seq_file *m, int cpu)
{
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index aaba8661aa46..027750931420 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -283,7 +283,6 @@ static const struct file_operations sched_dynamic_fops = {
__read_mostly bool sched_debug_verbose;
-#ifdef CONFIG_SMP
static struct dentry *sd_dentry;
@@ -311,9 +310,6 @@ static ssize_t sched_verbose_write(struct file *filp, const char __user *ubuf,
return result;
}
-#else /* !CONFIG_SMP: */
-# define sched_verbose_write debugfs_write_file_bool
-#endif /* !CONFIG_SMP */
static const struct file_operations sched_verbose_fops = {
.read = debugfs_read_file_bool,
@@ -540,8 +536,6 @@ static __init int sched_init_debug(void)
}
late_initcall(sched_init_debug);
-#ifdef CONFIG_SMP
-
static cpumask_var_t sd_sysctl_cpus;
static int sd_flags_show(struct seq_file *m, void *v)
@@ -652,8 +646,6 @@ void dirty_sched_domain_sysctl(int cpu)
__cpumask_set_cpu(cpu, sd_sysctl_cpus);
}
-#endif /* CONFIG_SMP */
-
#ifdef CONFIG_FAIR_GROUP_SCHED
static void print_cfs_group_stats(struct seq_file *m, int cpu, struct task_group *tg)
{
@@ -929,11 +921,7 @@ void print_dl_rq(struct seq_file *m, int cpu, struct dl_rq *dl_rq)
SEQ_printf(m, " .%-30s: %lu\n", #x, (unsigned long)(dl_rq->x))
PU(dl_nr_running);
-#ifdef CONFIG_SMP
dl_bw = &cpu_rq(cpu)->rd->dl_bw;
-#else
- dl_bw = &dl_rq->dl_bw;
-#endif
SEQ_printf(m, " .%-30s: %lld\n", "dl_bw->bw", dl_bw->bw);
SEQ_printf(m, " .%-30s: %lld\n", "dl_bw->total_bw", dl_bw->total_bw);
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 92ae3da8ca37..323e2f5c9361 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -88,7 +88,6 @@ static int __init setup_sched_thermal_decay_shift(char *str)
}
__setup("sched_thermal_decay_shift=", setup_sched_thermal_decay_shift);
-#ifdef CONFIG_SMP
/*
* For asym packing, by default the lower numbered CPU has higher priority.
*/
@@ -111,7 +110,6 @@ int __weak arch_asym_cpu_priority(int cpu)
* (default: ~5%)
*/
#define capacity_greater(cap1, cap2) ((cap1) * 1024 > (cap2) * 1078)
-#endif /* CONFIG_SMP */
#ifdef CONFIG_CFS_BANDWIDTH
/*
@@ -996,7 +994,6 @@ struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq)
/**************************************************************
* Scheduling class statistics methods:
*/
-#ifdef CONFIG_SMP
int sched_update_scaling(void)
{
unsigned int factor = get_update_sysctl_factor();
@@ -1008,7 +1005,6 @@ int sched_update_scaling(void)
return 0;
}
-#endif /* CONFIG_SMP */
static void clear_buddies(struct cfs_rq *cfs_rq, struct sched_entity *se);
@@ -1042,8 +1038,6 @@ static bool update_deadline(struct cfs_rq *cfs_rq, struct sched_entity *se)
#include "pelt.h"
-#ifdef CONFIG_SMP
-
static int select_idle_sibling(struct task_struct *p, int prev_cpu, int cpu);
static unsigned long task_h_load(struct task_struct *p);
static unsigned long capacity_of(int cpu);
@@ -1132,18 +1126,6 @@ void post_init_entity_util_avg(struct task_struct *p)
sa->runnable_avg = sa->util_avg;
}
-#else /* !CONFIG_SMP: */
-void init_entity_runnable_average(struct sched_entity *se)
-{
-}
-void post_init_entity_util_avg(struct task_struct *p)
-{
-}
-static void update_tg_load_avg(struct cfs_rq *cfs_rq)
-{
-}
-#endif /* !CONFIG_SMP */
-
static s64 update_curr_se(struct rq *rq, struct sched_entity *curr)
{
u64 now = rq_clock_task(rq);
@@ -3688,14 +3670,12 @@ static void
account_entity_enqueue(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
update_load_add(&cfs_rq->load, se->load.weight);
-#ifdef CONFIG_SMP
if (entity_is_task(se)) {
struct rq *rq = rq_of(cfs_rq);
account_numa_enqueue(rq, task_of(se));
list_add(&se->group_node, &rq->cfs_tasks);
}
-#endif
cfs_rq->nr_queued++;
}
@@ -3703,12 +3683,10 @@ static void
account_entity_dequeue(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
update_load_sub(&cfs_rq->load, se->load.weight);
-#ifdef CONFIG_SMP
if (entity_is_task(se)) {
account_numa_dequeue(rq_of(cfs_rq), task_of(se));
list_del_init(&se->group_node);
}
-#endif
cfs_rq->nr_queued--;
}
@@ -3760,7 +3738,6 @@ account_entity_dequeue(struct cfs_rq *cfs_rq, struct sched_entity *se)
*ptr -= min_t(typeof(*ptr), *ptr, _val); \
} while (0)
-#ifdef CONFIG_SMP
static inline void
enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
@@ -3777,12 +3754,6 @@ dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
cfs_rq->avg.load_sum = max_t(u32, cfs_rq->avg.load_sum,
cfs_rq->avg.load_avg * PELT_MIN_DIVIDER);
}
-#else /* !CONFIG_SMP: */
-static inline void
-enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) { }
-static inline void
-dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) { }
-#endif /* !CONFIG_SMP */
static void place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags);
@@ -3814,13 +3785,11 @@ static void reweight_entity(struct cfs_rq *cfs_rq, struct sched_entity *se,
update_load_set(&se->load, weight);
-#ifdef CONFIG_SMP
do {
u32 divider = get_pelt_divider(&se->avg);
se->avg.load_avg = div_u64(se_weight(se) * se->avg.load_sum, divider);
} while (0);
-#endif
enqueue_load_avg(cfs_rq, se);
if (se->on_rq) {
@@ -3855,7 +3824,6 @@ static void reweight_task_fair(struct rq *rq, struct task_struct *p,
static inline int throttled_hierarchy(struct cfs_rq *cfs_rq);
#ifdef CONFIG_FAIR_GROUP_SCHED
-#ifdef CONFIG_SMP
/*
* All this does is approximate the hierarchical proportion which includes that
* global sum we all love to hate.
@@ -3962,7 +3930,6 @@ static long calc_group_shares(struct cfs_rq *cfs_rq)
*/
return clamp_t(long, shares, MIN_SHARES, tg_shares);
}
-#endif /* CONFIG_SMP */
/*
* Recomputes the group entity based on the current state of its group
@@ -3983,11 +3950,7 @@ static void update_cfs_group(struct sched_entity *se)
if (throttled_hierarchy(gcfs_rq))
return;
-#ifndef CONFIG_SMP
- shares = READ_ONCE(gcfs_rq->tg->shares);
-#else
shares = calc_group_shares(gcfs_rq);
-#endif
if (unlikely(se->load.weight != shares))
reweight_entity(cfs_rq_of(se), se, shares);
}
@@ -4021,7 +3984,6 @@ static inline void cfs_rq_util_change(struct cfs_rq *cfs_rq, int flags)
}
}
-#ifdef CONFIG_SMP
static inline bool load_avg_is_decayed(struct sched_avg *sa)
{
if (sa->load_sum)
@@ -5136,48 +5098,6 @@ static inline void update_misfit_status(struct task_struct *p, struct rq *rq)
rq->misfit_task_load = max_t(unsigned long, task_h_load(p), 1);
}
-#else /* !CONFIG_SMP: */
-
-static inline bool cfs_rq_is_decayed(struct cfs_rq *cfs_rq)
-{
- return !cfs_rq->nr_queued;
-}
-
-#define UPDATE_TG 0x0
-#define SKIP_AGE_LOAD 0x0
-#define DO_ATTACH 0x0
-#define DO_DETACH 0x0
-
-static inline void update_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se, int not_used1)
-{
- cfs_rq_util_change(cfs_rq, 0);
-}
-
-static inline void remove_entity_load_avg(struct sched_entity *se) {}
-
-static inline void
-attach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) {}
-static inline void
-detach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) {}
-
-static inline int sched_balance_newidle(struct rq *rq, struct rq_flags *rf)
-{
- return 0;
-}
-
-static inline void
-util_est_enqueue(struct cfs_rq *cfs_rq, struct task_struct *p) {}
-
-static inline void
-util_est_dequeue(struct cfs_rq *cfs_rq, struct task_struct *p) {}
-
-static inline void
-util_est_update(struct cfs_rq *cfs_rq, struct task_struct *p,
- bool task_sleep) {}
-static inline void update_misfit_status(struct task_struct *p, struct rq *rq) {}
-
-#endif /* !CONFIG_SMP */
-
void __setparam_fair(struct task_struct *p, const struct sched_attr *attr)
{
struct sched_entity *se = &p->se;
@@ -6080,7 +6000,6 @@ void unthrottle_cfs_rq(struct cfs_rq *cfs_rq)
resched_curr(rq);
}
-#ifdef CONFIG_SMP
static void __cfsb_csd_unthrottle(void *arg)
{
struct cfs_rq *cursor, *tmp;
@@ -6139,12 +6058,6 @@ static inline void __unthrottle_cfs_rq_async(struct cfs_rq *cfs_rq)
if (first)
smp_call_function_single_async(cpu_of(rq), &rq->cfsb_csd);
}
-#else /* !CONFIG_SMP: */
-static inline void __unthrottle_cfs_rq_async(struct cfs_rq *cfs_rq)
-{
- unthrottle_cfs_rq(cfs_rq);
-}
-#endif /* !CONFIG_SMP */
static void unthrottle_cfs_rq_async(struct cfs_rq *cfs_rq)
{
@@ -6600,7 +6513,6 @@ static void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b)
* guaranteed at this point that no additional cfs_rq of this group can
* join a CSD list.
*/
-#ifdef CONFIG_SMP
for_each_possible_cpu(i) {
struct rq *rq = cpu_rq(i);
unsigned long flags;
@@ -6612,7 +6524,6 @@ static void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b)
__cfsb_csd_unthrottle(rq);
local_irq_restore(flags);
}
-#endif
}
/*
@@ -6825,7 +6736,6 @@ static inline void hrtick_update(struct rq *rq)
}
#endif /* !CONFIG_SCHED_HRTICK */
-#ifdef CONFIG_SMP
static inline bool cpu_overutilized(int cpu)
{
unsigned long rq_util_min, rq_util_max;
@@ -6867,9 +6777,6 @@ static inline void check_update_overutilized_status(struct rq *rq)
if (!is_rd_overutilized(rq->rd) && cpu_overutilized(rq->cpu))
set_rd_overutilized(rq->rd, 1);
}
-#else /* !CONFIG_SMP: */
-static inline void check_update_overutilized_status(struct rq *rq) { }
-#endif /* !CONFIG_SMP */
/* Runqueue only has SCHED_IDLE tasks enqueued */
static int sched_idle_rq(struct rq *rq)
@@ -6878,12 +6785,10 @@ static int sched_idle_rq(struct rq *rq)
rq->nr_running);
}
-#ifdef CONFIG_SMP
static int sched_idle_cpu(int cpu)
{
return sched_idle_rq(cpu_rq(cpu));
}
-#endif
static void
requeue_delayed_entity(struct sched_entity *se)
@@ -7198,8 +7103,6 @@ static inline unsigned int cfs_h_nr_delayed(struct rq *rq)
return (rq->cfs.h_nr_queued - rq->cfs.h_nr_runnable);
}
-#ifdef CONFIG_SMP
-
/* Working cpumask for: sched_balance_rq(), sched_balance_newidle(). */
static DEFINE_PER_CPU(cpumask_var_t, load_balance_mask);
static DEFINE_PER_CPU(cpumask_var_t, select_rq_mask);
@@ -8735,9 +8638,6 @@ balance_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
return sched_balance_newidle(rq, rf) != 0;
}
-#else /* !CONFIG_SMP: */
-static inline void set_task_max_allowed_capacity(struct task_struct *p) {}
-#endif /* !CONFIG_SMP */
static void set_next_buddy(struct sched_entity *se)
{
@@ -9047,7 +8947,6 @@ static bool yield_to_task_fair(struct rq *rq, struct task_struct *p)
return true;
}
-#ifdef CONFIG_SMP
/**************************************************
* Fair scheduling class load-balancing methods.
*
@@ -12970,8 +12869,6 @@ static void rq_offline_fair(struct rq *rq)
clear_tg_offline_cfs_rqs(rq);
}
-#endif /* CONFIG_SMP */
-
#ifdef CONFIG_SCHED_CORE
static inline bool
__entity_slice_used(struct sched_entity *se, int min_nr_tasks)
@@ -13199,7 +13096,6 @@ static void detach_entity_cfs_rq(struct sched_entity *se)
{
struct cfs_rq *cfs_rq = cfs_rq_of(se);
-#ifdef CONFIG_SMP
/*
* In case the task sched_avg hasn't been attached:
* - A forked task which hasn't been woken up by wake_up_new_task().
@@ -13208,7 +13104,6 @@ static void detach_entity_cfs_rq(struct sched_entity *se)
*/
if (!se->avg.last_update_time)
return;
-#endif
/* Catch up with the cfs_rq and remove our load when we leave */
update_load_avg(cfs_rq, se, 0);
@@ -13272,7 +13167,6 @@ static void __set_next_task_fair(struct rq *rq, struct task_struct *p, bool firs
{
struct sched_entity *se = &p->se;
-#ifdef CONFIG_SMP
if (task_on_rq_queued(p)) {
/*
* Move the next running task to the front of the list, so our
@@ -13280,7 +13174,6 @@ static void __set_next_task_fair(struct rq *rq, struct task_struct *p, bool firs
*/
list_move(&se->group_node, &rq->cfs_tasks);
}
-#endif
if (!first)
return;
@@ -13318,9 +13211,7 @@ void init_cfs_rq(struct cfs_rq *cfs_rq)
{
cfs_rq->tasks_timeline = RB_ROOT_CACHED;
cfs_rq->min_vruntime = (u64)(-(1LL << 20));
-#ifdef CONFIG_SMP
raw_spin_lock_init(&cfs_rq->removed.lock);
-#endif
}
#ifdef CONFIG_FAIR_GROUP_SCHED
@@ -13335,10 +13226,8 @@ static void task_change_group_fair(struct task_struct *p)
detach_task_cfs_rq(p);
-#ifdef CONFIG_SMP
/* Tell se's cfs_rq has been changed -- migrated */
p->se.avg.last_update_time = 0;
-#endif
set_task_rq(p, task_cpu(p));
attach_task_cfs_rq(p);
}
@@ -13634,7 +13523,6 @@ DEFINE_SCHED_CLASS(fair) = {
.put_prev_task = put_prev_task_fair,
.set_next_task = set_next_task_fair,
-#ifdef CONFIG_SMP
.balance = balance_fair,
.select_task_rq = select_task_rq_fair,
.migrate_task_rq = migrate_task_rq_fair,
@@ -13644,7 +13532,6 @@ DEFINE_SCHED_CLASS(fair) = {
.task_dead = task_dead_fair,
.set_cpus_allowed = set_cpus_allowed_fair,
-#endif
.task_tick = task_tick_fair,
.task_fork = task_fork_fair,
@@ -13707,7 +13594,6 @@ void show_numa_stats(struct task_struct *p, struct seq_file *m)
__init void init_sched_fair_class(void)
{
-#ifdef CONFIG_SMP
int i;
for_each_possible_cpu(i) {
@@ -13729,5 +13615,4 @@ __init void init_sched_fair_class(void)
nohz.next_blocked = jiffies;
zalloc_cpumask_var(&nohz.idle_cpus_mask, GFP_NOWAIT);
#endif
-#endif /* CONFIG_SMP */
}
diff --git a/kernel/sched/pelt.h b/kernel/sched/pelt.h
index 2635ec239bff..036f09de16ee 100644
--- a/kernel/sched/pelt.h
+++ b/kernel/sched/pelt.h
@@ -1,4 +1,3 @@
-#ifdef CONFIG_SMP
#include "sched-pelt.h"
int __update_load_avg_blocked_se(u64 now, struct sched_entity *se);
@@ -181,55 +180,3 @@ static inline u64 cfs_rq_clock_pelt(struct cfs_rq *cfs_rq)
return rq_clock_pelt(rq_of(cfs_rq));
}
#endif /* !CONFIG_CFS_BANDWIDTH */
-
-#else /* !CONFIG_SMP: */
-
-static inline int
-update_cfs_rq_load_avg(u64 now, struct cfs_rq *cfs_rq)
-{
- return 0;
-}
-
-static inline int
-update_rt_rq_load_avg(u64 now, struct rq *rq, int running)
-{
- return 0;
-}
-
-static inline int
-update_dl_rq_load_avg(u64 now, struct rq *rq, int running)
-{
- return 0;
-}
-
-static inline int
-update_hw_load_avg(u64 now, struct rq *rq, u64 capacity)
-{
- return 0;
-}
-
-static inline u64 hw_load_avg(struct rq *rq)
-{
- return 0;
-}
-
-static inline int
-update_irq_load_avg(struct rq *rq, u64 running)
-{
- return 0;
-}
-
-static inline u64 rq_clock_pelt(struct rq *rq)
-{
- return rq_clock_task(rq);
-}
-
-static inline void
-update_rq_clock_pelt(struct rq *rq, s64 delta) { }
-
-static inline void
-update_idle_rq_clock_pelt(struct rq *rq) { }
-
-static inline void update_idle_cfs_rq_clock_pelt(struct cfs_rq *cfs_rq) { }
-
-#endif /* !CONFIG_SMP */
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 85768c81531c..0cd801458eef 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -2451,7 +2451,11 @@ void __init init_sched_rt_class(void)
GFP_KERNEL, cpu_to_node(i));
}
}
-#endif /* CONFIG_SMP */
+#else /* !CONFIG_SMP: */
+void __init init_sched_rt_class(void)
+{
+}
+#endif /* !CONFIG_SMP */
/*
* When switching a task to RT, we may overload the runqueue
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index aec0c8253c1c..bb70bcc68e2b 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -442,14 +442,12 @@ struct task_group {
/* runqueue "owned" by this group on each CPU */
struct cfs_rq **cfs_rq;
unsigned long shares;
-#ifdef CONFIG_SMP
/*
* load_avg can be heavily contended at clock tick time, so put
* it in its own cache-line separated from the fields above which
* will also be accessed at each tick.
*/
atomic_long_t load_avg ____cacheline_aligned;
-#endif /* CONFIG_SMP */
#endif /* CONFIG_FAIR_GROUP_SCHED */
#ifdef CONFIG_RT_GROUP_SCHED
@@ -573,13 +571,8 @@ extern int sched_group_set_shares(struct task_group *tg, unsigned long shares);
extern int sched_group_set_idle(struct task_group *tg, long idle);
-#ifdef CONFIG_SMP
extern void set_task_rq_fair(struct sched_entity *se,
struct cfs_rq *prev, struct cfs_rq *next);
-#else /* !CONFIG_SMP: */
-static inline void set_task_rq_fair(struct sched_entity *se,
- struct cfs_rq *prev, struct cfs_rq *next) { }
-#endif /* !CONFIG_SMP */
#else /* !CONFIG_FAIR_GROUP_SCHED: */
static inline int sched_group_set_shares(struct task_group *tg, unsigned long shares) { return 0; }
static inline int sched_group_set_idle(struct task_group *tg, long idle) { return 0; }
@@ -667,7 +660,6 @@ struct cfs_rq {
struct sched_entity *curr;
struct sched_entity *next;
-#ifdef CONFIG_SMP
/*
* CFS load tracking
*/
@@ -699,7 +691,6 @@ struct cfs_rq {
u64 last_h_load_update;
struct sched_entity *h_load_next;
#endif /* CONFIG_FAIR_GROUP_SCHED */
-#endif /* CONFIG_SMP */
#ifdef CONFIG_FAIR_GROUP_SCHED
struct rq *rq; /* CPU runqueue to which this cfs_rq is attached */
@@ -796,14 +787,10 @@ struct rt_rq {
struct rt_prio_array active;
unsigned int rt_nr_running;
unsigned int rr_nr_running;
-#if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED
struct {
int curr; /* highest queued rt task prio */
-#ifdef CONFIG_SMP
int next; /* next highest */
-#endif
} highest_prio;
-#endif
#ifdef CONFIG_SMP
bool overloaded;
struct plist_head pushable_tasks;
@@ -839,7 +826,6 @@ struct dl_rq {
unsigned int dl_nr_running;
-#ifdef CONFIG_SMP
/*
* Deadline values of the currently executing and the
* earliest ready task on this rq. Caching these facilitates
@@ -859,9 +845,7 @@ struct dl_rq {
* of the leftmost (earliest deadline) element.
*/
struct rb_root_cached pushable_dl_tasks_root;
-#else /* !CONFIG_SMP: */
- struct dl_bw dl_bw;
-#endif /* !CONFIG_SMP */
+
/*
* "Active utilization" for this runqueue: increased when a
* task wakes up (becomes TASK_RUNNING) and decreased when a
@@ -932,7 +916,6 @@ static inline long se_runnable(struct sched_entity *se)
#endif /* !CONFIG_FAIR_GROUP_SCHED */
-#ifdef CONFIG_SMP
/*
* XXX we want to get rid of these helpers and use the full load resolution.
*/
@@ -1043,7 +1026,6 @@ static inline void set_rd_overloaded(struct root_domain *rd, int status)
#ifdef HAVE_RT_PUSH_IPI
extern void rto_push_irq_work_func(struct irq_work *work);
#endif
-#endif /* CONFIG_SMP */
#ifdef CONFIG_UCLAMP_TASK
/*
@@ -1107,18 +1089,14 @@ struct rq {
unsigned int numa_migrate_on;
#endif
#ifdef CONFIG_NO_HZ_COMMON
-#ifdef CONFIG_SMP
unsigned long last_blocked_load_update_tick;
unsigned int has_blocked_load;
call_single_data_t nohz_csd;
-#endif /* CONFIG_SMP */
unsigned int nohz_tick_stopped;
atomic_t nohz_flags;
#endif /* CONFIG_NO_HZ_COMMON */
-#ifdef CONFIG_SMP
unsigned int ttwu_pending;
-#endif
u64 nr_switches;
#ifdef CONFIG_UCLAMP_TASK
@@ -1183,7 +1161,6 @@ struct rq {
int membarrier_state;
#endif
-#ifdef CONFIG_SMP
struct root_domain *rd;
struct sched_domain __rcu *sd;
@@ -1224,7 +1201,6 @@ struct rq {
#ifdef CONFIG_HOTPLUG_CPU
struct rcuwait hotplug_wait;
#endif
-#endif /* CONFIG_SMP */
#ifdef CONFIG_IRQ_TIME_ACCOUNTING
u64 prev_irq_time;
@@ -1271,9 +1247,7 @@ struct rq {
struct cpuidle_state *idle_state;
#endif
-#ifdef CONFIG_SMP
unsigned int nr_pinned;
-#endif
unsigned int push_busy;
struct cpu_stop_work push_work;
@@ -1299,7 +1273,7 @@ struct rq {
/* Scratch cpumask to be temporarily used under rq_lock */
cpumask_var_t scratch_mask;
-#if defined(CONFIG_CFS_BANDWIDTH) && defined(CONFIG_SMP)
+#ifdef CONFIG_CFS_BANDWIDTH
call_single_data_t cfsb_csd;
struct list_head cfsb_csd_list;
#endif
@@ -1962,8 +1936,6 @@ init_numa_balancing(unsigned long clone_flags, struct task_struct *p)
#endif /* !CONFIG_NUMA_BALANCING */
-#ifdef CONFIG_SMP
-
static inline void
queue_balance_callback(struct rq *rq,
struct balance_callback *head,
@@ -2129,8 +2101,6 @@ static inline const struct cpumask *task_user_cpus(struct task_struct *p)
return p->user_cpus_ptr;
}
-#endif /* CONFIG_SMP */
-
#ifdef CONFIG_CGROUP_SCHED
/*
@@ -2417,7 +2387,6 @@ struct sched_class {
void (*put_prev_task)(struct rq *rq, struct task_struct *p, struct task_struct *next);
void (*set_next_task)(struct rq *rq, struct task_struct *p, bool first);
-#ifdef CONFIG_SMP
int (*select_task_rq)(struct task_struct *p, int task_cpu, int flags);
void (*migrate_task_rq)(struct task_struct *p, int new_cpu);
@@ -2430,7 +2399,6 @@ struct sched_class {
void (*rq_offline)(struct rq *rq);
struct rq *(*find_lock_rq)(struct task_struct *p, struct rq *rq);
-#endif /* CONFIG_SMP */
void (*task_tick)(struct rq *rq, struct task_struct *p, int queued);
void (*task_fork)(struct task_struct *p);
@@ -2582,8 +2550,6 @@ extern struct task_struct *pick_task_idle(struct rq *rq);
#define SCA_MIGRATE_ENABLE 0x04
#define SCA_USER 0x08
-#ifdef CONFIG_SMP
-
extern void update_group_capacity(struct sched_domain *sd, int cpu);
extern void sched_balance_trigger(struct rq *rq);
@@ -2635,26 +2601,6 @@ static inline struct task_struct *get_push_task(struct rq *rq)
extern int push_cpu_stop(void *arg);
-#else /* !CONFIG_SMP: */
-
-static inline bool task_allowed_on_cpu(struct task_struct *p, int cpu)
-{
- return true;
-}
-
-static inline int __set_cpus_allowed_ptr(struct task_struct *p,
- struct affinity_context *ctx)
-{
- return set_cpus_allowed_ptr(p, ctx->new_mask);
-}
-
-static inline cpumask_t *alloc_user_cpus_ptr(int node)
-{
- return NULL;
-}
-
-#endif /* !CONFIG_SMP */
-
#ifdef CONFIG_CPU_IDLE
static inline void idle_set_state(struct rq *rq,
@@ -2931,8 +2877,6 @@ static inline class_##name##_t class_##name##_constructor(type *lock, type *lock
{ class_##name##_t _t = { .lock = lock, .lock2 = lock2 }, *_T = &_t; \
_lock; return _t; }
-#ifdef CONFIG_SMP
-
static inline bool rq_order_less(struct rq *rq1, struct rq *rq2)
{
#ifdef CONFIG_SCHED_CORE
@@ -3092,42 +3036,6 @@ extern void set_rq_offline(struct rq *rq);
extern bool sched_smp_initialized;
-#else /* !CONFIG_SMP: */
-
-/*
- * double_rq_lock - safely lock two runqueues
- *
- * Note this does not disable interrupts like task_rq_lock,
- * you need to do so manually before calling.
- */
-static inline void double_rq_lock(struct rq *rq1, struct rq *rq2)
- __acquires(rq1->lock)
- __acquires(rq2->lock)
-{
- WARN_ON_ONCE(!irqs_disabled());
- WARN_ON_ONCE(rq1 != rq2);
- raw_spin_rq_lock(rq1);
- __acquire(rq2->lock); /* Fake it out ;) */
- double_rq_clock_clear_update(rq1, rq2);
-}
-
-/*
- * double_rq_unlock - safely unlock two runqueues
- *
- * Note this does not restore interrupts like task_rq_unlock,
- * you need to do so manually after calling.
- */
-static inline void double_rq_unlock(struct rq *rq1, struct rq *rq2)
- __releases(rq1->lock)
- __releases(rq2->lock)
-{
- WARN_ON_ONCE(rq1 != rq2);
- raw_spin_rq_unlock(rq1);
- __release(rq2->lock);
-}
-
-#endif /* !CONFIG_SMP */
-
DEFINE_LOCK_GUARD_2(double_rq_lock, struct rq,
double_rq_lock(_T->lock, _T->lock2),
double_rq_unlock(_T->lock, _T->lock2))
@@ -3186,7 +3094,7 @@ extern void nohz_balance_exit_idle(struct rq *rq);
static inline void nohz_balance_exit_idle(struct rq *rq) { }
#endif /* !CONFIG_NO_HZ_COMMON */
-#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
+#ifdef CONFIG_NO_HZ_COMMON
extern void nohz_run_idle_balance(int cpu);
#else
static inline void nohz_run_idle_balance(int cpu) { }
@@ -3312,8 +3220,6 @@ static inline void cpufreq_update_util(struct rq *rq, unsigned int flags) { }
# define arch_scale_freq_invariant() false
#endif
-#ifdef CONFIG_SMP
-
unsigned long effective_cpu_util(int cpu, unsigned long util_cfs,
unsigned long *min,
unsigned long *max);
@@ -3357,10 +3263,6 @@ static inline unsigned long cpu_util_rt(struct rq *rq)
return READ_ONCE(rq->avg_rt.util_avg);
}
-#else /* !CONFIG_SMP: */
-static inline bool update_other_load_avgs(struct rq *rq) { return false; }
-#endif /* !CONFIG_SMP */
-
#ifdef CONFIG_UCLAMP_TASK
unsigned long uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id);
@@ -3581,7 +3483,6 @@ static inline void membarrier_switch_mm(struct rq *rq,
#endif /* !CONFIG_MEMBARRIER */
-#ifdef CONFIG_SMP
static inline bool is_per_cpu_kthread(struct task_struct *p)
{
if (!(p->flags & PF_KTHREAD))
@@ -3592,7 +3493,6 @@ static inline bool is_per_cpu_kthread(struct task_struct *p)
return true;
}
-#endif /* CONFIG_SMP */
extern void swake_up_all_locked(struct swait_queue_head *q);
extern void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait);
@@ -3891,7 +3791,6 @@ static inline void init_sched_mm_cid(struct task_struct *t) { }
extern u64 avg_vruntime(struct cfs_rq *cfs_rq);
extern int entity_eligible(struct cfs_rq *cfs_rq, struct sched_entity *se);
-#ifdef CONFIG_SMP
static inline
void move_queued_task_locked(struct rq *src_rq, struct rq *dst_rq, struct task_struct *task)
{
@@ -3912,7 +3811,6 @@ bool task_is_pushable(struct rq *rq, struct task_struct *p, int cpu)
return false;
}
-#endif /* CONFIG_SMP */
#ifdef CONFIG_RT_MUTEXES
@@ -3953,21 +3851,8 @@ extern void check_class_changed(struct rq *rq, struct task_struct *p,
const struct sched_class *prev_class,
int oldprio);
-#ifdef CONFIG_SMP
extern struct balance_callback *splice_balance_callbacks(struct rq *rq);
extern void balance_callbacks(struct rq *rq, struct balance_callback *head);
-#else /* !CONFIG_SMP: */
-
-static inline struct balance_callback *splice_balance_callbacks(struct rq *rq)
-{
- return NULL;
-}
-
-static inline void balance_callbacks(struct rq *rq, struct balance_callback *head)
-{
-}
-
-#endif /* !CONFIG_SMP */
#ifdef CONFIG_SCHED_CLASS_EXT
/*
diff --git a/kernel/sched/syscalls.c b/kernel/sched/syscalls.c
index 5cb5e9487f0d..d7fccf871c7d 100644
--- a/kernel/sched/syscalls.c
+++ b/kernel/sched/syscalls.c
@@ -1119,7 +1119,6 @@ SYSCALL_DEFINE4(sched_getattr, pid_t, pid, struct sched_attr __user *, uattr,
return copy_struct_to_user(uattr, usize, &kattr, sizeof(kattr), NULL);
}
-#ifdef CONFIG_SMP
int dl_task_check_affinity(struct task_struct *p, const struct cpumask *mask)
{
/*
@@ -1148,7 +1147,6 @@ int dl_task_check_affinity(struct task_struct *p, const struct cpumask *mask)
return 0;
}
-#endif /* CONFIG_SMP */
int __sched_setaffinity(struct task_struct *p, struct affinity_context *ctx)
{
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 7ce0bac86e94..72a9a8e17986 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -15,8 +15,6 @@ void sched_domains_mutex_unlock(void)
mutex_unlock(&sched_domains_mutex);
}
-#ifdef CONFIG_SMP
-
/* Protected by sched_domains_mutex: */
static cpumask_var_t sched_domains_tmpmask;
static cpumask_var_t sched_domains_tmpmask2;
@@ -1335,11 +1333,10 @@ static void init_sched_groups_capacity(int cpu, struct sched_domain *sd)
update_group_capacity(sd, cpu);
}
-#ifdef CONFIG_SMP
-
/* Update the "asym_prefer_cpu" when arch_asym_cpu_priority() changes. */
void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio)
{
+#ifdef CONFIG_SMP
int asym_prefer_cpu = cpu;
struct sched_domain *sd;
@@ -1389,9 +1386,8 @@ void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio)
WRITE_ONCE(sg->asym_prefer_cpu, asym_prefer_cpu);
}
-}
-
#endif /* CONFIG_SMP */
+}
/*
* Set of available CPUs grouped by their corresponding capacities
@@ -2857,5 +2853,3 @@ void partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[],
partition_sched_domains_locked(ndoms_new, doms_new, dattr_new);
sched_domains_mutex_unlock();
}
-
-#endif /* CONFIG_SMP */
--
2.45.2
Return-Path: <linux-kernel+bounces-665055-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3621241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:13:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 49475168871
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:13:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A647424DD0F;
Wed, 28 May 2025 08:10:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oEFJdf50"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D651A246776
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:10:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419855; cv=none; b=L7FdIDM/DftP6iltWJ+gtgUR04Gz652WcrBdpGaKWLUbAyDmJtYCAY1OtfamW02mq0dg5mpZ4wYM4XkkLKGYsWNLz8RgoR4PqS3aEE8SrioXn2CJOxFRxwWQ+dNokG6SUqfR9V3TsDf4RFbXtYJhig9/FJJ3NB2PUSjDywzkSqE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419855; c=relaxed/simple;
bh=ny6QSC9rijS4pGlrRodZrfbLqyCq2d1aVXezNqZIRqQ=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=BXJhP/79qQRBsFhxYWH9kBCyX9RSC2kthGbM7T9xpo9bb/VQgxLEDXBc8GHicbXSopYs4sWwD4YHuhhbnLf/n2qm5ZIYakD6TM8hsSsnJCUNq5yGYKJ4K9U7uw3f2sKE4msphlfv7Q36tySTCtUD/vGN1Chlc8IDhnjwBtq0q58=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oEFJdf50; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57E34C4CEEF;
Wed, 28 May 2025 08:10:52 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419855;
bh=ny6QSC9rijS4pGlrRodZrfbLqyCq2d1aVXezNqZIRqQ=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=oEFJdf509spyKk9yi8VjE/pxup1CikaJXd4pRE5b79X6fxtMWp9FW9NIIDLfQCdxz
VvJoiEmUzEW2ZYXkEuyiwmBvLChEALTCa79O8nYRnuIyvgEiQLz0sFHXRe2M0yNYC/
wOFAgp0huc5mNyduo756CqcLihdhWBeltznOwyYmiN3o3KnwKwUmnqelsLII8zJDKS
EshHMaox5Pj3oC+hkv/wrO3ho+MeYFIZR9Vjz7j9lLt0jOWXpdJZYRCFWaqe9G++rV
V7j++EsTh6Ba7UQL3qJWBYyevJlxEcQYO3TPzEe0C/Ret6mGF096BG+B8A9hcQ8i6u
zJYGLzhDzVjdQ==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 19/43] sched/smp: Always define sched_domains_mutex_lock()/unlock(), def_root_domain and sched_domains_mutex
Date: Wed, 28 May 2025 10:09:00 +0200
Message-ID: <20250528080924.2273858-20-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Unconditionally build kernel/sched/topology.c and the main sched-domains
locking primitives.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
include/linux/sched.h | 5 -----
kernel/sched/build_utility.c | 3 ++-
kernel/sched/topology.c | 4 ++++
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 45e5953b8f32..77fb5aa73d70 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -395,15 +395,10 @@ enum uclamp_id {
UCLAMP_CNT
};
-#ifdef CONFIG_SMP
extern struct root_domain def_root_domain;
extern struct mutex sched_domains_mutex;
extern void sched_domains_mutex_lock(void);
extern void sched_domains_mutex_unlock(void);
-#else
-static inline void sched_domains_mutex_lock(void) { }
-static inline void sched_domains_mutex_unlock(void) { }
-#endif
struct sched_param {
int sched_priority;
diff --git a/kernel/sched/build_utility.c b/kernel/sched/build_utility.c
index bf9d8db94b70..5c485b2dfb95 100644
--- a/kernel/sched/build_utility.c
+++ b/kernel/sched/build_utility.c
@@ -83,9 +83,10 @@
#ifdef CONFIG_SMP
# include "cpupri.c"
# include "stop_task.c"
-# include "topology.c"
#endif
+#include "topology.c"
+
#ifdef CONFIG_SCHED_CORE
# include "core_sched.c"
#endif
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 4f52b8e56c19..7ce0bac86e94 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -15,6 +15,8 @@ void sched_domains_mutex_unlock(void)
mutex_unlock(&sched_domains_mutex);
}
+#ifdef CONFIG_SMP
+
/* Protected by sched_domains_mutex: */
static cpumask_var_t sched_domains_tmpmask;
static cpumask_var_t sched_domains_tmpmask2;
@@ -2855,3 +2857,5 @@ void partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[],
partition_sched_domains_locked(ndoms_new, doms_new, dattr_new);
sched_domains_mutex_unlock();
}
+
+#endif /* CONFIG_SMP */
--
2.45.2
Return-Path: <linux-kernel+bounces-665057-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6997F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:14:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 2038E4E137A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:13:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E4753252900;
Wed, 28 May 2025 08:11:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KOcw5wZd"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2CCAC2517B9
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419863; cv=none; b=YsaNMKsB4R0q+84huWREE95tLWSKhJfgebAv5si8Oz549OFIAuhWSKz/1xw8j2RlplVSnLu+i7J/DcG9JpU8ZH3DT3jKDG8/dcm9Z/eHKYb37bobhCzb19ZZ1vcrp1JMzsrWX1KO/AcG+4BUB+0ODiU9f6eRPxDb9FAmSPl7imI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419863; c=relaxed/simple;
bh=sLanDBJBBAyjRd/ro3K0Wy5iwo185WPogzHo4PmuQvU=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=mkMHhdTakF98e/8l2MMNXqppiAhf0hqL43LzkM9m3yM+kfAmrpzoZ0LMEkwHylNIKDa2YcovTj0FkNi5/HDSmcCpsldzNz7pCTsrMEeioa8EsRxmLFCiQDayPRf3i1nOsMTCnEgHXxet+hSOaCXEMkpFN1zFbSRjMBI8uosuQ/s=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KOcw5wZd; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9ECDAC4CEEF;
Wed, 28 May 2025 08:10:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419862;
bh=sLanDBJBBAyjRd/ro3K0Wy5iwo185WPogzHo4PmuQvU=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=KOcw5wZd1qvaBBCmahA419fAsoH3HbPZsm/S2pce0Dcgs0Ea2zkd7vm38P/EH+sJH
XieOiky4i+ADwknEMqy7w5Y151KvSNxue6IwTi6L1+TDNGWF6D/HuWjLOF/80rKIqR
PVV4ZvF8E0YewJGGqz4ltOyeZRTDqgvu6nArHyl0fnr6j05z0FYagkNU9PrBovYr1A
3iM/DAhI5qwOKj9tUS3MBj/qz2o5WOiSSUR3wqRB3rtRtk+MLSeSMQlW/OIln4uIYY
IdBZT7tQagoouK4k1tXMGsBUhmzf6k3uC8/ZufhSWNsj20hFw/0/k8wMd4ON1cq2O/
Jgo7tg9arKygg==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 21/43] sched/smp: Always define is_percpu_thread() and scheduler_ipi()
Date: Wed, 28 May 2025 10:09:02 +0200
Message-ID: <20250528080924.2273858-22-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
include/linux/sched.h | 8 --------
1 file changed, 8 deletions(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index f60aaa7fc4ad..8d3167059675 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1756,12 +1756,8 @@ extern struct pid *cad_pid;
static __always_inline bool is_percpu_thread(void)
{
-#ifdef CONFIG_SMP
return (current->flags & PF_NO_SETAFFINITY) &&
(current->nr_cpus_allowed == 1);
-#else
- return true;
-#endif
}
/* Per-process atomic flags. */
@@ -1958,7 +1954,6 @@ extern void __set_task_comm(struct task_struct *tsk, const char *from, bool exec
buf; \
})
-#ifdef CONFIG_SMP
static __always_inline void scheduler_ipi(void)
{
/*
@@ -1968,9 +1963,6 @@ static __always_inline void scheduler_ipi(void)
*/
preempt_fold_need_resched();
}
-#else
-static inline void scheduler_ipi(void) { }
-#endif
extern unsigned long wait_task_inactive(struct task_struct *, unsigned int match_state);
--
2.45.2
Return-Path: <linux-kernel+bounces-665059-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4864341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:14:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 06D601BC4F65
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:14:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A6E55247291;
Wed, 28 May 2025 08:11:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="G2+4A5Z9"
Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0C5326980B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419869; cv=none; b=s+6DEju2VCYw4kh723WyB1Ns7zc7ugkk4ynl1Ip41DfKIvtJH5cM3VKesKKXlg9fK8eOeR6Pay5vAWWBoONtu8RBEMV+0RbF/nmr++ee5etAAh3evDi13Y2K3SSdKfId69n9AmXZ0gKwTFwFlek2qzNIZj7Nxq8MDhkLS5lDO2E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419869; c=relaxed/simple;
bh=7QUgyPQ/T3YEWQ1/2Hr5qFcOiLCYY40HXCZ+In2rM/E=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=l501Wrx5TjG9gNGEkMf9axjpzyUeYZh8MkpaSQEqQunFCffj3xbAWKAB1uWwVQjBGasFRuszIjWCCsO7Nbo8hU6WsN2Av9T6lI4wv5k81tnu/OQrYZ30MDq3sl4380neF9wMtEvQjMvvQ0PVZvm1RtM0ixF3MEONNIBzTb3pd/w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=G2+4A5Z9; arc=none smtp.client-ip=209.85.128.41
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-450cb2ddd46so832885e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:11:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748419866; x=1749024666; darn=vger.kernel.org;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:from:to:cc:subject:date:message-id:reply-to;
bh=IFycvXrQUkiOkbhte5Aosw13hGKT4ZnQNkWJE4xdYxY=;
b=G2+4A5Z9oJpo9pzmKLIPI0tQdP/74hpa1KMgJ3nqG57sn+FxSeS/S/YVDlB5rOE6VA
Aw5gXJWFK+sadwjkSgPRsJwPxXH8tDyL9ykFTqpCA3ngSBMqjjB/P1eDI3hN6UP4wsKP
oBjSV0J4XBdKvF4TXfplRX8qPQ56a76JDq6z/U+5XtkWq3De+lVh9w4ULo2VhztQEz7G
JOQJdVNZ68CJjWVTrimCg6oj96Tt8CiJshkaTYWGrBtp2HHE4YoufdVThTVFkCtENzvC
Pv+syOXnxz1+BiiVF4UTbP/kZLzYXttimjPijf7WidxR1+tZXlkDEBSg/Pj/WfWyjlJ9
Bf+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419866; x=1749024666;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=IFycvXrQUkiOkbhte5Aosw13hGKT4ZnQNkWJE4xdYxY=;
b=lop9eNTJVgxRrxqcGZ82xTi07V4q6Zfh0ZFquzGQVJkFD4jvYdx1Te1V0rP8JnQ7dC
RsCJZtf1L0CLyviu89t8bB7mwW9DL6UIaJ7R1wHvEPsbOV2xQlyX8WkRH18AzSAAP1KQ
f7j47c4eUpblsH7o/9mYvUbies6plvNq/CgPQGZWRtDWrPKMbaR0YUcnWQooTIb4yxFY
yaLTH1pH+tchuEtKYsPdd97BtlHVRtBONa1+D9XgORhKZG1T2QRdKtt+fnJmxnfwBw9Z
1rk5q0dhJHUk+0HCDsnGHIWruC7dpqIXkXqyruEYlEnHEASscV7mVGgTKmLh7ger7dV0
yw0A==
X-Forwarded-Encrypted: i=1; AJvYcCVrOq/2raOcfBltTQaEIdkPAxqhBSOydXdH2AvuduMIjf9HB9Yx4oGZXDo38jX9rZdhIVNbBUC7CXc6GWI=@vger.kernel.org
X-Gm-Message-State: AOJu0YwSGwx3jmOgK9ngY/kF9qvwizZox4uhpAKeikLb5P+XBWSGsLVN
owm5krDKHCfsgokYoPzUNoCOQDN0pU+64gpCxc71X7smvhj7c/f/VlkxBHgrzwG7pNg=
X-Gm-Gg: ASbGncs8ChUJb2vCfrgN6d+LJcpxMSKLiDGhpcV/mR1fqAMEs4WvzY+YgL88PdOD/+9
ZYm8Wdv4lsz2EWK0SX+uiZVYrYAst9GMV8X33N87uCbKwV8kO2bqL3l+576WKsU+2PW3mbHSHcP
j+zBavwDzBXgRMHZgV7qRmd/vKjiX94J0SBibihLzxOZXPt2sHATh9kap8qsoRmf66u2PYPbn/d
mJuo8vs+9Hmp0537JMQgoO2y1VhMZsvQB3lZZeKcW9uVW3gRUcG6CePREwoh8pwtOKGs/fisnUc
SpLdohdOkwkHjBaHAGfwXwfrHnjOJT2FKG2PFeLiVKF90tyCmCmXNpKu
X-Google-Smtp-Source: AGHT+IHX4I0n+ZPz2LAonQ+C7wF0g3TSvB1a1pGhyeywpD5kz73HeVr28IbZeV7RGlLkbc8tETsEvQ==
X-Received: by 2002:a05:600c:511f:b0:43d:5ec:b2f4 with SMTP id 5b1f17b1804b1-44c919e13d2mr163530375e9.10.1748419865922;
Wed, 28 May 2025 01:11:05 -0700 (PDT)
Received: from localhost ([196.207.164.177])
by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-450787cc3c5sm9406215e9.31.2025.05.28.01.11.04
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:11:05 -0700 (PDT)
Date: Wed, 28 May 2025 11:11:02 +0300
From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
To: Zong-Zhe Yang <kevin_yang@xxxxxxxxxxx>
Cc: Ping-Ke Shih <pkshih@xxxxxxxxxxx>, linux-wireless@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, kernel-janitors@xxxxxxxxxxxxxxx
Subject: [PATCH v2 next] wifi: rtw89: mcc: prevent shift wrapping in
rtw89_core_mlsr_switch()
Message-ID: <aDbFFkX09K7FrL9h@stanley.mountain>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Mailer: git-send-email haha only kidding
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The "link_id" value comes from the user via debugfs. If it's larger
than BITS_PER_LONG then that would result in shift wrapping and
potentially an out of bounds access later. In fact, we can limit it
to IEEE80211_MLD_MAX_NUM_LINKS (15).
Fortunately, only root can write to debugfs files so the security
impact is minimal.
Fixes: 9dd85e739ce0 ("wifi: rtw89: debug: add mlo_mode dbgfs")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
Use IEEE80211_MLD_MAX_NUM_LINKS as a limit instead of BITS_PER_LONG.
It's stricter and also more informative.
drivers/net/wireless/realtek/rtw89/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
index 49447668cbf3..3604a8e15df0 100644
--- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/drivers/net/wireless/realtek/rtw89/core.c
@@ -5239,7 +5239,8 @@ int rtw89_core_mlsr_switch(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif,
if (unlikely(!ieee80211_vif_is_mld(vif)))
return -EOPNOTSUPP;
- if (unlikely(!(usable_links & BIT(link_id)))) {
+ if (unlikely(link_id >= IEEE80211_MLD_MAX_NUM_LINKS ||
+ !(usable_links & BIT(link_id)))) {
rtw89_warn(rtwdev, "%s: link id %u is not usable\n", __func__,
link_id);
return -ENOLINK;
--
2.47.2
Return-Path: <linux-kernel+bounces-665058-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 50A0541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:14:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id BF5243B5EE9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:13:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1AA362690ED;
Wed, 28 May 2025 08:11:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OAbtIWv8"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56A602690D6
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419866; cv=none; b=su8oT//udXciO1iF2RN6JoFGFV9JeT42+SkAVJHM58pRmTLbd8Krb8jPDmcD2aIPOQQgOvdiL0MZ9OdA8BStTq4nDPktC/QWMF5/TTgvbc4csBz3yub+raWj7GeIbLq/a/X1X0LCgodWO9AsFQlgv5gl8HtHj4gS937Yrc2ZR+k=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419866; c=relaxed/simple;
bh=j4zcNcSlSsYbTd3vaYS/4fsyrq1dVdZgtgW88vkwa6U=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=uJPhkgsKw4LV/KFe/E68cgEXMioDuMV32dGSKHvIYW4B1rdmEpU40TNh/AcSh/RLWUcNr/uK74owIqn3pOW+3CdvU7UaDbJdqbxT1UsbFN4tJ22YJ7LwwVnk9L1ydf2hAbO7zwfnOfcdKNh7v8JE+QoOJwnfOOkYxln3U8AZkjY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OAbtIWv8; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E05BC4CEF0;
Wed, 28 May 2025 08:11:02 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419866;
bh=j4zcNcSlSsYbTd3vaYS/4fsyrq1dVdZgtgW88vkwa6U=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=OAbtIWv8g+FA7UDxonQXuvBhhhr/yPReoX3FKiQARyX920jUbqx/T+NBo+/uttP85
sG0sCX0zHHxGOstxWzqeaw0faYqzWChET069iKUkYgIfZSnINNgpq7EonvAVewt2kX
bRhx0wZHIngRCAo1uFA6ZLw4FrPhiY7Vr8jopg9kWK9IKmt168JuJAVZVGfvdzkrQt
7Tfv4Wnattjh5jQGljmmpJDoSungm4JEeG56H0LmmULL2iygc1IPiWHmJZGizZC27I
kUD0D4Q8HVXj66CcJB9aOs7m+gnkma8OWNOsPEAtAEPaJd6n3ZMjiR67isH2rL8Oia
ViToytKFNJAUA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 22/43] sched/smp: Always define rq->hrtick_csd
Date: Wed, 28 May 2025 10:09:03 +0200
Message-ID: <20250528080924.2273858-23-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/core.c | 23 -----------------------
kernel/sched/sched.h | 2 --
2 files changed, 25 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 8e5f728df3e0..73f035c21fbe 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -851,8 +851,6 @@ static enum hrtimer_restart hrtick(struct hrtimer *timer)
return HRTIMER_NORESTART;
}
-#ifdef CONFIG_SMP
-
static void __hrtick_restart(struct rq *rq)
{
struct hrtimer *timer = &rq->hrtick_timer;
@@ -897,30 +895,9 @@ void hrtick_start(struct rq *rq, u64 delay)
smp_call_function_single_async(cpu_of(rq), &rq->hrtick_csd);
}
-#else /* !CONFIG_SMP: */
-/*
- * Called to set the hrtick timer state.
- *
- * called with rq->lock held and IRQs disabled
- */
-void hrtick_start(struct rq *rq, u64 delay)
-{
- /*
- * Don't schedule slices shorter than 10000ns, that just
- * doesn't make sense. Rely on vruntime for fairness.
- */
- delay = max_t(u64, delay, 10000LL);
- hrtimer_start(&rq->hrtick_timer, ns_to_ktime(delay),
- HRTIMER_MODE_REL_PINNED_HARD);
-}
-
-#endif /* !CONFIG_SMP */
-
static void hrtick_rq_init(struct rq *rq)
{
-#ifdef CONFIG_SMP
INIT_CSD(&rq->hrtick_csd, __hrtick_start, rq);
-#endif
hrtimer_setup(&rq->hrtick_timer, hrtick, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD);
}
#else /* !CONFIG_SCHED_HRTICK: */
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index bb70bcc68e2b..de130ffa42b2 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -1218,9 +1218,7 @@ struct rq {
long calc_load_active;
#ifdef CONFIG_SCHED_HRTICK
-#ifdef CONFIG_SMP
call_single_data_t hrtick_csd;
-#endif
struct hrtimer hrtick_timer;
ktime_t hrtick_time;
#endif
--
2.45.2
Return-Path: <linux-kernel+bounces-665060-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8308041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:14:45 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 5DF561BC4D02
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:14:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 61D2A269D17;
Wed, 28 May 2025 08:11:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dOZv0fqw"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 46593269B1C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419872; cv=none; b=pLCt2fa/hjIk1hqa/y1cWaw2AwU+S2ccsE2yf3vNki9fI9MIJuVM8sMYcRelP3eXmZ4BdlLmxIve7tt3H9GRcFQqEbKfDmbOLldysMscsMnUAPvIHhSBOvP3KxwWsQPHGV3+Vq4HPI09zcjeRA8LNCTflHD3Y4tvXyFL8gEdW+s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419872; c=relaxed/simple;
bh=4C0sfQFfvCrKmZOsZyByxBgJQJjyZD52JsOF/htWank=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=SMHvT+Kh3pY+z8zp+SQ8AV9ocTdN572jpVXKBi1Xk1zfhWIl/uJ/8PDe0OxPm4FVd2Y2FacWPGFSyl2oi523qCguDy+MSrgYNk+GpcM63aWEttzj7OgzzMRNF56wnpRGXVzp1BwUL8emY3PjBt1t6LvGrHmk9cvktsD7con8UVU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dOZv0fqw; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B1DF2C4CEEB;
Wed, 28 May 2025 08:11:06 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419869;
bh=4C0sfQFfvCrKmZOsZyByxBgJQJjyZD52JsOF/htWank=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=dOZv0fqwkTysHecrEUoZhFcX+wdpimeGs+siUeGJMJl1e3LDoer1N/PQFB8zJfuqy
raIx3+HsvnqSL6UsbsrSG0ck++NjWUNeB4mivg3z/2PbHnKjw03XKWHBcrp1ghtxsn
bu8rIDH31iFgbRpm+wZmSKU5UUqxkp8ak6ViCMSXuc+N8Bx7ycGqSxwlwXD1cK/sP4
laxdT7xScEzYTIe86vhAW7UWr/UfSQdGRkMpsneMN/zTWsC58j7ZwhkS99L7/MZyMv
rcvoEF+ftfPo2WZjJeaeQU/aYS2rk6xbCiM2Y9XM9xw3muNVAeB20Dj10etvDP8p6S
CquwNUdYgd8Jg==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 23/43] sched/smp: Use the SMP version of try_to_wake_up()
Date: Wed, 28 May 2025 10:09:04 +0200
Message-ID: <20250528080924.2273858-24-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/core.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 73f035c21fbe..850f39fe5b8f 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4198,7 +4198,6 @@ int try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags)
if (READ_ONCE(p->on_rq) && ttwu_runnable(p, wake_flags))
break;
-#ifdef CONFIG_SMP
/*
* Ensure we load p->on_cpu _after_ p->on_rq, otherwise it would be
* possible to, falsely, observe p->on_cpu == 0.
@@ -4277,9 +4276,6 @@ int try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags)
psi_ttwu_dequeue(p);
set_task_cpu(p, cpu);
}
-#else /* !CONFIG_SMP: */
- cpu = task_cpu(p);
-#endif /* !CONFIG_SMP */
ttwu_queue(p, cpu, wake_flags);
}
--
2.45.2
Return-Path: <linux-kernel+bounces-665062-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A034141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:15:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CD4521BC4EE5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:14:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4EECE26A0EB;
Wed, 28 May 2025 08:11:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="JraPDs+X"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C6E5269B07;
Wed, 28 May 2025 08:11:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.19
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419874; cv=fail; b=dUT7mfs539rXp0SKx0OLNNECsuPBqpUEvQuuoEbaY/Ehdc7yVHU4+bOy6PzMQq4rsw7R86T3+yT8NwkIEGFWtm09ZW6zzJ+cXOnH36G1othKiT6i8R/vXYpRNAXWrG/GMdaBvOPKqu7dWm34oIRpMgQ+y3879NSsRqjFFWhXqWk=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419874; c=relaxed/simple;
bh=oN0oXQgfNwXQngHEVdGFsMKygBps4pJXnMTe4ImxL9E=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=ZyHdls9HB7SRPoFKpBa/QcDmq/qbd/qVyNsfkKYxHCF+Q6B+2mUf7i3StnwQVVxj4aT/hC35TDLJumu1y7OI/rTWIvqi1zhN0zg/5tpbn6cZ+pEt7jkxwa1UXTqn1gQ0LiZ1qK1stBIUbDMA+mR4OATe2phyLA1VAazyNnvKBKE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=JraPDs+X; arc=fail smtp.client-ip=192.198.163.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748419872; x=1779955872;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-transfer-encoding:mime-version;
bh=oN0oXQgfNwXQngHEVdGFsMKygBps4pJXnMTe4ImxL9E=;
b=JraPDs+XZSS+7GfuxWQcO0iRaQQM44vrQ3izQSGApIN1Cn0amSu1+WJF
29YZ9x7/tVJdA4wwHVEQlGAzww3fVlAEF4yut1LDNXSP3u5kvjdSbP/+v
lCUd3usCMmWQjQKnQcLpVklIaIcRMUH+d0eMWLnfMuW1KkaDq2DX52/U6
TWYrE2cvgAFh9gn5rO2wU/vCVJ1x8logahiuRZA31CHwD8N+9H7CyBUgP
/Y/0Zk0f7IJ0RZYJQ0ZlfNOnn6DN50pLKiR+ETBHbSpaGiNVHg4AL+goj
Z/m3pGNz6vD8DESV5d5pzgMzrYOlRR9wIrIiusg22TbDa2IalibZmN1MR
Q==;
X-CSE-ConnectionGUID: 3WS48B/HT4iODn1qgNEngQ==
X-CSE-MsgGUID: ZyU+OwjJT5meqiKvJvQcCQ==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="49548839"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="49548839"
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:11:11 -0700
X-CSE-ConnectionGUID: Xg9UQbI0Rgqob9awtU2mPw==
X-CSE-MsgGUID: CT9kbWDQT8mWBhFhUNVxQg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="148297588"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:11:10 -0700
Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 28 May 2025 01:11:10 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 01:11:10 -0700
Received: from NAM04-DM6-obe.outbound.protection.outlook.com (40.107.102.46)
by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 28 May 2025 01:11:09 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=KoCwKq4bvfJCqkHRgOdUpaDE4Lf4hPwIVfmoEQxnGXBgtMwkqve29Gz18Kw8wY/b5do7WFK5l64sgxg/rz/r8JDwITo7YJeP1E5e/8N7wh6n+kvhuTjCO96/2GcSO46Lmswblf4wLHk7jBxsbFAi2LpbBPeKTiIwivKFnjxAFrEdpDs05F+t9VYJMOmqpjUVMKaX3Xun92X/ZO61eaNgtxBp4L0HP1Yj2XQawv62L2IWnTrmF+Djuzi4v8Usr9kZw66vvIv4bTRaeE3q3MZcyckY+6+yV/c0tg7HVn07IbWXyaq8Uw/uwsRgk7Ap4e6zl4CAKXwItoNYxLeWzkDA8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=SP3g8TGu6WUKobopTENONswIBOcNRkEtJqJTkEmInrg=;
b=AHlE+XlSlzW1hXgkRb62RVdAV5EMcNpqGdovS9eyugl5FkHiiPinsEIBN6t5oPALSW5axQtz9vJOcF4Jb/EzPWYY8hd47KwRcsoXzTzgqqQ1wS1ZAiqbIbCPoQ66zlw/+WbD0+oPvSun7DfpjkQga9hi8XbeWYxN0zG9GjwK8gaaM52Og4mQ2U7JzXCMeMJcZXJDiDKlhznn11aYf2o8tNzWS7vbi80pis8HaeBHCWaYdXIlfy6BNxu1jFQ7tR4vnNOXwnw9F8RfhO6N1inFybmlBPRLPyp4kF0cDXJLujubMye8w4oArTvAQE6vOhXNe6zjU5uVSo/eXxKx7mkCWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
by SJ2PR11MB8498.namprd11.prod.outlook.com (2603:10b6:a03:56f::12) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Wed, 28 May
2025 08:11:07 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
([fe80::b576:d3bd:c8e0:4bc1]) by BN9PR11MB5276.namprd11.prod.outlook.com
([fe80::b576:d3bd:c8e0:4bc1%4]) with mapi id 15.20.8769.022; Wed, 28 May 2025
08:11:06 +0000
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
To: Nicolin Chen <nicolinc@xxxxxxxxxx>
CC: "jgg@xxxxxxxxxx" <jgg@xxxxxxxxxx>, "corbet@xxxxxxx" <corbet@xxxxxxx>,
"will@xxxxxxxxxx" <will@xxxxxxxxxx>, "bagasdotme@xxxxxxxxx"
<bagasdotme@xxxxxxxxx>, "robin.murphy@xxxxxxx" <robin.murphy@xxxxxxx>,
"joro@xxxxxxxxxx" <joro@xxxxxxxxxx>, "thierry.reding@xxxxxxxxx"
<thierry.reding@xxxxxxxxx>, "vdumpa@xxxxxxxxxx" <vdumpa@xxxxxxxxxx>,
"jonathanh@xxxxxxxxxx" <jonathanh@xxxxxxxxxx>, "shuah@xxxxxxxxxx"
<shuah@xxxxxxxxxx>, "jsnitsel@xxxxxxxxxx" <jsnitsel@xxxxxxxxxx>,
"nathan@xxxxxxxxxx" <nathan@xxxxxxxxxx>, "peterz@xxxxxxxxxxxxx"
<peterz@xxxxxxxxxxxxx>, "Liu, Yi L" <yi.l.liu@xxxxxxxxx>,
"mshavit@xxxxxxxxxx" <mshavit@xxxxxxxxxx>, "praan@xxxxxxxxxx"
<praan@xxxxxxxxxx>, "zhangzekun11@xxxxxxxxxx" <zhangzekun11@xxxxxxxxxx>,
"iommu@xxxxxxxxxxxxxxx" <iommu@xxxxxxxxxxxxxxx>, "linux-doc@xxxxxxxxxxxxxxx"
<linux-doc@xxxxxxxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "linux-arm-kernel@xxxxxxxxxxxxxxxxxxx"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, "linux-tegra@xxxxxxxxxxxxxxx"
<linux-tegra@xxxxxxxxxxxxxxx>, "linux-kselftest@xxxxxxxxxxxxxxx"
<linux-kselftest@xxxxxxxxxxxxxxx>, "patches@xxxxxxxxxxxxxxx"
<patches@xxxxxxxxxxxxxxx>, "mochs@xxxxxxxxxx" <mochs@xxxxxxxxxx>,
"alok.a.tiwari@xxxxxxxxxx" <alok.a.tiwari@xxxxxxxxxx>, "vasant.hegde@xxxxxxx"
<vasant.hegde@xxxxxxx>, "dwmw2@xxxxxxxxxxxxx" <dwmw2@xxxxxxxxxxxxx>,
"baolu.lu@xxxxxxxxxxxxxxx" <baolu.lu@xxxxxxxxxxxxxxx>
Subject: RE: [PATCH v5 03/29] iommu: Apply the new iommufd_object_alloc_ucmd
helper
Thread-Topic: [PATCH v5 03/29] iommu: Apply the new iommufd_object_alloc_ucmd
helper
Thread-Index: AQHbx6QUab9gqVJWEE29OKdWGASVW7Pf3lGwgADnYICABvjTsA==
Date: Wed, 28 May 2025 08:11:06 +0000
Message-ID: <BN9PR11MB5276FD88B84112B9807DA0238C67A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <cover.1747537752.git.nicolinc@xxxxxxxxxx>
<c01f145f9fd9a803a3154c3e7221dd76b4f8adfd.1747537752.git.nicolinc@xxxxxxxxxx>
<BN9PR11MB527605018977CA291C0D8E018C98A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<aDDp74yHGkhxHHJb@Asurada-Nvidia>
In-Reply-To: <aDDp74yHGkhxHHJb@Asurada-Nvidia>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN9PR11MB5276:EE_|SJ2PR11MB8498:EE_
x-ms-office365-filtering-correlation-id: 30640c81-45da-42a9-0c53-08dd9dbf3276
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?jx+2Ez7X7VDnOfpqhFPN51/1eQwBGanxnfxcC/dML+2l59v0wiVCLYOPDi+K?=
=?us-ascii?Q?ttlVzrcV8qyMxOgayIXHUDxLD9gM5Zq/ZcXHWkPE5jl1Y0qI+wmlSMs+QNSK?=
=?us-ascii?Q?4JbYXvuEfzhdkO9i0UVaI3LhTGnVm9F8dd4CElO8pnNizgHgiDAqn/yc6lAL?=
=?us-ascii?Q?/x5ppnMzLTaGaoJVeJIOAEcWVnLufK9s1wkTCB42rTyy+JQVDR2jHFCCRn5F?=
=?us-ascii?Q?WQtf3B5Rfgp8BR03+aRab/5ej/mVxSxfPakzoBP8lgV1uCOtyTjLsmADweXA?=
=?us-ascii?Q?GfHLPeauJDLTxbQQ01+lYkXsiN8fU6cN+TTuuMO9QyNkYT/6Ze86ZPGu0CJ9?=
=?us-ascii?Q?GDOSeLP0hPjN4ADbeUrsuugEtFEsGDNCPMu4AnKpgfVqewlebLUFVdZ6Wq3A?=
=?us-ascii?Q?lcOTURwy1VsRfNH2hZO3nE1iMCpTpysF8so5MwKz5zONMnW/TkvVkyvtj/ak?=
=?us-ascii?Q?+c5a+JKwJwr5J6ysU6ANpFcwZpe1wPTyqyx0uwdyAJKfqDrJE0Gy8xBxC4UA?=
=?us-ascii?Q?qVEWQSB+qp2e3t/MVs1gn+dMGkZvxikoh9/e5cBhbTfLITiHupmd7j+AAfVk?=
=?us-ascii?Q?xqoXzMBiODnC5CyKPoN5RB0benqlyqpWAScAkuTRyE8VKDSkyzXH7wyeXqr2?=
=?us-ascii?Q?5Gdg69v8XK6SdBCl0ZpONLsPG0Dxk4Vn3TU/aS9YpP+otMcLppw1qRc6tjqk?=
=?us-ascii?Q?CZc2vdx/z/dmHvG7fZUU77QblbG3BNVSu5FdnDq1+iaNm94j5PhC7ZmB+odM?=
=?us-ascii?Q?+5jqB4+qAABNv18c5+WwV+E9MkEKLqthXfDj4iFgq64kTF15F6xbetgkMojy?=
=?us-ascii?Q?9cuZ6EWQmcZKBlOtOm+zrAqEiopplWyGVWKn0KxRlV7/D5/JZqDKUISUb+wY?=
=?us-ascii?Q?xhUCY6/tymf3FK85DqQ7D6V4/hY7SXRoSZu7q0eGEvAFSzXWWCpoAFHq6Go5?=
=?us-ascii?Q?0ZMlv6QaeHM1IbSX+SH/NLwBFfkgeOlNjjfmXmcgRXwSr2qfgqf4r9Uj6lcb?=
=?us-ascii?Q?u65mayDe5OFDQP+a4g0XYirPd1VG4TuIOY3mS/b77tnnjSZc58E4VCqWYSek?=
=?us-ascii?Q?ukVGaq3v15uieS+ILylF+CbEQrafNoT1XY2biBwwKucunep5bIlgCLqO2m4g?=
=?us-ascii?Q?SLVjCQIjO4eGW2aBMg5+AWxIzDFLarRlDWvVUG02oYOEJde6J0ZKYMiZTriP?=
=?us-ascii?Q?T0lFps7WXMg+zi8dQwBw3sBQIifrZc0OKEfgdIILNJGvNAiacw+CDmOcmv9x?=
=?us-ascii?Q?+kea9EIrO8QQOvwU9BRuZhuXiFw9V5xQzk+1dwmyuzhFvNMQei6t1nfMB3cm?=
=?us-ascii?Q?YxjYbW+o28kIX5idcgii28Knfud7h+v6qwVgZtnTLUpz8yoO1HhbkQjNLX2G?=
=?us-ascii?Q?IkQI7hHrgno86LOL6TC0K9fxmXzuD1sVblMHd2Y62WCPlGIMItct+IbPZoQZ?=
=?us-ascii?Q?ZIudp+6p1SYjwePFnTXFxeJU56DZk8yZ8K9tIE5Qlb+wylJPqMWV8g=3D=3D?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ElHhm7TgHREYKmPswHqTiu1rgjdfBQsowGQFI7I4ECOw1u6Fyrn60ikdRk+o?=
=?us-ascii?Q?kUnpFtYjNpnUKAeEZaMVXb8Nwcxr3NZ0J3iztRT9Q6eGnO4iqx1WOBhyimav?=
=?us-ascii?Q?ZDADZ2OU8nwsqELjKMatTafCObBbVrMg+Ujk8pP3vavKkRE3BCQq07rLi70u?=
=?us-ascii?Q?KE+MYYDq3f3/YMAxbNVbiSVXlW0NNoFWMf6UDn+L1AoI/tEG+Wif4hIxx6rD?=
=?us-ascii?Q?ApZc9R19VHW/NpKnqAGs1L/3fmg8NBZIZJxXwW0KwCrZfwqtFdH3sJeODh4I?=
=?us-ascii?Q?aougpG6A/gJTOkeTt6nNsBGqA69RkREeKzQDTtSQZ4zHN5J1KwzJcxj11VoH?=
=?us-ascii?Q?cXe9U84ZTcFKgYDw+56b00PpvWnxU02812baK/6on799b3hC6lsn2pL0cfv6?=
=?us-ascii?Q?OK5CqAHKOIpdZNZIVXSriP2KwTEEOA8YXRQQlKO+xXfjq/6GarYhXH49pIr8?=
=?us-ascii?Q?2DaldAdjOGSIMyg8vaFM4Iu38dVoLId3jY44kjq0VJufJjm4Oxt3U0Ob9br3?=
=?us-ascii?Q?2dhMka3EbHvJ9yhct6J734Ytq1krSkMP78JmzKODKR4+6tFehIFAzB8YQOFr?=
=?us-ascii?Q?1zUko1wmo0CGbvVYUTwY0VfjOsWyJcT5Y/ETI4LYPyBSCGUPpP5oanwibXGb?=
=?us-ascii?Q?0mMlMdkFZFFcweCQCF2lOv+Y+zjC72USkno3hkcNgdwwcgnaPGH25fO2Ru+g?=
=?us-ascii?Q?7n4LQzjHWtwZf5UqPSDetujhahBnJpmzVIGnJ6j754WcydQjOfCZZcb8f+Gb?=
=?us-ascii?Q?gJ8z/z1onOLCbuzL5+jsO7aJR56fspj72LaIS0yc4zBdJ1JA/VpiCrxCbvy+?=
=?us-ascii?Q?lqcaV1g51miV+nCjG8fvknTmKQd2L4PWXbhunB80zRZ1J7i6BKxeb1IVHkAJ?=
=?us-ascii?Q?Wf/JYomQL/hH3Gv9ZgMAmtagD2erdX6HZA6Dd8g9Iz6sheUiUKGWWaOWA6e+?=
=?us-ascii?Q?Fq1MPKD2qaAtYHdMU1hSoWtZGAJiNNm5AUhD3s8uwrQ6Hnujr7xVp/YX6foh?=
=?us-ascii?Q?X8Uqpyudrr8OfDqjZm76jF+MaefzQYGSp54sLZAt2tmZzCa3FQM5oNT1w0i9?=
=?us-ascii?Q?TAwkysB7wvQUm/kUAheMSnhFwf577NYbv6YqrULTbTtFDAaHlzdFdUp89tBv?=
=?us-ascii?Q?3VPQ7d/ZpRkoXrbC7eM4KmvSRZOiZYqtVvdmXh6Q8V4j+xyPzyodupQdQL2m?=
=?us-ascii?Q?ePoj+v5oX9+ezBMYGta0mCxILrGWqTHRzhEh2SZk9OG/Q7i1spXI0fRwuRq9?=
=?us-ascii?Q?cQ0Nc6xiaflCW5jucPFGCtwWVN7cedSmUePbfhXBzgsnZMoIsECX86afW2/z?=
=?us-ascii?Q?dAtJ06qBr4S9U/PyoHhAwoiqZNVh4Lxxo0NIoBrvZsmrhGljMjE7qOpIILUH?=
=?us-ascii?Q?IAIF8JsXHtkXmtW8SNRz8nlx1s4vK6KsvvnXl4ZNvZ2oSPWH5mtQzG7M5Jnq?=
=?us-ascii?Q?NVyq2QNyMm1shZNofDqujqnO5KEcd+h5b+jE9nv2g03HUVDXmXKw98WmF7Un?=
=?us-ascii?Q?RunJNO3tUZT6vUdmjYkPTzEFTAqly2VQsOLY3ihMmrHZmE0f77Kn0IdMra7+?=
=?us-ascii?Q?El7QLFzVqw1KDeGNaesfV89DwDKBNgc9CoUEfFpo?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30640c81-45da-42a9-0c53-08dd9dbf3276
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2025 08:11:06.7188
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ZQk+AbK/5y19tevUc4qOhX32T1OghY+KB/AdUiaik9yGizge0xQY+ksfLNm4ZVFJ6ncU8cmnjYtYwrfNjiJ1iw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB8498
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
> From: Nicolin Chen <nicolinc@xxxxxxxxxx>
> Sent: Saturday, May 24, 2025 5:35 AM
>=20
> On Fri, May 23, 2025 at 07:49:40AM +0000, Tian, Kevin wrote:
> > > From: Nicolin Chen <nicolinc@xxxxxxxxxx>
> > > Sent: Sunday, May 18, 2025 11:21 AM
> > >
> > > Now the new ucmd-based object allocator eases the finalize/abort
> routine,
> > > apply this to all existing allocators that aren't protected by any lo=
ck.
> > >
> > > Upgrade the for-driver vIOMMU alloctor too, and pass down to all
> existing
> > > viommu_alloc op accordingly.
> > >
> > > Note that __iommufd_object_alloc_ucmd() builds in some static tests t=
hat
> > > cover both static_asserts in the iommufd_viommu_alloc(). Thus drop
> them.
> >
> > I may overlook something, but at a quick glance the following check
> > Is not covered?
> >
> > - static_assert(__same_type(struct iommufd_viommu,
> \
> > - ((drv_struct *)NULL)->member));
> \
>=20
> The container_of() inside __iommufd_object_alloc_ucmd() covers that:
>=20
> #define container_of(ptr, type, member) ({ \
> void *__mptr =3D (void *)(ptr); \
> static_assert(__same_type(*(ptr), ((type *)0)->member) || \
> <<=3D=3D here
> __same_type(*(ptr), void), \
> "pointer type mismatch in container_of()"); \
> ((type *)(__mptr - offsetof(type, member))); })
Yeah it's there.
Return-Path: <linux-kernel+bounces-665061-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BA2C341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:15:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 6A0D216FBA0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:14:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C51DE269CF0;
Wed, 28 May 2025 08:11:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fAGspQnp"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C790A26A087
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419873; cv=none; b=i9i5j2pF+PfVur2hNBl97uUipAwP7GmGZQd3LmSZsDCpuHh0v0rFTU6oPC8W2HyJoZuyE2bz4Uip/CSCAqNbPnxdeTZffA8MD3HQ3B/GeEH2lmhhTunsDNefDOxTcARQL3oFkKb1bJ1QwT5HOH7aCLKoIaUGD/VxPP46j+7auYA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419873; c=relaxed/simple;
bh=Miv7nCGwvNTejjIOfYKmadg9kS3OXpi2GOuOWy9Ycc8=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=VamRZYqDqif44E3pEcnIF7wVD8SkisUFKR5NB+iIJOQV7lhl4JIl3WRSybt9CGgAS/KyoijQ75y+UBv/oppWDpglIpjpU2oa8IUZLBTivHqx56O4VFgMOceJ9j7JmtBlR/ZIIWrmZXwtoze+DLzkXgbuc5e7KKtJI3rj/vvr620=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fAGspQnp; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41E53C4CEE7;
Wed, 28 May 2025 08:11:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419873;
bh=Miv7nCGwvNTejjIOfYKmadg9kS3OXpi2GOuOWy9Ycc8=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=fAGspQnplhd7jSQyrvyLcekSXjStDCnmfp1FrblhUhIoxdeCms0KraRIpkcuPHGKC
wKF6twwr9us1JVbFWmS1gfz7udwb+GY8p4blrhXbK8plFps9/olr2pJnRERMQcyUOD
NI7Cmm+DuV3i93ONKZ7ZLMYLe/1hI3ISiX5cEKj7NvVnC8Kr1AGIPyeG3+0lWLqGPv
nCqZkzNtx9wmagoGEfPIojQY7vmMQ2JIssSgTzxxHc9WKRFPbsRGct1XsDD70I/chC
SAD0Cbsbs2kzGhs0FnpnV+p8aaaK68YJzjON+GNr7pmb4ao/5zrhWiFYgGqvTGduui
OEKb1/TrUQkog==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 24/43] sched/smp: Use the SMP version of __task_needs_rq_lock()
Date: Wed, 28 May 2025 10:09:05 +0200
Message-ID: <20250528080924.2273858-25-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/core.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 850f39fe5b8f..9eefc74f35a8 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4308,14 +4308,12 @@ static bool __task_needs_rq_lock(struct task_struct *p)
if (p->on_rq)
return true;
-#ifdef CONFIG_SMP
/*
* Ensure the task has finished __schedule() and will not be referenced
* anymore. Again, see try_to_wake_up() for a longer comment.
*/
smp_rmb();
smp_cond_load_acquire(&p->on_cpu, !VAL);
-#endif
return false;
}
--
2.45.2
Return-Path: <linux-kernel+bounces-665064-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 76C4A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:15:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A55251BC4C49
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:15:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3484726B2A3;
Wed, 28 May 2025 08:11:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Kbk5JKQJ"
Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A60126A0F8
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419877; cv=none; b=Pteys5RoYz/zGZXXa4f3mtXOvO22D0yDM1agOCmeKK2i1+MabW7vSU/MTjq023YQ0Ag1I3iwKlv8PD2PD7soF0SsIDLYaOHchm616QOOIF1hLfF6oSINSBPVikK+upfVdKSO3zcz/P3JfboRM52/pMc1A/zB26Yh+d0N2+yoa7Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419877; c=relaxed/simple;
bh=Mou1ieGyUfMk0Ql4ddZnpgGEyPlSxoqDatPUfQa5VIg=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=otLrF2UhpMYZCwnv/QDfFnRNtx35UUF0p7xQMVhW+rDiVD2TpedmsMu16hpvyjMrYmZ188nB2AzVYeiouorBJdEJhS5IsrQlVLzPmJCegeKZj9cJWvUrcf5qONxqWvr6mHnaFLZY4Av5Uc8Rdd4wKDRXUQdAls9S6xoREQOXWDw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Kbk5JKQJ; arc=none smtp.client-ip=209.85.128.41
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-450caff6336so942285e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:11:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748419874; x=1749024674; darn=vger.kernel.org;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:from:to:cc:subject:date:message-id:reply-to;
bh=2eGBmhHpAoBCXn4dDL8o5LjT2W5woVp7uljWhl0TnKw=;
b=Kbk5JKQJO6bcJ66sbfD5oJcyrM2Eejliy35OG+5TsyyaDjs1UphVXxvz3EiP24THym
W8TL8L77U4YHJ2uEjz3x+Btwy/yLy/yJS1kaOqf+jRurQ/gbdnkgCjhiXLx2CbwwrlHF
i4e+NhVR2c5Wd+mRuO5N8OIC9X6XkYb/X/lx3sKJH5zZa9J/DSQ26ZkFsee+QbtBOg1G
dIgKxd+ojQZ6gOxEpVtS8F0VPAXFKr0keXb+YXs5rIa0gJOUnsj1lVfjGNbF+d3pTjrO
7B5BJGNvbYJpEKWDUbZYpc1CbLUw5lLIb6wTFCSapplHE53XBpb+LM6c3JEEEBYnXvSd
D8Pg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419874; x=1749024674;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=2eGBmhHpAoBCXn4dDL8o5LjT2W5woVp7uljWhl0TnKw=;
b=es6IpPStrg5WnlgjRGLxsjAaj5XhkktC7VtronV/jg5f51dr9xOa91SwAhx3vWY6zM
6K6dYRebULL5jzsOWqn9DC2d8/VtdcEx69CUW0+684OOBOkF8lobfJNuCX6SYrwVX4/6
ZPKMe77YLSIx8mXOyK1+iCsOLRS1l4gI475FGt7GRmyf8x0+/6v5iJiZYmdtg1JNvMv4
cfr2tWPakvZbXc3ZsIt8TF1h4Lg2WscP5i78HTCOFojOWt9s3fWplTb3cP4AnKurnDRO
vrKurjw7wTLoge+0/t1C79ontGG5sTLLp/gNW/goSF5BggP86Drabciv0qMZ4wM/Seve
+EPg==
X-Forwarded-Encrypted: i=1; AJvYcCXk4xeOgCT2hbfiGKGfb6ViYh48Xww0lLTOkQjaRjpZVczXbcVKEbhs3/845Ho5BDm3S44ZTivAgop1Y/w=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy4SkaYY0jio+9dtR3XTKVpu4yt/hiDHbuVR96soNc4gBUUyso4
N4LZ7KpsXZVlIoyL6NQ6i5td8Gcv94dyW6J4hmvmeGwVjqJjKGL7CwCJaIblYIZMh2k=
X-Gm-Gg: ASbGncvvyvHGvSqGd3F9t9dA925QdqwhzZ2O15zc0R/DNIKwyRMms/kFLVmM2mJ4uFj
fZumF81Ta2eCyIGhpGawHdJO0A2dEdtEu4toVvlsFqaNiRO2t43HIxyQK6VhRCMmo+Dp26Df0Rn
MEhtwtIp9+Eo28hSwWVmBgft5tlAq340GzN4TBMuv0vjf3BKkOBhy+1AxmDQRh+oOuVHy3dnMjM
5UKu6hzSFad5dRLPoBy1NgKbzl9d8WWhvCjsmkYGKbyH96SjVbCU1g6ZuR1ka1GtjEKYVwDlvWa
2P9u4WyiZZzDbEh3LPXYi717kptjD8ZEARjP4DK+wlo+tgUwsIng5rbL
X-Google-Smtp-Source: AGHT+IGyt9pIlXzNb8QFnz35HETogZyJleM14B194rW68Yuuufz6AtscehzIU6fQJn738bKFOwrivA==
X-Received: by 2002:a05:6000:2dc4:b0:3a4:e8bc:594 with SMTP id ffacd0b85a97d-3a4e8bc0917mr1162825f8f.8.1748419873739;
Wed, 28 May 2025 01:11:13 -0700 (PDT)
Received: from localhost ([196.207.164.177])
by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45006498d2dsm13303805e9.4.2025.05.28.01.11.12
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:11:13 -0700 (PDT)
Date: Wed, 28 May 2025 11:11:09 +0300
From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
To: Eugenia Emantayev <eugenia@xxxxxxxxxxxx>
Cc: Tariq Toukan <tariqt@xxxxxxxxxx>, Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Or Gerlitz <ogerlitz@xxxxxxxxxxxx>,
Matan Barak <matanb@xxxxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx,
linux-rdma@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
kernel-janitors@xxxxxxxxxxxxxxx
Subject: [PATCH v2 net] net/mlx4_en: Prevent potential integer overflow
calculating Hz
Message-ID: <aDbFHe19juIJKjsb@stanley.mountain>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Mailer: git-send-email haha only kidding
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The "freq" variable is in terms of MHz and "max_val_cycles" is in terms
of Hz. The fact that "max_val_cycles" is a u64 suggests that support
for high frequency is intended but the "freq_khz * 1000" would overflow
the u32 type if we went above 4GHz. Use unsigned long long type for the
mutliplication to prevent that.
Fixes: 31c128b66e5b ("net/mlx4_en: Choose time-stamping shift value according to HW frequency")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
v2: Use ULL instead UL.
drivers/net/ethernet/mellanox/mlx4/en_clock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_clock.c b/drivers/net/ethernet/mellanox/mlx4/en_clock.c
index cd754cd76bde..d73a2044dc26 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_clock.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_clock.c
@@ -249,7 +249,7 @@ static const struct ptp_clock_info mlx4_en_ptp_clock_info = {
static u32 freq_to_shift(u16 freq)
{
u32 freq_khz = freq * 1000;
- u64 max_val_cycles = freq_khz * 1000 * MLX4_EN_WRAP_AROUND_SEC;
+ u64 max_val_cycles = freq_khz * 1000ULL * MLX4_EN_WRAP_AROUND_SEC;
u64 max_val_cycles_rounded = 1ULL << fls64(max_val_cycles - 1);
/* calculate max possible multiplier in order to fit in 64bit */
u64 max_mul = div64_u64(ULLONG_MAX, max_val_cycles_rounded);
--
2.47.2
Return-Path: <linux-kernel+bounces-665063-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A46DA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:15:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7DFAA9E72EC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:14:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C89E526A1C4;
Wed, 28 May 2025 08:11:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nVc9nCU7"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 01A2A26AA8F
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419877; cv=none; b=UNqRtMLXMzqvbmLWFxSw1EAdZYwDvhaxoNNMjktTyDOB3DTNUi7kWEpRwHgNfLwJEsGJG5+oHIVqCzTq+4btXz628CXsStFZi3QYBcP4bIMqXwaXfBZ0647W1vgc1y5524B3Dy5DRB8tBSpfptn05zwk1Y3v0+sLipa1lWgYscQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419877; c=relaxed/simple;
bh=wDpwR49UWi0ljBeIQkbNv8UOQoWdLigZTUZ/r3UlnbM=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=pSezs7JLa4alDa+RFMJ+1w5eZsze0wZapB7IpjRyLK64utjQsmNcm4RXHY5E5nA0FLhc+5CLLxrRN7GvCNpxfROPCxfnl/ornP1ZJZIJfg9eKXcwtnnAGsfa+HU/3Gf2GQWfa+5ahm0wL56KO97lGzNVgtWvRwkcI5OxyjlVP04=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nVc9nCU7; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C5E7EC4CEEF;
Wed, 28 May 2025 08:11:13 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419876;
bh=wDpwR49UWi0ljBeIQkbNv8UOQoWdLigZTUZ/r3UlnbM=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=nVc9nCU7eeqtbqtQT9/xbuawzxsjUGBG5/jVN7aWc09YEHEctc8/VbqXzGa+UvSuJ
WsER1psHWDChU5kmvQ3p8JYa684Xtat8JyMhkiCllOUlJOytDFRcolu+tiCdROK0T5
xsQQtR/d/gSzzxb5w0FPvqa7hJQmA4WnNfIRy/+oinT0bLTDa5qCLMmBdMMy6H3sf9
GeJ3DRlSIeDv/hjfE7W3yS0tw8xaRcIdJhQO+BtE4t6SHOg76B5nqJdEMlqEuIUfEO
8RzmFTTLz6dIFeyik4i90z+fMBw6UvhEWr5Xj5TCB5rWJw7pV4c7zXE0B/vKw3hcvd
s2+yemP6R+Cvw==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 25/43] sched/smp: Use the SMP version of wake_up_new_task()
Date: Wed, 28 May 2025 10:09:06 +0200
Message-ID: <20250528080924.2273858-26-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/core.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 9eefc74f35a8..5a77afcbb60b 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4820,7 +4820,6 @@ void wake_up_new_task(struct task_struct *p)
activate_task(rq, p, ENQUEUE_NOCLOCK | ENQUEUE_INITIAL);
trace_sched_wakeup_new(p);
wakeup_preempt(rq, p, wake_flags);
-#ifdef CONFIG_SMP
if (p->sched_class->task_woken) {
/*
* Nothing relies on rq->lock after this, so it's fine to
@@ -4830,7 +4829,6 @@ void wake_up_new_task(struct task_struct *p)
p->sched_class->task_woken(rq, p);
rq_repin_lock(rq, &rf);
}
-#endif
task_rq_unlock(rq, p, &rf);
}
--
2.45.2
Return-Path: <linux-kernel+bounces-665065-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D45A441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:16:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B18B41BC5098
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:15:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A082826D4E9;
Wed, 28 May 2025 08:11:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="pTCK4oP5"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E548F26D4E2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419881; cv=none; b=BvBrmdQQak7piE9qgQk1dferGBaGDMJnnctKGgXfn/HX4t3mPfcaWsz1fUGVE4T9+2DLV+wrNm0y4A3DvibJnBCo+NsmPjArkNz2+JVLrlWeBl739YIXLe12JAJWVqlzuMhcroImswlLhudr/8h+bHtHATNjrtHfErR0ixhOPE0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419881; c=relaxed/simple;
bh=CwbGVD7ViB6aFSnaChoiYxmAyKxsY+s2o/PK3zPWAOU=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=GgLdR7DLIks65mi/B/9jF3Me02jQAY2YL5F9E5pBCJW2BnEUnNhqCto1eQH2Htmc6K3hsP067BFytb82wZLAX/NjrouzL+JXsiZdaWkArlKIig8qJ4xsda8sTB1MHXBafAQbwEi+LqYSSAO9NbqJVONAJZVbOmNeilQ+69YbyX4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pTCK4oP5; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 54AF9C4CEEB;
Wed, 28 May 2025 08:11:17 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419880;
bh=CwbGVD7ViB6aFSnaChoiYxmAyKxsY+s2o/PK3zPWAOU=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=pTCK4oP5Ysa1Bb0D4duEeVwq5ZVsT19IYi7Czlmo5CaXlD3Hy7kTFCTytVwJ1S1c4
tYkpGkUMywYgmto17lSokBolYRcevWkuO86RxRQdH//h8Zd41EYvUlCrvjPbjC7eqi
Xgi+1HU/cqxE79b2jh1r1K813Xv+YL8LfPeiys/3YQBFx1Q0/ZKrmXLwDPAifBdm/h
bfGAi6x1RliilT/hih7JiW0M5lw+uRbdIXsVjaE91LQlYQoP/1lgrCPzq2ZSkTPQvX
MXHPVh+mowcmiTlc5+KXcmg5817eS7MdpeyqVfpw+b6wNJFEUorCx8+HNmSrHaoMyW
jMPgnOkiclQlA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 26/43] sched/smp: Use the SMP version of sched_exec()
Date: Wed, 28 May 2025 10:09:07 +0200
Message-ID: <20250528080924.2273858-27-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
include/linux/sched/task.h | 4 ----
kernel/sched/core.c | 4 ----
2 files changed, 8 deletions(-)
diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h
index ca1db4b92c32..c517dbc242f7 100644
--- a/include/linux/sched/task.h
+++ b/include/linux/sched/task.h
@@ -109,11 +109,7 @@ int kernel_wait(pid_t pid, int *stat);
extern void free_task(struct task_struct *tsk);
/* sched_exec is called by processes performing an exec */
-#ifdef CONFIG_SMP
extern void sched_exec(void);
-#else
-#define sched_exec() {}
-#endif
static inline struct task_struct *get_task_struct(struct task_struct *t)
{
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 5a77afcbb60b..ac933e6fc465 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5415,8 +5415,6 @@ unsigned int nr_iowait(void)
return sum;
}
-#ifdef CONFIG_SMP
-
/*
* sched_exec - execve() is a valuable balancing opportunity, because at
* this point the task has the smallest effective memory and cache footprint.
@@ -5440,8 +5438,6 @@ void sched_exec(void)
stop_one_cpu(task_cpu(p), migration_cpu_stop, &arg);
}
-#endif /* CONFIG_SMP */
-
DEFINE_PER_CPU(struct kernel_stat, kstat);
DEFINE_PER_CPU(struct kernel_cpustat, kernel_cpustat);
--
2.45.2
Return-Path: <linux-kernel+bounces-665066-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E2BF841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:16:16 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D60B21BC52E8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:15:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2BADC26D4FB;
Wed, 28 May 2025 08:11:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AqXd5tKb"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70C082472BE
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419884; cv=none; b=KpmrhY+o4oAtMDwcPzacqm5JH8e7TAebPEs4OKLEWZuEbPju4kDkvuRllviIKdivcQZz3Fen9wIzryUnf5xPQ/pWdp1U+IyK6nh4VX/PTqHdSOUTZWYRh8h7Y6SRbv43K3f5+UA1er4colXeAtmvwicH87TZ5b3hRXrLPxm6g6E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419884; c=relaxed/simple;
bh=MU+eHvbyChE4Bc8+8rbhPS5TvW+nIIPhEbR9gz4Z4iA=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=oFmZUykJExcnOS2lagUou6X7Fk7zfCr+AwfJ/MvX4Fcj/aJ82f7MiYjLWlbFmoDcx21twTPllRtsCDJ4OxE3Rv38zyiZgdgJF6449SnncxeytIcKbvo5pRI8NbwkOp50Ef7wY+t4x2CUcwBSr5bs85D/kidAC8VeU+a4EYmZsvU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AqXd5tKb; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D72F6C4CEEF;
Wed, 28 May 2025 08:11:20 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419883;
bh=MU+eHvbyChE4Bc8+8rbhPS5TvW+nIIPhEbR9gz4Z4iA=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=AqXd5tKbMsv+WZzZmf+4QhrXyE1gpgwiVMNjSB7B7r1QdcVWmu9bwlDF0C/kFQ/FM
+JVxVdxW32uST10rSIJYccp93pjEJ2KpWhhVHkhAIwnO1VqHZ0YqKzZE/wlZlrK0Xu
LaSR2nElUP1YwUPGdRoZUYJptMpzg4Tc6KSyMx1xAHEo8EI8GOPEqiZeE4dI+xH3M2
QrJqzd8Z3FsZCtXaUmjaNZYDI/xlEy0zsicf5LYVHDC9h0vwGfZe4ktHkczxnpLPQS
WJB3luy8cEdqxb3ngfJArM3xYI4z/EmwkDZhcCnIt2tp8GlIZq+GeT7lGHs7Tn9H7K
92mlgidEPBOyg==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 27/43] sched/smp: Use the SMP version of idle_thread_set_boot_cpu()
Date: Wed, 28 May 2025 10:09:08 +0200
Message-ID: <20250528080924.2273858-28-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/core.c | 2 --
kernel/smpboot.c | 4 ----
2 files changed, 6 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index ac933e6fc465..d2d3e5e337c7 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -8577,9 +8577,7 @@ void __init sched_init(void)
calc_load_update = jiffies + LOAD_FREQ;
-#ifdef CONFIG_SMP
idle_thread_set_boot_cpu();
-#endif
balance_push_set(smp_processor_id(), false);
init_sched_fair_class();
diff --git a/kernel/smpboot.c b/kernel/smpboot.c
index 1992b62e980b..4503b60ce9bd 100644
--- a/kernel/smpboot.c
+++ b/kernel/smpboot.c
@@ -18,8 +18,6 @@
#include "smpboot.h"
-#ifdef CONFIG_SMP
-
#ifdef CONFIG_GENERIC_SMP_IDLE_THREAD
/*
* For the hotplug case we keep the task structs around and reuse
@@ -76,8 +74,6 @@ void __init idle_threads_init(void)
}
#endif
-#endif /* #ifdef CONFIG_SMP */
-
static LIST_HEAD(hotplug_threads);
static DEFINE_MUTEX(smpboot_threads_lock);
--
2.45.2
Return-Path: <linux-kernel+bounces-665067-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 816BF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:16:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 03AE54E1E9A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:15:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D4F7B2472BF;
Wed, 28 May 2025 08:11:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KbLUUJTU"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E40372472BE
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419888; cv=none; b=QV0Mz0+9iAj34fEm3Ov3Sb/Zq/+4Y7GPG52GuJt7SV1ORrQHOTNTigMdNjMSm1yt4cU9+BFNfLCb3Nb6BQo1iHNW2q2pLoeaT/fdB9vUqSDPAFZwRuT8uqLH/5vDw3UvTY7ja2FRsJaa63o1d8hRE0M17yYIBlMG1/IJprTcgyM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419888; c=relaxed/simple;
bh=9qIjADipKCxWWsixiqxlsxQqCV/80rzVkbIAgAeM5xg=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=Kqqt5sq3ALAhvUNLQDSw7uBplmqAD1oVd/mmu9m3UemcY/eHbpyOBpkeCf6nafGjddwFifidrGoWe40HS/Pi+wpfPlmUuIbzGeanWqAhIhRiAg3KYvpLKKA/Ys6W+CNBG9FRMIxlT2wQYzcBa3yPS8ndhhog1H8pQX3dQ/Y9cW8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KbLUUJTU; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63BA5C4CEE7;
Wed, 28 May 2025 08:11:24 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419887;
bh=9qIjADipKCxWWsixiqxlsxQqCV/80rzVkbIAgAeM5xg=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=KbLUUJTUK1OKA6LQHimIbEkVHXJAgcqmhIeGZNDFs0MeKKmoZHNom9I7pq8fYUnyh
+6egr2ApfxfV3G4myPFVCN5sIAjgIGfsr+8rbqa24Uerx0bvVPLNEr5cSLNjxKvkfm
xTifqNvZRUuBI49IpI7ncx1yZQPzuqIAeJVHWjDmDgiFwLoU3DdqysIO351w+GcqXO
y9c98spVS4JI4NmW3PXEBIGj7/PJJ0GLH1IRNshdl5o0dmeExi8sUfwq6Sn+wx0M9j
EDdhvrBcKU+xl3ZuqbnHu1+bsDgGY+VhlGyzJObVrT8azdlcWayibh3JgtyP9Vmfso
EnegwLXM6feCQ==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 28/43] sched/smp: Use the SMP version of the RT scheduling class
Date: Wed, 28 May 2025 10:09:09 +0200
Message-ID: <20250528080924.2273858-29-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional in the RT policies scheduler.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/rt.c | 72 ----------------------------------------------------
kernel/sched/sched.h | 2 --
2 files changed, 74 deletions(-)
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 0cd801458eef..7119f4c8aa68 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -75,12 +75,10 @@ void init_rt_rq(struct rt_rq *rt_rq)
/* delimiter for bitsearch: */
__set_bit(MAX_RT_PRIO, array->bitmap);
-#if defined CONFIG_SMP
rt_rq->highest_prio.curr = MAX_RT_PRIO-1;
rt_rq->highest_prio.next = MAX_RT_PRIO-1;
rt_rq->overloaded = 0;
plist_head_init(&rt_rq->pushable_tasks);
-#endif /* CONFIG_SMP */
/* We start is dequeued state, because no RT tasks are queued */
rt_rq->rt_queued = 0;
@@ -329,8 +327,6 @@ int alloc_rt_sched_group(struct task_group *tg, struct task_group *parent)
}
#endif /* !CONFIG_RT_GROUP_SCHED */
-#ifdef CONFIG_SMP
-
static inline bool need_pull_rt_task(struct rq *rq, struct task_struct *prev)
{
/* Try to pull RT tasks here if we lower this rq's prio */
@@ -430,21 +426,6 @@ static void dequeue_pushable_task(struct rq *rq, struct task_struct *p)
}
}
-#else /* !CONFIG_SMP: */
-
-static inline void enqueue_pushable_task(struct rq *rq, struct task_struct *p)
-{
-}
-
-static inline void dequeue_pushable_task(struct rq *rq, struct task_struct *p)
-{
-}
-
-static inline void rt_queue_push_tasks(struct rq *rq)
-{
-}
-#endif /* !CONFIG_SMP */
-
static void enqueue_top_rt_rq(struct rt_rq *rt_rq);
static void dequeue_top_rt_rq(struct rt_rq *rt_rq, unsigned int count);
@@ -594,17 +575,10 @@ static int rt_se_boosted(struct sched_rt_entity *rt_se)
return p->prio != p->normal_prio;
}
-#ifdef CONFIG_SMP
static inline const struct cpumask *sched_rt_period_mask(void)
{
return this_rq()->rd->span;
}
-#else
-static inline const struct cpumask *sched_rt_period_mask(void)
-{
- return cpu_online_mask;
-}
-#endif
static inline
struct rt_rq *sched_rt_period_rt_rq(struct rt_bandwidth *rt_b, int cpu)
@@ -625,7 +599,6 @@ bool sched_rt_bandwidth_account(struct rt_rq *rt_rq)
rt_rq->rt_time < rt_b->rt_runtime);
}
-#ifdef CONFIG_SMP
/*
* We ran out of runtime, see if we can borrow some from our neighbours.
*/
@@ -798,9 +771,6 @@ static void balance_runtime(struct rt_rq *rt_rq)
raw_spin_lock(&rt_rq->rt_runtime_lock);
}
}
-#else /* !CONFIG_SMP: */
-static inline void balance_runtime(struct rt_rq *rt_rq) {}
-#endif /* !CONFIG_SMP */
static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun)
{
@@ -977,10 +947,8 @@ struct rt_rq *sched_rt_period_rt_rq(struct rt_bandwidth *rt_b, int cpu)
return &cpu_rq(cpu)->rt;
}
-#ifdef CONFIG_SMP
static void __enable_runtime(struct rq *rq) { }
static void __disable_runtime(struct rq *rq) { }
-#endif
#endif /* !CONFIG_RT_GROUP_SCHED */
@@ -1075,8 +1043,6 @@ enqueue_top_rt_rq(struct rt_rq *rt_rq)
cpufreq_update_util(rq, 0);
}
-#if defined CONFIG_SMP
-
static void
inc_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio)
{
@@ -1107,16 +1073,6 @@ dec_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio)
cpupri_set(&rq->rd->cpupri, rq->cpu, rt_rq->highest_prio.curr);
}
-#else /* !CONFIG_SMP: */
-
-static inline
-void inc_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) {}
-static inline
-void dec_rt_prio_smp(struct rt_rq *rt_rq, int prio, int prev_prio) {}
-
-#endif /* !CONFIG_SMP */
-
-#if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED
static void
inc_rt_prio(struct rt_rq *rt_rq, int prio)
{
@@ -1155,13 +1111,6 @@ dec_rt_prio(struct rt_rq *rt_rq, int prio)
dec_rt_prio_smp(rt_rq, prio, prev_prio);
}
-#else /* !(CONFIG_SMP || CONFIG_RT_GROUP_SCHED): */
-
-static inline void inc_rt_prio(struct rt_rq *rt_rq, int prio) {}
-static inline void dec_rt_prio(struct rt_rq *rt_rq, int prio) {}
-
-#endif /* !(CONFIG_SMP || CONFIG_RT_GROUP_SCHED) */
-
#ifdef CONFIG_RT_GROUP_SCHED
static void
@@ -1538,7 +1487,6 @@ static void yield_task_rt(struct rq *rq)
requeue_task_rt(rq, rq->curr, 0);
}
-#ifdef CONFIG_SMP
static int find_lowest_rq(struct task_struct *task);
static int
@@ -1653,7 +1601,6 @@ static int balance_rt(struct rq *rq, struct task_struct *p, struct rq_flags *rf)
return sched_stop_runnable(rq) || sched_dl_runnable(rq) || sched_rt_runnable(rq);
}
-#endif /* CONFIG_SMP */
/*
* Preempt the current task with a newly woken task if needed:
@@ -1667,7 +1614,6 @@ static void wakeup_preempt_rt(struct rq *rq, struct task_struct *p, int flags)
return;
}
-#ifdef CONFIG_SMP
/*
* If:
*
@@ -1682,7 +1628,6 @@ static void wakeup_preempt_rt(struct rq *rq, struct task_struct *p, int flags)
*/
if (p->prio == donor->prio && !test_tsk_need_resched(rq->curr))
check_preempt_equal_prio(rq, p);
-#endif /* CONFIG_SMP */
}
static inline void set_next_task_rt(struct rq *rq, struct task_struct *p, bool first)
@@ -1776,8 +1721,6 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p, struct task_s
enqueue_pushable_task(rq, p);
}
-#ifdef CONFIG_SMP
-
/* Only try algorithms three times */
#define RT_MAX_TRIES 3
@@ -2451,11 +2394,6 @@ void __init init_sched_rt_class(void)
GFP_KERNEL, cpu_to_node(i));
}
}
-#else /* !CONFIG_SMP: */
-void __init init_sched_rt_class(void)
-{
-}
-#endif /* !CONFIG_SMP */
/*
* When switching a task to RT, we may overload the runqueue
@@ -2479,10 +2417,8 @@ static void switched_to_rt(struct rq *rq, struct task_struct *p)
* then see if we can move to another run queue.
*/
if (task_on_rq_queued(p)) {
-#ifdef CONFIG_SMP
if (p->nr_cpus_allowed > 1 && rq->rt.overloaded)
rt_queue_push_tasks(rq);
-#endif /* CONFIG_SMP */
if (p->prio < rq->donor->prio && cpu_online(cpu_of(rq)))
resched_curr(rq);
}
@@ -2499,7 +2435,6 @@ prio_changed_rt(struct rq *rq, struct task_struct *p, int oldprio)
return;
if (task_current_donor(rq, p)) {
-#ifdef CONFIG_SMP
/*
* If our priority decreases while running, we
* may need to pull tasks to this runqueue.
@@ -2513,11 +2448,6 @@ prio_changed_rt(struct rq *rq, struct task_struct *p, int oldprio)
*/
if (p->prio > rq->rt.highest_prio.curr)
resched_curr(rq);
-#else /* !CONFIG_SMP: */
- /* For UP simply resched on drop of prio */
- if (oldprio < p->prio)
- resched_curr(rq);
-#endif /* !CONFIG_SMP */
} else {
/*
* This task is not running, but if it is
@@ -2638,7 +2568,6 @@ DEFINE_SCHED_CLASS(rt) = {
.put_prev_task = put_prev_task_rt,
.set_next_task = set_next_task_rt,
-#ifdef CONFIG_SMP
.balance = balance_rt,
.select_task_rq = select_task_rq_rt,
.set_cpus_allowed = set_cpus_allowed_common,
@@ -2647,7 +2576,6 @@ DEFINE_SCHED_CLASS(rt) = {
.task_woken = task_woken_rt,
.switched_from = switched_from_rt,
.find_lock_rq = find_lock_lowest_rq,
-#endif /* !CONFIG_SMP */
.task_tick = task_tick_rt,
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index de130ffa42b2..7c67e1ccc0ae 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -791,11 +791,9 @@ struct rt_rq {
int curr; /* highest queued rt task prio */
int next; /* next highest */
} highest_prio;
-#ifdef CONFIG_SMP
bool overloaded;
struct plist_head pushable_tasks;
-#endif /* CONFIG_SMP */
int rt_queued;
#ifdef CONFIG_RT_GROUP_SCHED
--
2.45.2
Return-Path: <linux-kernel+bounces-665071-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9B36641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:16:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id CD1A67B291A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:15:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4AB8D248872;
Wed, 28 May 2025 08:11:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Cf5HRH+j"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89E55270565
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419901; cv=none; b=ts0mCaSflbHHBTgYDbZjCWtgR3yV0998EmmvW7JZDq4lKuhOc5F5uz2sQSBGhujShQjLPHMSpYUz163x8bdKNgxXeyPBKFb1Yv9uKOZJSYUD4j5h9IXyMqSwmi/1v1CbVmCV71RavFF36ZsQQu2StbPUu9QViMO7sDNji5m5OeY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419901; c=relaxed/simple;
bh=HhJn8+Bkf3Al4z35LmUKeudBi8itfc26hNtt4GX4IZE=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=gYG4gwGS1G/g3NqBOZmCHfgVnrmpF7dQTNL5Bm4d0wA3z87stGRUVjTSoshAk4aHCwxAd4Uv1jvCycaFit8TvxOkCebkiEtOEsg8GF+QYEhPQHc2d2MqVJTwYWq6uEGwHPDvZmmsG8O4MtCCPN8on+xT5PKVZi9nnpUlrU7c9CM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Cf5HRH+j; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 630E1C4CEE7;
Wed, 28 May 2025 08:11:38 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419901;
bh=HhJn8+Bkf3Al4z35LmUKeudBi8itfc26hNtt4GX4IZE=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=Cf5HRH+jVr5Kcj9KAZiD76SB/UAwUOAq0MNQW9KooocId91THoq7DcSLyL4i9dMBY
VQql1n/AFRyYTMK3bYsO3dd0rj/Icp/rCDQIHoc9Oq8TfSiYSn0fxxcwjFhr92mASi
rjuIeBScLORL4RdqqE+6cX+lR4PtHU5/gAHmBzEtuQhUYbUVN1DfCRERrs1VJ1WHsL
cJ/sjngf5UYlI4DCmQ9smFpQJO/vYJr4CB4THLXiO5kbtOM9NtVm8lgfYH62XliIaD
IlGka7KfI9EdQ0lGVxXgG3G0BWVx6eg4m6r9yH2Ivbd6j52Hu7654bIRlok2rucWti
8aKZNuwwRcvDg==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 32/43] sched/smp: Use the SMP version of the scheduler syscalls
Date: Wed, 28 May 2025 10:09:13 +0200
Message-ID: <20250528080924.2273858-33-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/syscalls.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/kernel/sched/syscalls.c b/kernel/sched/syscalls.c
index d7fccf871c7d..77ae87f36e84 100644
--- a/kernel/sched/syscalls.c
+++ b/kernel/sched/syscalls.c
@@ -209,10 +209,8 @@ int idle_cpu(int cpu)
if (rq->nr_running)
return 0;
-#ifdef CONFIG_SMP
if (rq->ttwu_pending)
return 0;
-#endif
return 1;
}
@@ -641,7 +639,6 @@ int __sched_setscheduler(struct task_struct *p,
goto unlock;
}
#endif /* CONFIG_RT_GROUP_SCHED */
-#ifdef CONFIG_SMP
if (dl_bandwidth_enabled() && dl_policy(policy) &&
!(attr->sched_flags & SCHED_FLAG_SUGOV)) {
cpumask_t *span = rq->rd->span;
@@ -657,7 +654,6 @@ int __sched_setscheduler(struct task_struct *p,
goto unlock;
}
}
-#endif /* CONFIG_SMP */
}
/* Re-check policy now with rq lock held: */
@@ -1239,7 +1235,7 @@ long sched_setaffinity(pid_t pid, const struct cpumask *in_mask)
user_mask = alloc_user_cpus_ptr(NUMA_NO_NODE);
if (user_mask) {
cpumask_copy(user_mask, in_mask);
- } else if (IS_ENABLED(CONFIG_SMP)) {
+ } else {
return -ENOMEM;
}
--
2.45.2
Return-Path: <linux-kernel+bounces-665068-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5FE3541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:16:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id E98DC4E0D8A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:15:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 33CBD255E2F;
Wed, 28 May 2025 08:11:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kqdDz1v9"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E06526FA53
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419891; cv=none; b=DVkJRMMLjMZOlYhuMLPJLsYlfcjYwUNkPyimzxBcMRM85sOBTBfNqqMuliCb76cHJ7qiqiuEVFLyNzp1toyNAc/Lh+f0dJjKntohMlAESf2gzsamnZlaFOReUaPJMlCFVqQkQJzQyppWMP6gWzbCJ2HBhCGGKgcLKOltzjD9fS0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419891; c=relaxed/simple;
bh=phChXyA4Hfddq3zV4Apy/8kpLlEUlQ4HQMTQhYZya1k=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=Y+lHayNeXby0Xs3bpzu60iLo/xnd+3e/t0TVBrY8ubxGQvmLAMI2Q5C4NgYsX7UyluHJiLj90hxdwuJudEp5V4f3XUfiX3hGSNpAyWsmzwKKZjCVgGglZjE88q0JS0tLlgHpXikLH3AoVYpGOPK2qSgs9ZDn2Ti7CEilQ9uKRJ4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kqdDz1v9; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DF529C4CEEF;
Wed, 28 May 2025 08:11:27 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419890;
bh=phChXyA4Hfddq3zV4Apy/8kpLlEUlQ4HQMTQhYZya1k=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=kqdDz1v9R9JjWG3vnw4LSoJ6MR3dTElF9hThkHn3dLSJECidLQT2EiTgYNS7rTx2f
FRhY1b7fJNGiwbjoneLD5HrIlhEDYORMdS3k/N+PF3VdYuZm470yXVkIUsBjDY7qPS
zA/q+ruZe8jWrUvmg+4bPG7UYU96BUGcrKb4rPsC4efHIq7im3axzIX/okMXU+TuUv
0y/oHPRgE+wFWqTAO+rv1dbLs4qKdGNYxWLLjhnzwJVTeReQy3ONnp4hvguu/Pqc5G
QXSFp7sJomq1/PkeHszJJTIVMYhs14OHkwO1Dgt7XeJd8VPECBzjbaOKjD6z/WJFvV
8evWcIOHmUI/w==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 29/43] sched/smp: Use the SMP version of the deadline scheduling class
Date: Wed, 28 May 2025 10:09:10 +0200
Message-ID: <20250528080924.2273858-30-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/deadline.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 80dd95419eac..c36813af9bb3 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -3001,7 +3001,6 @@ static void prio_changed_dl(struct rq *rq, struct task_struct *p,
if (!task_on_rq_queued(p))
return;
-#ifdef CONFIG_SMP
/*
* This might be too much, but unfortunately
* we don't have the old deadline value, and
@@ -3030,13 +3029,6 @@ static void prio_changed_dl(struct rq *rq, struct task_struct *p,
dl_time_before(p->dl.deadline, rq->curr->dl.deadline))
resched_curr(rq);
}
-#else /* !CONFIG_SMP: */
- /*
- * We don't know if p has a earlier or later deadline, so let's blindly
- * set a (maybe not needed) rescheduling point.
- */
- resched_curr(rq);
-#endif /* !CONFIG_SMP */
}
#ifdef CONFIG_SCHED_CORE
--
2.45.2
Return-Path: <linux-kernel+bounces-665069-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1D3B541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:16:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 3D6254E2267
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:16:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BB7BC26B2D5;
Wed, 28 May 2025 08:11:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="iBFAdk9c"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E700626FDBF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419896; cv=none; b=UbyOjndxjcPbD/7k4z2zw3jyHDRbrHgVH0lammZCoGRigpsg+L2W0pipugmmrm8PJvmGYW/2Q8zzALa5/7rYJzjFozc7/Y4NDmCM1bI4qNUQQKawcL+LVes/7paYKA4pzWKYXpCrsvDjgcrEgXTt2DzeWWjbkwLNPB8VoyGiFr8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419896; c=relaxed/simple;
bh=vBN0Da9DcpTu33EGFTW075QZ94s78ZZf5o+m0YBdyog=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=FzMWTZ/A++x4FGDUFnfZ9XrUzWpcbWM8jt5mKRwkWNcNxWwCQgPwvXc6O4HbP6ZooyauoXs+SgdJigTxoCHQV8r8OE4cRCG7WIZtw13QcX+GAzdQMu4egk783k05PRq5/4Ay7Xkj9EPEsUqY3vfKf2cSTlQUf47T3uc236PW5HU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iBFAdk9c; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 65C4EC4CEE7;
Wed, 28 May 2025 08:11:31 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419894;
bh=vBN0Da9DcpTu33EGFTW075QZ94s78ZZf5o+m0YBdyog=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=iBFAdk9ct4zvv1Pw6m0RgC9xRQucfWbRoNfQ5VaX631DwAtdOElJfhN9RjtITikXH
FgmGe8Kz49Y6cA1trXVABM1/1+mYncTrWGAeIdyj2ymB7z2oAFwK9acHftAKynwhy/
Ni5X2xaTHld/FjJh8VT5jpLeLn7vdv8tM7o/s2SPkNAAW7AWrQUAMXRjmLHzTDyPXV
r0nvKvKUnHL6fN3nEXbWjsBr50V6TRAwbfuVay89OBpKNy3og5SRqnCseuL4ZYLEI3
RTKOOtGVzZh9o9EvG4LcB1NCxhKsyVDrnaT48s65dXnTfRiEbrbxdWXbRrR88aHfJC
d6BRwgdsbI0fw==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 30/43] sched/smp: Use the SMP version of scheduler debugging data
Date: Wed, 28 May 2025 10:09:11 +0200
Message-ID: <20250528080924.2273858-31-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/debug.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index 027750931420..aea71013c371 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -166,8 +166,6 @@ static const struct file_operations sched_feat_fops = {
.release = single_release,
};
-#ifdef CONFIG_SMP
-
static ssize_t sched_scaling_write(struct file *filp, const char __user *ubuf,
size_t cnt, loff_t *ppos)
{
@@ -214,8 +212,6 @@ static const struct file_operations sched_scaling_fops = {
.release = single_release,
};
-#endif /* CONFIG_SMP */
-
#ifdef CONFIG_PREEMPT_DYNAMIC
static ssize_t sched_dynamic_write(struct file *filp, const char __user *ubuf,
@@ -508,7 +504,6 @@ static __init int sched_init_debug(void)
debugfs_create_u32("latency_warn_ms", 0644, debugfs_sched, &sysctl_resched_latency_warn_ms);
debugfs_create_u32("latency_warn_once", 0644, debugfs_sched, &sysctl_resched_latency_warn_once);
-#ifdef CONFIG_SMP
debugfs_create_file("tunable_scaling", 0644, debugfs_sched, NULL, &sched_scaling_fops);
debugfs_create_u32("migration_cost_ns", 0644, debugfs_sched, &sysctl_sched_migration_cost);
debugfs_create_u32("nr_migrate", 0644, debugfs_sched, &sysctl_sched_nr_migrate);
@@ -516,7 +511,6 @@ static __init int sched_init_debug(void)
sched_domains_mutex_lock();
update_sched_domain_debugfs();
sched_domains_mutex_unlock();
-#endif /* CONFIG_SMP */
#ifdef CONFIG_NUMA_BALANCING
numa = debugfs_create_dir("numa_balancing", debugfs_sched);
@@ -682,11 +676,9 @@ static void print_cfs_group_stats(struct seq_file *m, int cpu, struct task_group
}
P(se->load.weight);
-#ifdef CONFIG_SMP
P(se->avg.load_avg);
P(se->avg.util_avg);
P(se->avg.runnable_avg);
-#endif /* CONFIG_SMP */
#undef PN_SCHEDSTAT
#undef PN
@@ -846,7 +838,6 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
SEQ_printf(m, " .%-30s: %d\n", "h_nr_queued", cfs_rq->h_nr_queued);
SEQ_printf(m, " .%-30s: %d\n", "h_nr_idle", cfs_rq->h_nr_idle);
SEQ_printf(m, " .%-30s: %ld\n", "load", cfs_rq->load.weight);
-#ifdef CONFIG_SMP
SEQ_printf(m, " .%-30s: %lu\n", "load_avg",
cfs_rq->avg.load_avg);
SEQ_printf(m, " .%-30s: %lu\n", "runnable_avg",
@@ -867,7 +858,6 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
SEQ_printf(m, " .%-30s: %ld\n", "tg_load_avg",
atomic_long_read(&cfs_rq->tg->load_avg));
#endif /* CONFIG_FAIR_GROUP_SCHED */
-#endif /* CONFIG_SMP */
#ifdef CONFIG_CFS_BANDWIDTH
SEQ_printf(m, " .%-30s: %d\n", "throttled",
cfs_rq->throttled);
@@ -964,12 +954,10 @@ do { \
#undef P
#undef PN
-#ifdef CONFIG_SMP
#define P64(n) SEQ_printf(m, " .%-30s: %Ld\n", #n, rq->n);
P64(avg_idle);
P64(max_idle_balance_cost);
#undef P64
-#endif /* CONFIG_SMP */
#define P(n) SEQ_printf(m, " .%-30s: %d\n", #n, schedstat_val(rq->n));
if (schedstat_enabled()) {
@@ -1235,7 +1223,6 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns,
__PS("nr_involuntary_switches", p->nivcsw);
P(se.load.weight);
-#ifdef CONFIG_SMP
P(se.avg.load_sum);
P(se.avg.runnable_sum);
P(se.avg.util_sum);
@@ -1244,7 +1231,6 @@ void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns,
P(se.avg.util_avg);
P(se.avg.last_update_time);
PM(se.avg.util_est, ~UTIL_AVG_UNCHANGED);
-#endif /* CONFIG_SMP */
#ifdef CONFIG_UCLAMP_TASK
__PS("uclamp.min", p->uclamp_req[UCLAMP_MIN].value);
__PS("uclamp.max", p->uclamp_req[UCLAMP_MAX].value);
--
2.45.2
Return-Path: <linux-kernel+bounces-665070-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 62A8241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:16:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3810E3BCFA6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:15:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2EC1027054B;
Wed, 28 May 2025 08:11:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TjFcVLiJ"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 65568270ECD
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419898; cv=none; b=Cg0jRO3rnuo/lSNMHoU0yKy8VYe5nro9gWtJy5mzasTNFupxDSvcKHEhcK+dCH53Q+Y4YK9gQC2EAhL/2sYD8wRa+oubJ80Q2jizg2W2rJHvKxXtJ9/1PmCGsbrytEJ7pMC4uNAJ8bwcXWnesDGqBvM56pRNC80OxgWrJU9jmFo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419898; c=relaxed/simple;
bh=jm3nLmXD/nEkkUF7+EgdT+Vbjj+DyhZtqeD96ddwuLQ=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=nIApvgdAVJy7mEMDOMdVFDdKNuvWMQ58rBPWPQzZcTTvZwuIzngcGSWco3nZD1uVAANYmzfpIWlr8QHY93R/ImwiR4ElrmfrHfM661AlYa9/RuK3K6barx0/No8GrxwEGHG9EIonvwgu5lNy9HZ+4L1Al9ouF4xcFubRgkUV6F0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TjFcVLiJ; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DF501C4CEEB;
Wed, 28 May 2025 08:11:34 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419897;
bh=jm3nLmXD/nEkkUF7+EgdT+Vbjj+DyhZtqeD96ddwuLQ=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=TjFcVLiJ77ZidQ/IhhUZMaZRIhbyMTvDDaudL0Q4eM5L1izvYle3q7cR4uEaJ5Vrv
Bii88qOyB9+LbPgYwf7eYCRGiliEZ1inw3bIgsm4BrpaZy9JY/Xq7XT5aR5QhIoK9p
g+W2JFx3i47FirZVd/dMxOxUqLeflsFL+C1PahgQ9biWReDlrk2CLn8wwdwfeZQeUR
EJv74J5+EZeEYT+S8BEOvWHOXuD3MiL6ZaZZK5rRgKRC6TVrIf9RbZgjN4iZG9BsXm
fN7Xr2SqxaoqprFtGoqHBorQ63yemdBd7vpNiBnbKZHil1BLzYU4nCse/A8tC2okfq
o+bMb1eK8Gmtw==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 31/43] sched/smp: Use the SMP version of schedstats
Date: Wed, 28 May 2025 10:09:12 +0200
Message-ID: <20250528080924.2273858-32-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/stats.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/kernel/sched/stats.c b/kernel/sched/stats.c
index def01886e93f..adb40371e370 100644
--- a/kernel/sched/stats.c
+++ b/kernel/sched/stats.c
@@ -114,10 +114,8 @@ static int show_schedstat(struct seq_file *seq, void *v)
seq_printf(seq, "timestamp %lu\n", jiffies);
} else {
struct rq *rq;
-#ifdef CONFIG_SMP
struct sched_domain *sd;
int dcount = 0;
-#endif
cpu = (unsigned long)(v - 2);
rq = cpu_rq(cpu);
@@ -132,7 +130,6 @@ static int show_schedstat(struct seq_file *seq, void *v)
seq_printf(seq, "\n");
-#ifdef CONFIG_SMP
/* domain-specific stats */
rcu_read_lock();
for_each_domain(cpu, sd) {
@@ -163,7 +160,6 @@ static int show_schedstat(struct seq_file *seq, void *v)
sd->ttwu_move_balance);
}
rcu_read_unlock();
-#endif /* CONFIG_SMP */
}
return 0;
}
--
2.45.2
Return-Path: <linux-kernel+bounces-665074-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7FBED41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:16:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id ACB2E7A240C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:15:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A7658274649;
Wed, 28 May 2025 08:11:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="D+zUWDuL"
Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 13CA7272E5D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419909; cv=none; b=SdSicsmqyzMi6ZYbCRT6voZDiqLtV9WQI8rLh2ZlawSy+co3QJJL+RCeTYPCtUXIdy9vipu7WrrWZrK36BMZepq0rmTRjlS/+cEVDjMVK5SDb8P+hZPX+SZ+oQ5TiNWfzbymvf1/bGIx8bBw5WiQ9aOtLR9i6CP8aI8+17n6QLM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419909; c=relaxed/simple;
bh=vaHMQ2ZjJxntFZc5U5J5R37wyOU0aE1VASANrNBzvTU=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=V3o1MhNlFCTq2AE4inNz7BVIOq/ITvk/AHcbWnBTUO23wqXmoLibbE5a0xdsRBwjaTEw+90s7GlCPKDyGo/GpKOQxjCHkO5ZeSuMI7Ar5ugoXU+OX0kR92MWKOFAKUGmsCk6inYZH1fMkciofA/FB2WMADZVok3SNoqlxcdjQjU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=D+zUWDuL; arc=none smtp.client-ip=209.85.221.41
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3a4dd5f69e7so1830994f8f.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:11:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748419905; x=1749024705; darn=vger.kernel.org;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:from:to:cc:subject:date:message-id:reply-to;
bh=z/FCb16iLm7G0e3WCUiTZyQQx/X2uoabvGUpmWxpr2A=;
b=D+zUWDuLXuCSyHSpEM6Xa5G8GHzw1Fh0FidaHr98vmF0wMx7IPIeMMaEoBqjoTQ17v
FxN2bnHvAz8Z0Ijsxxi5ffVM7v9/F7lmfi6a63Cmgb3RfTU0o7qSAJIX5HQEWC5L/ioI
1FhqrHl7h9EDm6+enRbK4ao/QyyF+l7vaiABxGy+3ydVTbaYKV6XoXZxMaaqu747SDuc
F2/0qhrK6Wjs7khqLXCH/6SFvdDm8GP1z/6Fu1v2gYXF2BTj7MsDI4lo12DWRGHiL9tg
7Z6G4rFf3vBQgblbuvAdYaDBqpxhbzYOBKg3+eCEtHoQkV7ME6fPFFpN4VoCV2F6SE5C
kCxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419905; x=1749024705;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=z/FCb16iLm7G0e3WCUiTZyQQx/X2uoabvGUpmWxpr2A=;
b=Lkc9QHWiMK374HiGcZFIKLODgf5XXDZYBwtp/s/RLAYn2wfka7Iq7KWvPIw3qxak17
IjQqV033ABcDyw9rzKBRxp8IOEB4tla0CuKiYeqsVhaxUSbC9BiltA65j8GTbxaHYSKC
+HkYKjHJZZPYopVhPTydZPLgKaSla6BsR+6ipeVJ9tpuaMR6BlomLG5gafAtt3RxYK+g
u4L9rwQSTw7weifmgwbv00/4VCW4txJu1xN2rs9YalAiW8oQTEip1QyV4h1Q4ehEb4ZN
2GxSL1+JXqSNwywp0sKX0d0PDoNZejmB29jrRVEOnfvv0dWNXJgc/Z6esNLpop23MfdD
Hg0w==
X-Forwarded-Encrypted: i=1; AJvYcCXwyOvRJZInzvEpR0NhhWBVS2Qe1nikpkFpLfCjATXNBV5wcuIG5PWL/fkxtiBsYxJDXtcxDbw/OUUv/P4=@vger.kernel.org
X-Gm-Message-State: AOJu0Yxsu+rOQDsBLJzO7NFk+Lc/j1t/LHRXGa+4YISGDB+WQFxkdn4n
hG8byb9zfwZRO9Zf1yE8E1odidmCYZz+YLBcK9EKSygMahFz85Eh5uhWkyiW4HsEnKU=
X-Gm-Gg: ASbGncuZ+F6CtfGR/oDxn835aDVoKMfyriG3S8TcX3pMMi8nfIxT81Ld7qO3C8Acr5G
9tIhK00HcqRO7hDlYf/E5M3d7mQWWfRX9B7m0tGABwYvVfi877n5lY2/CaxMnAZhQu/OQkw8T08
yiCVjLRAivrZsH/IxksWYe4eWBRdUtjlbn3IXEZwEGr/OjX0fVViJ/iK4ffPmmMUw6ePYzV8/yT
QFYrNb/yzYTtJZZCJB3rZYEVsF87yt0CWppBqu+vqN5JIcYwkAhkpFuTjlHndnYjw9u/Kqw0kdR
MQVjnz0ZDcjHIRohvuKbDl7MvIB+xLGzdn36gR7zLpmC4H0S/Te9BrPppKPySUf5Jqs=
X-Google-Smtp-Source: AGHT+IF/wZakUcvuphAcq2wGl7JnOIxHt9unsVJgGESVrVbsKufI2U86TIxeSul0ISFVlHUGaRAdxA==
X-Received: by 2002:a05:6000:2282:b0:3a3:6958:88dd with SMTP id ffacd0b85a97d-3a4cb436d3amr13082654f8f.23.1748419905264;
Wed, 28 May 2025 01:11:45 -0700 (PDT)
Received: from localhost ([196.207.164.177])
by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a4eac6eb45sm798948f8f.12.2025.05.28.01.11.44
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:11:44 -0700 (PDT)
Date: Wed, 28 May 2025 11:11:41 +0300
From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
To: Shiju Jose <shiju.jose@xxxxxxxxxx>
Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx>,
Jonathan Cameron <jonathan.cameron@xxxxxxxxxx>,
Dave Jiang <dave.jiang@xxxxxxxxx>,
Alison Schofield <alison.schofield@xxxxxxxxx>,
Vishal Verma <vishal.l.verma@xxxxxxxxx>,
Ira Weiny <ira.weiny@xxxxxxxxx>,
Dan Williams <dan.j.williams@xxxxxxxxx>,
Li Ming <ming.li@xxxxxxxxxxxx>, Fan Ni <fan.ni@xxxxxxxxxxx>,
linux-cxl@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
kernel-janitors@xxxxxxxxxxxxxxx
Subject: [PATCH next] cxl: fix return value in cxlctl_validate_set_features()
Message-ID: <aDbFPSCujpJLY1if@stanley.mountain>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Mailer: git-send-email haha only kidding
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The cxlctl_validate_set_features() function is type bool. It's supposed
to return true for valid requests and false for invalid. However, this
error path returns ERR_PTR(-EINVAL) which is true when it was intended to
return false.
Fixes: f76e0bbc8bc3 ("cxl: Update prototype of function get_support_feature_info()")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
drivers/cxl/core/features.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/cxl/core/features.c b/drivers/cxl/core/features.c
index 6f2eae1eb126..7c750599ea69 100644
--- a/drivers/cxl/core/features.c
+++ b/drivers/cxl/core/features.c
@@ -544,7 +544,7 @@ static bool cxlctl_validate_set_features(struct cxl_features_state *cxlfs,
u32 flags;
if (rpc_in->op_size < sizeof(uuid_t))
- return ERR_PTR(-EINVAL);
+ return false;
feat = cxl_feature_info(cxlfs, &rpc_in->set_feat_in.uuid);
if (IS_ERR(feat))
--
2.47.2
Return-Path: <linux-kernel+bounces-665072-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8C02641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:17:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 8A29E1BC51BF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:16:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 49A72272E6B;
Wed, 28 May 2025 08:11:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="pS0BAVO6"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C0B7256C76
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419906; cv=none; b=RgxmZ3vDSePLETQWFIMtaWkkIM1R7YKJHpfyfxxZYx/mIA6uVkFufZDxqiVbg9OBCQoU2MteXVizw/Y/ksZS32UlrjwvXJI0pe7TAxXSrC/1LfTHEesIrnMZY4hKaZyezuJw2a0/Gj+pABDrb5+th2f23bPuA5KaTVsbnAWzxzk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419906; c=relaxed/simple;
bh=LAFq8PNLkFQldtV+H8a7KGA+i1YMFB1mG1+pstgzw1s=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=tbRMGqQ/dTfj6mJgJ8zVA/1kx/raU6NpzFbkErGq15Xte0qZCbPRU1dovEM//EKfKEnk9Hu1IblBsikMdRaiQBXLb6mCx3Q6xO/VLI9HBFbs63AqOVsu5vYB5f0QkPVI3QiRLYV1O91LJJ371L72Z2CnR5Ey0zAxUMHUqceV0KA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pS0BAVO6; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DD0C6C4CEE7;
Wed, 28 May 2025 08:11:41 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419904;
bh=LAFq8PNLkFQldtV+H8a7KGA+i1YMFB1mG1+pstgzw1s=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=pS0BAVO6FXdS28TOSAxy5BXhHCG3sBYz3jVYF6i6JzwgNJlaRTz6D0Et4rbZO6ir5
S3vSAiVCxlrjOg/vGAozLP5FXqRk2NKDYGRSXrJ7AWYQI1ZHtFE9qSrI63cLRRKekr
+czqADuneg46ssfXA+pQ7nWkl9+FtoEclQ+mr5uASMf0K313lvv5+xvBaHW/d7ZkiY
E6FVKiBhx10hhYSXBBzqjXBhPDHmCZJTMWtn9R05hXnpt2ptw0yfNCVoXiIu0byM/P
Rhuaw6uvO/zqz6hbnzAWj4o0sWT4SLZnpIYRnubEL2VRmmlh7eZJ5hTlzkD93Rx/Hp
LUhWhctZTVyMg==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 33/43] sched/smp: Use the SMP version of sched_update_asym_prefer_cpu()
Date: Wed, 28 May 2025 10:09:14 +0200
Message-ID: <20250528080924.2273858-34-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/topology.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 72a9a8e17986..18eb309fd8d0 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -1336,7 +1336,6 @@ static void init_sched_groups_capacity(int cpu, struct sched_domain *sd)
/* Update the "asym_prefer_cpu" when arch_asym_cpu_priority() changes. */
void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio)
{
-#ifdef CONFIG_SMP
int asym_prefer_cpu = cpu;
struct sched_domain *sd;
@@ -1386,7 +1385,6 @@ void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio)
WRITE_ONCE(sg->asym_prefer_cpu, asym_prefer_cpu);
}
-#endif /* CONFIG_SMP */
}
/*
--
2.45.2
Return-Path: <linux-kernel+bounces-665073-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 04D3941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:17:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id AE1214E2423
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:16:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4BFF52741CE;
Wed, 28 May 2025 08:11:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="iPwy8Meu"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D3EB272E6F
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419908; cv=none; b=WRLEsWSUPp2uLc9TdFGqOEP89JsV4dRxWaiPYprGgkSvc87xDZM56XA4T7aw31Zqadgybe7jpbTuG1316s366luaS1SnY58pHmtweayddpGa1bnsmAuw6XMFwWlUH5lQMkF99z4bameY7wj1H1hfC/ktmn1kT82P6tyOgv3FP5o=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419908; c=relaxed/simple;
bh=L9VeFm6TXPaYNLcRaVe3jedRlD2BYFO33qmbvkTkCBA=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=qAeAVBua++Io1FmJCPU1OPjUjmB126m15XrMNGIDhkTw91vkoDEFOWT0+YUdcayg4payon7nDuefV0d54RkWK+H/rL9p41L+63bhi2U/X707Vlf3mJjClO2d0BdoIAfDgQns9FhqEorSKgik6H8ENYR08XuQuJYEHll1shmQ8jU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iPwy8Meu; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 655F1C4CEEB;
Wed, 28 May 2025 08:11:45 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419908;
bh=L9VeFm6TXPaYNLcRaVe3jedRlD2BYFO33qmbvkTkCBA=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=iPwy8Meu7GdH8nXph6bPh7x66XI9JgcgaM/jui9JgYs1EKZbLtS47BxVLQEzrZ3ne
hWGuKeoioFdSDRS5Vh+NxFWN6NkGwSusD0nva6dGASGrH1wbxhWE9O6MpxcNGEMvMQ
HEjs/OO0V6POqJJ4oCeO4oI0h9EIVBNRRkQrLZTpUAMru6FwflDmQINjsoxwZyrNTW
AMGiBnpLGqDS8Q1YLMgB26yHI7Fs/CIQhqSOQ0/hK+8EBpXPFG5/Fb62PQqkOJ0pOp
AVS0rjXla71MrePkxtUeVhk2ZxbdQuHppefZJRndVPWiaugEXkie7H2Uc6X4c4sCwX
tiZXrex5/3OQQ==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 34/43] sched/smp: Use the SMP version of the idle scheduling class
Date: Wed, 28 May 2025 10:09:15 +0200
Message-ID: <20250528080924.2273858-35-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/idle.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c
index cb01b063d733..2571ce6908a1 100644
--- a/kernel/sched/idle.c
+++ b/kernel/sched/idle.c
@@ -427,7 +427,6 @@ void cpu_startup_entry(enum cpuhp_state state)
* idle-task scheduling class.
*/
-#ifdef CONFIG_SMP
static int
select_task_rq_idle(struct task_struct *p, int cpu, int flags)
{
@@ -439,7 +438,6 @@ balance_idle(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
{
return WARN_ON_ONCE(1);
}
-#endif /* CONFIG_SMP */
/*
* Idle tasks are unconditionally rescheduled:
@@ -526,11 +524,9 @@ DEFINE_SCHED_CLASS(idle) = {
.put_prev_task = put_prev_task_idle,
.set_next_task = set_next_task_idle,
-#ifdef CONFIG_SMP
.balance = balance_idle,
.select_task_rq = select_task_rq_idle,
.set_cpus_allowed = set_cpus_allowed_common,
-#endif
.task_tick = task_tick_idle,
--
2.45.2
Return-Path: <linux-kernel+bounces-665081-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6646C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:18:11 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 964D07A4E25
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:16:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 82B0F275113;
Wed, 28 May 2025 08:12:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="axgamg/N"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C67302750FE
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419929; cv=none; b=pqejAjrStuS6TSjIheI7PTfidiilMcMfdnB/AmhrHdkxxQOPgIWUfFjashcnGbSvRA5C64AXsFe3QCmm85mrX5IDLqwhgK0Ovn8/7FKg8Ei7sU6fkLaRKYRB/m8VAXAg+p7u62UYCG5e9CZyXDwHw6gjxK724cxQdp03Rqm8wwA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419929; c=relaxed/simple;
bh=dwYh0Xw5KXdyDJX+1yXvaB7TRm12J+XmblxF+9fR9RY=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=FPXBVQ46CueKvUHSst17BDG64NY+ZONVV97xE4KmwLIkCKIe30MBTtqRZ4b2mBxOMykK6NyUtgWwU1su6Jw6Oq8mIxNARmy29Y0chXAXM0kuOBlP8/6kQ+2cYlJuWKmsacCOnQHobD5VtYt9gM5LiuFRStZvqKdpuMyktg9bDv8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=axgamg/N; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8F09BC4CEEB;
Wed, 28 May 2025 08:12:06 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419929;
bh=dwYh0Xw5KXdyDJX+1yXvaB7TRm12J+XmblxF+9fR9RY=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=axgamg/N1ydx4SoZufnZCMEjgA7/6CYjYYxK0xRRKeC/abnjeUK+xoB2ZMIOP57Uu
UEBNXGKOo1NjmEaBjb5RCiP99WIuJaLjCuKowNbT+O41zCPCCJyn/G+gI+38tIpe2o
n17mq7sZJuwSztAvzbhMt5m0UU4nJivPs7qQ+o3x7NmvvaIXfrt9yJIrO1iYMZqYTX
WvxU0GxCMI7/lSWQhj5zf85JTklziCLUrblEr27BEW0GNThT95gWTMMXasII+u96Ik
H5yXHPzc2q1IM1sxgumHFbc6hEXCPIRT2pRyowikp/GDp47QakyeYik/+j2DvcbOTC
HCFW8HPDB5lmQ==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 40/43] sched/smp: Use the SMP version of WF_ and SD_ flag sanity checks
Date: Wed, 28 May 2025 10:09:21 +0200
Message-ID: <20250528080924.2273858-41-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/sched.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index fbc9d25a3e6c..e4aeb1e1c849 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -2260,11 +2260,9 @@ static inline int task_on_rq_migrating(struct task_struct *p)
#define WF_CURRENT_CPU 0x40 /* Prefer to move the wakee to the current CPU. */
#define WF_RQ_SELECTED 0x80 /* ->select_task_rq() was called */
-#ifdef CONFIG_SMP
static_assert(WF_EXEC == SD_BALANCE_EXEC);
static_assert(WF_FORK == SD_BALANCE_FORK);
static_assert(WF_TTWU == SD_BALANCE_WAKE);
-#endif
/*
* To aid in avoiding the subversion of "niceness" due to uneven distribution
--
2.45.2
Return-Path: <linux-kernel+bounces-665077-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 38B9C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:18:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 39BD64E20D1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:17:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DF7622749F9;
Wed, 28 May 2025 08:11:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TxCdjdNU"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 236752580F2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419919; cv=none; b=UpGuEpJ+wROUXUuqoQPqwin4rrd2TKfannN4WUuiIvzqy4zyWFsK1PAuhIl1RWdxgm8xrVKGkECB0sMoN8mEeMEeRGaIKNlRAtmY036EUqotkw78Y9ILIVAEeAx6TRRIsXIB9uq+5E9Cb+0YLO1xPHj4xU9Ja5ufx9QFE3OIu6Y=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419919; c=relaxed/simple;
bh=OdEdF01Lr/j0cfTsEp63McwuOtKGRi8w3iIcNvfjKK4=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=PDWbWi27kE6m2omqpy8lD2wv/cF8rMyg5rssBXVBsuntxYWxUea34yQs0y/TEftez2jufuRpQtr3VtXALs6Bi2+JA/3hsbC7EBrfLQY0vHmtytXGQHG/ilkSKGzsM6GIrtgMgk1qY+dnzreKtK/15G5UOr/TAprKcNyVbEJAOec=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TxCdjdNU; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EF99EC4CEE7;
Wed, 28 May 2025 08:11:55 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419919;
bh=OdEdF01Lr/j0cfTsEp63McwuOtKGRi8w3iIcNvfjKK4=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=TxCdjdNUbh9R6zyOeJGeZf46ul6b61C4oIw5DXFp7PxkSGkEgdV9LAljHMnJsYHDD
iUCGDWItZdPDOHelilZbB975vRQ5+nyxyTBpRorkYH6096+BDmsJXOV4wCjiljvpp9
PajWRIivPHgVBoV4mTYtWT5TaZ3VNzg3cYSFMNdWuWh/AdJ8YJpjUKIntVyGQ/hB/G
W+lap/BwgRg9W1Y0MnEbMpdJG36oq1vIX0j+QVwnitcXEnQuKpucf3z2bUjAGEu2lF
6A5SNQwkEZ1K44JeiXGyw3Pv0CVGUDAu5WL9qpKcLQjK5zGuNABcLLVFN3g1EtyVxu
ehuGjO6u6VDoA==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 37/43] sched/smp: Use the SMP version of is_migration_disabled()
Date: Wed, 28 May 2025 10:09:18 +0200
Message-ID: <20250528080924.2273858-38-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/sched.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 19808e09bd94..61a5f683c502 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -1300,11 +1300,7 @@ static inline int cpu_of(struct rq *rq)
static inline bool is_migration_disabled(struct task_struct *p)
{
-#ifdef CONFIG_SMP
return p->migration_disabled;
-#else
- return false;
-#endif
}
DECLARE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues);
--
2.45.2
Return-Path: <linux-kernel+bounces-665075-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AC5A541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:18:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 410E9188965A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:17:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 505D227465A;
Wed, 28 May 2025 08:11:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WgLipuX3"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 82904272E5D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419912; cv=none; b=qv8plivZZyqeB7R+qLSQDsmB/7YdKbHiuH3ZG8f3Cd3J92FbAc08077ClcAHM93rUnKkA4jDH/NAumQM4+CEWqMZylys5tfSOnKIl47t+RU2w7MxLUWNe/muhDD3+EcDh88lXlI035vfBx6y465bRstHVslmLwWLkMKMbSEwZZw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419912; c=relaxed/simple;
bh=ogTWmMEsymIxICRnXFYXfrvFLT7gHSyLw0APjFo2rec=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=lV5sonzSuPMuMJ+mY0alJ/ljQSF/Qs+r2YJGysTYWqaiRM6ZdRQPm10xH5Rf3r+bFszdyv5ImW4B708/aMcOeTwkhl8AoCbc+/kIMMz8vmoInCQRMNmIke2FtEgIsFpoKdflotffSSRTGoz1nnci+KcpmmuPLbeCXymGP+IZKYQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WgLipuX3; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E3FBBC4CEEB;
Wed, 28 May 2025 08:11:48 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419911;
bh=ogTWmMEsymIxICRnXFYXfrvFLT7gHSyLw0APjFo2rec=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=WgLipuX3ICPcvodtpS4mxNu9XzZOz9mXa9srdyNtgk9im7iOqRLT5At6+RPo7gwkj
bLmGsuPsxVL1U7HzTYEp4whussFVO01GVeHIwZEdhNeTCkVwRF33vLkp/9OLCe+kFp
jJ/Frt2ws3Ul6dIm+R8iXUuL41m0fAHCclrrx0J4JBH+CUSiILjgtpsGLa+kxfbWWW
Q5Ubcthy1lCDft6rbtmjjCUwqBlATYK7v4cl+sr+HNuWWqiVrLEwEC0bpqCg4GWaN+
64n6212sYQE/hv5QmjBxIsYp+aw0l/bNLWp0sgkOb9RpU9kV1LQ+41hgFMHGuBnxnD
I+dD64lcUQL2w==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 35/43] sched/smp: Use the SMP version of the stop-CPU scheduling class
Date: Wed, 28 May 2025 10:09:16 +0200
Message-ID: <20250528080924.2273858-36-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,SPF_HELO_NONE,
SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/stop_task.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/kernel/sched/stop_task.c b/kernel/sched/stop_task.c
index 058dd42e3d9b..7314c8be6e30 100644
--- a/kernel/sched/stop_task.c
+++ b/kernel/sched/stop_task.c
@@ -8,7 +8,6 @@
* See kernel/stop_machine.c
*/
-#ifdef CONFIG_SMP
static int
select_task_rq_stop(struct task_struct *p, int cpu, int flags)
{
@@ -20,7 +19,6 @@ balance_stop(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
{
return sched_stop_runnable(rq);
}
-#endif /* CONFIG_SMP */
static void
wakeup_preempt_stop(struct rq *rq, struct task_struct *p, int flags)
@@ -106,11 +104,9 @@ DEFINE_SCHED_CLASS(stop) = {
.put_prev_task = put_prev_task_stop,
.set_next_task = set_next_task_stop,
-#ifdef CONFIG_SMP
.balance = balance_stop,
.select_task_rq = select_task_rq_stop,
.set_cpus_allowed = set_cpus_allowed_common,
-#endif
.task_tick = task_tick_stop,
--
2.45.2
Return-Path: <linux-kernel+bounces-665083-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5002441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:18:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 81B8A7A5EBC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:17:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 939F325DAE8;
Wed, 28 May 2025 08:12:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VhfmmbIf"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D3174248F7E
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419936; cv=none; b=GkzKpPDSjNJ3jRDSF2MPwGL1EiNUUYAng6+TETVSbbqG4e2kViWXWpusV4im4SdYLZDaViVuFutFMo7JznXYE76mM+AeGtSOVsGwRXkoyQLXtcIdEAaIqJZeKjGvQ7MjANy0m6NSHWFkeBzRrqIDi1nLnbOFasE3CBiYI15X3+0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419936; c=relaxed/simple;
bh=62s0reeWfQxHXuwxdD7E6S/pqUe7Ku+24A1AX4kVVyg=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=SvNJQB3C4+ZLIyCOHQSjwxvUMIcBl1pTTK2UGo/Vm1zx8OLdwD9CAm/i/ZGPaLrwre2IXviHQ1j+usQogzE/5Z6bCuxsFXA0jYeiH294jq/QeZ0VdH7GAeaH1XTUGIeDovYMHYYtqNmo+CXy7uyMbC+EBdDib1cb2odL6QwHTWE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VhfmmbIf; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7BB5C4CEE7;
Wed, 28 May 2025 08:12:13 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419936;
bh=62s0reeWfQxHXuwxdD7E6S/pqUe7Ku+24A1AX4kVVyg=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=VhfmmbIfoYDzdqQxgcfyn9hrgIGqd9X4BZpUa2h7K1I4DKh8LnCFEKn5SGOJBx0/1
coxcOspA2NhJzz0mFIf2TDZaneKyGiRBje2MMyr0CT32ZbONCCRGjQC6ph4wSbyl5X
IA4qA4zhKV2A1xFZIdUaJNOeoZ+zflHyHKms4CQPi5Pt6eBiorxLEhWB3BuIKagBSR
BSKW/XepqrYIlKv9Ekpn7Wn8B8NeJi1l4+Ibe0wnHgyMb50AwsEQNAXkcBHLfMztX7
VJ6wAFmHxgLMgJJUKJaHg74xePOGZiGgIbKfHlCtwwigweCY7GEivq+WQcuxZ4QKqx
OuJ513gqIRw2Q==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 42/43] sched/smp: Use the SMP version of add_nr_running()
Date: Wed, 28 May 2025 10:09:23 +0200
Message-ID: <20250528080924.2273858-43-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,SPF_HELO_NONE,
SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/sched.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 20d9da03d947..e6d637015d0c 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -2672,10 +2672,8 @@ static inline void add_nr_running(struct rq *rq, unsigned count)
call_trace_sched_update_nr_running(rq, count);
}
-#ifdef CONFIG_SMP
if (prev_nr < 2 && rq->nr_running >= 2)
set_rd_overloaded(rq->rd, 1);
-#endif
sched_update_tick_dependency(rq);
}
--
2.45.2
Return-Path: <linux-kernel+bounces-665078-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DF32E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:18:46 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id C3F271646CE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:17:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5DD1B274FE4;
Wed, 28 May 2025 08:12:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AwpD6ON1"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4ACE2580F2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419922; cv=none; b=BmsCodQ/XZhNAtcmZqSvaadC+ChHwTv+nHkI1g+g82N3js5bKdBZWNH36kNPQjauSTZFTtQmGmpPXOjTiPW5UyIgxlPvfMLfqEM4Pi4e4NkcogJ2CMx/dIIN0CwomVMgxJGirWcLPIeNBijagFQy3H/1n9V1B1roawyxhU1PIhA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419922; c=relaxed/simple;
bh=fZXEfXDXoR6mUA8KJflJTQEmYbNsOdcpzlbTVIKB9QQ=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=sNYveAMV/K2fxMEYTrnnDH2vRDUfD78y6D4zGIXVqKyW/FxAR9G2IcBD74W1BsPJGufbXhpw6jlNiUmU4q4QyObGgiC2AQqSN5ZMWC0E2WHOms8kdGqaEXG6iCqgqzNwEOTqpe6NxNro+Rj8FKwcDY6Xmot1G7V4syPxoKaGsW0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AwpD6ON1; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7EC0EC4CEEB;
Wed, 28 May 2025 08:11:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419922;
bh=fZXEfXDXoR6mUA8KJflJTQEmYbNsOdcpzlbTVIKB9QQ=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=AwpD6ON1Qv9faraH5aJAAiDJGRcZrY53tfelt1/YbPrDpHRcXF2HSg4Nwb177DT1H
xERUHQzius13u76y6AIFZ6YChDFqKaZVOnUn+G+QVD2rXL67TFGnt5sRzS8KOyqbux
HZmXKW4qo+76lA7OARnNIGA3jNXLLwDufKgDRxLKntGxE8m5ZWvlQYr9O0EWgc9703
9SZUB4PYVBbEClEEu2Ljk/bn966DM5mPXLG1LcK0r+/oWCjfJdSetdRlvR1GVLpYwC
87nKuA80b1+Ln6UAi37MBBrUvSDTzvPS2mPG+n8lhVzQf2Y8xG2h/XTLjPe+Uddcbw
1xOpXEiEpmD/Q==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 38/43] sched/smp: Use the SMP version of rq_pin_lock()
Date: Wed, 28 May 2025 10:09:19 +0200
Message-ID: <20250528080924.2273858-39-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/sched.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 61a5f683c502..28e2847a3584 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -1744,9 +1744,7 @@ static inline void rq_pin_lock(struct rq *rq, struct rq_flags *rf)
rq->clock_update_flags &= (RQCF_REQ_SKIP|RQCF_ACT_SKIP);
rf->clock_update_flags = 0;
-#ifdef CONFIG_SMP
WARN_ON_ONCE(rq->balance_callback && rq->balance_callback != &balance_push_callback);
-#endif
}
static inline void rq_unpin_lock(struct rq *rq, struct rq_flags *rf)
--
2.45.2
Return-Path: <linux-kernel+bounces-665076-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 22D9441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:18:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 8E4FF188C9B7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:17:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 516C32749EB;
Wed, 28 May 2025 08:11:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="k7aVYc1S"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 968FF2749C8
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:11:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419915; cv=none; b=R8LQcYN9XRBs75yYvtBwKz830KToArEjOcc3UwwJhkuy+7skM6CinC5jX3SIpmHc5OSO29SUjddXzTpLXRKK96U01ks83+RALMCPB4J2fC6ZEm37xcO1rXYOHRs1BcUMmuX/AUHM3Oyj6KmK4KlIYJ19+DAnxK4QbGO2zk/k3D4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419915; c=relaxed/simple;
bh=kE4OMaYgnKgLZviVYjit63KeaW99OsI+UKX2oXISfuQ=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=YbIbt1vBE/YI5pgJ7jDy7BxzNzpc6Hyb59KTGoBqNrbUKKwHwjmpjdA9QUlmDENA1KEL0phTeAUswxvuby0T6mmRMgtZN0FhJvEMruqqhik1B7IiLeCnfEnXfFsGJLhZg/C4Ni3rzEiz7Xvn6VIEcCHazm6MhK6RRO3JjBkQ6jw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=k7aVYc1S; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7001DC4CEE7;
Wed, 28 May 2025 08:11:52 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419915;
bh=kE4OMaYgnKgLZviVYjit63KeaW99OsI+UKX2oXISfuQ=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=k7aVYc1SlQQlVCzn0R6QoHIpn0mYS62sE1dlMWXr+rAcZ1reIi9iv3nv6INHYyhBt
dEiHsof6tSTOsduxzqYZNUhkBPGnZMd5zqJRGKBB+pxmvUOdfLdMmeHWkoVD3rx3DT
jfxiyJqqm4+zD2mQ44iSsaaBBoWSFc8HgGprpzIhDUm8AALsJr2x4DA33gy5kXCks4
Xh+9VUdzQDLn7nECx5IJcJWfTaEd2q4dPWG4gTqzor7RZz49A4aOzyQT5nmUHM0Coi
miIXEbGTEECUIm5Q0DFbKsVq5Et253dA9zlnMGmGAwM2BAWD9qgaiyVo7zyZcqmr61
8Yi5z7igAwMGQ==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 36/43] sched/smp: Use the SMP version of cpu_of()
Date: Wed, 28 May 2025 10:09:17 +0200
Message-ID: <20250528080924.2273858-37-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/sched.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 7c67e1ccc0ae..19808e09bd94 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -1293,11 +1293,7 @@ static inline struct rq *rq_of(struct cfs_rq *cfs_rq)
static inline int cpu_of(struct rq *rq)
{
-#ifdef CONFIG_SMP
return rq->cpu;
-#else
- return 0;
-#endif
}
#define MDF_PUSH 0x01
--
2.45.2
Return-Path: <linux-kernel+bounces-665079-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 04C4741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:18:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0F39D9E258F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:17:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E4D152750E2;
Wed, 28 May 2025 08:12:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="iwX1b/+C"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36D20248F6A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419926; cv=none; b=CpIb3ruSGfWOCLT1ZemFxhK8XvU1LZw6oLEKQ6f/sQJ+jrxsOw1+w38nQSo06MbJwkVAczwnAkyHFJ5+TQpuIvKfEyNVFLxQhx5ROfxDwZEpbMIo2G1irxUgY4KowS4hLfJGlGCxbdEQyuoPHdy174PmPlCvG3d71T4ApO7tVUE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419926; c=relaxed/simple;
bh=EWBGbiAoT9c7/GC67CiLl0LDzZ4HPT2SbxPRGmzMgYI=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=uRee8a9VydQwLXbUnho3BzVhPAqIUXCnRZrFqNxkf1FYKGAA6eEmkc93TL45Dj9JFPTp6eRnQ0c0B55OJNILcX4NoNvrJ3n+eN6w3TvglEIYzJy8qsAfdZNfQiowdkwqP0KlGR1CSdjXBLs/qYpeO8F477AI6YoRvGEcQAqlDBw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iwX1b/+C; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0BB5AC4CEEB;
Wed, 28 May 2025 08:12:02 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419926;
bh=EWBGbiAoT9c7/GC67CiLl0LDzZ4HPT2SbxPRGmzMgYI=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=iwX1b/+CZjdfcTZIjSLQ1CxOgkjSd/9P5M3zefKWRKcYC/gESUzVeHYji2rMT3iDc
fR+zJBjxcFBxKLUsAAhUHwzQPC2cY38YKR6J4u+AWFSrUVnAdLE8NhbnLhoiMHRwdi
ocinKFFfRWx1og3EfReT6xHCxSh+tdY8RXvZ2wdTVAeM42h54k0pHeguGzFKIHs7mA
N1PqexnDHyDOo7SLzC+QYOD0ngOm+5m676b6SLK2qD7CsX9I7u7UJyvpXQ+8AYcXIV
UjHJvSrnCvoCZBXUxcyT0SJRTSJQpRLE/eVLZPP+zPqaYl9apuzP2QHqIbGzOq0wfN
Mpn/Ak2OzW2kw==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 39/43] sched/smp: Use the SMP version of task_on_cpu()
Date: Wed, 28 May 2025 10:09:20 +0200
Message-ID: <20250528080924.2273858-40-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/sched.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 28e2847a3584..fbc9d25a3e6c 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -2237,11 +2237,7 @@ static inline int task_current_donor(struct rq *rq, struct task_struct *p)
static inline int task_on_cpu(struct rq *rq, struct task_struct *p)
{
-#ifdef CONFIG_SMP
return p->on_cpu;
-#else
- return task_current(rq, p);
-#endif
}
static inline int task_on_rq_queued(struct task_struct *p)
--
2.45.2
Return-Path: <linux-kernel+bounces-665080-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E047241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:19:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id BC2613B004B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:17:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 021E1275104;
Wed, 28 May 2025 08:12:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bgwepJs5"
Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4D6B2750F0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.42
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419929; cv=none; b=apvl1ow5+NJQTMtZZymjaLIKhHqY4ioTJBS3TA9nMA8g1LIS9/fioKHfG6boaHWPOjXzcHj+gtziNGwHUjQ4qbkt1+ZNIPts/jT/xpAIhOw1nJGjibrofEaJEsTUXbgL3WT1+MDW7b0czvsAdjOUkJVWf3lmUzHSLx24XMoS2mo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419929; c=relaxed/simple;
bh=iq49G9wOYggjoDJcANMi0VVctc/wtpWsREH7YqiZsIc=;
h=MIME-Version:From:Date:Message-ID:Subject:To:Content-Type; b=g/J9jgH5vIJH5sPEhzOckDqecrVDcQbs/FVJVjQ+HzBjGvSS/aOOEp33ff4Ac/vf4U6g8DbQs/QbmZ1Meuv7CFOcO6rAy1p6U0NBWvvn2csaFotiP37iSq9X96H7FuD5gqHoguNRXPvzj2UqAeUk/+aWzaYiFtNEaUiyuXeBVrM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bgwepJs5; arc=none smtp.client-ip=209.85.166.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-io1-f42.google.com with SMTP id ca18e2360f4ac-85b3f92c8f8so83822439f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:12:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748419926; x=1749024726; darn=vger.kernel.org;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=LGZqeibOWB7S91gACjnl9P5+C3jb6bhNOrGxwNqaoHA=;
b=bgwepJs5V2h7N0dj5v4/zO9pK9kdcIYULXlnCTnp1WrXb0win6OXgnVyazlm+MscxL
4Wn6sVC9btEYrcwh/FQzKwYidGxlov8mfohKGutRisFHEcgHtFL6/vKWmur/FpuF21V3
DhShe8ZEK+Tk4Op7oHZ8ZaUQABsgGvlImJxiHSH6uuhiK/YIDcXu7JgKVb2EP9D1UYDz
/6waZAUESa4KsaUWdCTsKfr449twR2tO0xEeb27G0OnCEpzMJFxZYxtKCV8MPxzAaLJj
jYRTuj7w/7XsPLHLRDme6QG+95HHkjG/m7nlhVlS661A1nzaXoLX5fjg3QvLAFizKGEq
TRVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419926; x=1749024726;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=LGZqeibOWB7S91gACjnl9P5+C3jb6bhNOrGxwNqaoHA=;
b=sDUgEhgGazVGzH6VzlJfKF3srWWViBD3kxh9UBKG9QSJKcLHhnMzRN77iUN7VpqhSk
pVH3enmULwlxhnmcY7/35Flj0SVCctJFwRWOyd36dJqLYhfmwxP5XpFlvWDp27Lm7kIR
+ZQAf3wy9Gvhr/hgiXvUUTUBOQtLxS039JHE8a/Hvc/LU35FM12H5SeVXIv71yULptBX
eVvLoDDFQAXUhAkV0zexUlTY0qDg5sPK9tt5+P1898in6e0YQdbQAT3UNiaPh7eaO7xM
NyqE73dAVjPUAeCuuDYG1OiZtA5Zg7KHw/v/Jii9wdRLVbnod9S1TK4JftbH3s0MrOUb
URbQ==
X-Gm-Message-State: AOJu0YyaIiJZBSagYP6NG8wLiTDjvHtjT9Pz6Ki0k0Bo2mbnes7OhVxf
W0fDsDy+eTPy1CKDcPGXA1xBYlPzXxeRJmiHF+dyp/5vHsVcqMKHAfw7Q1PMpQN2EMETKfOm1+P
HvnuBSgyw2QIKUvafIcQqi5oUA6ppMSUeN1u/h7/1hw==
X-Gm-Gg: ASbGncvrlwb1BYt1uIrF+wFetYwnR1ys6Wo6w1HP+Nsh52vnN54P2Q/og5o3TJ2dNXz
2PHypnK5sq4Ca3AFrLMTHQgf/25UhdEn1bWRnjgMnWGo2bTc7mvx10zIDolo5JEQAeCX2eyxBvf
q/SFtb6G1Ea1PKGDJIvehjsFL/vFwhJ7/q
X-Google-Smtp-Source: AGHT+IHpFfy1sdCvk3W1Rd9jWY5bWNJkGf0+jjyu1BQLChSZ07zVQ/pkk5+oePaDY+2em+LRUDdvDfvX5Vbfk5O15Sk=
X-Received: by 2002:a05:6e02:12e8:b0:3db:7b4c:309b with SMTP id
e9e14a558f8ab-3dc9b695e1dmr163220745ab.2.1748419926500; Wed, 28 May 2025
01:12:06 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
From: Andrey Khalturin <andrey.khalturin@xxxxxxxxx>
Date: Wed, 28 May 2025 11:11:55 +0300
X-Gm-Features: AX0GCFsxCqR5KCgBY-3wMsAyTWPvicMPxDPJwSc_GOhMypD9xcUWmAPUlKhMjFI
Message-ID: <CAPEB=f0QxT2S9q2znpML35z+YyMVJ7p2kmr2sON+m7eJ=XbMpw@xxxxxxxxxxxxxx>
Subject: Subject: BUG: Process termination deadlock in exit_aio() vs device release
To: linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Problem Description
We have encountered a fundamental deadlock issue in the Linux kernel's
process termination sequence when using libaio with custom kernel
modules. The problem manifests when the OOM killer terminates a
process that has pending asynchronous I/O operations managed by a
custom kernel module.
Root Cause Analysis
The issue stems from the order of operations in do_exit():
do_exit()
-> exit_aio() // Waits for completion of all AIO operations
-> wait_for_completion(&ctx->comp) // BLOCKS HERE
-> exit_files() // This code is never reached
-> close_files()
-> filp_close()
-> fops->release() // Custom module's release() never called
This creates an unresolvable circular dependency:
AIO subsystem waits for all pending operations to complete before proceeding
Custom kernel module cannot complete operations because it's
unaware the process is terminating
Module notification (file_operations->release()) only happens
after AIO cleanup
Process cannot exit until AIO operations complete
Scenario Details
Service process uses libaio to communicate with a custom kernel module
OOM killer sends SIGKILL (uncatchable) to the service process
Process enters do_exit() but hangs in exit_aio() waiting for
operation completion
Kernel module never receives device close notification via
release() callback
AIO operations remain pending indefinitely, preventing process termination
Current Workarounds
Kernel module developers currently must implement workarounds such as:
Process state monitoring - checking current->flags & PF_EXITING
Timeout mechanisms - forcibly completing operations after timeouts
Task work callbacks - using task_work_add() to detect process termination
Proposed Solution
The process termination sequence should be reordered to notify drivers
before waiting for AIO completion:
do_exit()
-> notify_drivers_of_exit() // Signal all file descriptors about
termination
-> exit_aio() // Then wait for AIO completion
-> exit_files() // Finally close file descriptors
This would allow:
Kernel modules to receive early notification of process termination
Proper cleanup and completion of pending AIO operations
Graceful process termination even under memory pressure
Impact
This architectural issue affects:
Custom kernel modules using asynchronous I/O
High-load systems where OOM killer activation is common
Any driver that legitimately expects release() notification for cleanup
Environment
Kernel versions: Affects multiple kernel versions (observed on 5.x
and 6.x series)
Architecture: x86_64
Subsystems affected: AIO, VFS, process management
Request
We request consideration of this architectural issue for future kernel
development. The current design creates an unavoidable deadlock
scenario for legitimate kernel module implementations that rely on
proper file descriptor lifecycle notifications.
The fundamental problem is that asynchronous operations should not
block process termination when the process cannot provide the
necessary completion signals due to the termination sequence itself.
Return-Path: <linux-kernel+bounces-665082-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0CDC941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:19:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C3DD4A22418
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:18:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 14B9E275867;
Wed, 28 May 2025 08:12:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QNoNygN0"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4A73E248F7E
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419933; cv=none; b=YK5ciZug0xBo5tu/qpsC8G5tZztVwbV8Br1uS9PzjLkLuX8wJzaSEZHXGliSgsrgtwdjhg8W16eNtlih0p36oWgfgaZwMcql3xOlMzFM+kCDSwgmgoH3U3UTKitB+Azuyf95I5WtDWTvI7mPHBePPXZySPDmf/Zix4KyPpEn0js=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419933; c=relaxed/simple;
bh=z/RR0FJpocDARlFVrhQXFGutmtDQTpHxlDPhV664NzA=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=NVgHuIq6xygxLOj3dzQpn51wctjxEZbjCS19mVXYY+twjwJGRVq2nAGkcQUNAji67xwiY2Y29rLobK5AoMUmzMUo9GUXz+PHcarf+0P1nOIryEb1FrTEAwjRR4AFm7fLGuJ6/m0aPy6yjkYCLf8f7gd8tfZVAfHsns6TKt+eEpI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QNoNygN0; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 239B3C4CEE7;
Wed, 28 May 2025 08:12:09 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419933;
bh=z/RR0FJpocDARlFVrhQXFGutmtDQTpHxlDPhV664NzA=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=QNoNygN0hsSo4RaRa6eXoWvSevAKHqUoTundXNE7ozZN1ENQqj7Tf1Jol2boP7rzt
BX6pe3N8dI0Lh2TSje7dTutrrG2ILpWhxn9QJLV1HrK6ZSMxc5bMcHrrE1UhZRsBxk
ao/4lrY54Vffn4/G/gJ9lnN6+VbsVUijeWar6IM0rjTfyCafO+FsJnokhcvrNwzo13
NUmW9rhmFRYxWJWtn3MvD+qiFkVN1VeJ5qv/SYWzkp9sCtN7YHyD6vxo+xDuWDVIp0
HjYucmiJoOAuyX23NXfWlqyU+9M3bsl86r+6kNpsQ5uk3CXkv5PGIsIoTv/WpUJjdV
zQ4VtnbYDsJAw==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 41/43] sched/smp: Use the SMP version of ENQUEUE_MIGRATED
Date: Wed, 28 May 2025 10:09:22 +0200
Message-ID: <20250528080924.2273858-42-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/sched.h | 4 ----
1 file changed, 4 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index e4aeb1e1c849..20d9da03d947 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -2318,11 +2318,7 @@ extern const u32 sched_prio_to_wmult[40];
#define ENQUEUE_HEAD 0x10
#define ENQUEUE_REPLENISH 0x20
-#ifdef CONFIG_SMP
#define ENQUEUE_MIGRATED 0x40
-#else
-#define ENQUEUE_MIGRATED 0x00
-#endif
#define ENQUEUE_INITIAL 0x80
#define ENQUEUE_MIGRATING 0x100
#define ENQUEUE_DELAYED 0x200
--
2.45.2
Return-Path: <linux-kernel+bounces-665084-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6D5A541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:20:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id CAA734E1E75
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:18:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 38D3D27587C;
Wed, 28 May 2025 08:12:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SKLxPC0P"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D493248F7E
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419940; cv=none; b=m9cLvZys/VyY7j1R4RkAXoblqR4Sy/aI3tQiwUQlM6iGZJwSb9oQjPpVyigw1LBLsR3etM5q0dC3f/DK28mjpiohsaoi/sTf6xDoK7yqLLdobe3Kx2lI2BSGuDbUje1eW0ZYOGbxQjkfSdPIUAXxZJA8iqE/I8o+jOYa8BERcLU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419940; c=relaxed/simple;
bh=SlC96ZS+oaGKKEF2VkZ32gtN91o4MUhZYLJuONUwBV0=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=feNzsqHPMAhobwvbzdRtbevYudVWkO2s0fbBmax8ToLMOqnRt7Sn+5yrYiEy074tzVypucwToqw/Kp/Vk+Ze/6DfC9omtqEfOGcwu7QPNKObNYoCWMGAC0trKX1fKAH422W2wpTQ7oE9YlHKeM4NBMv8ipL2secrVk4hekYcWJg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SKLxPC0P; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 35753C4CEEB;
Wed, 28 May 2025 08:12:17 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748419940;
bh=SlC96ZS+oaGKKEF2VkZ32gtN91o4MUhZYLJuONUwBV0=;
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
b=SKLxPC0P1EtdgHsrspnwunI0sy5m8MQ/xkpksZAhIjaoU3Kvdc2dilCKfzGjgo6xC
+d80gr4gsX9tt+AUqrMMFSgD1dDjFoRXxxgy0GwmZnEj1taRGLKB7BECgBc30F9+7N
rfW5ljfMvXR4zjIukt+KUnkKDhYNfMpPE7Nx2ob42P/kaK5AJI9GCREZ78QexbEyd3
GpCSOQmpBvEIGirBbNmFQaZ0vpzuJvk2ONR1n+tgRARxZ+y/1gyh6kWH6XKbHRhY7s
S0ZZYfTcSXJJ9wxqBq1RcOaf7FNnYmSrmekgNQ0IpE3giYkT1IfTOeLHhCCRsQg+od
tjHaqvSg+Yz3w==
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 43/43] sched/smp: Use the SMP version of double_rq_clock_clear_update()
Date: Wed, 28 May 2025 10:09:24 +0200
Message-ID: <20250528080924.2273858-44-mingo@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
kernel/sched/sched.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index e6d637015d0c..dedf92fae94f 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -2839,10 +2839,7 @@ unsigned long arch_scale_freq_capacity(int cpu)
static inline void double_rq_clock_clear_update(struct rq *rq1, struct rq *rq2)
{
rq1->clock_update_flags &= (RQCF_REQ_SKIP|RQCF_ACT_SKIP);
- /* rq1 == rq2 for !CONFIG_SMP, so just clear RQCF_UPDATED once. */
-#ifdef CONFIG_SMP
rq2->clock_update_flags &= (RQCF_REQ_SKIP|RQCF_ACT_SKIP);
-#endif
}
#define DEFINE_LOCK_GUARD_2(name, type, _lock, _unlock, ...) \
--
2.45.2
Return-Path: <linux-kernel+bounces-665085-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5334D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:20:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 58AE64E2BD8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:19:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 55F3C2144AE;
Wed, 28 May 2025 08:12:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="daoEyNpZ"
Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BCB0B24677C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:12:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419960; cv=none; b=KTOVyhlyLh0HiWerLxJ0FDx5nqeaAqod+1kJJUREZwVVrKMyJOE4pIMX2Ey4LKHeQ0o3U6NjDgnGFHIy91MJk6bzlBycS+Zgrk9Qy2CJ2/VDvsKxzsdcaqDQ+a/8sceS4XeYvVWz/YoqetsXSB3bUgdtPw30Pk8BxxDQriAT5qg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419960; c=relaxed/simple;
bh=zt6R3jp79fMZyuI135ZWhJCJrZHDPzn+vYfjefZ4MqM=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=Ymf5HLd4ACV+/tgf8+UFQlyMfZnkxeiwGjM8sgX+xUZZZvT+To9tx4s0H8pYh0Eg7v3R3lXkc+s+QO7y+mA7Eajmb1DjT8ENEwhrKcfMY52IAPt/KE0t4BrRirZHTIBLY1LzFafhrfaj6kOexvUvOzgeVHb0gubr+q6hU7gpedc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=daoEyNpZ; arc=none smtp.client-ip=209.85.128.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-442ec3ce724so34676455e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:12:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748419957; x=1749024757; darn=vger.kernel.org;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:from:to:cc:subject:date:message-id:reply-to;
bh=Ha/P9I5FpO7is8f+c8Jo+hsQyuoifexQpWyES60Ve10=;
b=daoEyNpZLx83XtbnvXn8eVB11DEDMIYpPbCFCO80tEyhTsPyvgcNSV6q+xM1414uH4
zDtlzZuxhqLvTPp7XMvIWG3lQ4U6yWZ5zOFLVQwVL1VnG6GlKmJLF+mnilTRt2uV+gzw
Z5kfBadnknjqMDKj2m7WN5QdWBHhWNH62yYN47LFS2r4a+50QzcIbMOrsW6y9V7VQori
Q9lOjRgd8w0d1I+x2hm1dnztHtOtHz7rT4Ycg2e6ckceZawtOZTdCZCt7q7weh2m9Nb9
K6uO+ejqlm7bFFw/kzDpRpkCf1GBHSuN4iOl8fag5XGW/CQC2a6lDcqpXeXgNsXxLttr
3fIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748419957; x=1749024757;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=Ha/P9I5FpO7is8f+c8Jo+hsQyuoifexQpWyES60Ve10=;
b=DN/0hR8c4gQKsJmEeiq1pC5zhFTgMogTdQ8MoONyZk0BS0tt9z0Uawm+B/g2o9RZ57
s/bCaofBrXhVv3XH9nVb6Bhhm71aWHHC0rPb3//Ljehd22hmQj0lWZWBYcRp1Dy4+0EE
HQmyZTdIQ9T5V7rF4DGp7SgcPArV1IfWq7bxtPrPDziaHq8c1OJIgXVbu2sseNPZ9J/d
gZ0121RQfGr6Idb/Q8KeVG3sX7PinwVBU84Bsz/JeXo2obvD9LujIrarDpQjDxlRZTXq
F8LVfazT4ixEFHSw3+s9A2J8+EVDiIZl0GC7XWOd+S2fpYajHcBj2qun1VDvfcCnbAwC
E/Ew==
X-Forwarded-Encrypted: i=1; AJvYcCU0NDlDPQO73F9jMGbAJVV81u06VYMqEGsE9N0aHaWjwoucyioGRbTJeFUZAVyx8lZ4mFYRSXRUCTXmY6Q=@vger.kernel.org
X-Gm-Message-State: AOJu0YyvWerTupToSET6Cd7MGfn2B67aUOhz4A7ga/lIwEujQcEBOT+w
AYhcOoNk7y2tbTuN+BambE3oWpcfaCebP7gPeJYsLgwg7w79SBwU0YBRsBfH2C6wTgU=
X-Gm-Gg: ASbGncu2d4T9JcwNeUSuNvAFxD5cGm9fXZApNfAwTtU+W1YUcOdTAzzgESqtH7d2Q9r
XSk7dEzb1HnFXdzUjOXqVCPJvIMnyr6XNZjBRknJxMuxiN3kriLmEUlgLSML6xc0bg+K/xns2mA
/f7LNi0ss2qrBvXx0kzBCdQD+Qa5EA1AARPILXa+2YBft/qXH83nwfoLuvaWUys0TGlaMjTA0vZ
7TFbmecIG366TZ+uO+YCpqTWok7yJr9+0leSwNY3bABBF+hEgt+ZhBMtSRHQFkqvr9Q0afOtL5U
ujUdmYNpv0UyHgklKlp7qSLaLXHSwJ+y1rw6pE6EWTTUQXDL1lwfFCQ6
X-Google-Smtp-Source: AGHT+IHds3HlT5cEKDELP4HlaQKB3QeEr6bANTntVAcGev79jh49G1GwJ0hdtMaA7ScQTs3fhrDICw==
X-Received: by 2002:a05:600c:8708:b0:441:d43d:4f68 with SMTP id 5b1f17b1804b1-45072560c18mr12730175e9.15.1748419956961;
Wed, 28 May 2025 01:12:36 -0700 (PDT)
Received: from localhost ([196.207.164.177])
by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-4507254b988sm9800675e9.13.2025.05.28.01.12.35
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:12:36 -0700 (PDT)
Date: Wed, 28 May 2025 11:12:32 +0300
From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
To: Yevgeny Kliteynik <kliteyn@xxxxxxxxxx>
Cc: Saeed Mahameed <saeedm@xxxxxxxxxx>, Leon Romanovsky <leon@xxxxxxxxxx>,
Tariq Toukan <tariqt@xxxxxxxxxx>,
Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Mark Bloch <mbloch@xxxxxxxxxx>, Cosmin Ratiu <cratiu@xxxxxxxxxx>,
Vlad Dogaru <vdogaru@xxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx,
linux-rdma@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
kernel-janitors@xxxxxxxxxxxxxxx
Subject: [PATCH net-next] net/mlx5: HWS, Add an error check in
hws_bwc_rule_complex_hash_node_get()
Message-ID: <aDbFcPR6U2mXYjhK@stanley.mountain>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Mailer: git-send-email haha only kidding
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The rhashtable_lookup_get_insert_fast() function inserts an object into
the hashtable. If the object was already present in the table it
returns a pointer to the original object. If the object wasn't there
it returns NULL. If there was an allocation error or some other kind
of failure, it returns an error pointer.
This caller needs to check for error pointers to avoid an error pointer
dereference. Add the check.
Fixes: 17e0accac577 ("net/mlx5: HWS, support complex matchers")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
.../net/ethernet/mellanox/mlx5/core/steering/hws/bwc_complex.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc_complex.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc_complex.c
index 5d30c5b094fc..6ae362fe2f36 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc_complex.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc_complex.c
@@ -1094,6 +1094,9 @@ hws_bwc_rule_complex_hash_node_get(struct mlx5hws_bwc_rule *bwc_rule,
old_node = rhashtable_lookup_get_insert_fast(refcount_hash,
&node->hash_node,
hws_refcount_hash);
+ if (IS_ERR(old_node))
+ return PTR_ERR(old_node);
+
if (old_node) {
/* Rule with the same tag already exists - update refcount */
refcount_inc(&old_node->refcount);
--
2.47.2
Return-Path: <linux-kernel+bounces-665086-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 99DB241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:20:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E2E4C3A446B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:19:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 76BC324BBEE;
Wed, 28 May 2025 08:13:08 +0000 (UTC)
Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CDBAE246791;
Wed, 28 May 2025 08:13:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.51
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748419987; cv=none; b=U+oVqU4q9Tjp14vahInxNTGOvdtxE4SwkMxMWNP3fHDzy+m6SzvwlBEbqElU+T2sSmn9HAFtYN6F+SJR1rhe5W5bWpVSpQeEFHDHqlG5dGtRN1tVjQhn70w+X3ELOvlDBpjODRfceNBRV+e1v5xwTI1qu9tZFlJdPaEmBjvv2xA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748419987; c=relaxed/simple;
bh=Ojd7iMoppI0Vmr8htaS6S4vgrqwMyDhGX+qRFtVJFaI=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=Hk4/59gwX9iuuYktixdiXqRhrb7ZyHYYDmlMfE3G6+OE81yranK3VTh+lrDOT8I3xwHQZJi9onD1lqUKreLfayDzziVrtEf9J4F4x2rCZf0IO98ElynWqhQJvv88LR0lAcXInrH5ZNtI2AQWBd4te89mQIbpqormvaiL8YE5bLo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=huaweicloud.com; spf=pass smtp.mailfrom=huaweicloud.com; arc=none smtp.client-ip=45.249.212.51
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=huaweicloud.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huaweicloud.com
Received: from mail.maildlp.com (unknown [172.19.93.142])
by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4b6j0g40dHz4f3lVL;
Wed, 28 May 2025 16:12:35 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.128])
by mail.maildlp.com (Postfix) with ESMTP id 5A7191A0359;
Wed, 28 May 2025 16:13:02 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
by APP4 (Coremail) with SMTP id gCh0CgAHa1+MxTZozegGNw--.47012S4;
Wed, 28 May 2025 16:13:02 +0800 (CST)
From: Zizhi Wo <wozizhi@xxxxxxxxxxxxxxx>
To: netfs@xxxxxxxxxxxxxxx,
dhowells@xxxxxxxxxx,
jlayton@xxxxxxxxxx,
brauner@xxxxxxxxxx
Cc: hsiangkao@xxxxxxxxxxxxxxxxx,
jefflexu@xxxxxxxxxxxxxxxxx,
zhujia.zj@xxxxxxxxxxxxx,
linux-erofs@xxxxxxxxxxxxxxxx,
linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
wozizhi@xxxxxxxxxx,
libaokun1@xxxxxxxxxx,
yangerkun@xxxxxxxxxx,
houtao1@xxxxxxxxxx,
yukuai3@xxxxxxxxxx
Subject: [QUESTION] cachefiles: Recovery concerns with on-demand loading after unexpected power loss
Date: Wed, 28 May 2025 16:07:59 +0800
Message-Id: <20250528080759.105178-1-wozizhi@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.39.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:gCh0CgAHa1+MxTZozegGNw--.47012S4
X-Coremail-Antispam: 1UD129KBjvJXoWxJr47CF1DWr4fCw15XF13Arb_yoW8JFy5pF
ZI9w1UK34kXFZ7K3s7AF48uryfZ3s5AF4DXrWSqrWktrn0kF1Iqryaqr1UJFWUurZrG3y2
qw1jyr9rAwnFvrJanT9S1TB71UUUUUDqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDU0xBIdaVrnRJUUUv2b4IE77IF4wAFF20E14v26ryj6rWUM7CY07I20VC2zVCF04k2
6cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4
vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7Cj
xVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x
0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG
6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFV
Cjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4IIrI8v6xkF7I0E8cxan2IY04v7MxkF7I0E
n4kS14v26rWY6Fy7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I
0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWU
tVW8ZwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcV
CY1x0267AKxVW8JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAF
wI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa
7IUnUDG7UUUUU==
X-CM-SenderInfo: pzr2x6tkl6x35dzhxuhorxvhhfrp/
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Currently, in on-demand loading mode, cachefiles first calls
cachefiles_create_tmpfile() to generate a tmpfile, and only during the exit
process does it call cachefiles_commit_object->cachefiles_commit_tmpfile to
create the actual dentry and making it visible to users.
If the cache write is interrupted unexpectedly (e.g., by system crash or
power loss), during the next startup process, cachefiles_look_up_object()
will determine that no corresponding dentry has been generated and will
recreate the tmpfile and pull the complete data again!
The current implementation mechanism appears to provide per-file atomicity.
For scenarios involving large image files (where significant amount of
cache data needs to be written), this re-pulling process after an
interruption seems considerable overhead?
In previous kernel versions, cache dentry were generated during the
LOOK_UP_OBJECT process of the object state machine. Even if power was lost
midway, the next startup process could continue pulling data based on the
previously downloaded cache data on disk.
What would be the recommended way to handle this situation? Or am I
thinking about this incorrectly? Would appreciate any feedback and guidance
from the community.
Thanks,
Zizhi Wo
Return-Path: <linux-kernel+bounces-665088-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4375E41E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:21:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5027B3BF503
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:19:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0110E267AFB;
Wed, 28 May 2025 08:13:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="agntaPft"
Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A0751F63F9
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:13:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420033; cv=none; b=tc5f6qPCooISzPOi3MY5tACg1mUCDe8g1blQr/Ux5RpbZZoUhB4syIjAVnY9JS+kUX4tXMSPMMpkxezro+BNqlVniwtDFyzp6memdWU7qtTpVR+3ORRFibIYka8Upb+H0mSD0yartnfWmG0j+xo8Bu7HkOBAChXJRTnt60YdeN8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420033; c=relaxed/simple;
bh=+Y0uRBfTZif9EgODttL1hBd9w/+qxXwFk6XTnVGQ7A8=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=G+2DcrJzaTgunVj2EB2RurnepHIW322rBqHp+LODecvtiGiVOGE5HNaP/eItTOt5lezPUKKF8jo8IZu7aPdsHqUkz65jKBp8R2fHIRpJOWakE91KKICYgA67mCR5lGB0xujSXvQo1MWackkxvP8kFO0KunhDSvJ24yOnsdktFcs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=agntaPft; arc=none smtp.client-ip=209.85.128.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-442f5b3c710so39155095e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:13:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748420030; x=1749024830; darn=vger.kernel.org;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:from:to:cc:subject:date:message-id:reply-to;
bh=q0yiIdr8kiMktQtzAz6WMndkMTPinkFXHlilIDGPLcU=;
b=agntaPftrRvV4F7X9Oj+/cKV/e0sHa8FfLilHUrVFjqtxoftC0P9RDT8IwTvxmwK80
rJF5xHU0xtuQGhjrdXqMkw0GVhu2HY93CGnlP3cIueqZWggD4VUdVDtBrtlW0e55xv6Q
1jhHACcF1A9soWM/Qh3IDjs3leX353g/Nq2w2nOR0FqizTIwvoUTPsaRFFCnR2Eswa96
EAcDxoZYAScvFmgM0UIao/pdWlpBbTxB8xgh3othv1n3BaK3gWe/1Pzd+VK5BdVt4y7C
Ou8dVT1f0JGqBHm7fWqK4oIunxoeAeMOOt0bo0IxtgvX5N8iSjwt/uiQ9mFnByl48vbP
yFKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748420030; x=1749024830;
h=content-disposition:mime-version:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=q0yiIdr8kiMktQtzAz6WMndkMTPinkFXHlilIDGPLcU=;
b=N8pEaZxWpa0AvsAxiYYTWCfdx4wfs4zzNmmd6Ycd0s1ebsoHm6IM+AOXy59ifUnejL
5cCRmIi7FkJHfrCQrdz1EVa9AzELpdMJNv/wfgGi20Dr8o2UWqEC/JgoO+4FWTo1gojm
mSer0j1dgf59XGGp3HsBaDsR7r2y7zPz/4WRIhD2Ua9lVt03tvnoyZcOKrZ4GiXwe05d
Ur/z+S8nVqmhfMcJZ/3gRA+Sgi8FD9oumVw1z2KKFvfJLhI2bWo9B0hNGtOuBq+CqxsX
J1Eyx2gCQhCX20tSnBrlhmyDJF+QhrirBxUU24uy82rf+th+fmlZxYah1GB3KOu57axH
gE6g==
X-Forwarded-Encrypted: i=1; AJvYcCUx9+qfbAPNkmoZOpXQhKeyvic2IvSXCZBndYJ+Z0/4AyfcgJYeP98o5VZ8sitqBIH+mhC+44bgywXGot4=@vger.kernel.org
X-Gm-Message-State: AOJu0Yx9cFhIL9Ujc4S4KNM0Y+GyqcVgZV/iHexwlGzn9ZgRqC6FnZuK
k6ov+rf79w5uId3p1u661Mww5E5JqWGBrH6i1v9kzSKna0S4A8PBElMSB94bh9eeXHNHhAGRT0J
Nr/cx
X-Gm-Gg: ASbGncvL2FkuwpJIMz9uQy/IXD8ZEjwRu/RurLa2BxU7uRQ99rrD/GyIuRSmh6d/e+M
j/nwnxaaOQ6ELlBsUtOGooddsDCM697e+CpRktZRdwq5OGNu5DJbjDrgcJZ0HrvAcdX/2uqE/7+
Np+sh9ERJ5TRLEQvOMSwnuL9T2e5sEC2YUYByrrObhYkCrbuQW8FksMOuOqAwv5GmsqzOyHsOLD
AuhYBsgBkHdBdE841UF/Q7ne+48iTgXqLAVBOPRQ5exL02LJP9TPx5vyltUypj7p77r9Sq0x3GE
Niaxb9QGmBRSCoe8pL1+CB1Ii5cBCEKPF74dXTvLPArBJK5e8RKCPSkx
X-Google-Smtp-Source: AGHT+IHwxFIuBvvAastdxx+Kytl7VBX/kiaYR4D/z8QcwH+3DXyCV3M1g6v8ommXnYfifmpBZc7UkA==
X-Received: by 2002:a05:600c:4683:b0:43c:fe5e:f03b with SMTP id 5b1f17b1804b1-44c932f9572mr154626255e9.30.1748420029682;
Wed, 28 May 2025 01:13:49 -0700 (PDT)
Received: from localhost ([196.207.164.177])
by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-45006499727sm13341795e9.3.2025.05.28.01.13.48
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:13:49 -0700 (PDT)
Date: Wed, 28 May 2025 11:13:45 +0300
From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
To: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Shuah Khan <shuah@xxxxxxxxxx>, Yeoreum Yun <yeoreum.yun@xxxxxxx>,
Wei Yang <richard.weiyang@xxxxxxxxx>, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
kernel-janitors@xxxxxxxxxxxxxxx
Subject: [PATCH next] tools/testing: Check correct variable in open_procmap()
Message-ID: <aDbFuUTlJTBqziVd@stanley.mountain>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Mailer: git-send-email haha only kidding
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Check if "procmap_out->fd" is negative instead of "procmap_out" (which
is a pointer).
Fixes: bd23f293a0d5 ("tools/testing: add PROCMAP_QUERY helper functions in mm self tests")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
tools/testing/selftests/mm/vm_util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/mm/vm_util.c b/tools/testing/selftests/mm/vm_util.c
index 1357e2d6a7b6..61d7bf1f8c62 100644
--- a/tools/testing/selftests/mm/vm_util.c
+++ b/tools/testing/selftests/mm/vm_util.c
@@ -439,7 +439,7 @@ int open_procmap(pid_t pid, struct procmap_fd *procmap_out)
sprintf(path, "/proc/%d/maps", pid);
procmap_out->query.size = sizeof(procmap_out->query);
procmap_out->fd = open(path, O_RDONLY);
- if (procmap_out < 0)
+ if (procmap_out->fd < 0)
ret = -errno;
return ret;
--
2.47.2
Return-Path: <linux-kernel+bounces-665087-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9ACA241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:21:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id BB7D916E9CF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:19:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E980C2676CD;
Wed, 28 May 2025 08:13:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="dis3hZt/"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3820024DD0F;
Wed, 28 May 2025 08:13:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.16
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420013; cv=fail; b=jbeP9XFWyi/a5gT2wGXIR9gHr9kOnFX0WBjzem7bvYePRg7K6BXJZcHg2TbZ/PLh3SvVL6fQ4nj0INNthglXrnLy3fsoE0Oqjd9WfrSLf13j0JRVLtDbwzwMsHMYmyagnFTL0SaFgwaEOFcnLzoFRHu/3nKA7fyAjwo4IV/X098=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420013; c=relaxed/simple;
bh=yWbOpVSjtdKfnB43h1E8caKm4stj2HAnY8CcnLZn8Sg=;
h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
Content-Type:MIME-Version; b=eeTIcGjx5B0c5KC72KhSP5Nfu1w+LVDmr6pLclS//2t2xT4xyKdjMZKSkkFYRE744Pajm7u6iSUM9JhabvPWWXBHgYx96G/M+pDJKyspiCGjqehLrtM4aRgheh9oISWBHzR25gwLufapIa1BXzDKB0YbMGY0owk8XxGpLTZqMRA=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=dis3hZt/; arc=fail smtp.client-ip=192.198.163.16
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748420012; x=1779956012;
h=from:to:cc:subject:date:message-id:references:
in-reply-to:content-transfer-encoding:mime-version;
bh=yWbOpVSjtdKfnB43h1E8caKm4stj2HAnY8CcnLZn8Sg=;
b=dis3hZt/9YfDh7iNLacC/+3r1BPNJ2p/XuDHVoxQnJxcFrUHzlKf5TgD
nlXfEFQZ+YBz9UcwpnvFLRrFDfoUFVajdzJqm2NmHbmkHpeIVj6PaGInQ
QgeDWQ7N9tQX7PFiomEU6w/wzfBQc0Xm8j3MmbdBPv5zJ2fUisXIG3xpo
lhUdoBEGMUKCNTTSx4zDnoSEIbagokusCpeny1QPYlOzgfIbfXz+FpNbW
eIG7yq4memTNYrfkeORK43q3qCzzCAmx/CPC6zYqJLaXJ8GZrxkApsMlP
7P0AqR4sqC1pGDVc2kJQnZuWYAU3n74AUQlJDDvDGgcsnvF51YuVGwNTf
g==;
X-CSE-ConnectionGUID: 1GW1WiIYRuiS5+W5MZiQyQ==
X-CSE-MsgGUID: v9eQpArtS7q+1Cw1ThqWgQ==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="38059912"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="38059912"
Received: from fmviesa004.fm.intel.com ([10.60.135.144])
by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:13:31 -0700
X-CSE-ConnectionGUID: Jr/oHg5eSpuUpIlE7mAoiA==
X-CSE-MsgGUID: tGPC1/i1SlCc1en+I4B3Vg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="148298115"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:13:30 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 28 May 2025 01:13:30 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 01:13:30 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (40.107.94.44) by
edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 28 May 2025 01:13:29 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=O29SYSdiED7+sGCeO4+kQlMfI891Z0Z48rKLDyebMvZhOuvdV2uQLzmdRG9OMcxujkueSLGMfoNj418t98kU4KssgK9WCHX08uw4/aQNeftGLQGi16sAPR4uh+yYKn52ViGyqY6U15KmntiGst7jHcVMIccK57xefDDQgpSPT53kgb4axdmf4OmVzjd6yoH8odm315Fbg2uP8LYuDSrm3eD2mn+QnSkjtqP/Us38nmd91uv0Jc3EYoan7zazmAp7XdC1zQ/ekOImP4jErMdSU1WZGCUjIrW0hIWfHbGzmoOaXho/JYYpt9IMuoSvF36Wkgu4nuc2WzmXj9SRsUrlqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=6iNzHLDbP9Wx9sY7RSvt/trhjWO60Y5U4SrirZzERNI=;
b=vr2//2HYpdEONtSjOkuhYCy+PAmqtVcwfDDYlOvF9QbAHODGORW4vggbxy4r0X+JtUzCSq6IpxMhTGVlMm7zDwt+qmZu7SkvXYuscoQxtridHNEG0rBYQuIpbrItzUDOFTcadvke72QLDm7g3rdUB8HDWtn/d9zXoDw20ZBqAjNreBqS+5NW1m65PlOGaqytMKkgfdZoCMLmLjOOHOSERqEKOJCK/RiwIsNKTBwraTWmZPqjN4GAo7SOqSN+Si9tdhQDEBvaRcboHZVcan1WkDI8UwNft0ASpKSKhzVrYKTqo7VkP//s0HD1lCe+Z8Z5uOYfqf0AD6VS7M/PGZ3GFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
by SJ2PR11MB8498.namprd11.prod.outlook.com (2603:10b6:a03:56f::12) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Wed, 28 May
2025 08:12:42 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
([fe80::b576:d3bd:c8e0:4bc1]) by BN9PR11MB5276.namprd11.prod.outlook.com
([fe80::b576:d3bd:c8e0:4bc1%4]) with mapi id 15.20.8769.022; Wed, 28 May 2025
08:12:42 +0000
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
To: Nicolin Chen <nicolinc@xxxxxxxxxx>
CC: "jgg@xxxxxxxxxx" <jgg@xxxxxxxxxx>, "corbet@xxxxxxx" <corbet@xxxxxxx>,
"will@xxxxxxxxxx" <will@xxxxxxxxxx>, "bagasdotme@xxxxxxxxx"
<bagasdotme@xxxxxxxxx>, "robin.murphy@xxxxxxx" <robin.murphy@xxxxxxx>,
"joro@xxxxxxxxxx" <joro@xxxxxxxxxx>, "thierry.reding@xxxxxxxxx"
<thierry.reding@xxxxxxxxx>, "vdumpa@xxxxxxxxxx" <vdumpa@xxxxxxxxxx>,
"jonathanh@xxxxxxxxxx" <jonathanh@xxxxxxxxxx>, "shuah@xxxxxxxxxx"
<shuah@xxxxxxxxxx>, "jsnitsel@xxxxxxxxxx" <jsnitsel@xxxxxxxxxx>,
"nathan@xxxxxxxxxx" <nathan@xxxxxxxxxx>, "peterz@xxxxxxxxxxxxx"
<peterz@xxxxxxxxxxxxx>, "Liu, Yi L" <yi.l.liu@xxxxxxxxx>,
"mshavit@xxxxxxxxxx" <mshavit@xxxxxxxxxx>, "praan@xxxxxxxxxx"
<praan@xxxxxxxxxx>, "zhangzekun11@xxxxxxxxxx" <zhangzekun11@xxxxxxxxxx>,
"iommu@xxxxxxxxxxxxxxx" <iommu@xxxxxxxxxxxxxxx>, "linux-doc@xxxxxxxxxxxxxxx"
<linux-doc@xxxxxxxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx"
<linux-kernel@xxxxxxxxxxxxxxx>, "linux-arm-kernel@xxxxxxxxxxxxxxxxxxx"
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, "linux-tegra@xxxxxxxxxxxxxxx"
<linux-tegra@xxxxxxxxxxxxxxx>, "linux-kselftest@xxxxxxxxxxxxxxx"
<linux-kselftest@xxxxxxxxxxxxxxx>, "patches@xxxxxxxxxxxxxxx"
<patches@xxxxxxxxxxxxxxx>, "mochs@xxxxxxxxxx" <mochs@xxxxxxxxxx>,
"alok.a.tiwari@xxxxxxxxxx" <alok.a.tiwari@xxxxxxxxxx>, "vasant.hegde@xxxxxxx"
<vasant.hegde@xxxxxxx>, "dwmw2@xxxxxxxxxxxxx" <dwmw2@xxxxxxxxxxxxx>,
"baolu.lu@xxxxxxxxxxxxxxx" <baolu.lu@xxxxxxxxxxxxxxx>
Subject: RE: [PATCH v5 13/29] iommufd/viommu: Introduce IOMMUFD_OBJ_HW_QUEUE
and its related struct
Thread-Topic: [PATCH v5 13/29] iommufd/viommu: Introduce IOMMUFD_OBJ_HW_QUEUE
and its related struct
Thread-Index: AQHbx6QeTkbifu9CFkeHNnpRlXIZnbPf4FyQgADofYCABvgqIA==
Date: Wed, 28 May 2025 08:12:41 +0000
Message-ID: <BN9PR11MB52767BB0CA36643D957BD2CC8C67A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <cover.1747537752.git.nicolinc@xxxxxxxxxx>
<580a36f629402506d232052ddd20ef21ec91d5bc.1747537752.git.nicolinc@xxxxxxxxxx>
<BN9PR11MB5276C599F23964E423CCA2738C98A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<aDDslV6ZJpxJNuaG@Asurada-Nvidia>
In-Reply-To: <aDDslV6ZJpxJNuaG@Asurada-Nvidia>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN9PR11MB5276:EE_|SJ2PR11MB8498:EE_
x-ms-office365-filtering-correlation-id: f82d5469-ecc9-4182-af3d-08dd9dbf6b38
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?1ZuUkwlrnVMBObuOuTs2apTs2COyf7IeMb5MVaUd6djWmhlQw00sW/XcMegW?=
=?us-ascii?Q?MDJAq1p2bygek0IkSVZoixVBfVtwCLS2ftpFh8haS0FgLbF7eiEJL0RCL1mI?=
=?us-ascii?Q?+zThpFtQa78uRk4UmmXinfKzvw+Tnqeub6faGJ2trIchpQKSvMKYLaPDGrDc?=
=?us-ascii?Q?fgrtdBrVJSQ3lIP6HyBIMZIufOkEoUhgvYzGtFsMPo2U1F893dHlno7Klio0?=
=?us-ascii?Q?9/0B4MfSigG3pu/umX3KtyjXfbkAoqRvk/FXEvM3nqhdtpfD3P004FKGN0Fd?=
=?us-ascii?Q?OTJOZGybIRNaDgIbYPCWURGJk384QLJ5zArzFzUrVzukHS2suJZ/XjNMyGUU?=
=?us-ascii?Q?aWrXIaSBpsbRQP6nM86HaVCFaTSSCRjp8su1HqqIqwF4B94t8Zg5D15cLGSI?=
=?us-ascii?Q?vu1EAGj4jVFjyw0gQS+Q4KYPbpSfu7TEyBLjXFGjXmsDrAc1DjbWRjnaxond?=
=?us-ascii?Q?k1qI8iyEQvp2zgg3i0w714M/2IR9CQf/AfNhbdbFtHtRuHLFbLIE1W1U87aR?=
=?us-ascii?Q?TACE8wn1KwO8QRLLoV/GMiU4bGOp8bFmHufc/RhcWZfAvmrG4i9ioMQOgiTN?=
=?us-ascii?Q?n5APMftG4EFIPbILKXoqkvW2hnN32rdHLhuJuUwcugstVXtsxYUIyZWJyKVY?=
=?us-ascii?Q?ve/CoP69OgRkoI+seIHDjM77ogtbOwiS2GGlHbm/SuFtNiY022zXq7MmcZbq?=
=?us-ascii?Q?mIkT6BMR5XpHfR5A1nEYitt7eDnzQUoPOJea/ov9aMq8Cx8yH8Pc+gAnuXbQ?=
=?us-ascii?Q?hOEGE2NHOjXGbOHP9PkdtyN4qW1vPdFGNrK1PgsVD0ELqOILCxi+tvUZANf5?=
=?us-ascii?Q?x44FTepnMtYb7tiDHV2a0pC2ecBw5BnAxh8MIfrcdw36zqIZXykoUNoy9VdX?=
=?us-ascii?Q?Rp9MQwVay9vmuimaaddd2udR1bzbyhjIkNE6bi4E5O8Ua5w9meHIZgYW41dp?=
=?us-ascii?Q?ftteIZ+RFrobxDBgXNc30kcUkuz4OxO0xaR0tvlMIQMrwHgsfHlhbm5ukiRY?=
=?us-ascii?Q?2H4deJ0blzH3qj85xad2eNwsGs44iwM86i3v2GkaQsDs3xEUyO1stbksPwDr?=
=?us-ascii?Q?mNfaknnQ8WlWcdYKG59wtGo6F6ieAKoiPv1bJj7lwHKNkoFKeuruY3DePjfr?=
=?us-ascii?Q?+ITu1OuCqIgkP0wz6TSdciFYJpobazvHYUp9GFPDMd5sSwJCCMYb7KDGPw7z?=
=?us-ascii?Q?6EIA80Hkt1omQcp0HuUnN/UGzxHnB5+y3VmaJMCEeCCcAwmUp+acAy/ixH5T?=
=?us-ascii?Q?R9rConB+opdso4nX3wRf7HkGfTfWYk5oa/ww1bPtw7FKK/pnXesIiLixQ50y?=
=?us-ascii?Q?KXhluHj8/rPy2gS3yjENAPhDRno0WGkI7M42Z/nwwKEvYiyEdaurnutHrOUE?=
=?us-ascii?Q?kzTf6avEdxVVjUJjTHp3mZh/6GVwKbagT7mACL7UKz7Qv8++ZYE6vJ+/wqTx?=
=?us-ascii?Q?9+53SutnJXiAewDIMWth3FEQ+XQGO0SC/deMHvEeLAkPNwHw37aON4acmR3z?=
=?us-ascii?Q?CEbFZV+u6fkkd2A=3D?=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?29+mpyGWd7UHdxGHjzNU0x9mJN7AYjLmSBQ3NkO88LBDyqCIaFWtI6TISKJO?=
=?us-ascii?Q?e7AWpniu99UUxWTh+wUvImfUcPR6W1kS5myxDu44dpA1llSkcGWGbcWSJe+Z?=
=?us-ascii?Q?qBRdQLpPrAjP9U+2hmOn4fX+yc/vBbyumbkerzgJWcRQ4Raua1gDolTDADvH?=
=?us-ascii?Q?TWDAMTscOM8gmXwUCwPzm6SwfZKyPXXvLmMhFunDR0ONeB9dJNuSLhlnmYyy?=
=?us-ascii?Q?u4c7GROK54uo6VHe7gJh+JZGBuv31axGP8oEOquuehGQCdk0Aoc1o/3M9GDG?=
=?us-ascii?Q?7SE6uQPnA4iW01OSODxVhC5nHUXuL1geAJHnxi3eoQ1vLzOQ1Mdz/Mu+DbGO?=
=?us-ascii?Q?PI/IcJ+cwigwkiYujzOfl+0MBKZayd4Ax1QGcT54m6RrxLnANmfhoBmOBpmg?=
=?us-ascii?Q?/15/jC6nFpYyHT0TSGI9wvu6V8j9ZIEV5C2ysYp50OvYOWrk1AQ7CjHw+VHX?=
=?us-ascii?Q?4fTT6LbB4W1bLgi6Fwr2k9Z32aZWQLFTkOaSDgCdyO5Sx7emsS2CKJW56YaD?=
=?us-ascii?Q?tHNp/7CJF5q8SQsQ9qJ9rcL/nGeEHyEdR5fh5MZaFzhlKLoF+NNTuhG8aEHh?=
=?us-ascii?Q?5eA6jWg5898D+NK8awYYojNx95E3Br40AE3y65xnlqrLPUG2eS7V08frSh5x?=
=?us-ascii?Q?gkCLq2r1KpZQPyI4k8XmeEc5k9Vr0LvYTgBzdbjkhWxwAL8TZ5c5TR5xlr0Y?=
=?us-ascii?Q?piMXFm+Hfn/rJkqYrWoAQ0QtllUcVAUaPxvbCw2/FFsffIe94hZSN2DraGQv?=
=?us-ascii?Q?PuXwOuJ5RZyXrl+gLv+NbuXsvXyKYlxDBibX/YXV9EnPZhMgdSZ1CL0PR3/O?=
=?us-ascii?Q?dvBwOG3zCuAvMYoxJT4E8ssvCd66UlaOU91rntRkb8vaRB5dJUWMSp47/5wQ?=
=?us-ascii?Q?oRSEOT5NJVuA12FdvBssw60YkYYIU4bb80QokDdIgt3CLJ2m6QVNdbqfX3tq?=
=?us-ascii?Q?kf0giKbegM1UY7jJDXVgyZi1c/wrmP7XythrpOOU4rMvOKQAbJMIxW0CLjDA?=
=?us-ascii?Q?19ffNduZ56G1K0so8gaCCH3NicFnJgJpLZvjuu+pSMkeD7Qarys54TY+xM/b?=
=?us-ascii?Q?TAE4jDygRvVw5gOB8+EClzA0NV7jfqW2Y52Ho3zaIk2UkSzuINwI0LLndv9x?=
=?us-ascii?Q?lBBujDv1dHkPENMvGzmISfy/029M/bWX/WVRCLj47aYtz0TORxjhO9dj3E5o?=
=?us-ascii?Q?UDj/AGIT8vJzrnJXlr+W0/DbU1+8LVQlgUlf6Sh0Uw03ik1tLURsRyg05GAT?=
=?us-ascii?Q?IVXVhEyroVzuSz+e3LGW9vAEvdKO4V/jLVH0BMiSA5Gl9flMRLshsMVFTqo3?=
=?us-ascii?Q?/KUXg5KVGDwX3j55rqezc7WLbCr2eSpJMU4Rl09N8V5FTt5R6uvzgxPO5XX5?=
=?us-ascii?Q?QHXJt6WMTmu/2BByk0pPMTjWRzm6DKONFeSex28+mVQB7qdlKPGWNI4Np692?=
=?us-ascii?Q?05JzZkh5g33kpXvf8xefNtrvGAWXO/xb9YOr1+CJpY9yH5/jw12lZr6YM0T4?=
=?us-ascii?Q?/TIS/nXpUhN9MMNB7TN65+9X1hclrt4GRutvDHHeReErxRXzXnRIpTG1+dVv?=
=?us-ascii?Q?PaByjYCOlZBF8eP+y9S1ats4k7sPhcIG8oCN3C91?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f82d5469-ecc9-4182-af3d-08dd9dbf6b38
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2025 08:12:41.9236
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HNvb+FrVnfHmxIajKpkg01yb/W+kqKMfxOCeYH9kJF7g05yPrmkTx56Fw1iYlnzI1HvmN8twkr0J334IBbwmvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB8498
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
> From: Nicolin Chen <nicolinc@xxxxxxxxxx>
> Sent: Saturday, May 24, 2025 5:46 AM
>=20
> On Fri, May 23, 2025 at 07:55:18AM +0000, Tian, Kevin wrote:
> > > From: Nicolin Chen <nicolinc@xxxxxxxxxx>
> > > Sent: Sunday, May 18, 2025 11:22 AM
> > >
> > > +
> > > +enum iommufd_viommu_flags {
> > > + /*
> > > + * The HW does not go through an address translation table but
> > > reads the
> > > + * physical address space directly: iommufd core should pin the
> > > physical
> > > + * pages backing the queue memory that's allocated for the HW
> > > QUEUE, and
> > > + * ensure those physical pages are contiguous in the physical space=
.
> > > + */
> > > + IOMMUFD_VIOMMU_FLAG_HW_QUEUE_READS_PA =3D 1 << 0,
> > > +};
> >
> > The queue itself doesn't read an address.
> >
> > What about 'QUEUE_BASE_PA'?
>=20
> But the HW queue object represents the HW feature, not the guest
> queue memory. So, it is accurate to say that it reads an address?
>=20
> We have this in doc:
> - IOMMUFD_OBJ_HW_QUEUE, representing a hardware accelerated queue,
> as a subset
> of IOMMU's virtualization features, for the IOMMU HW to directly read o=
r
> write
> the virtual queue memory owned by a guest OS. This HW-acceleration
> feature can
> ...
>=20
Okay. Then ACCESS_PA means both read/write?
Return-Path: <linux-kernel+bounces-665091-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5793341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:22:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id D3F35164B89
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:20:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D4534269B1C;
Wed, 28 May 2025 08:14:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HaRxnIQU"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 40E7A253950
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:14:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420082; cv=none; b=Ix5hpHo7OPVo3NsTUCQ+HcMMgzkGghh1cQJewiO2LrqolNgnPOcXSqS6HaHDacE82XFTZc+IYE/bIIej7kxegZLWGO38ddCyUMFgPJF+6L1qc+m9fOG159i479Pmj2hfzrP7NI/r+oeHEUiYWkxkF0x4Z8Yj49h7BZhjQWgynPs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420082; c=relaxed/simple;
bh=5GKxPXWsE70RSNDTvCY4fik4e3UYbyzMbPbcqUVZfAo=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=mW8fH5hzQdT1lgcsGFifYVpaoLzAehEp/MTq+9Chw6cYUJ3xP7l1oHxEttWiBGWhUjZLzDW3TyUlXtggrPd4YZBnU1oE9W3hCZeKWEdk1d5tswen+j6lA7cmeNAD9o+xKiPnzGbLI53xg776Qr6aGaDJoxRsCV6iFL9uVuuYiKg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HaRxnIQU; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4330C4CEEF;
Wed, 28 May 2025 08:14:38 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748420082;
bh=5GKxPXWsE70RSNDTvCY4fik4e3UYbyzMbPbcqUVZfAo=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=HaRxnIQU4lqNbXzTCu2PlEG4U/AdXFnQwghiSl5TCayr5Xmj235QEdpO2aE/eftVM
fH/4bvqbd7PZul0YOonkBSbbF8vbwoxeuUjUl+jB1GLsPcaCwp0p9pbpdzO/B06vWJ
6h8gC3lBkd/yxbiGku+BxeCz8WHioqs5O7bgy7Bv8yVatNyoelmK/qOU6Upcx9Qyse
7p84jx4eXqjCcbTJz0V7s5iUQq1rXkjAyDty6BhHFliG8XaSZ2bmTlebkRMsTT5uV+
T4Umzc7seEyy09/YfGQ0EzUIPrMdtx6cn8tPHfzmNq0aZRK1OMT1gGL/r3U5b48UIW
uNVEi77DqUx2A==
Date: Wed, 28 May 2025 10:14:35 +0200
From: Ingo Molnar <mingo@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>, Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>
Subject: [PATCH 20/43] sched/smp: Make SMP unconditional
Message-ID: <aDbF62Jdzdsn65E0@xxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
<20250528080924.2273858-20-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528080924.2273858-20-mingo@xxxxxxxxxx>
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
[ for whatever reason Gmail ate patch #20, perhaps due to size. Second attempt. ]
Simplify the scheduler by making formerly SMP-only primitives and data
structures unconditional.
Introduce transitory wrappers for functionality not yet converted to SMP.
Note that this patch is pretty large, because there's no clear separation
between various aspects of the SMP scheduler, it's basically a huge block
of #ifdef CONFIG_SMP. A fair amount of it has to be switched on for it to
boot and work on UP systems.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
---
include/linux/preempt.h | 9 ---
include/linux/sched.h | 42 --------------
include/linux/sched/deadline.h | 4 --
include/linux/sched/idle.h | 4 --
include/linux/sched/nohz.h | 4 +-
include/linux/sched/topology.h | 32 -----------
kernel/sched/build_policy.c | 6 +-
kernel/sched/build_utility.c | 6 +-
kernel/sched/core.c | 106 +++++-------------------------------
kernel/sched/cpudeadline.h | 2 -
kernel/sched/cpupri.h | 2 -
kernel/sched/deadline.c | 95 --------------------------------
kernel/sched/debug.c | 12 ----
kernel/sched/fair.c | 115 ---------------------------------------
kernel/sched/pelt.h | 53 ------------------
kernel/sched/rt.c | 6 +-
kernel/sched/sched.h | 121 +----------------------------------------
kernel/sched/syscalls.c | 2 -
kernel/sched/topology.c | 10 +---
19 files changed, 31 insertions(+), 600 deletions(-)
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
index b0af8d4ef6e6..1fad1c8a4c76 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -369,8 +369,6 @@ static inline void preempt_notifier_init(struct preempt_notifier *notifier,
#endif
-#ifdef CONFIG_SMP
-
/*
* Migrate-Disable and why it is undesired.
*
@@ -429,13 +427,6 @@ static inline void preempt_notifier_init(struct preempt_notifier *notifier,
extern void migrate_disable(void);
extern void migrate_enable(void);
-#else
-
-static inline void migrate_disable(void) { }
-static inline void migrate_enable(void) { }
-
-#endif /* CONFIG_SMP */
-
/**
* preempt_disable_nested - Disable preemption inside a normally preempt disabled section
*
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 77fb5aa73d70..f60aaa7fc4ad 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -595,7 +595,6 @@ struct sched_entity {
unsigned long runnable_weight;
#endif
-#ifdef CONFIG_SMP
/*
* Per entity load average tracking.
*
@@ -603,7 +602,6 @@ struct sched_entity {
* collide with read-mostly values above.
*/
struct sched_avg avg;
-#endif
};
struct sched_rt_entity {
@@ -833,7 +831,6 @@ struct task_struct {
struct alloc_tag *alloc_tag;
#endif
-#ifdef CONFIG_SMP
int on_cpu;
struct __call_single_node wake_entry;
unsigned int wakee_flips;
@@ -849,7 +846,6 @@ struct task_struct {
*/
int recent_used_cpu;
int wake_cpu;
-#endif
int on_rq;
int prio;
@@ -908,9 +904,7 @@ struct task_struct {
cpumask_t *user_cpus_ptr;
cpumask_t cpus_mask;
void *migration_pending;
-#ifdef CONFIG_SMP
unsigned short migration_disabled;
-#endif
unsigned short migration_flags;
#ifdef CONFIG_PREEMPT_RCU
@@ -942,10 +936,8 @@ struct task_struct {
struct sched_info sched_info;
struct list_head tasks;
-#ifdef CONFIG_SMP
struct plist_node pushable_tasks;
struct rb_node pushable_dl_tasks;
-#endif
struct mm_struct *mm;
struct mm_struct *active_mm;
@@ -1834,7 +1826,6 @@ extern int cpuset_cpumask_can_shrink(const struct cpumask *cur, const struct cpu
extern int task_can_attach(struct task_struct *p);
extern int dl_bw_alloc(int cpu, u64 dl_bw);
extern void dl_bw_free(int cpu, u64 dl_bw);
-#ifdef CONFIG_SMP
/* do_set_cpus_allowed() - consider using set_cpus_allowed_ptr() instead */
extern void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask);
@@ -1852,33 +1843,6 @@ extern void release_user_cpus_ptr(struct task_struct *p);
extern int dl_task_check_affinity(struct task_struct *p, const struct cpumask *mask);
extern void force_compatible_cpus_allowed_ptr(struct task_struct *p);
extern void relax_compatible_cpus_allowed_ptr(struct task_struct *p);
-#else
-static inline void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask)
-{
-}
-static inline int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask)
-{
- /* Opencoded cpumask_test_cpu(0, new_mask) to avoid dependency on cpumask.h */
- if ((*cpumask_bits(new_mask) & 1) == 0)
- return -EINVAL;
- return 0;
-}
-static inline int dup_user_cpus_ptr(struct task_struct *dst, struct task_struct *src, int node)
-{
- if (src->user_cpus_ptr)
- return -EINVAL;
- return 0;
-}
-static inline void release_user_cpus_ptr(struct task_struct *p)
-{
- WARN_ON(p->user_cpus_ptr);
-}
-
-static inline int dl_task_check_affinity(struct task_struct *p, const struct cpumask *mask)
-{
- return 0;
-}
-#endif
extern int yield_to(struct task_struct *p, bool preempt);
extern void set_user_nice(struct task_struct *p, long nice);
@@ -1967,11 +1931,7 @@ extern int wake_up_state(struct task_struct *tsk, unsigned int state);
extern int wake_up_process(struct task_struct *tsk);
extern void wake_up_new_task(struct task_struct *tsk);
-#ifdef CONFIG_SMP
extern void kick_process(struct task_struct *tsk);
-#else
-static inline void kick_process(struct task_struct *tsk) { }
-#endif
extern void __set_task_comm(struct task_struct *tsk, const char *from, bool exec);
#define set_task_comm(tsk, from) ({ \
@@ -2216,7 +2176,6 @@ extern long sched_getaffinity(pid_t pid, struct cpumask *mask);
#define TASK_SIZE_OF(tsk) TASK_SIZE
#endif
-#ifdef CONFIG_SMP
static inline bool owner_on_cpu(struct task_struct *owner)
{
/*
@@ -2228,7 +2187,6 @@ static inline bool owner_on_cpu(struct task_struct *owner)
/* Returns effective CPU energy utilization, as seen by the scheduler */
unsigned long sched_cpu_util(int cpu);
-#endif /* CONFIG_SMP */
#ifdef CONFIG_SCHED_CORE
extern void sched_core_free(struct task_struct *tsk);
diff --git a/include/linux/sched/deadline.h b/include/linux/sched/deadline.h
index f9aabbc9d22e..c40115d4e34d 100644
--- a/include/linux/sched/deadline.h
+++ b/include/linux/sched/deadline.h
@@ -29,15 +29,11 @@ static inline bool dl_time_before(u64 a, u64 b)
return (s64)(a - b) < 0;
}
-#ifdef CONFIG_SMP
-
struct root_domain;
extern void dl_add_task_root_domain(struct task_struct *p);
extern void dl_clear_root_domain(struct root_domain *rd);
extern void dl_clear_root_domain_cpu(int cpu);
-#endif /* CONFIG_SMP */
-
extern u64 dl_cookie;
extern bool dl_bw_visited(int cpu, u64 cookie);
diff --git a/include/linux/sched/idle.h b/include/linux/sched/idle.h
index 439f6029d3b9..8465ff1f20d1 100644
--- a/include/linux/sched/idle.h
+++ b/include/linux/sched/idle.h
@@ -11,11 +11,7 @@ enum cpu_idle_type {
CPU_MAX_IDLE_TYPES
};
-#ifdef CONFIG_SMP
extern void wake_up_if_idle(int cpu);
-#else
-static inline void wake_up_if_idle(int cpu) { }
-#endif
/*
* Idle thread specific functions to determine the need_resched
diff --git a/include/linux/sched/nohz.h b/include/linux/sched/nohz.h
index 6d67e9a5af6b..0db7f67935fe 100644
--- a/include/linux/sched/nohz.h
+++ b/include/linux/sched/nohz.h
@@ -6,7 +6,7 @@
* This is the interface between the scheduler and nohz/dynticks:
*/
-#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
+#ifdef CONFIG_NO_HZ_COMMON
extern void nohz_balance_enter_idle(int cpu);
extern int get_nohz_timer_target(void);
#else
@@ -23,7 +23,7 @@ static inline void calc_load_nohz_remote(struct rq *rq) { }
static inline void calc_load_nohz_stop(void) { }
#endif /* CONFIG_NO_HZ_COMMON */
-#if defined(CONFIG_NO_HZ_COMMON) && defined(CONFIG_SMP)
+#ifdef CONFIG_NO_HZ_COMMON
extern void wake_up_nohz_cpu(int cpu);
#else
static inline void wake_up_nohz_cpu(int cpu) { }
diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h
index 198bb5cc1774..e54e7fa76ba6 100644
--- a/include/linux/sched/topology.h
+++ b/include/linux/sched/topology.h
@@ -9,7 +9,6 @@
/*
* sched-domains (multiprocessor balancing) declarations:
*/
-#ifdef CONFIG_SMP
/* Generate SD flag indexes */
#define SD_FLAG(name, mflags) __##name,
@@ -200,37 +199,6 @@ extern void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio);
# define SD_INIT_NAME(type) .name = #type
-#else /* CONFIG_SMP */
-
-struct sched_domain_attr;
-
-static inline void
-partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[],
- struct sched_domain_attr *dattr_new)
-{
-}
-
-static inline bool cpus_equal_capacity(int this_cpu, int that_cpu)
-{
- return true;
-}
-
-static inline bool cpus_share_cache(int this_cpu, int that_cpu)
-{
- return true;
-}
-
-static inline bool cpus_share_resources(int this_cpu, int that_cpu)
-{
- return true;
-}
-
-static inline void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio)
-{
-}
-
-#endif /* !CONFIG_SMP */
-
#if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
extern void rebuild_sched_domains_energy(void);
#else
diff --git a/kernel/sched/build_policy.c b/kernel/sched/build_policy.c
index 72d97aa8b726..c4a488e67aa7 100644
--- a/kernel/sched/build_policy.c
+++ b/kernel/sched/build_policy.c
@@ -50,11 +50,9 @@
#include "idle.c"
#include "rt.c"
+#include "cpudeadline.c"
-#ifdef CONFIG_SMP
-# include "cpudeadline.c"
-# include "pelt.c"
-#endif
+#include "pelt.c"
#include "cputime.c"
#include "deadline.c"
diff --git a/kernel/sched/build_utility.c b/kernel/sched/build_utility.c
index 5c485b2dfb95..e2cf3b08d4e9 100644
--- a/kernel/sched/build_utility.c
+++ b/kernel/sched/build_utility.c
@@ -80,10 +80,8 @@
#include "wait_bit.c"
#include "wait.c"
-#ifdef CONFIG_SMP
-# include "cpupri.c"
-# include "stop_task.c"
-#endif
+#include "cpupri.c"
+#include "stop_task.c"
#include "topology.c"
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 21cf5809b2d8..8e5f728df3e0 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -650,7 +650,6 @@ void raw_spin_rq_unlock(struct rq *rq)
raw_spin_unlock(rq_lockp(rq));
}
-#ifdef CONFIG_SMP
/*
* double_rq_lock - safely lock two runqueues
*/
@@ -667,7 +666,6 @@ void double_rq_lock(struct rq *rq1, struct rq *rq2)
double_rq_clock_clear_update(rq1, rq2);
}
-#endif /* CONFIG_SMP */
/*
* __task_rq_lock - lock the rq @p resides on.
@@ -949,7 +947,7 @@ static inline void hrtick_rq_init(struct rq *rq)
_val; \
})
-#if defined(CONFIG_SMP) && defined(TIF_POLLING_NRFLAG)
+#ifdef TIF_POLLING_NRFLAG
/*
* Atomically set TIF_NEED_RESCHED and test for TIF_POLLING_NRFLAG,
* this avoids any races wrt polling state changes and thereby avoids
@@ -988,13 +986,11 @@ static inline bool set_nr_and_not_polling(struct thread_info *ti, int tif)
return true;
}
-#ifdef CONFIG_SMP
static inline bool set_nr_if_polling(struct task_struct *p)
{
return false;
}
#endif
-#endif
static bool __wake_q_add(struct wake_q_head *head, struct task_struct *task)
{
@@ -1167,7 +1163,6 @@ void resched_cpu(int cpu)
raw_spin_rq_unlock_irqrestore(rq, flags);
}
-#ifdef CONFIG_SMP
#ifdef CONFIG_NO_HZ_COMMON
/*
* In the semi idle case, use the nearest busy CPU for migrating timers
@@ -1374,10 +1369,8 @@ bool sched_can_stop_tick(struct rq *rq)
return true;
}
#endif /* CONFIG_NO_HZ_FULL */
-#endif /* CONFIG_SMP */
-#if defined(CONFIG_RT_GROUP_SCHED) || (defined(CONFIG_FAIR_GROUP_SCHED) && \
- (defined(CONFIG_SMP) || defined(CONFIG_CFS_BANDWIDTH)))
+#if defined(CONFIG_RT_GROUP_SCHED) || defined(CONFIG_FAIR_GROUP_SCHED)
/*
* Iterate task_group tree rooted at *from, calling @down when first entering a
* node and @up when leaving it for the final time.
@@ -2353,8 +2346,6 @@ unsigned long wait_task_inactive(struct task_struct *p, unsigned int match_state
return ncsw;
}
-#ifdef CONFIG_SMP
-
static void
__do_set_cpus_allowed(struct task_struct *p, struct affinity_context *ctx);
@@ -3305,6 +3296,8 @@ void relax_compatible_cpus_allowed_ptr(struct task_struct *p)
WARN_ON_ONCE(ret);
}
+#ifdef CONFIG_SMP
+
void set_task_cpu(struct task_struct *p, unsigned int new_cpu)
{
unsigned int state = READ_ONCE(p->__state);
@@ -3358,6 +3351,7 @@ void set_task_cpu(struct task_struct *p, unsigned int new_cpu)
__set_task_cpu(p, new_cpu);
}
+#endif /* CONFIG_SMP */
#ifdef CONFIG_NUMA_BALANCING
static void __migrate_swap_task(struct task_struct *p, int cpu)
@@ -3657,17 +3651,6 @@ void sched_set_stop_task(int cpu, struct task_struct *stop)
}
}
-#else /* !CONFIG_SMP: */
-
-static inline void migrate_disable_switch(struct rq *rq, struct task_struct *p) { }
-
-static inline bool rq_has_pinned_tasks(struct rq *rq)
-{
- return false;
-}
-
-#endif /* !CONFIG_SMP */
-
static void
ttwu_stat(struct task_struct *p, int cpu, int wake_flags)
{
@@ -3678,7 +3661,6 @@ ttwu_stat(struct task_struct *p, int cpu, int wake_flags)
rq = this_rq();
-#ifdef CONFIG_SMP
if (cpu == rq->cpu) {
__schedstat_inc(rq->ttwu_local);
__schedstat_inc(p->stats.nr_wakeups_local);
@@ -3698,7 +3680,6 @@ ttwu_stat(struct task_struct *p, int cpu, int wake_flags)
if (wake_flags & WF_MIGRATED)
__schedstat_inc(p->stats.nr_wakeups_migrate);
-#endif /* CONFIG_SMP */
__schedstat_inc(rq->ttwu_count);
__schedstat_inc(p->stats.nr_wakeups);
@@ -3727,13 +3708,11 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags,
if (p->sched_contributes_to_load)
rq->nr_uninterruptible--;
-#ifdef CONFIG_SMP
if (wake_flags & WF_RQ_SELECTED)
en_flags |= ENQUEUE_RQ_SELECTED;
if (wake_flags & WF_MIGRATED)
en_flags |= ENQUEUE_MIGRATED;
else
-#endif
if (p->in_iowait) {
delayacct_blkio_end(p);
atomic_dec(&task_rq(p)->nr_iowait);
@@ -3744,7 +3723,6 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags,
ttwu_do_wakeup(p);
-#ifdef CONFIG_SMP
if (p->sched_class->task_woken) {
/*
* Our task @p is fully woken up and running; so it's safe to
@@ -3766,7 +3744,6 @@ ttwu_do_activate(struct rq *rq, struct task_struct *p, int wake_flags,
rq->idle_stamp = 0;
}
-#endif /* CONFIG_SMP */
}
/*
@@ -3820,7 +3797,6 @@ static int ttwu_runnable(struct task_struct *p, int wake_flags)
return ret;
}
-#ifdef CONFIG_SMP
void sched_ttwu_pending(void *arg)
{
struct llist_node *llist = arg;
@@ -3887,7 +3863,9 @@ static void __ttwu_queue_wakelist(struct task_struct *p, int cpu, int wake_flags
p->sched_remote_wakeup = !!(wake_flags & WF_MIGRATED);
WRITE_ONCE(rq->ttwu_pending, 1);
+#ifdef CONFIG_SMP
__smp_call_single_queue(cpu, &p->wake_entry.llist);
+#endif
}
void wake_up_if_idle(int cpu)
@@ -3988,15 +3966,6 @@ static bool ttwu_queue_wakelist(struct task_struct *p, int cpu, int wake_flags)
return false;
}
-#else /* !CONFIG_SMP: */
-
-static inline bool ttwu_queue_wakelist(struct task_struct *p, int cpu, int wake_flags)
-{
- return false;
-}
-
-#endif /* !CONFIG_SMP */
-
static void ttwu_queue(struct task_struct *p, int cpu, int wake_flags)
{
struct rq *rq = cpu_rq(cpu);
@@ -4529,10 +4498,8 @@ static void __sched_fork(unsigned long clone_flags, struct task_struct *p)
p->capture_control = NULL;
#endif
init_numa_balancing(clone_flags, p);
-#ifdef CONFIG_SMP
p->wake_entry.u_flags = CSD_TYPE_TTWU;
p->migration_pending = NULL;
-#endif
init_sched_mm_cid(p);
}
@@ -4783,14 +4750,11 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p)
if (likely(sched_info_on()))
memset(&p->sched_info, 0, sizeof(p->sched_info));
#endif
-#ifdef CONFIG_SMP
p->on_cpu = 0;
-#endif
init_task_preempt_count(p);
-#ifdef CONFIG_SMP
plist_node_init(&p->pushable_tasks, MAX_PRIO);
RB_CLEAR_NODE(&p->pushable_dl_tasks);
-#endif
+
return 0;
}
@@ -4867,7 +4831,6 @@ void wake_up_new_task(struct task_struct *p)
raw_spin_lock_irqsave(&p->pi_lock, rf.flags);
WRITE_ONCE(p->__state, TASK_RUNNING);
-#ifdef CONFIG_SMP
/*
* Fork balancing, do it here and not earlier because:
* - cpus_ptr can change in the fork path
@@ -4879,7 +4842,6 @@ void wake_up_new_task(struct task_struct *p)
p->recent_used_cpu = task_cpu(p);
rseq_migrate(p);
__set_task_cpu(p, select_task_rq(p, task_cpu(p), &wake_flags));
-#endif
rq = __task_rq_lock(p, &rf);
update_rq_clock(rq);
post_init_entity_util_avg(p);
@@ -4990,7 +4952,6 @@ fire_sched_out_preempt_notifiers(struct task_struct *curr,
static inline void prepare_task(struct task_struct *next)
{
-#ifdef CONFIG_SMP
/*
* Claim the task as running, we do this before switching to it
* such that any running task will have this set.
@@ -4999,12 +4960,10 @@ static inline void prepare_task(struct task_struct *next)
* its ordering comment.
*/
WRITE_ONCE(next->on_cpu, 1);
-#endif
}
static inline void finish_task(struct task_struct *prev)
{
-#ifdef CONFIG_SMP
/*
* This must be the very last reference to @prev from this CPU. After
* p->on_cpu is cleared, the task can be moved to a different CPU. We
@@ -5017,11 +4976,8 @@ static inline void finish_task(struct task_struct *prev)
* Pairs with the smp_cond_load_acquire() in try_to_wake_up().
*/
smp_store_release(&prev->on_cpu, 0);
-#endif
}
-#ifdef CONFIG_SMP
-
static void do_balance_callbacks(struct rq *rq, struct balance_callback *head)
{
void (*func)(struct rq *rq);
@@ -5103,14 +5059,6 @@ void balance_callbacks(struct rq *rq, struct balance_callback *head)
}
}
-#else /* !CONFIG_SMP: */
-
-static inline void __balance_callbacks(struct rq *rq)
-{
-}
-
-#endif /* !CONFIG_SMP */
-
static inline void
prepare_lock_switch(struct rq *rq, struct task_struct *next, struct rq_flags *rf)
{
@@ -5559,7 +5507,7 @@ unsigned long long task_sched_runtime(struct task_struct *p)
struct rq *rq;
u64 ns;
-#if defined(CONFIG_64BIT) && defined(CONFIG_SMP)
+#ifdef CONFIG_64BIT
/*
* 64-bit doesn't need locks to atomically read a 64-bit value.
* So we have a optimization chance when the task's delta_exec is 0.
@@ -5686,12 +5634,10 @@ void sched_tick(void)
if (donor->flags & PF_WQ_WORKER)
wq_worker_tick(donor);
-#ifdef CONFIG_SMP
if (!scx_switched_all()) {
rq->idle_balance = idle_cpu(cpu);
sched_balance_trigger(rq);
}
-#endif
}
#ifdef CONFIG_NO_HZ_FULL
@@ -7815,12 +7761,10 @@ void show_state_filter(unsigned int state_filter)
*/
void __init init_idle(struct task_struct *idle, int cpu)
{
-#ifdef CONFIG_SMP
struct affinity_context ac = (struct affinity_context) {
.new_mask = cpumask_of(cpu),
.flags = 0,
};
-#endif
struct rq *rq = cpu_rq(cpu);
unsigned long flags;
@@ -7836,13 +7780,11 @@ void __init init_idle(struct task_struct *idle, int cpu)
idle->flags |= PF_KTHREAD | PF_NO_SETAFFINITY;
kthread_set_per_cpu(idle, cpu);
-#ifdef CONFIG_SMP
/*
* No validation and serialization required at boot time and for
* setting up the idle tasks of not yet online CPUs.
*/
set_cpus_allowed_common(idle, &ac);
-#endif
/*
* We're having a chicken and egg problem, even though we are
* holding rq->lock, the CPU isn't yet set to this CPU so the
@@ -7861,9 +7803,7 @@ void __init init_idle(struct task_struct *idle, int cpu)
rq_set_donor(rq, idle);
rcu_assign_pointer(rq->curr, idle);
idle->on_rq = TASK_ON_RQ_QUEUED;
-#ifdef CONFIG_SMP
idle->on_cpu = 1;
-#endif
raw_spin_rq_unlock(rq);
raw_spin_unlock_irqrestore(&idle->pi_lock, flags);
@@ -7876,13 +7816,9 @@ void __init init_idle(struct task_struct *idle, int cpu)
idle->sched_class = &idle_sched_class;
ftrace_graph_init_idle_task(idle, cpu);
vtime_init_idle(idle, cpu);
-#ifdef CONFIG_SMP
sprintf(idle->comm, "%s/%d", INIT_TASK_COMM, cpu);
-#endif
}
-#ifdef CONFIG_SMP
-
int cpuset_cpumask_can_shrink(const struct cpumask *cur,
const struct cpumask *trial)
{
@@ -8475,13 +8411,6 @@ static int __init migration_init(void)
}
early_initcall(migration_init);
-#else /* !CONFIG_SMP: */
-void __init sched_init_smp(void)
-{
- sched_init_granularity();
-}
-#endif /* !CONFIG_SMP */
-
int in_sched_functions(unsigned long addr)
{
return in_lock_functions(addr) ||
@@ -8507,9 +8436,7 @@ void __init sched_init(void)
int i;
/* Make sure the linker didn't screw up */
-#ifdef CONFIG_SMP
BUG_ON(!sched_class_above(&stop_sched_class, &dl_sched_class));
-#endif
BUG_ON(!sched_class_above(&dl_sched_class, &rt_sched_class));
BUG_ON(!sched_class_above(&rt_sched_class, &fair_sched_class));
BUG_ON(!sched_class_above(&fair_sched_class, &idle_sched_class));
@@ -8552,9 +8479,7 @@ void __init sched_init(void)
#endif /* CONFIG_RT_GROUP_SCHED */
}
-#ifdef CONFIG_SMP
init_defrootdomain();
-#endif
#ifdef CONFIG_RT_GROUP_SCHED
init_rt_bandwidth(&root_task_group.rt_bandwidth,
@@ -8615,7 +8540,6 @@ void __init sched_init(void)
rq->rt.rt_runtime = global_rt_runtime();
init_tg_rt_entry(&root_task_group, &rq->rt, NULL, i, NULL);
#endif
-#ifdef CONFIG_SMP
rq->sd = NULL;
rq->rd = NULL;
rq->cpu_capacity = SCHED_CAPACITY_SCALE;
@@ -8632,16 +8556,15 @@ void __init sched_init(void)
INIT_LIST_HEAD(&rq->cfs_tasks);
rq_attach_root(rq, &def_root_domain);
-# ifdef CONFIG_NO_HZ_COMMON
+#ifdef CONFIG_NO_HZ_COMMON
rq->last_blocked_load_update_tick = jiffies;
atomic_set(&rq->nohz_flags, 0);
INIT_CSD(&rq->nohz_csd, nohz_csd_func, rq);
-# endif
-# ifdef CONFIG_HOTPLUG_CPU
+#endif
+#ifdef CONFIG_HOTPLUG_CPU
rcuwait_init(&rq->hotplug_wait);
-# endif
-#endif /* CONFIG_SMP */
+#endif
hrtick_rq_init(rq);
atomic_set(&rq->nr_iowait, 0);
fair_server_init(rq);
@@ -8691,8 +8614,9 @@ void __init sched_init(void)
#ifdef CONFIG_SMP
idle_thread_set_boot_cpu();
- balance_push_set(smp_processor_id(), false);
#endif
+
+ balance_push_set(smp_processor_id(), false);
init_sched_fair_class();
init_sched_ext_class();
diff --git a/kernel/sched/cpudeadline.h b/kernel/sched/cpudeadline.h
index 0adeda93b5fb..249dc320a6a6 100644
--- a/kernel/sched/cpudeadline.h
+++ b/kernel/sched/cpudeadline.h
@@ -15,7 +15,6 @@ struct cpudl {
struct cpudl_item *elements;
};
-#ifdef CONFIG_SMP
int cpudl_find(struct cpudl *cp, struct task_struct *p, struct cpumask *later_mask);
void cpudl_set(struct cpudl *cp, int cpu, u64 dl);
void cpudl_clear(struct cpudl *cp, int cpu);
@@ -23,4 +22,3 @@ int cpudl_init(struct cpudl *cp);
void cpudl_set_freecpu(struct cpudl *cp, int cpu);
void cpudl_clear_freecpu(struct cpudl *cp, int cpu);
void cpudl_cleanup(struct cpudl *cp);
-#endif /* CONFIG_SMP */
diff --git a/kernel/sched/cpupri.h b/kernel/sched/cpupri.h
index f9c18e77d6a6..cd3bc0adb9b3 100644
--- a/kernel/sched/cpupri.h
+++ b/kernel/sched/cpupri.h
@@ -17,7 +17,6 @@ struct cpupri {
int *cpu_to_pri;
};
-#ifdef CONFIG_SMP
int cpupri_find(struct cpupri *cp, struct task_struct *p,
struct cpumask *lowest_mask);
int cpupri_find_fitness(struct cpupri *cp, struct task_struct *p,
@@ -26,4 +25,3 @@ int cpupri_find_fitness(struct cpupri *cp, struct task_struct *p,
void cpupri_set(struct cpupri *cp, int cpu, int pri);
int cpupri_init(struct cpupri *cp);
void cpupri_cleanup(struct cpupri *cp);
-#endif /* CONFIG_SMP */
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 7df38ea4d650..80dd95419eac 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -111,7 +111,6 @@ static inline bool is_dl_boosted(struct sched_dl_entity *dl_se)
}
#endif /* !CONFIG_RT_MUTEXES */
-#ifdef CONFIG_SMP
static inline struct dl_bw *dl_bw_of(int i)
{
RCU_LOCKDEP_WARN(!rcu_read_lock_sched_held(),
@@ -191,35 +190,6 @@ void __dl_update(struct dl_bw *dl_b, s64 bw)
rq->dl.extra_bw += bw;
}
}
-#else /* !CONFIG_SMP: */
-static inline struct dl_bw *dl_bw_of(int i)
-{
- return &cpu_rq(i)->dl.dl_bw;
-}
-
-static inline int dl_bw_cpus(int i)
-{
- return 1;
-}
-
-static inline unsigned long dl_bw_capacity(int i)
-{
- return SCHED_CAPACITY_SCALE;
-}
-
-bool dl_bw_visited(int cpu, u64 cookie)
-{
- return false;
-}
-
-static inline
-void __dl_update(struct dl_bw *dl_b, s64 bw)
-{
- struct dl_rq *dl = container_of(dl_b, struct dl_rq, dl_bw);
-
- dl->extra_bw += bw;
-}
-#endif /* !CONFIG_SMP */
static inline
void __dl_sub(struct dl_bw *dl_b, u64 tsk_bw, int cpus)
@@ -552,23 +522,17 @@ void init_dl_rq(struct dl_rq *dl_rq)
{
dl_rq->root = RB_ROOT_CACHED;
-#ifdef CONFIG_SMP
/* zero means no -deadline tasks */
dl_rq->earliest_dl.curr = dl_rq->earliest_dl.next = 0;
dl_rq->overloaded = 0;
dl_rq->pushable_dl_tasks_root = RB_ROOT_CACHED;
-#else
- init_dl_bw(&dl_rq->dl_bw);
-#endif
dl_rq->running_bw = 0;
dl_rq->this_bw = 0;
init_dl_rq_bw_ratio(dl_rq);
}
-#ifdef CONFIG_SMP
-
static inline int dl_overloaded(struct rq *rq)
{
return atomic_read(&rq->rd->dlo_count);
@@ -753,37 +717,6 @@ static struct rq *dl_task_offline_migration(struct rq *rq, struct task_struct *p
return later_rq;
}
-#else /* !CONFIG_SMP: */
-
-static inline
-void enqueue_pushable_dl_task(struct rq *rq, struct task_struct *p)
-{
-}
-
-static inline
-void dequeue_pushable_dl_task(struct rq *rq, struct task_struct *p)
-{
-}
-
-static inline
-void inc_dl_migration(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
-{
-}
-
-static inline
-void dec_dl_migration(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
-{
-}
-
-static inline void deadline_queue_push_tasks(struct rq *rq)
-{
-}
-
-static inline void deadline_queue_pull_task(struct rq *rq)
-{
-}
-#endif /* !CONFIG_SMP */
-
static void
enqueue_dl_entity(struct sched_dl_entity *dl_se, int flags);
static void enqueue_task_dl(struct rq *rq, struct task_struct *p, int flags);
@@ -1195,7 +1128,6 @@ static int start_dl_timer(struct sched_dl_entity *dl_se)
static void __push_dl_task(struct rq *rq, struct rq_flags *rf)
{
-#ifdef CONFIG_SMP
/*
* Queueing this task back might have overloaded rq, check if we need
* to kick someone away.
@@ -1209,7 +1141,6 @@ static void __push_dl_task(struct rq *rq, struct rq_flags *rf)
push_dl_task(rq);
rq_repin_lock(rq, rf);
}
-#endif /* CONFIG_SMP */
}
/* a defer timer will not be reset if the runtime consumed was < dl_server_min_res */
@@ -1339,7 +1270,6 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)
goto unlock;
}
-#ifdef CONFIG_SMP
if (unlikely(!rq->online)) {
/*
* If the runqueue is no longer available, migrate the
@@ -1356,7 +1286,6 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)
* there.
*/
}
-#endif /* CONFIG_SMP */
enqueue_task_dl(rq, p, ENQUEUE_REPLENISH);
if (dl_task(rq->donor))
@@ -1844,8 +1773,6 @@ static void init_dl_inactive_task_timer(struct sched_dl_entity *dl_se)
#define __node_2_dle(node) \
rb_entry((node), struct sched_dl_entity, rb_node)
-#ifdef CONFIG_SMP
-
static void inc_dl_deadline(struct dl_rq *dl_rq, u64 deadline)
{
struct rq *rq = rq_of_dl_rq(dl_rq);
@@ -1881,13 +1808,6 @@ static void dec_dl_deadline(struct dl_rq *dl_rq, u64 deadline)
}
}
-#else /* !CONFIG_SMP: */
-
-static inline void inc_dl_deadline(struct dl_rq *dl_rq, u64 deadline) {}
-static inline void dec_dl_deadline(struct dl_rq *dl_rq, u64 deadline) {}
-
-#endif /* !CONFIG_SMP */
-
static inline
void inc_dl_tasks(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
{
@@ -2214,8 +2134,6 @@ static void yield_task_dl(struct rq *rq)
rq_clock_skip_update(rq);
}
-#ifdef CONFIG_SMP
-
static inline bool dl_task_is_earliest_deadline(struct task_struct *p,
struct rq *rq)
{
@@ -2345,7 +2263,6 @@ static int balance_dl(struct rq *rq, struct task_struct *p, struct rq_flags *rf)
return sched_stop_runnable(rq) || sched_dl_runnable(rq);
}
-#endif /* CONFIG_SMP */
/*
* Only called when both the current and waking task are -deadline
@@ -2359,7 +2276,6 @@ static void wakeup_preempt_dl(struct rq *rq, struct task_struct *p,
return;
}
-#ifdef CONFIG_SMP
/*
* In the unlikely case current and p have the same deadline
* let us try to decide what's the best thing to do...
@@ -2367,7 +2283,6 @@ static void wakeup_preempt_dl(struct rq *rq, struct task_struct *p,
if ((p->dl.deadline == rq->donor->dl.deadline) &&
!test_tsk_need_resched(rq->curr))
check_preempt_equal_dl(rq, p);
-#endif /* CONFIG_SMP */
}
#ifdef CONFIG_SCHED_HRTICK
@@ -2500,8 +2415,6 @@ static void task_fork_dl(struct task_struct *p)
*/
}
-#ifdef CONFIG_SMP
-
/* Only try algorithms three times */
#define DL_MAX_TRIES 3
@@ -2995,8 +2908,6 @@ void dl_clear_root_domain_cpu(int cpu)
dl_clear_root_domain(cpu_rq(cpu)->rd);
}
-#endif /* CONFIG_SMP */
-
static void switched_from_dl(struct rq *rq, struct task_struct *p)
{
/*
@@ -3069,10 +2980,8 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p)
}
if (rq->donor != p) {
-#ifdef CONFIG_SMP
if (p->nr_cpus_allowed > 1 && rq->dl.overloaded)
deadline_queue_push_tasks(rq);
-#endif
if (dl_task(rq->donor))
wakeup_preempt_dl(rq, p, 0);
else
@@ -3149,7 +3058,6 @@ DEFINE_SCHED_CLASS(dl) = {
.put_prev_task = put_prev_task_dl,
.set_next_task = set_next_task_dl,
-#ifdef CONFIG_SMP
.balance = balance_dl,
.select_task_rq = select_task_rq_dl,
.migrate_task_rq = migrate_task_rq_dl,
@@ -3158,7 +3066,6 @@ DEFINE_SCHED_CLASS(dl) = {
.rq_offline = rq_offline_dl,
.task_woken = task_woken_dl,
.find_lock_rq = find_lock_later_rq,
-#endif /* CONFIG_SMP */
.task_tick = task_tick_dl,
.task_fork = task_fork_dl,
@@ -3458,7 +3365,6 @@ bool dl_param_changed(struct task_struct *p, const struct sched_attr *attr)
return false;
}
-#ifdef CONFIG_SMP
int dl_cpuset_cpumask_can_shrink(const struct cpumask *cur,
const struct cpumask *trial)
{
@@ -3570,7 +3476,6 @@ void dl_bw_free(int cpu, u64 dl_bw)
{
dl_bw_manage(dl_bw_req_free, cpu, dl_bw);
}
-#endif /* CONFIG_SMP */
void print_dl_stats(struct seq_file *m, int cpu)
{
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
index aaba8661aa46..027750931420 100644
--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -283,7 +283,6 @@ static const struct file_operations sched_dynamic_fops = {
__read_mostly bool sched_debug_verbose;
-#ifdef CONFIG_SMP
static struct dentry *sd_dentry;
@@ -311,9 +310,6 @@ static ssize_t sched_verbose_write(struct file *filp, const char __user *ubuf,
return result;
}
-#else /* !CONFIG_SMP: */
-# define sched_verbose_write debugfs_write_file_bool
-#endif /* !CONFIG_SMP */
static const struct file_operations sched_verbose_fops = {
.read = debugfs_read_file_bool,
@@ -540,8 +536,6 @@ static __init int sched_init_debug(void)
}
late_initcall(sched_init_debug);
-#ifdef CONFIG_SMP
-
static cpumask_var_t sd_sysctl_cpus;
static int sd_flags_show(struct seq_file *m, void *v)
@@ -652,8 +646,6 @@ void dirty_sched_domain_sysctl(int cpu)
__cpumask_set_cpu(cpu, sd_sysctl_cpus);
}
-#endif /* CONFIG_SMP */
-
#ifdef CONFIG_FAIR_GROUP_SCHED
static void print_cfs_group_stats(struct seq_file *m, int cpu, struct task_group *tg)
{
@@ -929,11 +921,7 @@ void print_dl_rq(struct seq_file *m, int cpu, struct dl_rq *dl_rq)
SEQ_printf(m, " .%-30s: %lu\n", #x, (unsigned long)(dl_rq->x))
PU(dl_nr_running);
-#ifdef CONFIG_SMP
dl_bw = &cpu_rq(cpu)->rd->dl_bw;
-#else
- dl_bw = &dl_rq->dl_bw;
-#endif
SEQ_printf(m, " .%-30s: %lld\n", "dl_bw->bw", dl_bw->bw);
SEQ_printf(m, " .%-30s: %lld\n", "dl_bw->total_bw", dl_bw->total_bw);
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 92ae3da8ca37..323e2f5c9361 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -88,7 +88,6 @@ static int __init setup_sched_thermal_decay_shift(char *str)
}
__setup("sched_thermal_decay_shift=", setup_sched_thermal_decay_shift);
-#ifdef CONFIG_SMP
/*
* For asym packing, by default the lower numbered CPU has higher priority.
*/
@@ -111,7 +110,6 @@ int __weak arch_asym_cpu_priority(int cpu)
* (default: ~5%)
*/
#define capacity_greater(cap1, cap2) ((cap1) * 1024 > (cap2) * 1078)
-#endif /* CONFIG_SMP */
#ifdef CONFIG_CFS_BANDWIDTH
/*
@@ -996,7 +994,6 @@ struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq)
/**************************************************************
* Scheduling class statistics methods:
*/
-#ifdef CONFIG_SMP
int sched_update_scaling(void)
{
unsigned int factor = get_update_sysctl_factor();
@@ -1008,7 +1005,6 @@ int sched_update_scaling(void)
return 0;
}
-#endif /* CONFIG_SMP */
static void clear_buddies(struct cfs_rq *cfs_rq, struct sched_entity *se);
@@ -1042,8 +1038,6 @@ static bool update_deadline(struct cfs_rq *cfs_rq, struct sched_entity *se)
#include "pelt.h"
-#ifdef CONFIG_SMP
-
static int select_idle_sibling(struct task_struct *p, int prev_cpu, int cpu);
static unsigned long task_h_load(struct task_struct *p);
static unsigned long capacity_of(int cpu);
@@ -1132,18 +1126,6 @@ void post_init_entity_util_avg(struct task_struct *p)
sa->runnable_avg = sa->util_avg;
}
-#else /* !CONFIG_SMP: */
-void init_entity_runnable_average(struct sched_entity *se)
-{
-}
-void post_init_entity_util_avg(struct task_struct *p)
-{
-}
-static void update_tg_load_avg(struct cfs_rq *cfs_rq)
-{
-}
-#endif /* !CONFIG_SMP */
-
static s64 update_curr_se(struct rq *rq, struct sched_entity *curr)
{
u64 now = rq_clock_task(rq);
@@ -3688,14 +3670,12 @@ static void
account_entity_enqueue(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
update_load_add(&cfs_rq->load, se->load.weight);
-#ifdef CONFIG_SMP
if (entity_is_task(se)) {
struct rq *rq = rq_of(cfs_rq);
account_numa_enqueue(rq, task_of(se));
list_add(&se->group_node, &rq->cfs_tasks);
}
-#endif
cfs_rq->nr_queued++;
}
@@ -3703,12 +3683,10 @@ static void
account_entity_dequeue(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
update_load_sub(&cfs_rq->load, se->load.weight);
-#ifdef CONFIG_SMP
if (entity_is_task(se)) {
account_numa_dequeue(rq_of(cfs_rq), task_of(se));
list_del_init(&se->group_node);
}
-#endif
cfs_rq->nr_queued--;
}
@@ -3760,7 +3738,6 @@ account_entity_dequeue(struct cfs_rq *cfs_rq, struct sched_entity *se)
*ptr -= min_t(typeof(*ptr), *ptr, _val); \
} while (0)
-#ifdef CONFIG_SMP
static inline void
enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
@@ -3777,12 +3754,6 @@ dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
cfs_rq->avg.load_sum = max_t(u32, cfs_rq->avg.load_sum,
cfs_rq->avg.load_avg * PELT_MIN_DIVIDER);
}
-#else /* !CONFIG_SMP: */
-static inline void
-enqueue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) { }
-static inline void
-dequeue_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) { }
-#endif /* !CONFIG_SMP */
static void place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags);
@@ -3814,13 +3785,11 @@ static void reweight_entity(struct cfs_rq *cfs_rq, struct sched_entity *se,
update_load_set(&se->load, weight);
-#ifdef CONFIG_SMP
do {
u32 divider = get_pelt_divider(&se->avg);
se->avg.load_avg = div_u64(se_weight(se) * se->avg.load_sum, divider);
} while (0);
-#endif
enqueue_load_avg(cfs_rq, se);
if (se->on_rq) {
@@ -3855,7 +3824,6 @@ static void reweight_task_fair(struct rq *rq, struct task_struct *p,
static inline int throttled_hierarchy(struct cfs_rq *cfs_rq);
#ifdef CONFIG_FAIR_GROUP_SCHED
-#ifdef CONFIG_SMP
/*
* All this does is approximate the hierarchical proportion which includes that
* global sum we all love to hate.
@@ -3962,7 +3930,6 @@ static long calc_group_shares(struct cfs_rq *cfs_rq)
*/
return clamp_t(long, shares, MIN_SHARES, tg_shares);
}
-#endif /* CONFIG_SMP */
/*
* Recomputes the group entity based on the current state of its group
@@ -3983,11 +3950,7 @@ static void update_cfs_group(struct sched_entity *se)
if (throttled_hierarchy(gcfs_rq))
return;
-#ifndef CONFIG_SMP
- shares = READ_ONCE(gcfs_rq->tg->shares);
-#else
shares = calc_group_shares(gcfs_rq);
-#endif
if (unlikely(se->load.weight != shares))
reweight_entity(cfs_rq_of(se), se, shares);
}
@@ -4021,7 +3984,6 @@ static inline void cfs_rq_util_change(struct cfs_rq *cfs_rq, int flags)
}
}
-#ifdef CONFIG_SMP
static inline bool load_avg_is_decayed(struct sched_avg *sa)
{
if (sa->load_sum)
@@ -5136,48 +5098,6 @@ static inline void update_misfit_status(struct task_struct *p, struct rq *rq)
rq->misfit_task_load = max_t(unsigned long, task_h_load(p), 1);
}
-#else /* !CONFIG_SMP: */
-
-static inline bool cfs_rq_is_decayed(struct cfs_rq *cfs_rq)
-{
- return !cfs_rq->nr_queued;
-}
-
-#define UPDATE_TG 0x0
-#define SKIP_AGE_LOAD 0x0
-#define DO_ATTACH 0x0
-#define DO_DETACH 0x0
-
-static inline void update_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se, int not_used1)
-{
- cfs_rq_util_change(cfs_rq, 0);
-}
-
-static inline void remove_entity_load_avg(struct sched_entity *se) {}
-
-static inline void
-attach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) {}
-static inline void
-detach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) {}
-
-static inline int sched_balance_newidle(struct rq *rq, struct rq_flags *rf)
-{
- return 0;
-}
-
-static inline void
-util_est_enqueue(struct cfs_rq *cfs_rq, struct task_struct *p) {}
-
-static inline void
-util_est_dequeue(struct cfs_rq *cfs_rq, struct task_struct *p) {}
-
-static inline void
-util_est_update(struct cfs_rq *cfs_rq, struct task_struct *p,
- bool task_sleep) {}
-static inline void update_misfit_status(struct task_struct *p, struct rq *rq) {}
-
-#endif /* !CONFIG_SMP */
-
void __setparam_fair(struct task_struct *p, const struct sched_attr *attr)
{
struct sched_entity *se = &p->se;
@@ -6080,7 +6000,6 @@ void unthrottle_cfs_rq(struct cfs_rq *cfs_rq)
resched_curr(rq);
}
-#ifdef CONFIG_SMP
static void __cfsb_csd_unthrottle(void *arg)
{
struct cfs_rq *cursor, *tmp;
@@ -6139,12 +6058,6 @@ static inline void __unthrottle_cfs_rq_async(struct cfs_rq *cfs_rq)
if (first)
smp_call_function_single_async(cpu_of(rq), &rq->cfsb_csd);
}
-#else /* !CONFIG_SMP: */
-static inline void __unthrottle_cfs_rq_async(struct cfs_rq *cfs_rq)
-{
- unthrottle_cfs_rq(cfs_rq);
-}
-#endif /* !CONFIG_SMP */
static void unthrottle_cfs_rq_async(struct cfs_rq *cfs_rq)
{
@@ -6600,7 +6513,6 @@ static void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b)
* guaranteed at this point that no additional cfs_rq of this group can
* join a CSD list.
*/
-#ifdef CONFIG_SMP
for_each_possible_cpu(i) {
struct rq *rq = cpu_rq(i);
unsigned long flags;
@@ -6612,7 +6524,6 @@ static void destroy_cfs_bandwidth(struct cfs_bandwidth *cfs_b)
__cfsb_csd_unthrottle(rq);
local_irq_restore(flags);
}
-#endif
}
/*
@@ -6825,7 +6736,6 @@ static inline void hrtick_update(struct rq *rq)
}
#endif /* !CONFIG_SCHED_HRTICK */
-#ifdef CONFIG_SMP
static inline bool cpu_overutilized(int cpu)
{
unsigned long rq_util_min, rq_util_max;
@@ -6867,9 +6777,6 @@ static inline void check_update_overutilized_status(struct rq *rq)
if (!is_rd_overutilized(rq->rd) && cpu_overutilized(rq->cpu))
set_rd_overutilized(rq->rd, 1);
}
-#else /* !CONFIG_SMP: */
-static inline void check_update_overutilized_status(struct rq *rq) { }
-#endif /* !CONFIG_SMP */
/* Runqueue only has SCHED_IDLE tasks enqueued */
static int sched_idle_rq(struct rq *rq)
@@ -6878,12 +6785,10 @@ static int sched_idle_rq(struct rq *rq)
rq->nr_running);
}
-#ifdef CONFIG_SMP
static int sched_idle_cpu(int cpu)
{
return sched_idle_rq(cpu_rq(cpu));
}
-#endif
static void
requeue_delayed_entity(struct sched_entity *se)
@@ -7198,8 +7103,6 @@ static inline unsigned int cfs_h_nr_delayed(struct rq *rq)
return (rq->cfs.h_nr_queued - rq->cfs.h_nr_runnable);
}
-#ifdef CONFIG_SMP
-
/* Working cpumask for: sched_balance_rq(), sched_balance_newidle(). */
static DEFINE_PER_CPU(cpumask_var_t, load_balance_mask);
static DEFINE_PER_CPU(cpumask_var_t, select_rq_mask);
@@ -8735,9 +8638,6 @@ balance_fair(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
return sched_balance_newidle(rq, rf) != 0;
}
-#else /* !CONFIG_SMP: */
-static inline void set_task_max_allowed_capacity(struct task_struct *p) {}
-#endif /* !CONFIG_SMP */
static void set_next_buddy(struct sched_entity *se)
{
@@ -9047,7 +8947,6 @@ static bool yield_to_task_fair(struct rq *rq, struct task_struct *p)
return true;
}
-#ifdef CONFIG_SMP
/**************************************************
* Fair scheduling class load-balancing methods.
*
@@ -12970,8 +12869,6 @@ static void rq_offline_fair(struct rq *rq)
clear_tg_offline_cfs_rqs(rq);
}
-#endif /* CONFIG_SMP */
-
#ifdef CONFIG_SCHED_CORE
static inline bool
__entity_slice_used(struct sched_entity *se, int min_nr_tasks)
@@ -13199,7 +13096,6 @@ static void detach_entity_cfs_rq(struct sched_entity *se)
{
struct cfs_rq *cfs_rq = cfs_rq_of(se);
-#ifdef CONFIG_SMP
/*
* In case the task sched_avg hasn't been attached:
* - A forked task which hasn't been woken up by wake_up_new_task().
@@ -13208,7 +13104,6 @@ static void detach_entity_cfs_rq(struct sched_entity *se)
*/
if (!se->avg.last_update_time)
return;
-#endif
/* Catch up with the cfs_rq and remove our load when we leave */
update_load_avg(cfs_rq, se, 0);
@@ -13272,7 +13167,6 @@ static void __set_next_task_fair(struct rq *rq, struct task_struct *p, bool firs
{
struct sched_entity *se = &p->se;
-#ifdef CONFIG_SMP
if (task_on_rq_queued(p)) {
/*
* Move the next running task to the front of the list, so our
@@ -13280,7 +13174,6 @@ static void __set_next_task_fair(struct rq *rq, struct task_struct *p, bool firs
*/
list_move(&se->group_node, &rq->cfs_tasks);
}
-#endif
if (!first)
return;
@@ -13318,9 +13211,7 @@ void init_cfs_rq(struct cfs_rq *cfs_rq)
{
cfs_rq->tasks_timeline = RB_ROOT_CACHED;
cfs_rq->min_vruntime = (u64)(-(1LL << 20));
-#ifdef CONFIG_SMP
raw_spin_lock_init(&cfs_rq->removed.lock);
-#endif
}
#ifdef CONFIG_FAIR_GROUP_SCHED
@@ -13335,10 +13226,8 @@ static void task_change_group_fair(struct task_struct *p)
detach_task_cfs_rq(p);
-#ifdef CONFIG_SMP
/* Tell se's cfs_rq has been changed -- migrated */
p->se.avg.last_update_time = 0;
-#endif
set_task_rq(p, task_cpu(p));
attach_task_cfs_rq(p);
}
@@ -13634,7 +13523,6 @@ DEFINE_SCHED_CLASS(fair) = {
.put_prev_task = put_prev_task_fair,
.set_next_task = set_next_task_fair,
-#ifdef CONFIG_SMP
.balance = balance_fair,
.select_task_rq = select_task_rq_fair,
.migrate_task_rq = migrate_task_rq_fair,
@@ -13644,7 +13532,6 @@ DEFINE_SCHED_CLASS(fair) = {
.task_dead = task_dead_fair,
.set_cpus_allowed = set_cpus_allowed_fair,
-#endif
.task_tick = task_tick_fair,
.task_fork = task_fork_fair,
@@ -13707,7 +13594,6 @@ void show_numa_stats(struct task_struct *p, struct seq_file *m)
__init void init_sched_fair_class(void)
{
-#ifdef CONFIG_SMP
int i;
for_each_possible_cpu(i) {
@@ -13729,5 +13615,4 @@ __init void init_sched_fair_class(void)
nohz.next_blocked = jiffies;
zalloc_cpumask_var(&nohz.idle_cpus_mask, GFP_NOWAIT);
#endif
-#endif /* CONFIG_SMP */
}
diff --git a/kernel/sched/pelt.h b/kernel/sched/pelt.h
index 2635ec239bff..036f09de16ee 100644
--- a/kernel/sched/pelt.h
+++ b/kernel/sched/pelt.h
@@ -1,4 +1,3 @@
-#ifdef CONFIG_SMP
#include "sched-pelt.h"
int __update_load_avg_blocked_se(u64 now, struct sched_entity *se);
@@ -181,55 +180,3 @@ static inline u64 cfs_rq_clock_pelt(struct cfs_rq *cfs_rq)
return rq_clock_pelt(rq_of(cfs_rq));
}
#endif /* !CONFIG_CFS_BANDWIDTH */
-
-#else /* !CONFIG_SMP: */
-
-static inline int
-update_cfs_rq_load_avg(u64 now, struct cfs_rq *cfs_rq)
-{
- return 0;
-}
-
-static inline int
-update_rt_rq_load_avg(u64 now, struct rq *rq, int running)
-{
- return 0;
-}
-
-static inline int
-update_dl_rq_load_avg(u64 now, struct rq *rq, int running)
-{
- return 0;
-}
-
-static inline int
-update_hw_load_avg(u64 now, struct rq *rq, u64 capacity)
-{
- return 0;
-}
-
-static inline u64 hw_load_avg(struct rq *rq)
-{
- return 0;
-}
-
-static inline int
-update_irq_load_avg(struct rq *rq, u64 running)
-{
- return 0;
-}
-
-static inline u64 rq_clock_pelt(struct rq *rq)
-{
- return rq_clock_task(rq);
-}
-
-static inline void
-update_rq_clock_pelt(struct rq *rq, s64 delta) { }
-
-static inline void
-update_idle_rq_clock_pelt(struct rq *rq) { }
-
-static inline void update_idle_cfs_rq_clock_pelt(struct cfs_rq *cfs_rq) { }
-
-#endif /* !CONFIG_SMP */
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 85768c81531c..0cd801458eef 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -2451,7 +2451,11 @@ void __init init_sched_rt_class(void)
GFP_KERNEL, cpu_to_node(i));
}
}
-#endif /* CONFIG_SMP */
+#else /* !CONFIG_SMP: */
+void __init init_sched_rt_class(void)
+{
+}
+#endif /* !CONFIG_SMP */
/*
* When switching a task to RT, we may overload the runqueue
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index aec0c8253c1c..bb70bcc68e2b 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -442,14 +442,12 @@ struct task_group {
/* runqueue "owned" by this group on each CPU */
struct cfs_rq **cfs_rq;
unsigned long shares;
-#ifdef CONFIG_SMP
/*
* load_avg can be heavily contended at clock tick time, so put
* it in its own cache-line separated from the fields above which
* will also be accessed at each tick.
*/
atomic_long_t load_avg ____cacheline_aligned;
-#endif /* CONFIG_SMP */
#endif /* CONFIG_FAIR_GROUP_SCHED */
#ifdef CONFIG_RT_GROUP_SCHED
@@ -573,13 +571,8 @@ extern int sched_group_set_shares(struct task_group *tg, unsigned long shares);
extern int sched_group_set_idle(struct task_group *tg, long idle);
-#ifdef CONFIG_SMP
extern void set_task_rq_fair(struct sched_entity *se,
struct cfs_rq *prev, struct cfs_rq *next);
-#else /* !CONFIG_SMP: */
-static inline void set_task_rq_fair(struct sched_entity *se,
- struct cfs_rq *prev, struct cfs_rq *next) { }
-#endif /* !CONFIG_SMP */
#else /* !CONFIG_FAIR_GROUP_SCHED: */
static inline int sched_group_set_shares(struct task_group *tg, unsigned long shares) { return 0; }
static inline int sched_group_set_idle(struct task_group *tg, long idle) { return 0; }
@@ -667,7 +660,6 @@ struct cfs_rq {
struct sched_entity *curr;
struct sched_entity *next;
-#ifdef CONFIG_SMP
/*
* CFS load tracking
*/
@@ -699,7 +691,6 @@ struct cfs_rq {
u64 last_h_load_update;
struct sched_entity *h_load_next;
#endif /* CONFIG_FAIR_GROUP_SCHED */
-#endif /* CONFIG_SMP */
#ifdef CONFIG_FAIR_GROUP_SCHED
struct rq *rq; /* CPU runqueue to which this cfs_rq is attached */
@@ -796,14 +787,10 @@ struct rt_rq {
struct rt_prio_array active;
unsigned int rt_nr_running;
unsigned int rr_nr_running;
-#if defined CONFIG_SMP || defined CONFIG_RT_GROUP_SCHED
struct {
int curr; /* highest queued rt task prio */
-#ifdef CONFIG_SMP
int next; /* next highest */
-#endif
} highest_prio;
-#endif
#ifdef CONFIG_SMP
bool overloaded;
struct plist_head pushable_tasks;
@@ -839,7 +826,6 @@ struct dl_rq {
unsigned int dl_nr_running;
-#ifdef CONFIG_SMP
/*
* Deadline values of the currently executing and the
* earliest ready task on this rq. Caching these facilitates
@@ -859,9 +845,7 @@ struct dl_rq {
* of the leftmost (earliest deadline) element.
*/
struct rb_root_cached pushable_dl_tasks_root;
-#else /* !CONFIG_SMP: */
- struct dl_bw dl_bw;
-#endif /* !CONFIG_SMP */
+
/*
* "Active utilization" for this runqueue: increased when a
* task wakes up (becomes TASK_RUNNING) and decreased when a
@@ -932,7 +916,6 @@ static inline long se_runnable(struct sched_entity *se)
#endif /* !CONFIG_FAIR_GROUP_SCHED */
-#ifdef CONFIG_SMP
/*
* XXX we want to get rid of these helpers and use the full load resolution.
*/
@@ -1043,7 +1026,6 @@ static inline void set_rd_overloaded(struct root_domain *rd, int status)
#ifdef HAVE_RT_PUSH_IPI
extern void rto_push_irq_work_func(struct irq_work *work);
#endif
-#endif /* CONFIG_SMP */
#ifdef CONFIG_UCLAMP_TASK
/*
@@ -1107,18 +1089,14 @@ struct rq {
unsigned int numa_migrate_on;
#endif
#ifdef CONFIG_NO_HZ_COMMON
-#ifdef CONFIG_SMP
unsigned long last_blocked_load_update_tick;
unsigned int has_blocked_load;
call_single_data_t nohz_csd;
-#endif /* CONFIG_SMP */
unsigned int nohz_tick_stopped;
atomic_t nohz_flags;
#endif /* CONFIG_NO_HZ_COMMON */
-#ifdef CONFIG_SMP
unsigned int ttwu_pending;
-#endif
u64 nr_switches;
#ifdef CONFIG_UCLAMP_TASK
@@ -1183,7 +1161,6 @@ struct rq {
int membarrier_state;
#endif
-#ifdef CONFIG_SMP
struct root_domain *rd;
struct sched_domain __rcu *sd;
@@ -1224,7 +1201,6 @@ struct rq {
#ifdef CONFIG_HOTPLUG_CPU
struct rcuwait hotplug_wait;
#endif
-#endif /* CONFIG_SMP */
#ifdef CONFIG_IRQ_TIME_ACCOUNTING
u64 prev_irq_time;
@@ -1271,9 +1247,7 @@ struct rq {
struct cpuidle_state *idle_state;
#endif
-#ifdef CONFIG_SMP
unsigned int nr_pinned;
-#endif
unsigned int push_busy;
struct cpu_stop_work push_work;
@@ -1299,7 +1273,7 @@ struct rq {
/* Scratch cpumask to be temporarily used under rq_lock */
cpumask_var_t scratch_mask;
-#if defined(CONFIG_CFS_BANDWIDTH) && defined(CONFIG_SMP)
+#ifdef CONFIG_CFS_BANDWIDTH
call_single_data_t cfsb_csd;
struct list_head cfsb_csd_list;
#endif
@@ -1962,8 +1936,6 @@ init_numa_balancing(unsigned long clone_flags, struct task_struct *p)
#endif /* !CONFIG_NUMA_BALANCING */
-#ifdef CONFIG_SMP
-
static inline void
queue_balance_callback(struct rq *rq,
struct balance_callback *head,
@@ -2129,8 +2101,6 @@ static inline const struct cpumask *task_user_cpus(struct task_struct *p)
return p->user_cpus_ptr;
}
-#endif /* CONFIG_SMP */
-
#ifdef CONFIG_CGROUP_SCHED
/*
@@ -2417,7 +2387,6 @@ struct sched_class {
void (*put_prev_task)(struct rq *rq, struct task_struct *p, struct task_struct *next);
void (*set_next_task)(struct rq *rq, struct task_struct *p, bool first);
-#ifdef CONFIG_SMP
int (*select_task_rq)(struct task_struct *p, int task_cpu, int flags);
void (*migrate_task_rq)(struct task_struct *p, int new_cpu);
@@ -2430,7 +2399,6 @@ struct sched_class {
void (*rq_offline)(struct rq *rq);
struct rq *(*find_lock_rq)(struct task_struct *p, struct rq *rq);
-#endif /* CONFIG_SMP */
void (*task_tick)(struct rq *rq, struct task_struct *p, int queued);
void (*task_fork)(struct task_struct *p);
@@ -2582,8 +2550,6 @@ extern struct task_struct *pick_task_idle(struct rq *rq);
#define SCA_MIGRATE_ENABLE 0x04
#define SCA_USER 0x08
-#ifdef CONFIG_SMP
-
extern void update_group_capacity(struct sched_domain *sd, int cpu);
extern void sched_balance_trigger(struct rq *rq);
@@ -2635,26 +2601,6 @@ static inline struct task_struct *get_push_task(struct rq *rq)
extern int push_cpu_stop(void *arg);
-#else /* !CONFIG_SMP: */
-
-static inline bool task_allowed_on_cpu(struct task_struct *p, int cpu)
-{
- return true;
-}
-
-static inline int __set_cpus_allowed_ptr(struct task_struct *p,
- struct affinity_context *ctx)
-{
- return set_cpus_allowed_ptr(p, ctx->new_mask);
-}
-
-static inline cpumask_t *alloc_user_cpus_ptr(int node)
-{
- return NULL;
-}
-
-#endif /* !CONFIG_SMP */
-
#ifdef CONFIG_CPU_IDLE
static inline void idle_set_state(struct rq *rq,
@@ -2931,8 +2877,6 @@ static inline class_##name##_t class_##name##_constructor(type *lock, type *lock
{ class_##name##_t _t = { .lock = lock, .lock2 = lock2 }, *_T = &_t; \
_lock; return _t; }
-#ifdef CONFIG_SMP
-
static inline bool rq_order_less(struct rq *rq1, struct rq *rq2)
{
#ifdef CONFIG_SCHED_CORE
@@ -3092,42 +3036,6 @@ extern void set_rq_offline(struct rq *rq);
extern bool sched_smp_initialized;
-#else /* !CONFIG_SMP: */
-
-/*
- * double_rq_lock - safely lock two runqueues
- *
- * Note this does not disable interrupts like task_rq_lock,
- * you need to do so manually before calling.
- */
-static inline void double_rq_lock(struct rq *rq1, struct rq *rq2)
- __acquires(rq1->lock)
- __acquires(rq2->lock)
-{
- WARN_ON_ONCE(!irqs_disabled());
- WARN_ON_ONCE(rq1 != rq2);
- raw_spin_rq_lock(rq1);
- __acquire(rq2->lock); /* Fake it out ;) */
- double_rq_clock_clear_update(rq1, rq2);
-}
-
-/*
- * double_rq_unlock - safely unlock two runqueues
- *
- * Note this does not restore interrupts like task_rq_unlock,
- * you need to do so manually after calling.
- */
-static inline void double_rq_unlock(struct rq *rq1, struct rq *rq2)
- __releases(rq1->lock)
- __releases(rq2->lock)
-{
- WARN_ON_ONCE(rq1 != rq2);
- raw_spin_rq_unlock(rq1);
- __release(rq2->lock);
-}
-
-#endif /* !CONFIG_SMP */
-
DEFINE_LOCK_GUARD_2(double_rq_lock, struct rq,
double_rq_lock(_T->lock, _T->lock2),
double_rq_unlock(_T->lock, _T->lock2))
@@ -3186,7 +3094,7 @@ extern void nohz_balance_exit_idle(struct rq *rq);
static inline void nohz_balance_exit_idle(struct rq *rq) { }
#endif /* !CONFIG_NO_HZ_COMMON */
-#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
+#ifdef CONFIG_NO_HZ_COMMON
extern void nohz_run_idle_balance(int cpu);
#else
static inline void nohz_run_idle_balance(int cpu) { }
@@ -3312,8 +3220,6 @@ static inline void cpufreq_update_util(struct rq *rq, unsigned int flags) { }
# define arch_scale_freq_invariant() false
#endif
-#ifdef CONFIG_SMP
-
unsigned long effective_cpu_util(int cpu, unsigned long util_cfs,
unsigned long *min,
unsigned long *max);
@@ -3357,10 +3263,6 @@ static inline unsigned long cpu_util_rt(struct rq *rq)
return READ_ONCE(rq->avg_rt.util_avg);
}
-#else /* !CONFIG_SMP: */
-static inline bool update_other_load_avgs(struct rq *rq) { return false; }
-#endif /* !CONFIG_SMP */
-
#ifdef CONFIG_UCLAMP_TASK
unsigned long uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id);
@@ -3581,7 +3483,6 @@ static inline void membarrier_switch_mm(struct rq *rq,
#endif /* !CONFIG_MEMBARRIER */
-#ifdef CONFIG_SMP
static inline bool is_per_cpu_kthread(struct task_struct *p)
{
if (!(p->flags & PF_KTHREAD))
@@ -3592,7 +3493,6 @@ static inline bool is_per_cpu_kthread(struct task_struct *p)
return true;
}
-#endif /* CONFIG_SMP */
extern void swake_up_all_locked(struct swait_queue_head *q);
extern void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait);
@@ -3891,7 +3791,6 @@ static inline void init_sched_mm_cid(struct task_struct *t) { }
extern u64 avg_vruntime(struct cfs_rq *cfs_rq);
extern int entity_eligible(struct cfs_rq *cfs_rq, struct sched_entity *se);
-#ifdef CONFIG_SMP
static inline
void move_queued_task_locked(struct rq *src_rq, struct rq *dst_rq, struct task_struct *task)
{
@@ -3912,7 +3811,6 @@ bool task_is_pushable(struct rq *rq, struct task_struct *p, int cpu)
return false;
}
-#endif /* CONFIG_SMP */
#ifdef CONFIG_RT_MUTEXES
@@ -3953,21 +3851,8 @@ extern void check_class_changed(struct rq *rq, struct task_struct *p,
const struct sched_class *prev_class,
int oldprio);
-#ifdef CONFIG_SMP
extern struct balance_callback *splice_balance_callbacks(struct rq *rq);
extern void balance_callbacks(struct rq *rq, struct balance_callback *head);
-#else /* !CONFIG_SMP: */
-
-static inline struct balance_callback *splice_balance_callbacks(struct rq *rq)
-{
- return NULL;
-}
-
-static inline void balance_callbacks(struct rq *rq, struct balance_callback *head)
-{
-}
-
-#endif /* !CONFIG_SMP */
#ifdef CONFIG_SCHED_CLASS_EXT
/*
diff --git a/kernel/sched/syscalls.c b/kernel/sched/syscalls.c
index 5cb5e9487f0d..d7fccf871c7d 100644
--- a/kernel/sched/syscalls.c
+++ b/kernel/sched/syscalls.c
@@ -1119,7 +1119,6 @@ SYSCALL_DEFINE4(sched_getattr, pid_t, pid, struct sched_attr __user *, uattr,
return copy_struct_to_user(uattr, usize, &kattr, sizeof(kattr), NULL);
}
-#ifdef CONFIG_SMP
int dl_task_check_affinity(struct task_struct *p, const struct cpumask *mask)
{
/*
@@ -1148,7 +1147,6 @@ int dl_task_check_affinity(struct task_struct *p, const struct cpumask *mask)
return 0;
}
-#endif /* CONFIG_SMP */
int __sched_setaffinity(struct task_struct *p, struct affinity_context *ctx)
{
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 7ce0bac86e94..72a9a8e17986 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -15,8 +15,6 @@ void sched_domains_mutex_unlock(void)
mutex_unlock(&sched_domains_mutex);
}
-#ifdef CONFIG_SMP
-
/* Protected by sched_domains_mutex: */
static cpumask_var_t sched_domains_tmpmask;
static cpumask_var_t sched_domains_tmpmask2;
@@ -1335,11 +1333,10 @@ static void init_sched_groups_capacity(int cpu, struct sched_domain *sd)
update_group_capacity(sd, cpu);
}
-#ifdef CONFIG_SMP
-
/* Update the "asym_prefer_cpu" when arch_asym_cpu_priority() changes. */
void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio)
{
+#ifdef CONFIG_SMP
int asym_prefer_cpu = cpu;
struct sched_domain *sd;
@@ -1389,9 +1386,8 @@ void sched_update_asym_prefer_cpu(int cpu, int old_prio, int new_prio)
WRITE_ONCE(sg->asym_prefer_cpu, asym_prefer_cpu);
}
-}
-
#endif /* CONFIG_SMP */
+}
/*
* Set of available CPUs grouped by their corresponding capacities
@@ -2857,5 +2853,3 @@ void partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[],
partition_sched_domains_locked(ndoms_new, doms_new, dattr_new);
sched_domains_mutex_unlock();
}
-
-#endif /* CONFIG_SMP */
Return-Path: <linux-kernel+bounces-665089-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D8CE441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:22:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 612161BC71EA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:20:26 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 03A80268FE3;
Wed, 28 May 2025 08:14:18 +0000 (UTC)
Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BCA00247291;
Wed, 28 May 2025 08:14:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=166.125.252.92
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420057; cv=none; b=Kw84M6iSAVLALdQ8KF+Bii5z45670oNKIiHBBO64yWwKKPSP1u1lkljHdc+1aJ4Ov6JFLxZdBrTt28KOgjApipBnBSKMBxAMNGMr2ndM94cLpZ1/SEkBE1KL4524+IxwiOHQfTQeFjIjvclOlydQqPVtX0IPPLm6ItNmlRnaDCY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420057; c=relaxed/simple;
bh=vyBcgVOPSrR43OVYlusrL3kuuPXusxiiPudzkAi4juI=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=OsrDdk/OizkNJdz8d0UgVwCPSnEpuissuJSYmRheyJHWl0yDJVK71zqPWGQAOlIF0ouUka2z0pDeyWHc6dWM9mJxMwd9XJVSMLQlmgmTALdubsh7eLro1VheEXTLQwSpJa7ULBQpmUsx7sPF1dolrkQb80kMvEhSF+WLM/fmCA4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com; spf=pass smtp.mailfrom=sk.com; arc=none smtp.client-ip=166.125.252.92
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sk.com
X-AuditID: a67dfc5b-681ff7000002311f-e5-6836c5d07935
Date: Wed, 28 May 2025 17:14:03 +0900
From: Byungchul Park <byungchul@xxxxxx>
To: Pavel Begunkov <asml.silence@xxxxxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx,
ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx, toke@xxxxxxxxxx,
tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx,
daniel@xxxxxxxxxxxxx, david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx,
Liam.Howlett@xxxxxxxxxx, vbabka@xxxxxxx, rppt@xxxxxxxxxx,
surenb@xxxxxxxxxx, mhocko@xxxxxxxx, horms@xxxxxxxxxx,
linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access
page->pp_magic in page_pool_page_is_pp()
Message-ID: <20250528081403.GA28116@xxxxxxxxxxxxxxxxxxx>
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
<a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Brightmail-Tracker: H4sIAAAAAAAAA02Se0hTcRTH+e3+7t3daHFbr58JRgsTjJ70ONDDHkQ/iCgQIkqwkZe2mmZb
2gyKStOyNDWhmqumkjotZsvHNAub5oqCbKUteyjqtEiLtHykWZsS+d+H8z3n+z0cDs8o89k5
vDbmqKiPUetUnBzLe6fkLXr5eJVm6bdBOZhttzkoGTJCYZuDBXNxBYIfw++k0F/v4iA/d4AB
84skDD9tvxjwNrRLobWgC0NNSiUD7ZeecJCWNMLAGUeRBBor0lnI/nWLgcpTbVJ4VW3m4OPt
Pyx0OdMwPDVZMbSmb4AGyywYeNaDoN5WKYGBi9c5uOy2cNCR1IrAXdeOIed0OgLbQw8LI0Nm
bsM8WmZ9K6FVpg9SarHH0XtFoTTV42aovfg8R+19WVL6vrmGo0+ujmBa5eiX0LTErxz97m3B
9NvDJo7aypowfW6pl9J+e9BOYY98bZSo08aL+iXr98k15jtZXOxvpTF7bM4p1Dk1Fcl4Iqwg
r11W7h97U4tZP2MhmNgaSiR+5oQQ4vEMM36eISwkX944palIzjNCD0tsKRXYL0wXDpKLLd3j
RgoBSG9dE+tvUgoXJCRzzMtMCNPI02ud4wOMz3X0httX530cSArH+InyXJJYnjPeLhPWkVfn
c8Y9ZwrzSW2FS+L3JEIZT1pdRezE1gHkUZEHZ6BppkkRpkkRpv8RpkkRFoSLkVIbEx+t1upW
LNYkxGiNi/cfjrYj3+sUnBjd60B9jeFOJPBINUVBS1dqlKw63pAQ7USEZ1QzFGfCVmmUiih1
wnFRfzhSH6cTDU4UyGPVbMXygWNRSuGA+qh4SBRjRf0/VcLLfLe/8icgXBoacqR2Z3bEl8ZS
w+7u5PLMNyGbMyKCRwcH31dveRsHWD3cHIu2pZS37Uo7uaXAKrt7f8fWrH13Vt5sXqQ3kuvz
NiW72j653Xl5HY7pHo8xzBJ/NnHNd+0Dy+eNJ4IWdPetla2LvKzz9lo/5jbVTD0XGnThQctX
7/YenLtahQ0a9bJQRm9Q/wVeXz2pNgMAAA==
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0iTcRSHea97N9x6XVovSheWUlmpQZMDlvUh6V8fKiGQgsihb226zdhM
NAlNRXE1Sytwc9VCvE1lYV5miNS0qRkkXsrKMqx1wcpK8562GZHfHs7vd54Ph8MQ0jwqgFFp
U3idVqGW0SJSdDgyZ0fvowhl+PyYHCz2WhpqZtKg8q2DAoutCYPJ2VcCmOjopKHszhQBlqe5
JPyyzxHgdo0KYKTiAwmt+c0EjF7posGYO09AtqMKh/ab3RT0NhVScH2unIDmrLcC6L9voeFN
7RIFH5xGErrN1SSMFO4Dl3UNTPV8waDD3ozD1OWbNFzrs9LwLncEg772URJKLxZiYG8bomB+
xkLvk6GG6hc4ajG/FiBr/Tl0ryoEGYb6CFRvK6BR/c9iARp+1kqjrpJ5ErU4JnBkzPlGox/u
lyQabxukUdmn7ziyNwyS6Im1Q3DU94RodwKvVqXyurCoOJHSUldMn/0tTbu+GJCFvZcYMCHD
sbs4t8FGeZlkgzm7qwb3Ms1u5oaGZgkv+7HbuLHnToEBEzEE+4Xi7PlNpDdYzSZyl19+pL0s
ZoH72j5IeUtS9hLOFS26ib+BL9dter+8QHisC7f6PHPGw4Fc5SLzd7yBy2ksXa4L2T1cf0Hp
stOf3cQ9aOrEr2IS8wqTeYXJ/N9kXmGyYqQN81NpUzUKlVoeqk9SpmtVaaHxyZp6zPMdFRcW
ihzYZP8BJ8YymMxHjO7KlVJKkapP1zgxjiFkfuLsvRFKqThBkX6e1yWf0p1T83onFsiQsrXi
Q7F8nJQ9o0jhk3j+LK/7l+KM0HPY+FXTMRM12QuZxjrH4MH2XvXjwIyen22G4ToCYuCOfOs4
YW67HRUWtGvcf3tkdFUQycaUw5L1+bobzz6bFuX7xa4uV2WGkU1M0Rxr3BA1sOXIFbfE9A3N
TRdvjLPqT5cEx0aUCAvHBtb7TJysPE7mJWRGn38osdUdCtdqhCYZqVcqdoYQOr3iDykcY+4Z
AwAA
X-CFilter-Loop: Reflected
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 08:51:47AM +0100, Pavel Begunkov wrote:
> On 5/26/25 03:23, Byungchul Park wrote:
> > On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
> > > On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
> > > >
> > > > To simplify struct page, the effort to seperate its own descriptor from
> > > > struct page is required and the work for page pool is on going.
> > > >
> > > > To achieve that, all the code should avoid accessing page pool members
> > > > of struct page directly, but use safe APIs for the purpose.
> > > >
> > > > Use netmem_is_pp() instead of directly accessing page->pp_magic in
> > > > page_pool_page_is_pp().
> > > >
> > > > Signed-off-by: Byungchul Park <byungchul@xxxxxx>
> > > > ---
> > > > include/linux/mm.h | 5 +----
> > > > net/core/page_pool.c | 5 +++++
> > > > 2 files changed, 6 insertions(+), 4 deletions(-)
> > > >
> > > > diff --git a/include/linux/mm.h b/include/linux/mm.h
> > > > index 8dc012e84033..3f7c80fb73ce 100644
> > > > --- a/include/linux/mm.h
> > > > +++ b/include/linux/mm.h
> > > > @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
> > > > #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
> > > >
> > > > #ifdef CONFIG_PAGE_POOL
> > > > -static inline bool page_pool_page_is_pp(struct page *page)
> > > > -{
> > > > - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
> > > > -}
> > >
> > > I vote for keeping this function as-is (do not convert it to netmem),
> > > and instead modify it to access page->netmem_desc->pp_magic.
> >
> > Once the page pool fields are removed from struct page, struct page will
> > have neither struct netmem_desc nor the fields..
> >
> > So it's unevitable to cast it to netmem_desc in order to refer to
> > pp_magic. Again, pp_magic is no longer associated to struct page.
> >
> > Thoughts?
>
> Once the indirection / page shrinking is realized, the page is
> supposed to have a type field, isn't it? And all pp_magic trickery
> will be replaced with something like
>
> page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; }
Agree, but we need a temporary solution until then. I will use the
following way for now:
https://lore.kernel.org/all/20250528051452.GB59539@xxxxxxxxxxxxxxxxxxx/
Byungchul
>
>
> --
> Pavel Begunkov
Return-Path: <linux-kernel+bounces-665092-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E750B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:22:45 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 15735176F01
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:21:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A32262472B7;
Wed, 28 May 2025 08:15:50 +0000 (UTC)
Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A492B213253;
Wed, 28 May 2025 08:15:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=166.125.252.92
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420150; cv=none; b=qESdBs2dAyvpWkEYS2vll8ovQhXifYDTIs+41pAn4RTNYPYPhy64wytfZj6wjfYXgGHuNQrnsyoXNcTR+sEDpRsnGzZ9xIMfZmman7TZ11wiyLtSEVCyK4YQJOuA03XIeSgBxJNK8fnH2TIg1dQjWEyw4kDspG/hQgEi4tGsKLA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420150; c=relaxed/simple;
bh=I92/m063vrwtrEq8+KAWK3SpIzJrOw6l+0LO4duztWA=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=Izst7nBg7a4BP/VpdC9hqZ6XcYtdYAdovw8/q3eF2n+vDsaVGzZtfrJN7EFEaMZuwu29wyYuDD7IMX3RwVX2aaAp9Exy5PU5KSxIwh2y0pO6RtmS9+4xqqydmsFzD+wcR1k0odF1OEZvB+7n9yQiPvH6F1pLZkqLqiaioU0qTqQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com; spf=pass smtp.mailfrom=sk.com; arc=none smtp.client-ip=166.125.252.92
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sk.com
X-AuditID: a67dfc5b-681ff7000002311f-4c-6836c63082fb
Date: Wed, 28 May 2025 17:15:39 +0900
From: Byungchul Park <byungchul@xxxxxx>
To: Toke =?iso-8859-1?Q?H=F8iland-J=F8rgensen?= <toke@xxxxxxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx,
ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx,
asml.silence@xxxxxxxxx, tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx,
pabeni@xxxxxxxxxx, saeedm@xxxxxxxxxx, leon@xxxxxxxxxx,
ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx, david@xxxxxxxxxx,
lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx, vbabka@xxxxxxx,
rppt@xxxxxxxxxx, surenb@xxxxxxxxxx, mhocko@xxxxxxxx,
horms@xxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access
page->pp_magic in page_pool_page_is_pp()
Message-ID: <20250528081539.GB28116@xxxxxxxxxxxxxxxxxxx>
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
<20250526023624.GB27145@xxxxxxxxxxxxxxxxxxx>
<87o6vfahoh.fsf@xxxxxxx>
<20250526094305.GA29080@xxxxxxxxxxxxxxxxxxx>
<87ldqjae92.fsf@xxxxxxx>
<20250528051452.GB59539@xxxxxxxxxxxxxxxxxxx>
<87sekpmbmg.fsf@xxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <87sekpmbmg.fsf@xxxxxxx>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRzGe3fenR2Xg+PSelXSWmUkpBYVfylSP0hvH4KoICihhju0lU7Z
1FSozKRoNQuNqDljFqUuZbFMV6nlJS8UKJa2zJxpWkFZXpmXLk6J/Pbw+z88z/PhzzHyInEA
p9GmCDqtMkHBSrH0u3fRxoimbeqI8w0KMNvKWLjvTofiPocYzNZKBONT7yUw1tjMwp2iSQbM
bTkYJmzTDAw29UvAdW8IQ/WFKgb6r7SwYMyZYSDbUSKC9spcMVybvstAVVafBF4/MbPQW/ZH
DEP1RgytplIMrtxoaLIsh8mX3xA02qpEMHm5kIX8DgsLAzkuBB0N/RgKzuYisNU6xTDjNrPR
q2lF6TsRfWz6IKEWeyp9WBJKDc4OhtqtF1lqH82T0J6uapa23JjB9LFjTESN54ZZOjLYjemP
2k6W2io6MX1laZTQMXvQXv6QdIdKSNCkCbrwnUel6ilnjzj5fUh6Rek4k4UGVhqQF0f4LaSv
9CYyIG5el4yc9GDMryPG4l8ij2b59cTpnGI8Fl8+hrx0HzMgKcfwY2JiHTUyHs8y/ji53P2Z
9WgZD6TuTZXEY5LzlQzJv/EVLxx8SOvNT/OamQudvdUxH8rwgaT4N7eAg8m5RwXz2GtuQ9uP
DA/249eQ55XNIk8k4R0ccT/Lxgvz/UldiRNfRT6mRQ2mRQ2m/w2mRQ0WhK1IrtGmJSo1CVvC
1BlaTXpYfFKiHc09zr1Ts4cdaLR9fz3iOaTwltEHW9VysTJNn5FYjwjHKHxl2VHb1HKZSpmR
KeiSjuhSEwR9PQrksGKFbPPkSZWcP6ZMEU4IQrKg+3cVcV4BWUiGbq8M/hj7wvb2tP+wpqam
+Lq50NVVO3CwfHvcEiEmM/JXX+edwQjNl0B9yMNgHBYVP+TKIpegu/fKrqU7NrSU0/3b97x6
1nzGFZMTGKkNUu3DbYNbVS2dQVGrgj9/SNlt9ePPP/3pjos40zgdMB2bGbt2ycSB8F3Dhryg
a3bbWgXWq5WbQhmdXvkXND3YEjQDAAA=
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTcRjG+5/bjqvVcVkdtKhOZCSkBhlvWmqf+hMV0oeEQnLlwS2nxaam
QWUqaMNpZoTNFSuvM2Fl5maYmC4vmRlbxlLTsOwiUXnFWxdnRH57eJ4fP94PL0vKM2lvVpWQ
KGoSFGqBkVLSQyEZ2wJbdioDnT9WgNFSxcDdqRQof2ejwVhZi2B8ulcCY/ZWBopvT5Jg7Mqk
YMIyQ8JQy6AEBso+UlCfZSVhMK+NAX3mLAnptgoCmm+20/CyNpeGazOlJFjT3knA+cjIQH/V
bxo+NukpaDeYKRjIDYcW02qY7PiKwG6xEjCZc5OBAoeJgfeZAwgczYMUFF3KRWBpcNEwO2Vk
wgVcY35D4DrDWwk2VSfhBxV+WOdykLi68jKDq0evSnDf63oGtxXOUrjONkZgfcY3Bo8M9VD4
e0M3g4s//yCwpaabws9NdkmE51Hp7hhRrUoWNQGh0VLltKuPPtPrm1JjHifT0Pt1OsSyPLeD
rxg5q0MeLMVt5vXlPwl3ZrgtvMs1TboRL24v3zEVq0NSluTGaL5yVE+6mZXcKT6n5xPjzjIO
+CevrBI3JOdqSb6g8Av1d/Dk2298WMjkvHTulmNBSnI+fPkv9m+9ns94WLRQe8zf0PU91V2v
4jbxjbWtxBW03LBIZFgkMvwXGRaJTIiqRF6qhOR4hUod5K+NU6YmqFL8T56Or0bzv1F2fi7f
hsad+5oQxyJhmQzfC1LKaUWyNjW+CfEsKXjJ0sN2KuWyGEXqOVFz+rgmSS1qm5APSwlrZPsj
xWg5F6tIFONE8Yyo+bcSrId3GmLOBVv4D/ZuX+HA2pJvF9bpnhZdu1GycTidSiwYOWJ2bkhe
n5gSnHGnM9vWmWVPUp8QYlcfK+xPi7N4DU+ZYettZ1ZkXViHrzX3S1ThzJ6LSxz3x69nNx7O
Whs8E7A3Kjr2UESIXqoS7EsPDpfOvSBsfXmyidDH4r38Qfxsl0wvUFqlYrsfqdEq/gAGYQaT
FwMAAA==
X-CFilter-Loop: Reflected
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 09:35:03AM +0200, Toke Høiland-Jørgensen wrote:
> Byungchul Park <byungchul@xxxxxx> writes:
>
> > On Mon, May 26, 2025 at 11:54:33AM +0200, Toke Høiland-Jørgensen wrote:
> >> Byungchul Park <byungchul@xxxxxx> writes:
> >>
> >> > On Mon, May 26, 2025 at 10:40:30AM +0200, Toke Høiland-Jørgensen wrote:
> >> >> Byungchul Park <byungchul@xxxxxx> writes:
> >> >>
> >> >> > On Mon, May 26, 2025 at 11:23:07AM +0900, Byungchul Park wrote:
> >> >> >> On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
> >> >> >> > On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
> >> >> >> > >
> >> >> >> > > To simplify struct page, the effort to seperate its own descriptor from
> >> >> >> > > struct page is required and the work for page pool is on going.
> >> >> >> > >
> >> >> >> > > To achieve that, all the code should avoid accessing page pool members
> >> >> >> > > of struct page directly, but use safe APIs for the purpose.
> >> >> >> > >
> >> >> >> > > Use netmem_is_pp() instead of directly accessing page->pp_magic in
> >> >> >> > > page_pool_page_is_pp().
> >> >> >> > >
> >> >> >> > > Signed-off-by: Byungchul Park <byungchul@xxxxxx>
> >> >> >> > > ---
> >> >> >> > > include/linux/mm.h | 5 +----
> >> >> >> > > net/core/page_pool.c | 5 +++++
> >> >> >> > > 2 files changed, 6 insertions(+), 4 deletions(-)
> >> >> >> > >
> >> >> >> > > diff --git a/include/linux/mm.h b/include/linux/mm.h
> >> >> >> > > index 8dc012e84033..3f7c80fb73ce 100644
> >> >> >> > > --- a/include/linux/mm.h
> >> >> >> > > +++ b/include/linux/mm.h
> >> >> >> > > @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
> >> >> >> > > #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
> >> >> >> > >
> >> >> >> > > #ifdef CONFIG_PAGE_POOL
> >> >> >> > > -static inline bool page_pool_page_is_pp(struct page *page)
> >> >> >> > > -{
> >> >> >> > > - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
> >> >> >> > > -}
> >> >> >> >
> >> >> >> > I vote for keeping this function as-is (do not convert it to netmem),
> >> >> >> > and instead modify it to access page->netmem_desc->pp_magic.
> >> >> >>
> >> >> >> Once the page pool fields are removed from struct page, struct page will
> >> >> >> have neither struct netmem_desc nor the fields..
> >> >> >>
> >> >> >> So it's unevitable to cast it to netmem_desc in order to refer to
> >> >> >> pp_magic. Again, pp_magic is no longer associated to struct page.
> >> >> >
> >> >> > Options that come across my mind are:
> >> >> >
> >> >> > 1. use lru field of struct page instead, with appropriate comment but
> >> >> > looks so ugly.
> >> >> > 2. instead of a full word for the magic, use a bit of flags or use
> >> >> > the private field for that purpose.
> >> >> > 3. do not check magic number for page pool.
> >> >> > 4. more?
> >> >>
> >> >> I'm not sure I understand Mina's concern about CPU cycles from casting.
> >> >> The casting is a compile-time thing, which shouldn't affect run-time
> >> >
> >> > I didn't mention it but yes.
> >> >
> >> >> performance as long as the check is kept as an inline function. So it's
> >> >> "just" a matter of exposing struct netmem_desc to mm.h so it can use it
> >> >
> >> > Then.. we should expose net_iov as well, but I'm afraid it looks weird.
> >> > Do you think it's okay?
> >>
> >> Well, it'll be ugly, I grant you that :)
> >>
> >> Hmm, so another idea could be to add the pp_magic field to the inner
> >> union that the lru field is in, and keep the page_pool_page_is_pp()
> >> as-is. Then add an assert for offsetof(struct page, pp_magic) ==
> >> offsetof(netmem_desc, pp_magic) on the netmem side, which can be removed
> >> once the two structs no longer shadow each other?
> >>
> >> That way you can still get rid of the embedded page_pool struct in
> >> struct page, and the pp_magic field will just be a transition thing
> >> until things are completely separated...
> >
> > Or what about to do that as mm folks did in page_is_pfmemalloc()?
> >
> > static inline bool page_pool_page_is_pp(struct page *page)
> > {
> > /*
> > * XXX: The space of page->lru.next is used as pp_magic in
> > * struct netmem_desc overlaying on struct page temporarily.
> > * This API will be unneeded shortly. Let's use the ugly but
> > * temporal way to access pp_magic until struct netmem_desc has
> > * its own instance.
> > */
> > return (((unsigned long)page->lru.next) & PP_MAGIC_MASK) == PP_SIGNATURE;
> > }
>
> Sure, that can work as a temporary solution (maybe with a static assert
> somewhere that pp_magic and lru have the same offsetof())?
Sure. I will do that as I posted in the cover letter:
https://lore.kernel.org/all/20250528022911.73453-1-byungchul@xxxxxx/
Byungchul
>
> -Toke
Return-Path: <linux-kernel+bounces-665090-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5CF4B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:22:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 788511BC73FC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:20:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 803DC269AE3;
Wed, 28 May 2025 08:14:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="GmmKet9p"
Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AB786253B67;
Wed, 28 May 2025 08:14:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.196
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420082; cv=none; b=XuddlnJKLaSeIy4q2u2SxNSxV+Y9SnSY4dLKrr3u8+uPZ2Us988m6OPpFx1GmCVXxa22myaZx7ImpAn83ohj66zcQOWb3gJIijsUy9DRoRYXvbh44ubdx2CFPoEXiMcB9ZpgQUImzuU7Zna4bE1VZjU53kg5TNAQoLTXQFCi1Yw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420082; c=relaxed/simple;
bh=wt48bzl9Te9AiJKom6zAeexyDvlkvDseB24S8SUK4Gc=;
h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=saT5mbmvtXZT24QuepZG2PxQYkP/EFX5/9C9u6AbYdi3SBCYbqEex4lmJF9hzhsSfhE3oCXgvB2p6vGmQu2JtxKI16MYS6Yh7MB4cSYRMM5VKKKBH/tw1ahDoe0obFpdA7CEvSoTG5XNkQ6/Zl8+Y6kLTHtUL1M+JCgYeOx7nt4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=GmmKet9p; arc=none smtp.client-ip=217.70.183.196
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com
Received: by mail.gandi.net (Postfix) with ESMTPSA id 1870B433B8;
Wed, 28 May 2025 08:14:34 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748420077;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=VmfTvvPStnYNFbapNxW0qFHGxJZE9z8RXtIY6Yccn4A=;
b=GmmKet9pX4CZPw9vI2RkFp/fskWOZW5hzm+5bATRMs6c2CGqeUyOozqvUoX/cRCytBBJeF
RYIKU/EbxzcFCEvO8+961dKMO0gU8QgqDzL9HTYRldcw0qvKx/FUDBQQZhSFXtjn5yycYy
c0bv7PZO0Aztx2iSYbXaazwJ/y3hhG0X7AKwiWIM2LPaUKyOo+2i+fem4AdyJ8D0n0z3uR
HNpQr1YzhybeV/vq5eZUrWDI1u7t12V7euX9kUmuLmMeLPTiKkBcxEsqvLvTHDOGkFrAL/
TyPLnZFmGsQXo54XMeOVOxdAR0stbcp/o8qD9dJeHbwgpXd2GbtI1R8cL6L5Pw==
Date: Wed, 28 May 2025 10:14:33 +0200
From: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
To: Romain Gantois <romain.gantois@xxxxxxxxxxx>
Cc: davem@xxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
thomas.petazzoni@xxxxxxxxxxx, Andrew Lunn <andrew@xxxxxxx>, Jakub Kicinski
<kuba@xxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>, Paolo Abeni
<pabeni@xxxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, Christophe Leroy
<christophe.leroy@xxxxxxxxxx>, Herve Codina <herve.codina@xxxxxxxxxxx>,
Florian Fainelli <f.fainelli@xxxxxxxxx>, Heiner Kallweit
<hkallweit1@xxxxxxxxx>, Vladimir Oltean <vladimir.oltean@xxxxxxx>,
=?UTF-8?B?S8O2cnk=?= Maincent <kory.maincent@xxxxxxxxxxx>, Marek
=?UTF-8?B?QmVow7pu?= <kabel@xxxxxxxxxx>, Oleksij Rempel
<o.rempel@xxxxxxxxxxxxxx>, =?UTF-8?B?Tmljb2zDsg==?= Veronese
<nicveronese@xxxxxxxxx>, Simon Horman <horms@xxxxxxxxxx>,
mwojtas@xxxxxxxxxxxx, Antoine Tenart <atenart@xxxxxxxxxx>,
devicetree@xxxxxxxxxxxxxxx, Conor Dooley <conor+dt@xxxxxxxxxx>, Krzysztof
Kozlowski <krzk+dt@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>, Daniel Golle
<daniel@xxxxxxxxxxxxxx>, Dimitri Fedrau <dimitri.fedrau@xxxxxxxxxxxx>
Subject: Re: [PATCH net-next v6 06/14] net: phy: Introduce generic SFP
handling for PHY drivers
Message-ID: <20250528101433.138b2f31@xxxxxxxxxxxxxx>
In-Reply-To: <13770694.uLZWGnKmhe@fw-rgant>
References: <20250507135331.76021-1-maxime.chevallier@xxxxxxxxxxx>
<23936783.6Emhk5qWAg@fw-rgant>
<20250523145457.07b1e7db@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
<13770694.uLZWGnKmhe@fw-rgant>
Organization: Bootlin
X-Mailer: Claws Mail 4.3.1 (GTK 3.24.43; x86_64-redhat-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdejheculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepfffhvfevuffkjghfohfogggtgfesthejredtredtvdenucfhrhhomhepofgrgihimhgvucevhhgvvhgrlhhlihgvrhcuoehmrgigihhmvgdrtghhvghvrghllhhivghrsegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeegveeltddvveeuhefhvefhlefhkeevfedtgfeiudefffeiledttdfgfeeuhfeukeenucfkphepvdgrtddumegtsgduleemkegugeehmeegledttdemieehieekmedvlegsudemlegvfhehmegvkegtjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvrgdtudemtggsudelmeekugegheemgeeltddtmeeiheeikeemvdelsgdumeelvghfheemvgektgejpdhhvghlohepuggvvhhitggvqddvgedrhhhomhgvpdhmrghilhhfrhhomhepmhgrgihimhgvrdgthhgvvhgrlhhlihgvrhessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepfedtpdhrtghpthhtoheprhhomhgrihhnrdhgrghnthhoihhssegsohhothhlihhnrdgtohhmpdhrtghpthhtohepuggrvhgvmhesuggrvhgvmhhlohhfthdrnhgvthdprhgtphhtthhop
ehnvghtuggvvhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehlihhnuhigqdgrrhhmqdhmshhmsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheprghnughrvgifsehluhhnnhdrtghhpdhrtghpthhtohepkhhusggrsehkvghrnhgvlhdrohhrgh
X-GND-Sasl: maxime.chevallier@xxxxxxxxxxx
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Romain
On Wed, 28 May 2025 09:35:35 +0200
Romain Gantois <romain.gantois@xxxxxxxxxxx> wrote:
> On Friday, 23 May 2025 14:54:57 CEST Maxime Chevallier wrote:
> > Hi Romain,
> >
> > On Mon, 12 May 2025 10:38:52 +0200
> >
> > Romain Gantois <romain.gantois@xxxxxxxxxxx> wrote:
> > > Hi Maxime,
> > >
> > > On Wednesday, 7 May 2025 15:53:22 CEST Maxime Chevallier wrote:
> > > > There are currently 4 PHY drivers that can drive downstream SFPs:
> > > > marvell.c, marvell10g.c, at803x.c and marvell-88x2222.c. Most of the
> > > > logic is boilerplate, either calling into generic phylib helpers (for
> > > > SFP PHY attach, bus attach, etc.) or performing the same tasks with a
> > > >
> > > > bit of validation :
> > > > - Getting the module's expected interface mode
> > > > - Making sure the PHY supports it
> > > > - Optionnaly perform some configuration to make sure the PHY outputs
> > > >
> > > > the right mode
> > > >
> > > > This can be made more generic by leveraging the phy_port, and its
> > > > configure_mii() callback which allows setting a port's interfaces when
> > > > the port is a serdes.
> > > >
> > > > Introduce a generic PHY SFP support. If a driver doesn't probe the SFP
> > > > bus itself, but an SFP phandle is found in devicetree/firmware, then the
> > > > generic PHY SFP support will be used, relying on port ops.
> > > >
> > > > PHY driver need to :
> > > > - Register a .attach_port() callback
> > > > - When a serdes port is registered to the PHY, drivers must set
> > > >
> > > > port->interfaces to the set of PHY_INTERFACE_MODE the port can output
> > > >
> > > > - If the port has limitations regarding speed, duplex and aneg, the
> > > >
> > > > port can also fine-tune the final linkmodes that can be supported
> > > >
> > > > - The port may register a set of ops, including .configure_mii(), that
> > > >
> > > > will be called at module_insert time to adjust the interface based on
> > > > the module detected.
> > > >
> > > > Signed-off-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
> > > > ---
> > > >
> > > > drivers/net/phy/phy_device.c | 107 +++++++++++++++++++++++++++++++++++
> > > > include/linux/phy.h | 2 +
> > > > 2 files changed, 109 insertions(+)
> > > >
> > > > diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
> > > > index aaf0eccbefba..aca3a47cbb66 100644
> > > > --- a/drivers/net/phy/phy_device.c
> > > > +++ b/drivers/net/phy/phy_device.c
> > > > @@ -1450,6 +1450,87 @@ void phy_sfp_detach(void *upstream, struct
> > > > sfp_bus
> > > > *bus) }
> > > >
> > > > EXPORT_SYMBOL(phy_sfp_detach);
> > > >
> > > > +static int phy_sfp_module_insert(void *upstream, const struct
> > > > sfp_eeprom_id *id) +{
> > > > + struct phy_device *phydev = upstream;
> > > > + struct phy_port *port = phy_get_sfp_port(phydev);
> > > > +
> > >
> > > RCT
> >
> > Can't be done here, it won't build if in the other order...
> >
>
> You could always separate the declaration from the assignment, I've seen that
> done quite a lot to keep things in RCT.
>
> > > > + __ETHTOOL_DECLARE_LINK_MODE_MASK(sfp_support);
> > > > + DECLARE_PHY_INTERFACE_MASK(interfaces);
> > > > + phy_interface_t iface;
> > > > +
> > > > + linkmode_zero(sfp_support);
> > > > +
> > > > + if (!port)
> > > > + return -EINVAL;
> > > > +
> > > > + sfp_parse_support(phydev->sfp_bus, id, sfp_support, interfaces);
> > > > +
> > > > + if (phydev->n_ports == 1)
> > > > + phydev->port = sfp_parse_port(phydev->sfp_bus, id,
> > >
> > > sfp_support);
> > >
> > > As mentionned below, this check looks a bit strange to me. Why are we only
> > > parsing the SFP port if the PHY device only has one registered port?
> >
> > Because phydev->port is global to the PHY. If we have another port,
> > then phydev->port must be handled differently so that SFP insertion /
> > removal doesn't overwrite what the other port is.
> >
>
> Okay, I see, thanks for explaining.
>
> > Handling of phydev->port is still fragile in this state of the series,
> > I'll try to improve on that for V7 and document it better.
> >
> > > > +
> > > > + linkmode_and(sfp_support, port->supported, sfp_support);
> > > > +
> > > > + if (linkmode_empty(sfp_support)) {
> > > > + dev_err(&phydev->mdio.dev, "incompatible SFP module
> > >
> > > inserted\n");
> > >
> > > > + return -EINVAL;
> > > > + }
> > > > +
> > > > + iface = sfp_select_interface(phydev->sfp_bus, sfp_support);
> > > > +
> > > > + /* Check that this interface is supported */
> > > > + if (!test_bit(iface, port->interfaces)) {
> > > > + dev_err(&phydev->mdio.dev, "incompatible SFP module
> > >
> > > inserted\n");
> > >
> > > > + return -EINVAL;
> > > > + }
> > > > +
> > > > + if (port->ops && port->ops->configure_mii)
> > > > + return port->ops->configure_mii(port, true, iface);
> > >
> > > The name "configure_mii()" seems a bit narrow-scoped to me, as this
> > > callback might have to configure something else than a MII link. For
> > > example, if a DAC SFP module is inserted, the downstream side of the
> > > transciever will have to be configured to 1000Base-X or something
> > > similar.
> >
> > In that regard, you can consider 1000BaseX as a MII mode (we do have
> > PHY_INTERFACE_MODE_1000BASEX).
> >
>
> Ugh, the "1000BaseX" terminology never ceases to confuse me, but yes you're
> right.
>
> > > I'd suggest something like "post_sfp_insert()", please let me know what
> > > you
> > > think.
> >
> > That's not intended to be SFP-specific though. post_sfp_insert() sounds
> > lke the narrow-scoped name to me :) Here we are dealing with a PHy that
> > has a media-side port that isn't a MDI port, but an MII interface like
> > a MAC would usually export. There may be an SFP here, or something else
> > entirely :)
> >
>
> Is that callback really not meant to be SFP-specific? It's only called from
> phy_sfp_module_insert() though.
Well for now yeah as this is the only user now, but ports are meant to
be about more than drving SFPs.
This series as of today is quite long but doesn't cover the other
classes of use-cases which are non-phy-driven ports.
Taking the example of the Turris Omnia, we have something like that :
+------------------+
| MUX +--------+ |
| +-| port 1 | --- SGMII - PHY
| | +--------+ |
MAC -------+ |
| | +--------+ |
| +-| port 2 | ---- SGMII/1000BaseX - SFP
| +--------+ |
+------------------+
Here we have 1 mac that drives 2 ports through a MUX. So the ports here
would be driven by the mux driver (which I have a framewrok for ready to
send once this series lands). The goal would be to use the same
phy_port representation for these 2 ports, the .configure_mii()
callback will be used to switch between ports (so, perform the muxing),
then the rest of the stack takes over through the usual means (phylink,
phylib and all that). So here, the .configure_mii() ops doesn't
necessarily drives an SFP :)
Maxime
Return-Path: <linux-kernel+bounces-665093-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E8A9841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:23:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3ED2F3A2391
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:21:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F2511248878;
Wed, 28 May 2025 08:16:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="TzGTVOWS"
Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9C711E5B7E;
Wed, 28 May 2025 08:16:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.200
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420189; cv=none; b=tPCqgyu/Eqhp6EKDgBc40XkER7E971EZxYG2vXeZMVSa297GOGcBTBkD9S/+cZqlPYpYBbPzPi+t6Nu+oU0DxDZFexu5xfIe5HS+sVj+Dt357pQnqYIh41m9MydV4J/Et7VR0i8y2Pig5cEhN1H7mxttLz0oGYs+mV3NrKBCyYI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420189; c=relaxed/simple;
bh=N+Qh65Pwk27kNqtp7q29PX/b7gyohJLkykeeaeJQuLE=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=k2B41S585cW49D8rHcH0Ktlq06JhEWKnGl7pqT4JySKt1qryvlkapX6pOKTwvK/84hPTqXABI+4PiACzLBQ3gqLbSMqPTN/NrlSurXTy4iyXdZQllDDyFioVgxDmxScb07DoG9TGtnQNFU0kkoZHleVb+XyAm9eF9E+IL7V98SY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=TzGTVOWS; arc=none smtp.client-ip=217.70.183.200
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com
Received: by mail.gandi.net (Postfix) with ESMTPSA id 34DE94316E;
Wed, 28 May 2025 08:16:17 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748420179;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=WOFwRpfANHjb3otGmi54M/pace4GHz369sqF3SK7s9s=;
b=TzGTVOWSeG0ERVh6bKRs0qdcd1m4lV9KndnAXHTDn+w0KnetXd6u8qnR2pZE1KaHPgEwvr
/M5TGa6cqjIMBT4UNKZ9B0A/yDb+5PETGbCK51oYkMEurLG2E//hkP9grtvki06EhUme/6
5wdnrCQM0mFBis0HYzTirGmtYz4dF/1SFqRKsw0BLWXJ5soCgTIXLG2ScFmE826gDbyS9A
d9fzlH2C07VkJ594+dekbfvD16jIFRzvwYUHAiuOv5ncJF1YeU6iAf6j/RNGwYwPpehNzn
ixUxRR2asqalM/HBulxvSYbxSWsssaXE0mlL0CQfBNz6LWE8N2k+4IhFEgxixg==
From: Romain Gantois <romain.gantois@xxxxxxxxxxx>
To: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
Cc: davem@xxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-msm@xxxxxxxxxxxxxxx, thomas.petazzoni@xxxxxxxxxxx,
Andrew Lunn <andrew@xxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Russell King <linux@xxxxxxxxxxxxxxx>, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
Christophe Leroy <christophe.leroy@xxxxxxxxxx>,
Herve Codina <herve.codina@xxxxxxxxxxx>,
Florian Fainelli <f.fainelli@xxxxxxxxx>,
Heiner Kallweit <hkallweit1@xxxxxxxxx>,
Vladimir Oltean <vladimir.oltean@xxxxxxx>,
=?UTF-8?B?S8O2cnk=?= Maincent <kory.maincent@xxxxxxxxxxx>,
Marek =?UTF-8?B?QmVow7pu?= <kabel@xxxxxxxxxx>,
Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>,
=?UTF-8?B?Tmljb2zDsg==?= Veronese <nicveronese@xxxxxxxxx>,
Simon Horman <horms@xxxxxxxxxx>, mwojtas@xxxxxxxxxxxx,
Antoine Tenart <atenart@xxxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
Conor Dooley <conor+dt@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Daniel Golle <daniel@xxxxxxxxxxxxxx>,
Dimitri Fedrau <dimitri.fedrau@xxxxxxxxxxxx>
Subject:
Re: [PATCH net-next v6 06/14] net: phy: Introduce generic SFP handling for
PHY drivers
Date: Wed, 28 May 2025 10:16:12 +0200
Message-ID: <2915123.mvXUDI8C0e@fw-rgant>
In-Reply-To: <20250528101433.138b2f31@xxxxxxxxxxxxxx>
References:
<20250507135331.76021-1-maxime.chevallier@xxxxxxxxxxx>
<13770694.uLZWGnKmhe@fw-rgant> <20250528101433.138b2f31@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart12805152.O9o76ZdvQC";
micalg="pgp-sha512"; protocol="application/pgp-signature"
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdejieculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkjghfgggtsehgtderredttdejnecuhfhrohhmpeftohhmrghinhcuifgrnhhtohhishcuoehrohhmrghinhdrghgrnhhtohhishessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhephfdvleekvefgieejtdduieehfeffjefhleegudeuhfelteduiedukedtieehlefgnecuffhomhgrihhnpegsohhothhlihhnrdgtohhmnecukfhppeeltddrkeelrdduieefrdduvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledtrdekledrudeifedruddvjedphhgvlhhopehffidqrhhgrghnthdrlhhotggrlhhnvghtpdhmrghilhhfrhhomheprhhomhgrihhnrdhgrghnthhoihhssegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopeeftddprhgtphhtthhopehmrgigihhmvgdrtghhvghvrghllhhivghrsegsohhothhlihhnrdgtohhmpdhrtghpthhtohepuggrvhgvmhesuggrvhgvmhhlohhfthdrnhgvthdprhgtphhtthhopehnvghtuggvvhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehlihhnuhigqdhkv
ghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehlihhnuhigqdgrrhhmqdhmshhmsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheprghnughrvgifsehluhhnnhdrtghhpdhrtghpthhtohepkhhusggrsehkvghrnhgvlhdrohhrgh
X-GND-Sasl: romain.gantois@xxxxxxxxxxx
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--nextPart12805152.O9o76ZdvQC
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="utf-8"; protected-headers="v1"
From: Romain Gantois <romain.gantois@xxxxxxxxxxx>
To: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
Date: Wed, 28 May 2025 10:16:12 +0200
Message-ID: <2915123.mvXUDI8C0e@fw-rgant>
In-Reply-To: <20250528101433.138b2f31@xxxxxxxxxxxxxx>
MIME-Version: 1.0
On Wednesday, 28 May 2025 10:14:33 CEST Maxime Chevallier wrote:
> Hi Romain
>
> On Wed, 28 May 2025 09:35:35 +0200
>
> Romain Gantois <romain.gantois@xxxxxxxxxxx> wrote:
> > On Friday, 23 May 2025 14:54:57 CEST Maxime Chevallier wrote:
> > > Hi Romain,
> > >
> > > On Mon, 12 May 2025 10:38:52 +0200
> > >
> > > Romain Gantois <romain.gantois@xxxxxxxxxxx> wrote:
> > > > Hi Maxime,
> > > >
> > > > On Wednesday, 7 May 2025 15:53:22 CEST Maxime Chevallier wrote:
> > > > > There are currently 4 PHY drivers that can drive downstream SFPs:
> > > > > marvell.c, marvell10g.c, at803x.c and marvell-88x2222.c. Most of the
> > > > > logic is boilerplate, either calling into generic phylib helpers
> > > > > (for
> > > > > SFP PHY attach, bus attach, etc.) or performing the same tasks with
> > > > > a
> > > > >
> > > > > bit of validation :
> > > > > - Getting the module's expected interface mode
> > > > > - Making sure the PHY supports it
> > > > > - Optionnaly perform some configuration to make sure the PHY
> > > > > outputs
> > > > >
> > > > > the right mode
> > > > >
> > > > > This can be made more generic by leveraging the phy_port, and its
> > > > > configure_mii() callback which allows setting a port's interfaces
> > > > > when
> > > > > the port is a serdes.
> > > > >
> > > > > Introduce a generic PHY SFP support. If a driver doesn't probe the
> > > > > SFP
> > > > > bus itself, but an SFP phandle is found in devicetree/firmware, then
> > > > > the
> > > > > generic PHY SFP support will be used, relying on port ops.
> > > > >
> > > > > PHY driver need to :
> > > > > - Register a .attach_port() callback
> > > > > - When a serdes port is registered to the PHY, drivers must set
> > > > >
> > > > > port->interfaces to the set of PHY_INTERFACE_MODE the port can
> > > > > output
> > > > >
> > > > > - If the port has limitations regarding speed, duplex and aneg, the
> > > > >
> > > > > port can also fine-tune the final linkmodes that can be supported
> > > > >
> > > > > - The port may register a set of ops, including .configure_mii(),
> > > > > that
> > > > >
> > > > > will be called at module_insert time to adjust the interface
> > > > > based on
> > > > > the module detected.
> > > > >
> > > > > Signed-off-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
> > > > > ---
> > > > >
> > > > > drivers/net/phy/phy_device.c | 107
> > > > > +++++++++++++++++++++++++++++++++++
> > > > > include/linux/phy.h | 2 +
> > > > > 2 files changed, 109 insertions(+)
> > > > >
> > > > > diff --git a/drivers/net/phy/phy_device.c
> > > > > b/drivers/net/phy/phy_device.c
> > > > > index aaf0eccbefba..aca3a47cbb66 100644
> > > > > --- a/drivers/net/phy/phy_device.c
> > > > > +++ b/drivers/net/phy/phy_device.c
> > > > > @@ -1450,6 +1450,87 @@ void phy_sfp_detach(void *upstream, struct
> > > > > sfp_bus
> > > > > *bus) }
> > > > >
> > > > > EXPORT_SYMBOL(phy_sfp_detach);
> > > > >
> > > > > +static int phy_sfp_module_insert(void *upstream, const struct
> > > > > sfp_eeprom_id *id) +{
> > > > > + struct phy_device *phydev = upstream;
> > > > > + struct phy_port *port = phy_get_sfp_port(phydev);
> > > > > +
> > > >
> > > > RCT
> > >
> > > Can't be done here, it won't build if in the other order...
> >
> > You could always separate the declaration from the assignment, I've seen
> > that done quite a lot to keep things in RCT.
> >
> > > > > + __ETHTOOL_DECLARE_LINK_MODE_MASK(sfp_support);
> > > > > + DECLARE_PHY_INTERFACE_MASK(interfaces);
> > > > > + phy_interface_t iface;
> > > > > +
> > > > > + linkmode_zero(sfp_support);
> > > > > +
> > > > > + if (!port)
> > > > > + return -EINVAL;
> > > > > +
> > > > > + sfp_parse_support(phydev->sfp_bus, id, sfp_support,
interfaces);
> > > > > +
> > > > > + if (phydev->n_ports == 1)
> > > > > + phydev->port = sfp_parse_port(phydev->sfp_bus, id,
> > > >
> > > > sfp_support);
> > > >
> > > > As mentionned below, this check looks a bit strange to me. Why are we
> > > > only
> > > > parsing the SFP port if the PHY device only has one registered port?
> > >
> > > Because phydev->port is global to the PHY. If we have another port,
> > > then phydev->port must be handled differently so that SFP insertion /
> > > removal doesn't overwrite what the other port is.
> >
> > Okay, I see, thanks for explaining.
> >
> > > Handling of phydev->port is still fragile in this state of the series,
> > > I'll try to improve on that for V7 and document it better.
> > >
> > > > > +
> > > > > + linkmode_and(sfp_support, port->supported, sfp_support);
> > > > > +
> > > > > + if (linkmode_empty(sfp_support)) {
> > > > > + dev_err(&phydev->mdio.dev, "incompatible SFP module
> > > >
> > > > inserted\n");
> > > >
> > > > > + return -EINVAL;
> > > > > + }
> > > > > +
> > > > > + iface = sfp_select_interface(phydev->sfp_bus, sfp_support);
> > > > > +
> > > > > + /* Check that this interface is supported */
> > > > > + if (!test_bit(iface, port->interfaces)) {
> > > > > + dev_err(&phydev->mdio.dev, "incompatible SFP module
> > > >
> > > > inserted\n");
> > > >
> > > > > + return -EINVAL;
> > > > > + }
> > > > > +
> > > > > + if (port->ops && port->ops->configure_mii)
> > > > > + return port->ops->configure_mii(port, true, iface);
> > > >
> > > > The name "configure_mii()" seems a bit narrow-scoped to me, as this
> > > > callback might have to configure something else than a MII link. For
> > > > example, if a DAC SFP module is inserted, the downstream side of the
> > > > transciever will have to be configured to 1000Base-X or something
> > > > similar.
> > >
> > > In that regard, you can consider 1000BaseX as a MII mode (we do have
> > > PHY_INTERFACE_MODE_1000BASEX).
> >
> > Ugh, the "1000BaseX" terminology never ceases to confuse me, but yes
> > you're
> > right.
> >
> > > > I'd suggest something like "post_sfp_insert()", please let me know
> > > > what
> > > > you
> > > > think.
> > >
> > > That's not intended to be SFP-specific though. post_sfp_insert() sounds
> > > lke the narrow-scoped name to me :) Here we are dealing with a PHy that
> > > has a media-side port that isn't a MDI port, but an MII interface like
> > > a MAC would usually export. There may be an SFP here, or something else
> > > entirely :)
> >
> > Is that callback really not meant to be SFP-specific? It's only called
> > from
> > phy_sfp_module_insert() though.
>
> Well for now yeah as this is the only user now, but ports are meant to
> be about more than drving SFPs.
>
> This series as of today is quite long but doesn't cover the other
> classes of use-cases which are non-phy-driven ports.
>
> Taking the example of the Turris Omnia, we have something like that :
>
> +------------------+
>
> | MUX +--------+ |
> |
> | +-| port 1 | --- SGMII - PHY
> |
> | | +--------+ |
>
> MAC -------+ |
>
> | | +--------+ |
> |
> | +-| port 2 | ---- SGMII/1000BaseX - SFP
> |
> | +--------+ |
>
> +------------------+
>
> Here we have 1 mac that drives 2 ports through a MUX. So the ports here
> would be driven by the mux driver (which I have a framewrok for ready to
> send once this series lands). The goal would be to use the same
> phy_port representation for these 2 ports, the .configure_mii()
> callback will be used to switch between ports (so, perform the muxing),
> then the rest of the stack takes over through the usual means (phylink,
> phylib and all that). So here, the .configure_mii() ops doesn't
> necessarily drives an SFP :)
I see, thanks again for explaining.
Thanks,
--
Romain Gantois, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
--nextPart12805152.O9o76ZdvQC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEYFZBShRwOvLlRRy+3R9U/FLj284FAmg2xkwACgkQ3R9U/FLj
2871iRAAgQamZldk5/l3rtmKpYjN6tVlCAfp8Itpq7UsG+NBnJHjGKDhdNt5KLMt
P44MHwli5WlyRVXuIYYA3XxilyqAKUkBaMQBWPzg4mZbaZGSPJl1uVanurWkE7lJ
y7KWe/LiVDdTkOTvstzlPCqPMsj7bhmoezTlQsWJZSO5XKQHXIxK/pMHSHvLopm1
ev5g4RW0uvLk5JyvZQJsUKBr2ImQLAcy1yszQgpGGSjrRFNCR3LN9tdJdrkEKzid
R2h8CMjvRdZ/G8B1RUITv7F9QnA3Sie28dKVLzFQqBbD/bTAiWhSJ5pV1Pmvevql
W6hNt7gQsNPWnZYIUJ5L48iLd8pXuypaDpsWcNZOW+BZkCzpdu5TMURHQHoLM8NO
7ocpwL7e0PSmY2opOy5WEiBMbruvm23d/BZJQxJWJOWjSbjgXjpts5GMcllKjwxG
J8Nl26Y0S1luX/CDaqF8p1eX4ACqCSkep9uc4kVOr2tawffXC2GLInXbNtY00kWT
oFKyZmTIYBPgmM++EeduBEEV+JAXdWcQDNmIqKr6hljL+OdDHjL6syrtTfgjgIEO
rfTXYKSP7wpSgiZ1UKTMvo0F+QEjllLLxQ6pE1aQVZJ9K5KrecpnvSDMf6xA2YYv
M6LGxBfbzDXilciejANK/66uoAfFw9CNjNfeyPonBnVq65700gc=
=a0JB
-----END PGP SIGNATURE-----
--nextPart12805152.O9o76ZdvQC--
Return-Path: <linux-kernel+bounces-665095-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4C34B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:23:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id BDC4916AE4E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:22:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D627E2580E1;
Wed, 28 May 2025 08:17:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YOd9CpmZ"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 05268242D98;
Wed, 28 May 2025 08:17:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420242; cv=none; b=ltSZnI/dKwuf7Y+XpaqK4oibV/LAgYrnlJ7rg9WoCqZjtsY1iZB0fk7Y720tQPTtTUSWj0/n6hDBc1Pw2F1AQvvpPtNczdHBzuNZaoG1rouWGSNuAqGm2KrVtJ8A1V3uRnI2k7e5QpZkzD41zem03frkvCLxAlwf8RMQqiM1ofc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420242; c=relaxed/simple;
bh=VnaOaI0+0NtHel4oVom/yssIX1THkCXKbXz9EQBzR5E=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=DsFJZ6pPWeVGQf60rgbdnwzOyI7Zn30nPRbLCTIyFAdBbaGrxQDb4uuoU7zXtNIP9vfCdBhlJQUb9KREd3jhhApdZs4igg/Ded8HhG/XSimObpaC0m68Uuv+rQSNOjiseaVtj5yMUWX6E1dV+h1YKO29zFgYpNAOUJLi2A6HavU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YOd9CpmZ; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89880C4CEF0;
Wed, 28 May 2025 08:17:21 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748420241;
bh=VnaOaI0+0NtHel4oVom/yssIX1THkCXKbXz9EQBzR5E=;
h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
b=YOd9CpmZUkZ6van6O0glNVQrftPS+aeIgof7ALSYUJCNk2o7GkLyNJCQ+9tlocHiM
SYoU+Oa2anYv/epu3VDI4S4E9wOyeTknjZiTNQNLkb3228vdihlNCHqSxevh4dbxo7
Q83z3SbSVXh6IBJIm6DOmJNuBAA2skzqVyeRUKAJAt5m7g65/L/+LdqEQS0K9IkJdM
A8ui4R0PwNU9RNM3PQQS4vHi5iLvdps4MI5AxFDD9yf34Qxe6tV4ktNIzUnBjzOumN
L7uBTzVEdN9f3TslVHcfUQbN07CesyqVdH4JB7NPUXmhMy3Xkffq1HUmNtLdnv76h4
H2xvT64PRq+jQ==
Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-acb5ec407b1so716701166b.1;
Wed, 28 May 2025 01:17:21 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCVhC4M9FNUu1tDNWDhaM5Wn0CHz3jigI+xMtEOwYNgZ+F9KDgEsV/sSWY23rmO2s5R6PEQvdo31PsG7NLdm@xxxxxxxxxxxxxxx, AJvYcCWpYAUVoZdJGCoHG3NIIv1dwU/+0GlhKBLeeQ3UQpFWlMqiRX4jM46lTpKypK/nhuHkPEKi8oMRrBtaPbk=@vger.kernel.org, AJvYcCXpgljuEJJuhg9rdUJXOI1On7hcwyA2Dz5x+AUF6oYFSJslMaBihu8gqkatdOf0Vx9p56fy1yPHkKMfeC74dHJV@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0Ywmyr7g1yv9cB1zB6FSVFv3sCixPqbVa0p/Wwx/yKr8k7EDu/bT
kUErMQmTnx+xFZSRuYoiVxpMp+IU3sl/BDUx/MKaOMm4r65Dy4L4PxqgCJRj/u3cqhlILTs9Dbe
TRDHhN1CxTQw8hGdiVey+ID5FJLEL/Ks=
X-Google-Smtp-Source: AGHT+IFNjtG99EzUzmmY6OY+rF91HK/pt//1c3i+uFoT3zCr8MD9sPlpSS8mnivTz9CEjNe5tP5bNThd/JntzDu2YOE=
X-Received: by 2002:a17:906:c10e:b0:ad8:9e80:6bb1 with SMTP id
a640c23a62f3a-ad89e807aeemr176781066b.18.1748420240112; Wed, 28 May 2025
01:17:20 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx> <CAAhV-H7hBksA2P+vfMbpDVnbjW1Mo09Out_wOQLgLRXPLaFCfA@xxxxxxxxxxxxxx>
<cda7ef56-87b3-6594-c2b6-2a4f5a1b63ce@xxxxxxxxxxx>
In-Reply-To: <cda7ef56-87b3-6594-c2b6-2a4f5a1b63ce@xxxxxxxxxxx>
From: Huacai Chen <chenhuacai@xxxxxxxxxx>
Date: Wed, 28 May 2025 16:17:09 +0800
X-Gmail-Original-Message-ID: <CAAhV-H557CLtoF23nbRQaoDPdzuM5xgsS-+-1p_VeX0OreG2vQ@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFtB9i9vI4aMVSiZAQ7D67ic6L8sSLEvjMA1XGh1pdV0LO7QWr1VhMzf8E0
Message-ID: <CAAhV-H557CLtoF23nbRQaoDPdzuM5xgsS-+-1p_VeX0OreG2vQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v10 0/5] Add Loongson Security Engine chip driver
To: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx, jgg@xxxxxxxx,
linux-integrity@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 4:06=E2=80=AFPM Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx=
> wrote:
>
>
> =E5=9C=A8 2025/5/28 =E4=B8=8B=E5=8D=883:17, Huacai Chen =E5=86=99=E9=81=
=93:
> > Hi, Qunqin,
> >
> > As I said before, why the patch "MAINTAINERS: Add entry for Loongson
> > Security Module driver" is missing?
>
> Hi, Huacai
>
> https://lore.kernel.org/all/8e55801a-a46e-58d5-cf84-2ee8a733df9a@loongson=
.cn/
Sorry, I missed this email. But if you put all files in one entry, you
can merge Patch-3 and Patch-5 as the last patch (then you will also
not meet the 5 patches limit).
Huacai
>
> Thanks,
>
> Qunqin.
>
> >
> > Huacai
> >
> > On Wed, May 28, 2025 at 2:59=E2=80=AFPM Qunqin Zhao <zhaoqunqin@loongso=
n.cn> wrote:
> >> The Loongson Security Engine chip supports RNG, SM2, SM3 and SM4
> >> accelerator engines. Each engine have its own DMA buffer provided
> >> by the controller. The kernel cannot directly send commands to the
> >> engine and must first send them to the controller, which will
> >> forward them to the corresponding engine. Based on these engines,
> >> TPM2 have been implemented in the chip, then let's treat TPM2 itself
> >> as an engine.
> >>
> >> v10: mfd: Cleanned up coding style.
> >> crypto: Unlimited tfm
> >> tpm: Added error check
> >>
> >> v9: Moved the base driver back to drivers/mfd. Cleanned up coding styl=
e.
> >>
> >> v8: Like Lee said, the base driver goes beyond MFD scope. Since these
> >> are all encryption related drivers and SM2, SM3, and SM4 drivers
> >> will be added to the crypto subsystem in the future, the base dri=
ver
> >> need to be changed when adding these drivers. Therefore, it may b=
e
> >> more appropriate to place the base driver within the crypto
> >> subsystem.
> >>
> >> Removed complete callback in all driver. Removed the concepts of
> >> "channel", "msg" and "request" as they may be confusing. Used
> >>
> >> v7: Addressed Huacai's comments.
> >>
> >> v6: mfd :MFD_LS6000SE -> MFD_LOONGSON_SE, ls6000se.c -> loongson-se.c
> >>
> >> crypto :CRYPTO_DEV_LS6000SE_RNG -> CRYPTO_DEV_LOONGSON_RNG,
> >> ls6000se-rng.c ->loongson-rng.c
> >>
> >> tpm: TCG_LSSE -> TCG_LOONGSON, tpm_lsse.c ->tpm_loongson.c
> >>
> >> v5: Registered "ls6000se-rng" device in mfd driver
> >>
> >>
> >> Qunqin Zhao (5):
> >> mfd: Add support for Loongson Security Engine chip controller
> >> crypto: loongson - add Loongson RNG driver support
> >> MAINTAINERS: Add entry for Loongson crypto driver
> >> tpm: Add a driver for Loongson TPM device
> >> MAINTAINERS: Add tpm_loongson.c to LOONGSON CRYPTO DRIVER entry
> >>
> >> MAINTAINERS | 9 +
> >> drivers/char/tpm/Kconfig | 9 +
> >> drivers/char/tpm/Makefile | 1 +
> >> drivers/char/tpm/tpm_loongson.c | 84 ++++++++
> >> drivers/crypto/Kconfig | 1 +
> >> drivers/crypto/Makefile | 1 +
> >> drivers/crypto/loongson/Kconfig | 5 +
> >> drivers/crypto/loongson/Makefile | 1 +
> >> drivers/crypto/loongson/loongson-rng.c | 211 +++++++++++++++++++++
> >> drivers/mfd/Kconfig | 11 ++
> >> drivers/mfd/Makefile | 2 +
> >> drivers/mfd/loongson-se.c | 253 +++++++++++++++++++++++=
++
> >> include/linux/mfd/loongson-se.h | 53 ++++++
> >> 13 files changed, 641 insertions(+)
> >> create mode 100644 drivers/char/tpm/tpm_loongson.c
> >> create mode 100644 drivers/crypto/loongson/Kconfig
> >> create mode 100644 drivers/crypto/loongson/Makefile
> >> create mode 100644 drivers/crypto/loongson/loongson-rng.c
> >> create mode 100644 drivers/mfd/loongson-se.c
> >> create mode 100644 include/linux/mfd/loongson-se.h
> >>
> >>
> >> base-commit: c89756bcf406af313d191cfe3709e7c175c5b0cd
> >> --
> >> 2.45.2
> >>
> >>
>
Return-Path: <linux-kernel+bounces-665096-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2E8FD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:24:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B06903B2510
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:22:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9EFB726D4F9;
Wed, 28 May 2025 08:17:48 +0000 (UTC)
Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 466E2242D98;
Wed, 28 May 2025 08:17:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=166.125.252.92
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420268; cv=none; b=ZwabuFmPSpMC7m6gRqexAOq3p36Bl5iZMsolz54ODfOi2+4kmmUNYKbRUUeNNRAnn2WLrs/zt0ljwaBhsukAeuSgjXeDXGBvrEvFMZnFaahWjKzKXDHK91b/CgEcKOpOzZvF2XhQ3mSmhlWtc/zRTZBKBsDcj8cedhzBPouuSs8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420268; c=relaxed/simple;
bh=3mNsnGzG6uUwa8ptFauGd0YKJXwEUMSFZsODR54wFjc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=dYcm8RQyYtvSZlu2BEmAZ6h4fzzx3KfebeiXt50cN7yWng8y8pWGa4SNRxjanIMmBuqFvtT39Kh9V67N5ORJa1wzgrBuhi3+VS74+g93QtOJJi2W/PYVorvXtkcA65mXeEMfu9BL5wKiNgRyAnJTLuHIiIcURDwe1N0IORnmZ6E=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com; spf=pass smtp.mailfrom=sk.com; arc=none smtp.client-ip=166.125.252.92
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sk.com
X-AuditID: a67dfc5b-669ff7000002311f-a1-6836c6a6c04e
Date: Wed, 28 May 2025 17:17:37 +0900
From: Byungchul Park <byungchul@xxxxxx>
To: Pavel Begunkov <asml.silence@xxxxxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx,
ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx, toke@xxxxxxxxxx,
tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx,
daniel@xxxxxxxxxxxxx, david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx,
Liam.Howlett@xxxxxxxxxx, vbabka@xxxxxxx, rppt@xxxxxxxxxx,
surenb@xxxxxxxxxx, mhocko@xxxxxxxx, horms@xxxxxxxxxx,
linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
Subject: Re: [PATCH 01/18] netmem: introduce struct netmem_desc
struct_group_tagged()'ed on struct net_iov
Message-ID: <20250528081737.GC28116@xxxxxxxxxxxxxxxxxxx>
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-2-byungchul@xxxxxx>
<20250527025047.GA71538@xxxxxxxxxxxxxxxxxxx>
<CAHS8izOJ6BEhiY6ApKuUkKw8+_R_pZ7kKwE9NqzCyC=g_2JGcA@xxxxxxxxxxxxxx>
<20250528012152.GA2986@xxxxxxxxxxxxxxxxxxx>
<CAHS8izMvRrG2wpE7HEyK3t544-wN_h3SC8nGabCoPWj1qCv_ag@xxxxxxxxxxxxxx>
<20250528050346.GA59539@xxxxxxxxxxxxxxxxxxx>
<4d7a307f-d595-4020-8060-f3bc2f8f72ca@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4d7a307f-d595-4020-8060-f3bc2f8f72ca@xxxxxxxxx>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0iTYRTHed7nvW04elq3J6OiRURadpcTdIOCHiooqL50f8m3Npoa05Ya
hZpQrVwXo8taNLPyUrRYMi+I5BS1G9rCXGkaVlZUCzNF026vEfXtx/9/+J3z4cjYeEyIlC0J
yaotQbGaRD2v/xSROyO/NtY8a/COCG7vTRFu9KVA/stSAdxFfgRf+1sk6K6pEyEvtxeDuyGL
hx7vNwxvajskaL/eyUPF4RIMHSfqRcjOGsCQWVrAQaPfKcCZb9cwlKS/lOBJuVuEtps/BegM
ZPNwz1XIQ7tzKdR6RkPvg48IarwlHPQevyRCTtAjwqusdgTB6g4eLmY4EXgrQwIM9LnFpZNY
ceEzjpW5XkjM49vL7hREMUcoiJmv6KjIfF9OS6z1aYXI6s8P8KystJtj2YfCIut685xnnyub
ROYtbuLZQ0+NxLp9E9aSjfqFcarVYldtMxdv15u7Tp7Fex5FpFRXXkXp6KrOgXQyJfOo84WD
dyB5iL/3LNRinkyhF2u7OI1FMpWGQv1Y45Ekmn5oDkgOpJcx+ShQ72E/rxUjiJVeyRkcYgMB
mtHgFrQhI7mFaV/nO/FPMZzeu/B6aAiTKBr68Z7TFmMyjub/kLVYRxbRnodupPEoMpne9ddx
moeSQpkeaakW/hw9llYVhPiTiLj+07r+07r+aT0IFyGjJcEer1is82LMqQmWlJgdifE+9PtF
rh8Y3FSKvjSuCyAiI1OEgd2ebzYKij0pNT6AqIxNIw2ZS2LNRkOckpqm2hK32fZa1aQAGifz
pjGGOb374oxkl5Ks7lbVPartb8vJush0FFsX32yP3LGS6IMOHUsLTYuskNfmWZqLHqxudZYP
lrWd+Jqj2E/Pd6esn4i3HJtcVXVAWrZ/FT33+T73NiNDWnV51vSd4eeXmwyNdftal4f9QWtD
+OClzv5D4VD0mu7sxw5pWeaCysDWDeP9wz5tzt04tzr51GKl5vaKqQVRW/MTTXySWZkdhW1J
yi/HgA13HgMAAA==
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTcRjG+Z/bjsPFcZkdlD60LMN7mvFCZhKUfwykixDVh1x5aMs5ZTPT
IFBTpJFaWVJzxvKu2VbLvISITfFSiuEy18U0UzEy07xgalYror79eJ7nx/vlZUnpFOXOKtVJ
gkYtV8kYMSWO2nnRr7x9hyIw72ogGMw1DNxdTIGK4QYaDNV1COa+vRHBbFsHAyV3Fkgw9GZS
MG9eImGsfUQEQ+XjFDRl15MwktfJQE7mMgkZDZUEtBZ10fC8LpeG60tlJNSnDYvA9tjAwLua
HzSMW3Mo6NJXUTCUGw7tRjdYeDaJoM1cT8DC5SIG8vuMDHzIHELQ1zpCQWF6LgJzs52G5UUD
Ey7DtVWvCNyoHxRho+UsfljpjXX2PhJbqi8x2PL1mgi/fdnE4M6byxRubJglcM7FKQbPjL2m
8JfmfgaXTEwT2FzbT+FuY5vogMsxcWisoFImC5qAsBixYuZKAZnY45zS2lyK0lCpkw6xLM9t
57/Ph+qQE0txm/nC9hnCwQznxdvt30gHu3I+/KcBq0iHxCzJTdK8ObuOchRrORVfnL/ymyUc
8Om9BtoxknImkl8cn2D+FC58163R3yOS8+btqx8Jx2GS8+ArVllH7MTt4ue7DcjB67hNfEtd
B3EFSfT/2fr/bP0/24jIauSqVCfHy5WqEH9tnCJVrUzxP5UQb0G/vqD8wsrVBjRni7AijkUy
Zwm+H6KQ0vJkbWq8FfEsKXOVZOzeoZBKYuWp5wVNwgnNWZWgtSIPlpKtl0QeEWKk3Gl5khAn
CImC5m9LsE7uaSg6DdzPeVCmBKX0QfCLzGcn8/LfW0Y8C4KittiykgZbgw9HuNnCZ72yA47a
7pXt1T7JimxKmDjDHt93UH6jJ3L/oWxdccmesK1Ta6oCXa557I4YnaT9fC3K2xk+ps++LUGD
j+iKxLLoMuTjt8E6FzStfmpLXhrwzJ8rpU0bn843yyitQr7Nm9Ro5T8B9lLpoQEDAAA=
X-CFilter-Loop: Reflected
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 08:43:34AM +0100, Pavel Begunkov wrote:
> On 5/28/25 06:03, Byungchul Park wrote:
> ...>> Thus abstractly different things maybe should not share the same
> > > in-kernel struct.
> > >
> > > One thing that maybe could work is if struct net_iov has a field in it
> > > which tells us whether it's actually a struct page that can be passed
> > > to mm apis, or not a struct page which cannot be passed to mm apis.
> > >
> > > > Or I should introduce another struct
> > >
> > > maybe introducing another struct is the answer. I'm not sure. The net
> >
> > The final form should be like:
> >
> > struct netmem_desc {
> > struct page_pool *pp;
> > unsigned long dma_addr;
> > atomic_long_t ref_count;
> > };
> >
> > struct net_iov {
> > struct netmem_desc;
> > enum net_iov_type type;
> > struct net_iov_area *owner;
> > ...
> > };
> >
> > However, now that overlaying on struct page is required, struct
> > netmem_desc should be almost same as struct net_iov. So I'm not sure if
> > we should introduce struct netmem_desc as a new struct along with struct
> > net_iov.
>
> Yes, you should. Mina already explained that net_iov is not the same
> thing as the net specific sub-struct of the page. They have common
> fields, but there are also net_iov (memory provider) specific fields
> as well.
Okay then. I will introduce a separate struct, netmem_desc, that has
similar fields to net_iov, and related static assert for the offsets.
Byungchul
>
> --
> Pavel Begunkov
Return-Path: <linux-kernel+bounces-665097-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 64E3E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:24:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 10BC4163AF5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:22:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7972824677C;
Wed, 28 May 2025 08:21:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DlwWHoM0"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0E1A918C034;
Wed, 28 May 2025 08:21:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420467; cv=none; b=Mf89LwPNgs0rgEXNPQ70qdO+M1xSjqcX7MnTDiszvU6DvhAoZxSilHvsFNSzQBzWLiJFGCOMTWtUplt9VGN7Amcghnj3+QAjp27hTBoOtHK9+h+hSM3frCLWbXC2FyTJaVWIkptaVUIXenQd3lktJ5K+NbsSq/xn3pBUm582h7E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420467; c=relaxed/simple;
bh=/Gne2VTfI+xQQ5m1d2vLN8pRlBpucC8Gc7xkCOfzMBw=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=uq8yzqB8BPYLJNEg5DcbgzMO2eA7IBGfdb0HYcd9tcQjeAGK1QW/WABtb9OOA2ZrLC7xlxxgHYRWkKaWZjMScBw+GdXsUTfK4unNHLtsJvyo4XcUGCAyFMpv3tIXjSoK7CyWRLDnsNfaQSEfU7yOVw9O8qBUiPyFoZdIVnMeSto=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DlwWHoM0; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2AD26C4CEE7;
Wed, 28 May 2025 08:21:06 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748420466;
bh=/Gne2VTfI+xQQ5m1d2vLN8pRlBpucC8Gc7xkCOfzMBw=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=DlwWHoM0qknnmD95VX6gM87GKsdV1HlNJCv3nffKAzcXJZ7ioTjmxxnYtKGN+H/yK
f8ue9TIU/OBOL7s/XsDYDoo6shMAef/oEytMD5GImMOevUURw96+EtAst4LXMNNTRj
TlPT9JQyoVbjtrcZvQTZq3YaXWZeFRfB87HyhSrh4solFZN+2P7KcVGlbS1K8att+X
HJv2f1z5bFXYRVRTlFibQGV8OxB/M/hr2MmlfHP7S/7B2F7VNOj1ROe4kuWjBT2rU1
r+vTjtXGwYliGiMTjQV/p3vNNvsaEV9j1OGrBtTGxp7wp6DeOQT5UHSmwsYciqHuOx
wa3leWEWH0+Mw==
Date: Wed, 28 May 2025 10:21:03 +0200
From: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
To: Christian Marangi <ansuelsmth@xxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Sean Wang <sean.wang@xxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Benjamin Larsson <benjamin.larsson@xxxxxxxxxx>,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH 3/6] pinctrl: airoha: convert PHY LED GPIO to macro
Message-ID: <aDbHb4q44BWwHQpE@lore-desk>
References: <20250527222040.32000-1-ansuelsmth@xxxxxxxxx>
<20250527222040.32000-4-ansuelsmth@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="uHLHnWQWrDq34LLB"
Content-Disposition: inline
In-Reply-To: <20250527222040.32000-4-ansuelsmth@xxxxxxxxx>
X-Spam-Status: No, score=-5.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--uHLHnWQWrDq34LLB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
> PHY LED GPIO pinctrl struct definition is very similar across the
> different 4 PHY and 2 LED and it can be generelized to a macro.
>=20
> To reduce code size, convert them to a common macro.
Acked-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
>=20
> Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
> ---
> drivers/pinctrl/mediatek/pinctrl-airoha.c | 570 ++++------------------
> 1 file changed, 82 insertions(+), 488 deletions(-)
>=20
> diff --git a/drivers/pinctrl/mediatek/pinctrl-airoha.c b/drivers/pinctrl/=
mediatek/pinctrl-airoha.c
> index 8af9109db992..2b532334d759 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-airoha.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-airoha.c
> @@ -1475,516 +1475,110 @@ static const struct airoha_pinctrl_func_group p=
wm_func_group[] =3D {
> },
> };
> =20
> +#define AIROHA_PINCTRL_PHY_LED(gpio, mux_val, map_mask, map_val) \
> + { \
> + .name =3D (gpio), \
> + .regmap[0] =3D { \
> + AIROHA_FUNC_MUX, \
> + REG_GPIO_2ND_I2C_MODE, \
> + (mux_val), \
> + (mux_val), \
> + }, \
> + .regmap[1] =3D { \
> + AIROHA_FUNC_MUX, \
> + REG_LAN_LED0_MAPPING, \
> + (map_mask), \
> + (map_val), \
> + }, \
> + .regmap_size =3D 2, \
> + }
> +
> static const struct airoha_pinctrl_func_group phy1_led0_func_group[] =3D=
{
> - {
> - .name =3D "gpio33",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED0_MODE_MASK,
> - GPIO_LAN0_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(0)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio34",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED0_MODE_MASK,
> - GPIO_LAN1_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(0)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio35",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED0_MODE_MASK,
> - GPIO_LAN2_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(0)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio42",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED0_MODE_MASK,
> - GPIO_LAN3_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(0)
> - },
> - .regmap_size =3D 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED0_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED0_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED0_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED0_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(0)),
> };
> =20
> static const struct airoha_pinctrl_func_group phy2_led0_func_group[] =3D=
{
> - {
> - .name =3D "gpio33",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED0_MODE_MASK,
> - GPIO_LAN0_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(1)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio34",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED0_MODE_MASK,
> - GPIO_LAN1_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(1)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio35",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED0_MODE_MASK,
> - GPIO_LAN2_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(1)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio42",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED0_MODE_MASK,
> - GPIO_LAN3_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(1)
> - },
> - .regmap_size =3D 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED0_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED0_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED0_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED0_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(1)),
> };
> =20
> static const struct airoha_pinctrl_func_group phy3_led0_func_group[] =3D=
{
> - {
> - .name =3D "gpio33",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED0_MODE_MASK,
> - GPIO_LAN0_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(2)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio34",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED0_MODE_MASK,
> - GPIO_LAN1_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(2)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio35",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED0_MODE_MASK,
> - GPIO_LAN2_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(2)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio42",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED0_MODE_MASK,
> - GPIO_LAN3_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(2)
> - },
> - .regmap_size =3D 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED0_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED0_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED0_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED0_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)),
> };
> =20
> static const struct airoha_pinctrl_func_group phy4_led0_func_group[] =3D=
{
> - {
> - .name =3D "gpio33",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED0_MODE_MASK,
> - GPIO_LAN0_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(3)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio34",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED0_MODE_MASK,
> - GPIO_LAN1_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(3)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio35",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED0_MODE_MASK,
> - GPIO_LAN2_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(3)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio42",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED0_MODE_MASK,
> - GPIO_LAN3_LED0_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED0_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(3)
> - },
> - .regmap_size =3D 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED0_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(3)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED0_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(3)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED0_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(3)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED0_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(3)),
> };
> =20
> static const struct airoha_pinctrl_func_group phy1_led1_func_group[] =3D=
{
> - {
> - .name =3D "gpio43",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED1_MODE_MASK,
> - GPIO_LAN0_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(0)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio44",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED1_MODE_MASK,
> - GPIO_LAN1_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(0)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio45",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED1_MODE_MASK,
> - GPIO_LAN2_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(0)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio46",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED1_MODE_MASK,
> - GPIO_LAN3_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(0)
> - },
> - .regmap_size =3D 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED1_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED1_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED1_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(0)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED1_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(0)),
> };
> =20
> static const struct airoha_pinctrl_func_group phy2_led1_func_group[] =3D=
{
> - {
> - .name =3D "gpio43",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED1_MODE_MASK,
> - GPIO_LAN0_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(1)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio44",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED1_MODE_MASK,
> - GPIO_LAN1_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(1)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio45",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED1_MODE_MASK,
> - GPIO_LAN2_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(1)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio46",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED1_MODE_MASK,
> - GPIO_LAN3_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(1)
> - },
> - .regmap_size =3D 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED1_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED1_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED1_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(1)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED1_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(1)),
> };
> =20
> static const struct airoha_pinctrl_func_group phy3_led1_func_group[] =3D=
{
> - {
> - .name =3D "gpio43",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED1_MODE_MASK,
> - GPIO_LAN0_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(2)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio44",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED1_MODE_MASK,
> - GPIO_LAN1_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(2)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio45",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED1_MODE_MASK,
> - GPIO_LAN2_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(2)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio46",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED1_MODE_MASK,
> - GPIO_LAN3_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(2)
> - },
> - .regmap_size =3D 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED1_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED1_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED1_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED1_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)),
> };
> =20
> static const struct airoha_pinctrl_func_group phy4_led1_func_group[] =3D=
{
> - {
> - .name =3D "gpio43",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN0_LED1_MODE_MASK,
> - GPIO_LAN0_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN0_LED_MAPPING_MASK,
> - LAN0_PHY_LED_MAP(3)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio44",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN1_LED1_MODE_MASK,
> - GPIO_LAN1_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN1_LED_MAPPING_MASK,
> - LAN1_PHY_LED_MAP(3)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio45",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN2_LED1_MODE_MASK,
> - GPIO_LAN2_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN2_LED_MAPPING_MASK,
> - LAN2_PHY_LED_MAP(3)
> - },
> - .regmap_size =3D 2,
> - }, {
> - .name =3D "gpio46",
> - .regmap[0] =3D {
> - AIROHA_FUNC_MUX,
> - REG_GPIO_2ND_I2C_MODE,
> - GPIO_LAN3_LED1_MODE_MASK,
> - GPIO_LAN3_LED1_MODE_MASK
> - },
> - .regmap[1] =3D {
> - AIROHA_FUNC_MUX,
> - REG_LAN_LED1_MAPPING,
> - LAN3_LED_MAPPING_MASK,
> - LAN3_PHY_LED_MAP(3)
> - },
> - .regmap_size =3D 2,
> - },
> + AIROHA_PINCTRL_PHY_LED("gpio33", GPIO_LAN0_LED1_MODE_MASK,
> + LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio34", GPIO_LAN1_LED1_MODE_MASK,
> + LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio35", GPIO_LAN2_LED1_MODE_MASK,
> + LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(2)),
> + AIROHA_PINCTRL_PHY_LED("gpio42", GPIO_LAN3_LED1_MODE_MASK,
> + LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)),
> };
> =20
> static const struct airoha_pinctrl_func en7581_pinctrl_funcs[] =3D {
> --=20
> 2.48.1
>=20
--uHLHnWQWrDq34LLB
Content-Type: application/pgp-signature; name=signature.asc
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQTquNwa3Txd3rGGn7Y6cBh0uS2trAUCaDbHbwAKCRA6cBh0uS2t
rPDhAP9JrT1Z/SFeEmV1XY6nhsWgx267nYFw+Nz/SI76T5BqTQEA/EWsQKh5VR+t
PatEzhmW8pegCWvsjTFOtVdpj4pifwk=
=VXYP
-----END PGP SIGNATURE-----
--uHLHnWQWrDq34LLB--
Return-Path: <linux-kernel+bounces-665098-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C034741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:25:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 6C4E8168331
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:22:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D39EB248F72;
Wed, 28 May 2025 08:21:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UVgkAInI"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id F015E247296;
Wed, 28 May 2025 08:21:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420482; cv=none; b=Y6+rfywPhr3Q/rlNxl1ASdmjm7Vm327QJkOmtwfH0xqaYb7PaiA3QsZ2nO+teZpbbNcVBXcvepn0n2YHfYy4vEooekOxA0E926EKZ976BvHVyG0liHWdw6MjVhZJXzJIHnnAtD9vxg6d1NmrctCYUPmmNEVfLC2rkBCbQvikcEk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420482; c=relaxed/simple;
bh=sGKmzke5Z6F0v6fJcAe1FvRi3EDDdNzN5+26tdisUec=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=UjGeZMf8fHN6b9aMSzSXWBnpz69db0CCIWo4Myph2cglWG0NS+H3Ef/vL8pmoQu/aAjCRz9IotMxXUxbTCrY++ntykZkMfL2dmvThHeeHkS6wp2WdjLGpABl7ZakZafnmIC6xouoUkGzZTyleAzRFJK2z0cW/GvS8Wi5vx0ixFI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UVgkAInI; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6870DC4CEE7;
Wed, 28 May 2025 08:21:18 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748420481;
bh=sGKmzke5Z6F0v6fJcAe1FvRi3EDDdNzN5+26tdisUec=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=UVgkAInI3ghcs5v5rEo9mYLwpqDRbRzRa+R/LYRAMjsJflYqf74QxcRInOjqbJGDE
7D1z/Hh1RjUEZPrLtcEdpGT/FNMMG3flHj1hbQMdCts+aRK7+m1EExPLZuGoXhzHL0
JrWIAG4LC2Gd+ohP8+e8tZCPIAB+x+StOs0rKps5sC0il+LIuzQwlGayABJMikLzux
M9E14ygoBzrTvgERRSwbAHowGhaf7FeV93tgrp5ViL9h74HBx6zN3qIIFaPtNIlHwf
WageSu5t9zi0ziL6/64raHveaRGnkLvrDO06pdzqYd5h+pk/rp1YInNk9Xb58vC4Yb
Vrtl/3SZOrc/w==
Message-ID: <12a14426-83e3-4dc1-9a55-ce617825746d@xxxxxxxxxx>
Date: Wed, 28 May 2025 10:21:16 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/9] dt-bindings: pinctrl: stm32: Introduce HDP
To: =?UTF-8?Q?Cl=C3=A9ment_Le_Goffic?= <clement.legoffic@xxxxxxxxxxx>,
Linus Walleij <linus.walleij@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>,
Bartosz Golaszewski <brgl@xxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
References: <20250523-hdp-upstream-v3-0-bd6ca199466a@xxxxxxxxxxx>
<20250523-hdp-upstream-v3-2-bd6ca199466a@xxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250523-hdp-upstream-v3-2-bd6ca199466a@xxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 23/05/2025 14:38, Clément Le Goffic wrote:
> 'HDP' stands for Hardware Debug Port, it is an hardware block in
> STMicrolectronics' MPUs that let the user decide which internal SoC's
> signal to observe.
> It provides 8 ports and for each port there is up to 16 different
> signals that can be output.
> Signals are different for each MPU.
>
> Signed-off-by: Clément Le Goffic <clement.legoffic@xxxxxxxxxxx>
> ---
> .../bindings/pinctrl/st,stm32-pinctrl-hdp.yaml | 187 +++++++++++++++++++++
> 1 file changed, 187 insertions(+)
>
If there is going to be new version then filename matching compatible,
so st,stm32-hdp.yaml or st,stm32mp-hdp.yaml (compatible does not have
pinctrl).
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665094-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AE54B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:25:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 537781886ED0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:22:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4B4FC26C397;
Wed, 28 May 2025 08:16:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="JGItzgi3"
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2B5F22472AA;
Wed, 28 May 2025 08:16:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420201; cv=none; b=Rc56Gx3aY4EpmmdS7OFHy9i+2vLhbpbfVD0E6pzgXS85UWRkR1GAdIpv8tmd6HWKoG/FbPDjUu0j/rzwWIU3DBrpLqdAAKyI17C7B01rnBzm4ApayL5ldbNQTC+SWzoMfnFDifa7Iul3xC6c0bVjz+sfPm3O9AIOnseyHzMyTHA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420201; c=relaxed/simple;
bh=gHaQIPPmH6oqOVRL9Mm3jrQC4vCK4/KfwSFQcz+2Fzw=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=a6+TNnZrAAVIYH29SeHdcQ/RVMdFnGQEWaGpMYKlFCyNuucBcAEwtQ3PlYVBaJO/W4J/lPDLrTqMkEg7n216NEcJFcFDAMPy9M+f9PLm8lECA1qvnGK+Rk/9KbaPr9Uh40HoICUlgZi1eVSPTiW6rsgO7hh2mV34rdk3mvF4my8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=JGItzgi3; arc=none smtp.client-ip=13.77.154.182
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com
Received: by linux.microsoft.com (Postfix, from userid 1127)
id 838F92068334; Wed, 28 May 2025 01:16:38 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 838F92068334
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
s=default; t=1748420198;
bh=GxpvGtEcQUrsIxd1vTov1wL6MPNxMM0kZSWnCZ9UzVs=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=JGItzgi3DjgHPPAdVfHcgQJaxbD2iNI4E+2bJzio+KcGw5iWBVHbsGbSmsvIdeohP
Hwmk918hbDYa0OMM8Mg5JwQXKZ3uPxhEaRLV258YUXbcb1L+1fiJd4vQuR1hq28fM4
RB9U0ZLg9VPU2ZvAjZ3Ytxh9kfyuM5HvUExyd9tQ=
Date: Wed, 28 May 2025 01:16:38 -0700
From: Saurabh Singh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx>
To: Shradha Gupta <shradhagupta@xxxxxxxxxxxxxxxxxxx>
Cc: Dexuan Cui <decui@xxxxxxxxxxxxx>, Wei Liu <wei.liu@xxxxxxxxxx>,
Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>,
"K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>,
Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Konstantin Taranov <kotaranov@xxxxxxxxxxxxx>,
Simon Horman <horms@xxxxxxxxxx>, Leon Romanovsky <leon@xxxxxxxxxx>,
Maxim Levitsky <mlevitsk@xxxxxxxxxx>,
Erni Sri Satya Vennela <ernis@xxxxxxxxxxxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Michael Kelley <mhklinux@xxxxxxxxxxx>, linux-hyperv@xxxxxxxxxxxxxxx,
linux-pci@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Nipun Gupta <nipun.gupta@xxxxxxx>,
Yury Norov <yury.norov@xxxxxxxxx>, Jason Gunthorpe <jgg@xxxxxxxx>,
Jonathan Cameron <Jonathan.Cameron@xxxxxxxxx>,
Anna-Maria Behnsen <anna-maria@xxxxxxxxxxxxx>,
Kevin Tian <kevin.tian@xxxxxxxxx>, Long Li <longli@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Bjorn Helgaas <bhelgaas@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Krzysztof =?utf-8?Q?Wilczy=EF=BF=BD~Dski?= <kw@xxxxxxxxx>,
Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx,
linux-rdma@xxxxxxxxxxxxxxx, Paul Rosswurm <paulros@xxxxxxxxxxxxx>,
Shradha Gupta <shradhagupta@xxxxxxxxxxxxx>
Subject: Re: [PATCH v4 5/5] net: mana: Allocate MSI-X vectors dynamically
Message-ID: <20250528081638.GA19010@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <1748361453-25096-1-git-send-email-shradhagupta@xxxxxxxxxxxxxxxxxxx>
<1748361543-25845-1-git-send-email-shradhagupta@xxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1748361543-25845-1-git-send-email-shradhagupta@xxxxxxxxxxxxxxxxxxx>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 08:59:03AM -0700, Shradha Gupta wrote:
> Currently, the MANA driver allocates MSI-X vectors statically based on
> MANA_MAX_NUM_QUEUES and num_online_cpus() values and in some cases ends
> up allocating more vectors than it needs. This is because, by this time
> we do not have a HW channel and do not know how many IRQs should be
> allocated.
>
> To avoid this, we allocate 1 MSI-X vector during the creation of HWC and
> after getting the value supported by hardware, dynamically add the
> remaining MSI-X vectors.
>
> Signed-off-by: Shradha Gupta <shradhagupta@xxxxxxxxxxxxxxxxxxx>
> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> ---
> Changes in v4:
> * added BUG_ON at appropriate places
> * moved xa_destroy to mana_gd_remove()
> * rearragned the cleanup logic in mana_gd_setup_dyn_irqs()
> * simplified processing around start_irq_index in mana_gd_setup_irqs()
> * return 0 instead of return err as appropriate
> ---
> Changes in v3:
> * implemented irq_contexts as xarrays rather than list
> * split the patch to create a perparation patch around irq_setup()
> * add log when IRQ allocation/setup for remaining IRQs fails
> ---
> Changes in v2:
> * Use string 'MSI-X vectors' instead of 'pci vectors'
> * make skip-cpu a bool instead of int
> * rearrange the comment arout skip_cpu variable appropriately
> * update the capability bit for driver indicating dynamic IRQ allocation
> * enforced max line length to 80
> * enforced RCT convention
> * initialized gic to NULL, for when there is a possibility of gic
> not being populated correctly
> ---
> .../net/ethernet/microsoft/mana/gdma_main.c | 306 +++++++++++++-----
> include/net/mana/gdma.h | 8 +-
> 2 files changed, 235 insertions(+), 79 deletions(-)
>
> diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c
> index 763a548c4a2b..98ebecbec9a7 100644
> --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
> +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
> @@ -6,6 +6,8 @@
> #include <linux/pci.h>
> #include <linux/utsname.h>
> #include <linux/version.h>
> +#include <linux/msi.h>
> +#include <linux/irqdomain.h>
>
> #include <net/mana/mana.h>
>
> @@ -80,8 +82,15 @@ static int mana_gd_query_max_resources(struct pci_dev *pdev)
> return err ? err : -EPROTO;
> }
>
> - if (gc->num_msix_usable > resp.max_msix)
> - gc->num_msix_usable = resp.max_msix;
> + if (!pci_msix_can_alloc_dyn(pdev)) {
> + if (gc->num_msix_usable > resp.max_msix)
> + gc->num_msix_usable = resp.max_msix;
> + } else {
> + /* If dynamic allocation is enabled we have already allocated
> + * hwc msi
> + */
> + gc->num_msix_usable = min(resp.max_msix, num_online_cpus() + 1);
> + }
>
> if (gc->num_msix_usable <= 1)
> return -ENOSPC;
> @@ -482,7 +491,9 @@ static int mana_gd_register_irq(struct gdma_queue *queue,
> }
>
> queue->eq.msix_index = msi_index;
> - gic = &gc->irq_contexts[msi_index];
> + gic = xa_load(&gc->irq_contexts, msi_index);
> + if (WARN_ON(!gic))
> + return -EINVAL;
>
> spin_lock_irqsave(&gic->lock, flags);
> list_add_rcu(&queue->entry, &gic->eq_list);
> @@ -507,7 +518,10 @@ static void mana_gd_deregiser_irq(struct gdma_queue *queue)
> if (WARN_ON(msix_index >= gc->num_msix_usable))
> return;
>
> - gic = &gc->irq_contexts[msix_index];
> + gic = xa_load(&gc->irq_contexts, msix_index);
> + if (WARN_ON(!gic))
> + return;
> +
> spin_lock_irqsave(&gic->lock, flags);
> list_for_each_entry_rcu(eq, &gic->eq_list, entry) {
> if (queue == eq) {
> @@ -1366,47 +1380,113 @@ static int irq_setup(unsigned int *irqs, unsigned int len, int node,
> return 0;
> }
>
> -static int mana_gd_setup_irqs(struct pci_dev *pdev)
> +static int mana_gd_setup_dyn_irqs(struct pci_dev *pdev, int nvec)
> {
> struct gdma_context *gc = pci_get_drvdata(pdev);
> - unsigned int max_queues_per_port;
> struct gdma_irq_context *gic;
> - unsigned int max_irqs, cpu;
> - int start_irq_index = 1;
> - int nvec, *irqs, irq;
> - int err, i = 0, j;
> + bool skip_first_cpu = false;
> + int *irqs, irq, err, i;
>
> cpus_read_lock();
> - max_queues_per_port = num_online_cpus();
> - if (max_queues_per_port > MANA_MAX_NUM_QUEUES)
> - max_queues_per_port = MANA_MAX_NUM_QUEUES;
>
> - /* Need 1 interrupt for the Hardware communication Channel (HWC) */
> - max_irqs = max_queues_per_port + 1;
> -
> - nvec = pci_alloc_irq_vectors(pdev, 2, max_irqs, PCI_IRQ_MSIX);
> - if (nvec < 0) {
> - cpus_read_unlock();
> - return nvec;
> - }
> - if (nvec <= num_online_cpus())
> - start_irq_index = 0;
> -
> - irqs = kmalloc_array((nvec - start_irq_index), sizeof(int), GFP_KERNEL);
> + irqs = kmalloc_array(nvec, sizeof(int), GFP_KERNEL);
> if (!irqs) {
> err = -ENOMEM;
> goto free_irq_vector;
> }
>
> - gc->irq_contexts = kcalloc(nvec, sizeof(struct gdma_irq_context),
> - GFP_KERNEL);
> - if (!gc->irq_contexts) {
> + /*
> + * While processing the next pci irq vector, we start with index 1,
> + * as IRQ vector at index 0 is already processed for HWC.
> + * However, the population of irqs array starts with index 0, to be
> + * further used in irq_setup()
> + */
> + for (i = 1; i <= nvec; i++) {
> + gic = kzalloc(sizeof(*gic), GFP_KERNEL);
> + if (!gic) {
> + err = -ENOMEM;
> + goto free_irq;
> + }
> + gic->handler = mana_gd_process_eq_events;
> + INIT_LIST_HEAD(&gic->eq_list);
> + spin_lock_init(&gic->lock);
> +
> + snprintf(gic->name, MANA_IRQ_NAME_SZ, "mana_q%d@pci:%s",
> + i - 1, pci_name(pdev));
> +
> + /* one pci vector is already allocated for HWC */
> + irqs[i - 1] = pci_irq_vector(pdev, i);
> + if (irqs[i - 1] < 0) {
> + err = irqs[i - 1];
> + goto free_current_gic;
> + }
> +
> + err = request_irq(irqs[i - 1], mana_gd_intr, 0, gic->name, gic);
> + if (err)
> + goto free_current_gic;
> +
> + xa_store(&gc->irq_contexts, i, gic, GFP_KERNEL);
> + }
> +
> + /*
> + * When calling irq_setup() for dynamically added IRQs, if number of
> + * CPUs is more than or equal to allocated MSI-X, we need to skip the
> + * first CPU sibling group since they are already affinitized to HWC IRQ
> + */
> + if (gc->num_msix_usable <= num_online_cpus())
> + skip_first_cpu = true;
> +
> + err = irq_setup(irqs, nvec, gc->numa_node, skip_first_cpu);
> + if (err)
> + goto free_irq;
> +
> + cpus_read_unlock();
> + kfree(irqs);
> + return 0;
> +
> +free_current_gic:
> + kfree(gic);
> +free_irq:
> + for (i -= 1; i > 0; i--) {
> + irq = pci_irq_vector(pdev, i);
> + gic = xa_load(&gc->irq_contexts, i);
> + if (WARN_ON(!gic))
> + continue;
> +
> + irq_update_affinity_hint(irq, NULL);
> + free_irq(irq, gic);
> + xa_erase(&gc->irq_contexts, i);
> + kfree(gic);
> + }
> + kfree(irqs);
> +free_irq_vector:
> + cpus_read_unlock();
> + return err;
> +}
> +
> +static int mana_gd_setup_irqs(struct pci_dev *pdev, int nvec)
> +{
> + struct gdma_context *gc = pci_get_drvdata(pdev);
> + struct gdma_irq_context *gic;
> + int *irqs, *start_irqs, irq;
> + unsigned int cpu;
> + int err, i;
> +
> + cpus_read_lock();
> +
> + irqs = kmalloc_array(nvec, sizeof(int), GFP_KERNEL);
> + if (!irqs) {
> err = -ENOMEM;
> - goto free_irq_array;
> + goto free_irq_vector;
> }
>
> for (i = 0; i < nvec; i++) {
> - gic = &gc->irq_contexts[i];
> + gic = kzalloc(sizeof(*gic), GFP_KERNEL);
> + if (!gic) {
> + err = -ENOMEM;
> + goto free_irq;
> + }
> +
> gic->handler = mana_gd_process_eq_events;
> INIT_LIST_HEAD(&gic->eq_list);
> spin_lock_init(&gic->lock);
> @@ -1418,69 +1498,128 @@ static int mana_gd_setup_irqs(struct pci_dev *pdev)
> snprintf(gic->name, MANA_IRQ_NAME_SZ, "mana_q%d@pci:%s",
> i - 1, pci_name(pdev));
>
> - irq = pci_irq_vector(pdev, i);
> - if (irq < 0) {
> - err = irq;
> - goto free_irq;
> + irqs[i] = pci_irq_vector(pdev, i);
> + if (irqs[i] < 0) {
> + err = irqs[i];
> + goto free_current_gic;
> }
>
> - if (!i) {
> - err = request_irq(irq, mana_gd_intr, 0, gic->name, gic);
> - if (err)
> - goto free_irq;
> -
> - /* If number of IRQ is one extra than number of online CPUs,
> - * then we need to assign IRQ0 (hwc irq) and IRQ1 to
> - * same CPU.
> - * Else we will use different CPUs for IRQ0 and IRQ1.
> - * Also we are using cpumask_local_spread instead of
> - * cpumask_first for the node, because the node can be
> - * mem only.
> - */
> - if (start_irq_index) {
> - cpu = cpumask_local_spread(i, gc->numa_node);
> - irq_set_affinity_and_hint(irq, cpumask_of(cpu));
> - } else {
> - irqs[start_irq_index] = irq;
> - }
> - } else {
> - irqs[i - start_irq_index] = irq;
> - err = request_irq(irqs[i - start_irq_index], mana_gd_intr, 0,
> - gic->name, gic);
> - if (err)
> - goto free_irq;
> - }
> + err = request_irq(irqs[i], mana_gd_intr, 0, gic->name, gic);
> + if (err)
> + goto free_current_gic;
> +
> + xa_store(&gc->irq_contexts, i, gic, GFP_KERNEL);
> }
>
> - err = irq_setup(irqs, nvec - start_irq_index, gc->numa_node, false);
> + /* If number of IRQ is one extra than number of online CPUs,
> + * then we need to assign IRQ0 (hwc irq) and IRQ1 to
> + * same CPU.
> + * Else we will use different CPUs for IRQ0 and IRQ1.
> + * Also we are using cpumask_local_spread instead of
> + * cpumask_first for the node, because the node can be
> + * mem only.
> + */
> + start_irqs = irqs;
> + if (nvec > num_online_cpus()) {
> + cpu = cpumask_local_spread(0, gc->numa_node);
> + irq_set_affinity_and_hint(irqs[0], cpumask_of(cpu));
> + irqs++;
> + nvec -= 1;
> + }
> +
> + err = irq_setup(irqs, nvec, gc->numa_node, false);
> if (err)
> goto free_irq;
>
> - gc->max_num_msix = nvec;
> - gc->num_msix_usable = nvec;
> cpus_read_unlock();
> - kfree(irqs);
> + kfree(start_irqs);
> return 0;
>
> +free_current_gic:
> + kfree(gic);
> free_irq:
> - for (j = i - 1; j >= 0; j--) {
> - irq = pci_irq_vector(pdev, j);
> - gic = &gc->irq_contexts[j];
> + for (i -= 1; i >= 0; i--) {
> + irq = pci_irq_vector(pdev, i);
> + gic = xa_load(&gc->irq_contexts, i);
> + if (WARN_ON(!gic))
> + continue;
>
> irq_update_affinity_hint(irq, NULL);
> free_irq(irq, gic);
> + xa_erase(&gc->irq_contexts, i);
> + kfree(gic);
> }
>
> - kfree(gc->irq_contexts);
> - gc->irq_contexts = NULL;
> -free_irq_array:
> - kfree(irqs);
> + kfree(start_irqs);
There is a case when start_irqs can be used here uninitialized.
- Saurabh
Return-Path: <linux-kernel+bounces-665099-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 28C6941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:25:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 3E01C16C24E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:23:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9CCB3EEB2;
Wed, 28 May 2025 08:21:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="jslYXHOX";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="mNTXITJu";
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="jslYXHOX";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="mNTXITJu"
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72937193077
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:21:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420511; cv=none; b=rRhGg5k9JbcY6F/Bd/GyQmXztHRRcTqL60IxGW4++v5cx7KVBGXrNDg2MA/UhNvvrHNRdua0I+WZCjEGUnP0mn2aYymEh3x4u9adKv99ISTNw1rG5rZnr3LH+YqM6lUPvG/0jN+pRFK6ohsJutspg2ea18nR6lTCIb9jg1mI8U8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420511; c=relaxed/simple;
bh=y9HRWTnHz4bDZrOtS67J76ayuL+yHdc+H4GH8Oah78U=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=RXq7NBQKz5YXyag6zBqUVsQaO0v58X84VAZlJZhOYzTW7VqqixwrrrZmgrXxZAz1mgqBYmCp0pCP3TgU4C9d429SlhuFcgdAWsLAZbsffwiPwIQw+g373falXt/Zw33qQ/CTP747nYx2XDCVh1Vg0q2K+YEOmI7aKfWPUa+8RAU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz; spf=pass smtp.mailfrom=suse.cz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=jslYXHOX; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=mNTXITJu; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=jslYXHOX; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=mNTXITJu; arc=none smtp.client-ip=195.135.223.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.cz
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out2.suse.de (Postfix) with ESMTPS id 61EF41F7C0;
Wed, 28 May 2025 08:21:47 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1748420507; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=xFnLkQ2p2pcScQ0tA9MbXXmlkAvA2ji4vH+ZT6d5yg8=;
b=jslYXHOXspB/oRJL2Ge6r/Cj9D1aM0v+T+UGh7cjIqUSpsWLSpyku0X7iiOucQX6edT+5q
Tm8lJkU4nnobseH9CPOdul5PPCcWAnafoA7XMhpfYr7Lk+fXpMgm5uE84s1suSmqr2m0m8
0OpbZeT3LA8xg0deNpszBDjvl3Sbkos=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1748420507;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=xFnLkQ2p2pcScQ0tA9MbXXmlkAvA2ji4vH+ZT6d5yg8=;
b=mNTXITJuMHCTRMHn1OSRRJV8jxOQoHDyOYbaT7R6r2rKRWUY6Sih5V6xpkc4ROxHqOVN4M
ymPa5ESv77i48LCA==
Authentication-Results: smtp-out2.suse.de;
dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=jslYXHOX;
dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=mNTXITJu
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1748420507; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=xFnLkQ2p2pcScQ0tA9MbXXmlkAvA2ji4vH+ZT6d5yg8=;
b=jslYXHOXspB/oRJL2Ge6r/Cj9D1aM0v+T+UGh7cjIqUSpsWLSpyku0X7iiOucQX6edT+5q
Tm8lJkU4nnobseH9CPOdul5PPCcWAnafoA7XMhpfYr7Lk+fXpMgm5uE84s1suSmqr2m0m8
0OpbZeT3LA8xg0deNpszBDjvl3Sbkos=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1748420507;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=xFnLkQ2p2pcScQ0tA9MbXXmlkAvA2ji4vH+ZT6d5yg8=;
b=mNTXITJuMHCTRMHn1OSRRJV8jxOQoHDyOYbaT7R6r2rKRWUY6Sih5V6xpkc4ROxHqOVN4M
ymPa5ESv77i48LCA==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 3E46B136E0;
Wed, 28 May 2025 08:21:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id PC27DpvHNmikVgAAD6G6ig
(envelope-from <vbabka@xxxxxxx>); Wed, 28 May 2025 08:21:47 +0000
Message-ID: <77f9dd55-fc5c-44c8-b7ac-eac68c1d378f@xxxxxxx>
Date: Wed, 28 May 2025 10:21:46 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7] mm: Add CONFIG_PAGE_BLOCK_ORDER to select page block
order
Content-Language: en-US
To: Juan Yescas <jyescas@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
David Hildenbrand <david@xxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>, Mike Rapoport
<rppt@xxxxxxxxxx>, Suren Baghdasaryan <surenb@xxxxxxxxxx>,
Michal Hocko <mhocko@xxxxxxxx>, Zi Yan <ziy@xxxxxxxxxx>, linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: tjmercier@xxxxxxxxxx, isaacmanjarres@xxxxxxxxxx, kaleshsingh@xxxxxxxxxx,
masahiroy@xxxxxxxxxx, Minchan Kim <minchan@xxxxxxxxxx>
References: <20250521215807.1860663-1-jyescas@xxxxxxxxxx>
From: Vlastimil Babka <vbabka@xxxxxxx>
Autocrypt: addr=vbabka@xxxxxxx; keydata=
xsFNBFZdmxYBEADsw/SiUSjB0dM+vSh95UkgcHjzEVBlby/Fg+g42O7LAEkCYXi/vvq31JTB
KxRWDHX0R2tgpFDXHnzZcQywawu8eSq0LxzxFNYMvtB7sV1pxYwej2qx9B75qW2plBs+7+YB
87tMFA+u+L4Z5xAzIimfLD5EKC56kJ1CsXlM8S/LHcmdD9Ctkn3trYDNnat0eoAcfPIP2OZ+
9oe9IF/R28zmh0ifLXyJQQz5ofdj4bPf8ecEW0rhcqHfTD8k4yK0xxt3xW+6Exqp9n9bydiy
tcSAw/TahjW6yrA+6JhSBv1v2tIm+itQc073zjSX8OFL51qQVzRFr7H2UQG33lw2QrvHRXqD
Ot7ViKam7v0Ho9wEWiQOOZlHItOOXFphWb2yq3nzrKe45oWoSgkxKb97MVsQ+q2SYjJRBBH4
8qKhphADYxkIP6yut/eaj9ImvRUZZRi0DTc8xfnvHGTjKbJzC2xpFcY0DQbZzuwsIZ8OPJCc
LM4S7mT25NE5kUTG/TKQCk922vRdGVMoLA7dIQrgXnRXtyT61sg8PG4wcfOnuWf8577aXP1x
6mzw3/jh3F+oSBHb/GcLC7mvWreJifUL2gEdssGfXhGWBo6zLS3qhgtwjay0Jl+kza1lo+Cv
BB2T79D4WGdDuVa4eOrQ02TxqGN7G0Biz5ZLRSFzQSQwLn8fbwARAQABzSBWbGFzdGltaWwg
QmFia2EgPHZiYWJrYUBzdXNlLmN6PsLBlAQTAQoAPgIbAwULCQgHAwUVCgkICwUWAgMBAAIe
AQIXgBYhBKlA1DSZLC6OmRA9UCJPp+fMgqZkBQJnyBr8BQka0IFQAAoJECJPp+fMgqZkqmMQ
AIbGN95ptUMUvo6aAdhxaOCHXp1DfIBuIOK/zpx8ylY4pOwu3GRe4dQ8u4XS9gaZ96Gj4bC+
jwWcSmn+TjtKW3rH1dRKopvC07tSJIGGVyw7ieV/5cbFffA8NL0ILowzVg8w1ipnz1VTkWDr
2zcfslxJsJ6vhXw5/npcY0ldeC1E8f6UUoa4eyoskd70vO0wOAoGd02ZkJoox3F5ODM0kjHu
Y97VLOa3GG66lh+ZEelVZEujHfKceCw9G3PMvEzyLFbXvSOigZQMdKzQ8D/OChwqig8wFBmV
QCPS4yDdmZP3oeDHRjJ9jvMUKoYODiNKsl2F+xXwyRM2qoKRqFlhCn4usVd1+wmv9iLV8nPs
2Db1ZIa49fJet3Sk3PN4bV1rAPuWvtbuTBN39Q/6MgkLTYHb84HyFKw14Rqe5YorrBLbF3rl
M51Dpf6Egu1yTJDHCTEwePWug4XI11FT8lK0LNnHNpbhTCYRjX73iWOnFraJNcURld1jL1nV
r/LRD+/e2gNtSTPK0Qkon6HcOBZnxRoqtazTU6YQRmGlT0v+rukj/cn5sToYibWLn+RoV1CE
Qj6tApOiHBkpEsCzHGu+iDQ1WT0Idtdynst738f/uCeCMkdRu4WMZjteQaqvARFwCy3P/jpK
uvzMtves5HvZw33ZwOtMCgbpce00DaET4y/UzsBNBFsZNTUBCACfQfpSsWJZyi+SHoRdVyX5
J6rI7okc4+b571a7RXD5UhS9dlVRVVAtrU9ANSLqPTQKGVxHrqD39XSw8hxK61pw8p90pg4G
/N3iuWEvyt+t0SxDDkClnGsDyRhlUyEWYFEoBrrCizbmahOUwqkJbNMfzj5Y7n7OIJOxNRkB
IBOjPdF26dMP69BwePQao1M8Acrrex9sAHYjQGyVmReRjVEtv9iG4DoTsnIR3amKVk6si4Ea
X/mrapJqSCcBUVYUFH8M7bsm4CSxier5ofy8jTEa/CfvkqpKThTMCQPNZKY7hke5qEq1CBk2
wxhX48ZrJEFf1v3NuV3OimgsF2odzieNABEBAAHCwXwEGAEKACYCGwwWIQSpQNQ0mSwujpkQ
PVAiT6fnzIKmZAUCZ8gcVAUJFhTonwAKCRAiT6fnzIKmZLY8D/9uo3Ut9yi2YCuASWxr7QQZ
lJCViArjymbxYB5NdOeC50/0gnhK4pgdHlE2MdwF6o34x7TPFGpjNFvycZqccSQPJ/gibwNA
zx3q9vJT4Vw+YbiyS53iSBLXMweeVV1Jd9IjAoL+EqB0cbxoFXvnjkvP1foiiF5r73jCd4PR
rD+GoX5BZ7AZmFYmuJYBm28STM2NA6LhT0X+2su16f/HtummENKcMwom0hNu3MBNPUOrujtW
khQrWcJNAAsy4yMoJ2Lw51T/5X5Hc7jQ9da9fyqu+phqlVtn70qpPvgWy4HRhr25fCAEXZDp
xG4RNmTm+pqorHOqhBkI7wA7P/nyPo7ZEc3L+ZkQ37u0nlOyrjbNUniPGxPxv1imVq8IyycG
AN5FaFxtiELK22gvudghLJaDiRBhn8/AhXc642/Z/yIpizE2xG4KU4AXzb6C+o7LX/WmmsWP
Ly6jamSg6tvrdo4/e87lUedEqCtrp2o1xpn5zongf6cQkaLZKQcBQnPmgHO5OG8+50u88D9I
rywqgzTUhHFKKF6/9L/lYtrNcHU8Z6Y4Ju/MLUiNYkmtrGIMnkjKCiRqlRrZE/v5YFHbayRD
dJKXobXTtCBYpLJM4ZYRpGZXne/FAtWNe4KbNJJqxMvrTOrnIatPj8NhBVI0RSJRsbilh6TE
m6M14QORSWTLRg==
In-Reply-To: <20250521215807.1860663-1-jyescas@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Queue-Id: 61EF41F7C0
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-4.51 / 50.00];
BAYES_HAM(-3.00)[100.00%];
NEURAL_HAM_LONG(-1.00)[-1.000];
R_DKIM_ALLOW(-0.20)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
NEURAL_HAM_SHORT(-0.20)[-1.000];
MIME_GOOD(-0.10)[text/plain];
MX_GOOD(-0.01)[];
RCVD_TLS_ALL(0.00)[];
RCVD_VIA_SMTP_AUTH(0.00)[];
MIME_TRACE(0.00)[0:+];
ARC_NA(0.00)[];
RCPT_COUNT_TWELVE(0.00)[16];
MID_RHS_MATCH_FROM(0.00)[];
DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
TO_DN_SOME(0.00)[];
FROM_EQ_ENVFROM(0.00)[];
FROM_HAS_DN(0.00)[];
FUZZY_BLOCKED(0.00)[rspamd.com];
SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
DBL_BLOCKED_OPENRESOLVER(0.00)[nvidia.com:email,suse.cz:mid,suse.cz:dkim,suse.cz:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,linux-foundation.org:email];
RCVD_COUNT_TWO(0.00)[2];
TO_MATCH_ENVRCPT_ALL(0.00)[];
DKIM_TRACE(0.00)[suse.cz:+]
X-Spam-Score: -4.51
X-Spam-Level:
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/21/25 23:57, Juan Yescas wrote:
> Problem: On large page size configurations (16KiB, 64KiB), the CMA
> alignment requirement (CMA_MIN_ALIGNMENT_BYTES) increases considerably,
> and this causes the CMA reservations to be larger than necessary.
> This means that system will have less available MIGRATE_UNMOVABLE and
> MIGRATE_RECLAIMABLE page blocks since MIGRATE_CMA can't fallback to them.
>
> The CMA_MIN_ALIGNMENT_BYTES increases because it depends on
> MAX_PAGE_ORDER which depends on ARCH_FORCE_MAX_ORDER. The value of
> ARCH_FORCE_MAX_ORDER increases on 16k and 64k kernels.
>
> For example, in ARM, the CMA alignment requirement when:
>
> - CONFIG_ARCH_FORCE_MAX_ORDER default value is used
> - CONFIG_TRANSPARENT_HUGEPAGE is set:
>
> PAGE_SIZE | MAX_PAGE_ORDER | pageblock_order | CMA_MIN_ALIGNMENT_BYTES
> -----------------------------------------------------------------------
> 4KiB | 10 | 9 | 4KiB * (2 ^ 9) = 2MiB
> 16Kib | 11 | 11 | 16KiB * (2 ^ 11) = 32MiB
> 64KiB | 13 | 13 | 64KiB * (2 ^ 13) = 512MiB
>
> There are some extreme cases for the CMA alignment requirement when:
>
> - CONFIG_ARCH_FORCE_MAX_ORDER maximum value is set
> - CONFIG_TRANSPARENT_HUGEPAGE is NOT set:
> - CONFIG_HUGETLB_PAGE is NOT set
>
> PAGE_SIZE | MAX_PAGE_ORDER | pageblock_order | CMA_MIN_ALIGNMENT_BYTES
> ------------------------------------------------------------------------
> 4KiB | 15 | 15 | 4KiB * (2 ^ 15) = 128MiB
> 16Kib | 13 | 13 | 16KiB * (2 ^ 13) = 128MiB
> 64KiB | 13 | 13 | 64KiB * (2 ^ 13) = 512MiB
>
> This affects the CMA reservations for the drivers. If a driver in a
> 4KiB kernel needs 4MiB of CMA memory, in a 16KiB kernel, the minimal
> reservation has to be 32MiB due to the alignment requirements:
>
> reserved-memory {
> ...
> cma_test_reserve: cma_test_reserve {
> compatible = "shared-dma-pool";
> size = <0x0 0x400000>; /* 4 MiB */
> ...
> };
> };
>
> reserved-memory {
> ...
> cma_test_reserve: cma_test_reserve {
> compatible = "shared-dma-pool";
> size = <0x0 0x2000000>; /* 32 MiB */
> ...
> };
> };
>
> Solution: Add a new config CONFIG_PAGE_BLOCK_ORDER that
> allows to set the page block order in all the architectures.
> The maximum page block order will be given by
> ARCH_FORCE_MAX_ORDER.
>
> By default, CONFIG_PAGE_BLOCK_ORDER will have the same
> value that ARCH_FORCE_MAX_ORDER. This will make sure that
> current kernel configurations won't be affected by this
> change. It is a opt-in change.
>
> This patch will allow to have the same CMA alignment
> requirements for large page sizes (16KiB, 64KiB) as that
> in 4kb kernels by setting a lower pageblock_order.
>
> Tests:
>
> - Verified that HugeTLB pages work when pageblock_order is 1, 7, 10
> on 4k and 16k kernels.
>
> - Verified that Transparent Huge Pages work when pageblock_order
> is 1, 7, 10 on 4k and 16k kernels.
>
> - Verified that dma-buf heaps allocations work when pageblock_order
> is 1, 7, 10 on 4k and 16k kernels.
>
> Benchmarks:
>
> The benchmarks compare 16kb kernels with pageblock_order 10 and 7. The
> reason for the pageblock_order 7 is because this value makes the min
> CMA alignment requirement the same as that in 4kb kernels (2MB).
>
> - Perform 100K dma-buf heaps (/dev/dma_heap/system) allocations of
> SZ_8M, SZ_4M, SZ_2M, SZ_1M, SZ_64, SZ_8, SZ_4. Use simpleperf
> (https://developer.android.com/ndk/guides/simpleperf) to measure
> the # of instructions and page-faults on 16k kernels.
> The benchmark was executed 10 times. The averages are below:
>
> # instructions | #page-faults
> order 10 | order 7 | order 10 | order 7
> --------------------------------------------------------
> 13,891,765,770 | 11,425,777,314 | 220 | 217
> 14,456,293,487 | 12,660,819,302 | 224 | 219
> 13,924,261,018 | 13,243,970,736 | 217 | 221
> 13,910,886,504 | 13,845,519,630 | 217 | 221
> 14,388,071,190 | 13,498,583,098 | 223 | 224
> 13,656,442,167 | 12,915,831,681 | 216 | 218
> 13,300,268,343 | 12,930,484,776 | 222 | 218
> 13,625,470,223 | 14,234,092,777 | 219 | 218
> 13,508,964,965 | 13,432,689,094 | 225 | 219
> 13,368,950,667 | 13,683,587,37 | 219 | 225
> -------------------------------------------------------------------
> 13,803,137,433 | 13,131,974,268 | 220 | 220 Averages
>
> There were 4.85% #instructions when order was 7, in comparison
> with order 10.
>
> 13,803,137,433 - 13,131,974,268 = -671,163,166 (-4.86%)
>
> The number of page faults in order 7 and 10 were the same.
>
> These results didn't show any significant regression when the
> pageblock_order is set to 7 on 16kb kernels.
>
> - Run speedometer 3.1 (https://browserbench.org/Speedometer3.1/) 5 times
> on the 16k kernels with pageblock_order 7 and 10.
>
> order 10 | order 7 | order 7 - order 10 | (order 7 - order 10) %
> -------------------------------------------------------------------
> 15.8 | 16.4 | 0.6 | 3.80%
> 16.4 | 16.2 | -0.2 | -1.22%
> 16.6 | 16.3 | -0.3 | -1.81%
> 16.8 | 16.3 | -0.5 | -2.98%
> 16.6 | 16.8 | 0.2 | 1.20%
> -------------------------------------------------------------------
> 16.44 16.4 -0.04 -0.24% Averages
>
> The results didn't show any significant regression when the
> pageblock_order is set to 7 on 16kb kernels.
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Vlastimil Babka <vbabka@xxxxxxx>
> Cc: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>
> Cc: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> Cc: David Hildenbrand <david@xxxxxxxxxx>
> CC: Mike Rapoport <rppt@xxxxxxxxxx>
> Cc: Zi Yan <ziy@xxxxxxxxxx>
> Cc: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> Cc: Minchan Kim <minchan@xxxxxxxxxx>
> Signed-off-by: Juan Yescas <jyescas@xxxxxxxxxx>
> Acked-by: Zi Yan <ziy@xxxxxxxxxx>
Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx>
Return-Path: <linux-kernel+bounces-665100-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D19A541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:25:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id B22B71703BC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:23:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 15F1124A07C;
Wed, 28 May 2025 08:22:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fpUYyQrZ"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0C7F10E0;
Wed, 28 May 2025 08:22:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420545; cv=none; b=CRlDgU64eLsstE4CHDXV+KW2ACENpc6XzNh58G2Q2R0He1Bn+PusEMPbKFM+kVUMb/EPZKMWdOUqaHKSalGp3SR+Y8GYJxBVRrylpsRJ7lbHs5fb/udYfb+vjZlW+Urh25iIoaHyFxr+KCA+NsHrXgNZ6KHDgyvfMZX5/agYWgA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420545; c=relaxed/simple;
bh=Yuh6vKmjflKKUWIV791akrOKQPbvecxt/YxWPJHHypo=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=oc0cFiMvQTAwI0vV1VjWbtOVvinjZEc1b4yyP/V/CnjRaKmTuKvMYZrb25thIHaH9A7sl7C7yM9ZEjgObcWAHisv+RcWQslpa/uGAmwCO73v1Ux72ZNe4JnxEhK4OqbybJeQCpde881C92dSwQIFt5AL266dYtEDV/hm3a0+bxE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fpUYyQrZ; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D0F66C4CEED;
Wed, 28 May 2025 08:22:24 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748420545;
bh=Yuh6vKmjflKKUWIV791akrOKQPbvecxt/YxWPJHHypo=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=fpUYyQrZpuwEgT4UeSvaqF6xrvgMm8nlBAo7tsr5KFPBzwGej4XAT4C2wov0Focah
n4MuPct3BUv6yNBkaW8LdC0uVaRwXykWaa+7lF6pWKgDDB9dAHht+iICvYsKPSy7nd
pg2bbIEzdjwg5yYLaE4GCWaVyK55PHoa/DMivrUSkitloVksIyCKuZgNzxAShj9Iow
sq/9NkZSBaHGvd7DVuh6anc6gmP9dMkwX7feKyPEni4FF3QFIzPKZsxHZpgWqOxXTE
Yf8XxxLGH1qo5DnFBTAX4nUC+Lx1mg2qVj75gP507jEUgd5R78sskRV5fyVBBqrfII
xMzBybg41VtTA==
Date: Wed, 28 May 2025 10:22:22 +0200
From: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
To: Christian Marangi <ansuelsmth@xxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Sean Wang <sean.wang@xxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Benjamin Larsson <benjamin.larsson@xxxxxxxxxx>,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH 4/6] pinctrl: airoha: convert PWM GPIO to macro
Message-ID: <aDbHvjPII0jlua18@lore-desk>
References: <20250527222040.32000-1-ansuelsmth@xxxxxxxxx>
<20250527222040.32000-5-ansuelsmth@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="CPM4ZnGQOjRXXEPR"
Content-Disposition: inline
In-Reply-To: <20250527222040.32000-5-ansuelsmth@xxxxxxxxx>
X-Spam-Status: No, score=-5.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--CPM4ZnGQOjRXXEPR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
> The PWM GPIO struct definition follow the same pattern for every GPIO
> pin hence it can be converted to a macro.
>=20
> Create 2 macro one for normal mux and one for ext mux and convert all
> the entry to these new macro to reduce code size.
>=20
> Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
> ---
Acked-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
> drivers/pinctrl/mediatek/pinctrl-airoha.c | 465 ++++------------------
> 1 file changed, 68 insertions(+), 397 deletions(-)
>=20
> diff --git a/drivers/pinctrl/mediatek/pinctrl-airoha.c b/drivers/pinctrl/=
mediatek/pinctrl-airoha.c
> index 2b532334d759..8c8d5b598f4f 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-airoha.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-airoha.c
> @@ -1075,404 +1075,75 @@ static const struct airoha_pinctrl_func_group pc=
ie_reset_func_group[] =3D {
> };
> =20
> /* PWM */
> +#define AIROHA_PINCTRL_PWM(gpio, mux_val) \
> + { \
> + .name =3D (gpio), \
> + .regmap[0] =3D { \
> + AIROHA_FUNC_PWM_MUX, \
> + REG_GPIO_FLASH_MODE_CFG, \
> + (mux_val), \
> + (mux_val) \
> + }, \
> + .regmap_size =3D 1, \
> + } \
> +
> +#define AIROHA_PINCTRL_PWM_EXT(gpio, mux_val) \
> + { \
> + .name =3D (gpio), \
> + .regmap[0] =3D { \
> + AIROHA_FUNC_PWM_EXT_MUX, \
> + REG_GPIO_FLASH_MODE_CFG_EXT, \
> + (mux_val), \
> + (mux_val) \
> + }, \
> + .regmap_size =3D 1, \
> + } \
> +
> static const struct airoha_pinctrl_func_group pwm_func_group[] =3D {
> - {
> - .name =3D "gpio0",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO0_FLASH_MODE_CFG,
> - GPIO0_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio1",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO1_FLASH_MODE_CFG,
> - GPIO1_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio2",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO2_FLASH_MODE_CFG,
> - GPIO2_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio3",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO3_FLASH_MODE_CFG,
> - GPIO3_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio4",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO4_FLASH_MODE_CFG,
> - GPIO4_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio5",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO5_FLASH_MODE_CFG,
> - GPIO5_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio6",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO6_FLASH_MODE_CFG,
> - GPIO6_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio7",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO7_FLASH_MODE_CFG,
> - GPIO7_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio8",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO8_FLASH_MODE_CFG,
> - GPIO8_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio9",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO9_FLASH_MODE_CFG,
> - GPIO9_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio10",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO10_FLASH_MODE_CFG,
> - GPIO10_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio11",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO11_FLASH_MODE_CFG,
> - GPIO11_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio12",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO12_FLASH_MODE_CFG,
> - GPIO12_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio13",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO13_FLASH_MODE_CFG,
> - GPIO13_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio14",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO14_FLASH_MODE_CFG,
> - GPIO14_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio15",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_MUX,
> - REG_GPIO_FLASH_MODE_CFG,
> - GPIO15_FLASH_MODE_CFG,
> - GPIO15_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio16",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO16_FLASH_MODE_CFG,
> - GPIO16_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio17",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO17_FLASH_MODE_CFG,
> - GPIO17_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio18",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO18_FLASH_MODE_CFG,
> - GPIO18_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio19",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO19_FLASH_MODE_CFG,
> - GPIO19_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio20",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO20_FLASH_MODE_CFG,
> - GPIO20_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio21",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO21_FLASH_MODE_CFG,
> - GPIO21_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio22",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO22_FLASH_MODE_CFG,
> - GPIO22_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio23",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO23_FLASH_MODE_CFG,
> - GPIO23_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio24",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO24_FLASH_MODE_CFG,
> - GPIO24_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio25",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO25_FLASH_MODE_CFG,
> - GPIO25_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio26",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO26_FLASH_MODE_CFG,
> - GPIO26_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio27",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO27_FLASH_MODE_CFG,
> - GPIO27_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio28",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO28_FLASH_MODE_CFG,
> - GPIO28_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio29",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO29_FLASH_MODE_CFG,
> - GPIO29_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio30",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO30_FLASH_MODE_CFG,
> - GPIO30_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio31",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO31_FLASH_MODE_CFG,
> - GPIO31_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio36",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO36_FLASH_MODE_CFG,
> - GPIO36_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio37",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO37_FLASH_MODE_CFG,
> - GPIO37_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio38",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO38_FLASH_MODE_CFG,
> - GPIO38_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio39",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO39_FLASH_MODE_CFG,
> - GPIO39_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio40",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO40_FLASH_MODE_CFG,
> - GPIO40_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio41",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO41_FLASH_MODE_CFG,
> - GPIO41_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio42",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO42_FLASH_MODE_CFG,
> - GPIO42_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio43",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO43_FLASH_MODE_CFG,
> - GPIO43_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio44",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO44_FLASH_MODE_CFG,
> - GPIO44_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio45",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO45_FLASH_MODE_CFG,
> - GPIO45_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio46",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO46_FLASH_MODE_CFG,
> - GPIO46_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - }, {
> - .name =3D "gpio47",
> - .regmap[0] =3D {
> - AIROHA_FUNC_PWM_EXT_MUX,
> - REG_GPIO_FLASH_MODE_CFG_EXT,
> - GPIO47_FLASH_MODE_CFG,
> - GPIO47_FLASH_MODE_CFG
> - },
> - .regmap_size =3D 1,
> - },
> + AIROHA_PINCTRL_PWM("gpio0", GPIO0_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio1", GPIO1_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio2", GPIO2_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio3", GPIO3_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio4", GPIO4_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio5", GPIO5_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio6", GPIO6_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio7", GPIO7_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio8", GPIO8_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio9", GPIO9_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio10", GPIO10_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio11", GPIO11_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio12", GPIO12_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio13", GPIO13_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio14", GPIO14_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM("gpio15", GPIO15_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio16", GPIO16_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio17", GPIO17_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio18", GPIO18_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio19", GPIO19_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio20", GPIO20_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio21", GPIO21_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio22", GPIO22_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio23", GPIO23_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio24", GPIO24_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio25", GPIO25_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio26", GPIO26_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio27", GPIO27_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio28", GPIO28_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio29", GPIO29_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio30", GPIO30_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio31", GPIO31_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio36", GPIO36_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio37", GPIO37_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio38", GPIO38_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio39", GPIO39_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio40", GPIO40_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio41", GPIO41_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio42", GPIO42_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio43", GPIO43_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio44", GPIO44_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio45", GPIO45_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio46", GPIO46_FLASH_MODE_CFG),
> + AIROHA_PINCTRL_PWM_EXT("gpio47", GPIO47_FLASH_MODE_CFG),
> };
> =20
> #define AIROHA_PINCTRL_PHY_LED(gpio, mux_val, map_mask, map_val) \
> --=20
> 2.48.1
>=20
--CPM4ZnGQOjRXXEPR
Content-Type: application/pgp-signature; name=signature.asc
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQTquNwa3Txd3rGGn7Y6cBh0uS2trAUCaDbHvgAKCRA6cBh0uS2t
rBJZAQD7+oRzhJuZS59u7A4b7Xcyz2xWC0arWJEeABCRH+xEIAEAkcZZZRhjb4Ps
1Ah0XFL6GNNxmJ7KNNr2JzqkmGeuHQY=
=GTx/
-----END PGP SIGNATURE-----
--CPM4ZnGQOjRXXEPR--
Return-Path: <linux-kernel+bounces-665101-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8A95C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:25:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7D09717702E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:23:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6ED3F2459D9;
Wed, 28 May 2025 08:23:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="LqImgGfK"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 393165464E;
Wed, 28 May 2025 08:23:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420617; cv=none; b=J44wW8mFt5kD2Zb3J046B6APkLVvYUWUSpTv2YK9Jgo7X1EhDBfNYF++sJGw6GzCvBAbS8AStjmLNPdOSBxaoVoeCxGUVLZCMLGm6qj7rdmZmRQGYO7JBns1v59fYrXS28sPC7QCFuOQ74HCL8UBYY3E5XsrachAGqMcyZsyHjQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420617; c=relaxed/simple;
bh=kK59nSQeZRnZhVrcA5DcPYiSMQQqlQStnEkyPKvgl0g=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=sHTxm7wdBQWlK7SRRBrkIYPvS8PktWJTifL9EL75YTkXbj7ZRijM17hs3g8WOtjj74dNkHSK6mVePGyzjWd3UWAqqwVUql9m79XZqbFXFn5mlNveva3NrgUTXGkPEXEsKq/+rt8eeNvui9NT5tOF2FtUGrZIQtanFIcdPaXN2mU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=LqImgGfK; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4E121C4CEE7;
Wed, 28 May 2025 08:23:36 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
s=korg; t=1748420616;
bh=kK59nSQeZRnZhVrcA5DcPYiSMQQqlQStnEkyPKvgl0g=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=LqImgGfKigRFT3Lm1iqjTjeAWQePbq4cmQKEskLdi4tYWPPkTo2gniIlOoPyAbYhB
b7SxgG0+JmBb+WaBdImrYusQXUrQVBIUWQ82k33C6SgIQs01jvPPCJ//xWy/IxRTMP
aJKSHvMrfmQMm9c0JYMJ8bvkmAxhzOnB0WnDmNwE=
Date: Wed, 28 May 2025 10:21:41 +0200
From: "gregkh@xxxxxxxxxxxxxxxxxxx" <gregkh@xxxxxxxxxxxxxxxxxxx>
To: Kuen-Han Tsai <khtsai@xxxxxxxxxx>
Cc: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>,
"linux-usb@xxxxxxxxxxxxxxx" <linux-usb@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"stable@xxxxxxxxxxxxxxx" <stable@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v4] usb: dwc3: Abort suspend on soft disconnect failure
Message-ID: <2025052819-affluent-reputably-83bb@gregkh>
References: <20250416100515.2131853-1-khtsai@xxxxxxxxxx>
<20250419012408.x3zxum5db7iconil@xxxxxxxxxxxx>
<CAKzKK0qi9Kze76G8NGGoE=-VTrtf47BbTWCA9XWbKK1N=rh9Ew@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAKzKK0qi9Kze76G8NGGoE=-VTrtf47BbTWCA9XWbKK1N=rh9Ew@xxxxxxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 03:35:15PM +0800, Kuen-Han Tsai wrote:
> On Sat, Apr 19, 2025 at 9:24â?¯AM Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx> wrote:
> >
> > On Wed, Apr 16, 2025, Kuen-Han Tsai wrote:
> > > When dwc3_gadget_soft_disconnect() fails, dwc3_suspend_common() keeps
> > > going with the suspend, resulting in a period where the power domain is
> > > off, but the gadget driver remains connected. Within this time frame,
> > > invoking vbus_event_work() will cause an error as it attempts to access
> > > DWC3 registers for endpoint disabling after the power domain has been
> > > completely shut down.
> > >
> > > Abort the suspend sequence when dwc3_gadget_suspend() cannot halt the
> > > controller and proceeds with a soft connect.
> > >
> > > Fixes: 9f8a67b65a49 ("usb: dwc3: gadget: fix gadget suspend/resume")
> > > CC: stable@xxxxxxxxxxxxxxx
> > > Signed-off-by: Kuen-Han Tsai <khtsai@xxxxxxxxxx>
> > > ---
> > >
> > > Kernel panic - not syncing: Asynchronous SError Interrupt
> > > Workqueue: events vbus_event_work
> > > Call trace:
> > > dump_backtrace+0xf4/0x118
> > > show_stack+0x18/0x24
> > > dump_stack_lvl+0x60/0x7c
> > > dump_stack+0x18/0x3c
> > > panic+0x16c/0x390
> > > nmi_panic+0xa4/0xa8
> > > arm64_serror_panic+0x6c/0x94
> > > do_serror+0xc4/0xd0
> > > el1h_64_error_handler+0x34/0x48
> > > el1h_64_error+0x68/0x6c
> > > readl+0x4c/0x8c
> > > __dwc3_gadget_ep_disable+0x48/0x230
> > > dwc3_gadget_ep_disable+0x50/0xc0
> > > usb_ep_disable+0x44/0xe4
> > > ffs_func_eps_disable+0x64/0xc8
> > > ffs_func_set_alt+0x74/0x368
> > > ffs_func_disable+0x18/0x28
> > > composite_disconnect+0x90/0xec
> > > configfs_composite_disconnect+0x64/0x88
> > > usb_gadget_disconnect_locked+0xc0/0x168
> > > vbus_event_work+0x3c/0x58
> > > process_one_work+0x1e4/0x43c
> > > worker_thread+0x25c/0x430
> > > kthread+0x104/0x1d4
> > > ret_from_fork+0x10/0x20
> > >
> > > ---
> > > Changelog:
> > >
> > > v4:
> > > - correct the mistake where semicolon was forgotten
> > > - return -EAGAIN upon dwc3_gadget_suspend() failure
> > >
> > > v3:
> > > - change the Fixes tag
> > >
> > > v2:
> > > - move declarations in separate lines
> > > - add the Fixes tag
> > >
> > > ---
> > > drivers/usb/dwc3/core.c | 9 +++++++--
> > > drivers/usb/dwc3/gadget.c | 22 +++++++++-------------
> > > 2 files changed, 16 insertions(+), 15 deletions(-)
> > >
> > > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> > > index 66a08b527165..f36bc933c55b 100644
> > > --- a/drivers/usb/dwc3/core.c
> > > +++ b/drivers/usb/dwc3/core.c
> > > @@ -2388,6 +2388,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
> > > {
> > > u32 reg;
> > > int i;
> > > + int ret;
> > >
> > > if (!pm_runtime_suspended(dwc->dev) && !PMSG_IS_AUTO(msg)) {
> > > dwc->susphy_state = (dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)) &
> > > @@ -2406,7 +2407,9 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
> > > case DWC3_GCTL_PRTCAP_DEVICE:
> > > if (pm_runtime_suspended(dwc->dev))
> > > break;
> > > - dwc3_gadget_suspend(dwc);
> > > + ret = dwc3_gadget_suspend(dwc);
> > > + if (ret)
> > > + return ret;
> > > synchronize_irq(dwc->irq_gadget);
> > > dwc3_core_exit(dwc);
> > > break;
> > > @@ -2441,7 +2444,9 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
> > > break;
> > >
> > > if (dwc->current_otg_role == DWC3_OTG_ROLE_DEVICE) {
> > > - dwc3_gadget_suspend(dwc);
> > > + ret = dwc3_gadget_suspend(dwc);
> > > + if (ret)
> > > + return ret;
> > > synchronize_irq(dwc->irq_gadget);
> > > }
> > >
> > > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> > > index 89a4dc8ebf94..630fd5f0ce97 100644
> > > --- a/drivers/usb/dwc3/gadget.c
> > > +++ b/drivers/usb/dwc3/gadget.c
> > > @@ -4776,26 +4776,22 @@ int dwc3_gadget_suspend(struct dwc3 *dwc)
> > > int ret;
> > >
> > > ret = dwc3_gadget_soft_disconnect(dwc);
> > > - if (ret)
> > > - goto err;
> > > -
> > > - spin_lock_irqsave(&dwc->lock, flags);
> > > - if (dwc->gadget_driver)
> > > - dwc3_disconnect_gadget(dwc);
> > > - spin_unlock_irqrestore(&dwc->lock, flags);
> > > -
> > > - return 0;
> > > -
> > > -err:
> > > /*
> > > * Attempt to reset the controller's state. Likely no
> > > * communication can be established until the host
> > > * performs a port reset.
> > > */
> > > - if (dwc->softconnect)
> > > + if (ret && dwc->softconnect) {
> > > dwc3_gadget_soft_connect(dwc);
> > > + return -EAGAIN;
> >
> > This may make sense to have -EAGAIN for runtime suspend. I supposed this
> > should be fine for system suspend since it doesn't do anything special
> > for this error code.
> >
> > When you tested runtime suspend, did you observe that the device
> > successfully going into suspend on retry?
> >
> > In any case, I think this should be good. Thanks for the fix:
> >
> > Acked-by: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
> >
> > Thanks,
> > Thinh
>
> Hi Greg,
>
> It looks like this patch hasn't been cherry-picked into the usb-next
> branch yet. Am I missing something?
It's somehow not in my queue anymore, sorry. Can you please resend it
and I'll pick it up after -rc1 is out.
thanks,
greg k-h
Return-Path: <linux-kernel+bounces-665102-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7F3CD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:26:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3BE543A1912
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:25:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2647D246327;
Wed, 28 May 2025 08:25:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="120hax49"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58C871FE455;
Wed, 28 May 2025 08:25:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420734; cv=none; b=sapfSW9/tjuRcfGx4Suy5ZO/udfrSKh5whurpJ4LCpz9C14ih3paVg8vnMm+yP34ha9R8tRQFJ/Ij6JRRqDovZ9fYeV+IkRdGkesZzyulINDSvKipWoSec2LtwQ/Wc9+VrJQhAinTTf6BI+F26o8XpaYDgk7RPFp75qpCVLqdtU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420734; c=relaxed/simple;
bh=MvFZJxUfFQsW/FlI8iMRyvLJVfgFhJUqUX3GDopno+E=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=XjCslrRPe5y0/oKm7+fyHCJKB6qGDcVBYhovimngXLhjDDiTbQliTsCowwveWINWr/EEuzUDBiGNjKsDqIPFqdIvyTt50+UTYlJ6S6iEGlF/rmd5WejDY5MMSPTPHqfUS+jaFH0OzdQVqqxea7atHos7FtAZPWZaXz9/4XikMyE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=120hax49; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4124EC4CEED;
Wed, 28 May 2025 08:25:33 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
s=korg; t=1748420733;
bh=MvFZJxUfFQsW/FlI8iMRyvLJVfgFhJUqUX3GDopno+E=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=120hax49fZxd5ZM0jw23OWbPlzIj1QoLQRrt6auTmlr4+IRQO+jgKyZKggvwcP4Ib
ZtXpA2e33LBgrFWZzWSgBs7qnArflmda327RbMd30qiE4ffgulfxGr7WOMnhr7eykS
g/xr/++ZBlvzAQre97OV+qVcHrYbMLWvemWIQ1Kc=
Date: Wed, 28 May 2025 10:23:39 +0200
From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
To: Max Staudt <max@xxxxxxxxx>
Cc: Jiri Slaby <jirislaby@xxxxxxxxxx>, linux-serial@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v1] tty: Register device *after* creating the cdev for a
tty
Message-ID: <2025052801-human-aversion-3518@gregkh>
References: <20250526112523.23122-1-max@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250526112523.23122-1-max@xxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Mon, May 26, 2025 at 08:25:23PM +0900, Max Staudt wrote:
> This change makes the tty device file available only after the tty's
> backing character device is ready.
>
> Since 6a7e6f78c235975cc14d4e141fa088afffe7062c, the class device is
> registered before the cdev is created, and userspace may pick it up,
> yet open() will fail because the backing cdev doesn't exist yet.
> Userspace is racing the bottom half of tty_register_device_attr() here,
> specifically the call to tty_cdev_add().
>
> dev_set_uevent_suppress() was used to work around this, but this fails
> on embedded systems that rely on bare devtmpfs rather than udev.
> On such systems, the device file is created as part of device_add(),
> and userspace can pick it up via inotify, irrespective of uevent
> suppression.
>
> So let's undo the existing patch, and create the cdev first, and only
> afterwards register the class device in the kernel's device tree.
>
> However, this restores the original race of the cdev existing before the
> class device is registered, and an attempt to open it during this time
> will lead to tty->dev being assigned NULL by alloc_tty_struct().
>
> alloc_tty_struct() is called via tty_init_dev() when the tty is firstly
> opened, and is entered with tty_mutex held, so let's lock the critical
> section in tty_register_device_attr() with the same global mutex.
> This guarantees that tty->dev can be assigned a sane value.
As 0-day points out, I think this adds a new locking issue :(
But it's really hard to detect this, as you are doing both a revert and
a change in the same commit. Can you make this as 2 patches, one that
does the revert which would be "easy" to review, and the second one that
does the new fix? That way we can detect what is going on easier.
> Fixes: 6a7e6f78c235 ("tty: close race between device register and open")
> Signed-off-by: Max Staudt <max@xxxxxxxxx>
You also forgot to add cc: stable on this :(
thanks,
greg k-h
Return-Path: <linux-kernel+bounces-665103-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6E09641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:26:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A621B169FCE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:26:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 296AA246778;
Wed, 28 May 2025 08:25:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=openpixelsystems-org.20230601.gappssmtp.com header.i=@openpixelsystems-org.20230601.gappssmtp.com header.b="d7aJZPQ9"
Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 01E641FE455
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:25:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420756; cv=none; b=Zqh9omYssnauuoYPpvY/JPWcVv0nvAAu1FvQ5cPAY3s9i4MjKIGtk59Pxk4din2Bn2GeUZcZNnD47ZPIQZRzLBcNn23U9Btzh84L7G1fCqVkQEwHQ6oVkckut0QQIYNgrHSBtoboiHVKqlpDNihJNGEH0DAAOt0QAtyqbOc1rGQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420756; c=relaxed/simple;
bh=VlsN1y4ZMRHLcmrX8scixqd0Vvvyz2jgvsJCDQnq7cE=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=QpMF6G63iFx894+zh+fM/AnoS8FhUMiax0UEPDy0itOtixQtGW6hZUmr7ov8iCayYooMIxACKSKYmqtskmILTejJjOE0/DNuTkM7jWevDfMUmCOLWqr0aqSnbgRqypXt8qE78AfFmg1zG85cpL5jFFWdfmtXc06o+NY/gUuwAXs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=openpixelsystems.org; spf=fail smtp.mailfrom=openpixelsystems.org; dkim=pass (2048-bit key) header.d=openpixelsystems-org.20230601.gappssmtp.com header.i=@openpixelsystems-org.20230601.gappssmtp.com header.b=d7aJZPQ9; arc=none smtp.client-ip=209.85.221.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=openpixelsystems.org
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=openpixelsystems.org
Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-3a4d33f971aso2505736f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:25:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=openpixelsystems-org.20230601.gappssmtp.com; s=20230601; t=1748420750; x=1749025550; darn=vger.kernel.org;
h=cc:to:message-id:content-transfer-encoding:mime-version:subject
:date:from:from:to:cc:subject:date:message-id:reply-to;
bh=UQgBkpDBPRTw134Tn/zp7QWRfZiqjrIZv2nl5UdLNb0=;
b=d7aJZPQ9/MxuQKtpUx9vVoRkf5cVigXuB14uYOGoUF7gfdEBThVRQj6EJxbqPEiPL4
AnHst6DCvy9/VYvzp/Rw2wZNo1nwxQftAHJ6znICxdhA2eTwZpSwhH2AxkXHTvMWYnK6
4MP1i1X/STWxI17sQHc29cmZOMXVWvydDUzLOLU75AUmIQeDBIJ6DV6q9fraGwl6VIX1
a5mUg53zleeHXgbEX/V+UiMzhi4Tic1gHh0DMVoGk3kZwmVMW+TK8PrqRYdlF9a9ObQ7
zkThUwy05gbeEgSx3caM+39hwY6pw/eNcgkXHouMbIiXJ2u4WnUH76Jg9AKhMP4mhHLU
3Mhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748420750; x=1749025550;
h=cc:to:message-id:content-transfer-encoding:mime-version:subject
:date:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=UQgBkpDBPRTw134Tn/zp7QWRfZiqjrIZv2nl5UdLNb0=;
b=ZJIu1OPcJ0UieZffs28nMc95Yj1i7R2Ss/t6yXRdNAb89sV5JlgdiArJTLzspQDlXb
xjPS1iFgAvHXkZCYiYES0l+RC9T0nxfdNhmhJWUrGX2pWOcRsvkbA1I4+XfiXsO3qDX0
U01ZtVgLyy3eUJZanVFJYlmXp9rh/cz7tHGMrOwAcVpDGvfd/EOwjVw/DqC3vuhNA12l
u8zKF2LFqpWgDyoqgRRdlxnzWhMs9BT+XnL/OTciji7w3X2LBqyBwV/fMRhGguZ6zvXD
IZe+vP1XFK24AyqWF0ETfJhsg3QhPB105ATgK427/VlFbaggBI69tZHvbKgeZfwauEfs
TQaw==
X-Forwarded-Encrypted: i=1; AJvYcCV/e15wBYXZjzV3CnnV9cHMSkTPhmwac/Viym2a88UmEgD8YCxTVSaT7d2q9x0MUd2i9QJpBpYtlft04Oo=@vger.kernel.org
X-Gm-Message-State: AOJu0YwJSps8YSCe5pI1Kr9VHUxJn1keH/nAAF9tXg/yNsEaH9OdhYpI
8P/dfN9BLb1wKeqdZdxi/ZYfT7zUPYIfPCMe3U/MzZBxHm4lLknJov/WOvBDTxtniDs=
X-Gm-Gg: ASbGncvkbUSdrfnMHAMCBtDDrzXJdZRgf4hyRO1YSA6CAxg0YSg++cmFMFhRtYT1j11
duYNau2T71wuFyecoziEeOyGxMf2zz3AdxdS7Yx2D2qsW8eDSIX8ZEmBxOIYdhwQs6vUlKB0wDO
jNfhaHXZ9kkjtl07CUkpM7NPyg/KAf+7EdXtlOozWZ+oaCyZj8f0T0AydsqaznuQEN71044lX09
qQD+WU0dU+pjxOKyBQXrOBYFBb0BxopJlmo+WK4iazOwWLLogf7Hjgu0IwlDY09LJJfF4CYExj9
UaQm5AkOT99yeOF1W1OgeWqQPVTMEnq7E5xlBqZwRH7Nu3JMNujyb9BFRFzxzbjMG6QyJXqq1e5
SaAt3IapWtRelhE1PSP3xprc7fIdnNB151OmVfMG9E6Y=
X-Google-Smtp-Source: AGHT+IHFPkP2u7PmZOuSF74kJDUP1U5Ppd3h9qvZktrhcp3E4VbXOBQgP+zpNOdXBTsKfvKAWbA8VQ==
X-Received: by 2002:a05:6000:1a8f:b0:3a4:df80:7284 with SMTP id ffacd0b85a97d-3a4e9437a5emr1346230f8f.1.1748420749819;
Wed, 28 May 2025 01:25:49 -0700 (PDT)
Received: from [10.0.12.41] (253.124-78-194.adsl-static.isp.belgacom.be. [194.78.124.253])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eacd78fesm805814f8f.72.2025.05.28.01.25.49
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:25:49 -0700 (PDT)
From: Bram Vlerick <bram.vlerick@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 10:25:48 +0200
Subject: [PATCH] ASoC: tas571x: fix tas5733 num_controls
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-tas5733-fix-controls-size-v1-1-5c70595accaf@xxxxxxxxxxxxxxxxxxxx>
X-B4-Tracking: v=1; b=H4sIAIvINmgC/x2MQQqEMAwAvyI5G7Btist+ZfFQNWpA2qUREcW/W
zwOzMwFyllY4VtdkHkXlRQLmLqCYQlxZpSxMNjG+sbbD25BfescTnLgkOKW06qocjKSNYaIRuq
dgdL/Mxfpff+6+34AnGGeqWsAAAA=
X-Change-ID: 20250528-tas5733-fix-controls-size-4211444d4b31
To: Kevin Cernekee <cernekee@xxxxxxxxxxxx>,
Liam Girdwood <lgirdwood@xxxxxxxxx>, Mark Brown <broonie@xxxxxxxxxx>,
Jaroslav Kysela <perex@xxxxxxxx>, Takashi Iwai <tiwai@xxxxxxxx>
Cc: linux-sound@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
peter@xxxxxxxxxxxxx, kamel.bouhara@xxxxxxxxxxx,
Bram Vlerick <bram.vlerick@xxxxxxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1346;
i=bram.vlerick@xxxxxxxxxxxxxxxxxxxx; h=from:subject:message-id;
bh=VlsN1y4ZMRHLcmrX8scixqd0Vvvyz2jgvsJCDQnq7cE=;
b=owEBbQKS/ZANAwAIAblauka9BQbwAcsmYgBoNsiM6LMdvtHRZTGKEC1Ur+ZyURKIFZhIjJkQe
fXnJOIr40yJAjMEAAEIAB0WIQQO7PtG7b77XLxuay25WrpGvQUG8AUCaDbIjAAKCRC5WrpGvQUG
8OQYD/95OMr8hM8sTip7vn7zRZ8JKHpADTrZUr+WUMSmN2qivhLs7DxMzQGjkQw7hxHb5VCezG+
0nwxg0GzcHigsD55Xi7yGjFItDd2muZcP2dH2gC+VH2d1jUZoneHfmKVjiZJIeoupREVWhapf/T
A3M8vIh+D/xmqkb+1NHcV+NkLMjQDscMSVWi3yS92AafDJKpwHb63rFBf0lMKA79L9K8hsMe7Kl
y3L/KgmB9XOHyogA3FoAXDRfnRwClMGPDrESmmd++GoQiLq3U6tJXL3n6iMMqtCZdirFicjLD6j
pW7pxHXAKphjVRxCTxg+50BkgyVJBYJyIb4Bq64MXdksTxCqXDTH/+t3mxU9xoSJQmYmhLsyi57
ct1hq6h8hYCxlZnjsWOonS/8/MwW1JXM9drx/hTkCh5XDcayuoAyG/WClouyq5JwUs1NrWWizkR
oLRmwFymGgewfbzSQqlcJcjKkjj1f6MZHwyrMXVPi3SmPMZikl5Ej7EHVZ+nmMi3rFDQ8GrlXtm
AsULVFcBquHAjiQe/pCxCBnD8GDum2O4qjAVEvQbr5LIesCJO7YxmSWOy6KcfFb0gUIP6DvziyQ
SVuVVwGXJDP+4Txvf6C9XLZNe5U0UlKLhi8RuJrQc6R1m6UWiEGBz81UbKdF9ZZr36arflvzHMN
ThiCUr8dUiK59/Q==
X-Developer-Key: i=bram.vlerick@xxxxxxxxxxxxxxxxxxxx; a=openpgp;
fpr=0EECFB46EDBEFB5CBC6E6B2DB95ABA46BD0506F0
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Commit e3de7984e451 ("ASoC: tas571x: add separate tas5733 controls")
introduces a separate struct for the tas5733 controls but did not update
the num_controls with the correct ARRAY_SIZE.
Fixes: e3de7984e451 ("ASoC: tas571x: add separate tas5733 controls")
Signed-off-by: Bram Vlerick <bram.vlerick@xxxxxxxxxxxxxxxxxxxx>
---
sound/soc/codecs/tas571x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/tas571x.c b/sound/soc/codecs/tas571x.c
index 00b131294547812f1406056d17e6c42ddf92003f..6bf37c77f0a77b11464a3560b1680fb89b0ed2dd 100644
--- a/sound/soc/codecs/tas571x.c
+++ b/sound/soc/codecs/tas571x.c
@@ -834,7 +834,7 @@ static const struct tas571x_chip tas5733_chip = {
.supply_names = tas5733_supply_names,
.num_supply_names = ARRAY_SIZE(tas5733_supply_names),
.controls = tas5733_controls,
- .num_controls = ARRAY_SIZE(tas5717_controls),
+ .num_controls = ARRAY_SIZE(tas5733_controls),
.regmap_config = &tas5733_regmap_config,
.vol_reg_size = 2,
};
---
base-commit: 76f8d35964e4de1b464de22e4f3fdc14937ed854
change-id: 20250528-tas5733-fix-controls-size-4211444d4b31
Best regards,
--
Bram Vlerick <bram.vlerick@xxxxxxxxxxxxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665104-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7D78241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:27:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C3C4D3AC104
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:26:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C17E6266581;
Wed, 28 May 2025 08:27:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cZCBwxFP"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0D9F4202F71;
Wed, 28 May 2025 08:27:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420833; cv=none; b=mJMolr82kZFoxPBb4khHTB3/aspo1GIHKVt90h10mXoo9tT59yiq4Y4SRNrWLqZNuPeDmDo04rKOdPuABSwGmNkgfxYINIkejNPzSMvKzSz6mU+h16rn0KDVlLqrIkgxStKwKFQ8YCzoIziXSyUg80wUDFHekWuDVuwMj7xvIfA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420833; c=relaxed/simple;
bh=AZYT5eehBkY6DjTM6tnPNFjrQP4VYvsXTO8hD+AcBro=;
h=MIME-Version:Date:From:To:Cc:Subject:In-Reply-To:References:
Message-ID:Content-Type; b=ewZyl+UU+FK+tZEjrbzFqzpCfxNtsMQTVmZSOVwiNwJgmF+ruA7361ocjlXw+crGwb7aNSYQhWxoPk3MCGRyX4c+cYQy3sf7vA+dd8WDYqwHb4sNyx12QzunseAgluIFpacKQiSZZnyIIaQQOgFqu4LT3qAGRXzAsdiw/3QiztA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cZCBwxFP; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F13EEC4CEE7;
Wed, 28 May 2025 08:27:06 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748420831;
bh=AZYT5eehBkY6DjTM6tnPNFjrQP4VYvsXTO8hD+AcBro=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
b=cZCBwxFPxSbbG0V/IBF4pyP+zJ2oTzfeuk75Y0+AgXA298mlmYyAUstaNnKXGB0rP
Z9BNTx8kzibzmiQXqgwzTN4BwGygElkxBTBeS8/az6MUF3GQzLgPPi3PdfdcFvICG1
8fhA1Oa2hfxxjuIBU2mzH2TSRgIPlx/m4/632E2qCOL2jnDupXz0nNQNQnf7M40wuR
+1xCgfvpx9itO4yhEIKbLGBIfP1VfJssYCpSIZ2gkUOlpyp/IbZ8Dx7HpBYdBPsdCg
rxDUPwo6XcJbLAe1JNEuVp/sbVSNXFykmdcMPiQM2fVGP9kjg7o+GridB6oeWtToTA
d2wVhQ94ck2lw==
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Date: Wed, 28 May 2025 10:27:04 +0200
From: Michael Walle <mwalle@xxxxxxxxxx>
To: Aradhya Bhatia <aradhya.bhatia@xxxxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Tomi Valkeinen
<tomi.valkeinen@xxxxxxxxxxxxxxxx>, Jyri Sarha <jyri.sarha@xxxxxx>, Maarten
Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>, Thomas Zimmermann
<tzimmermann@xxxxxxx>, Maxime Ripard <mripard@xxxxxxxxxx>, David Airlie
<airlied@xxxxxxxxx>, Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>,
Simona Vetter <simona@xxxxxxxx>, Nishanth Menon <nm@xxxxxx>, Vignesh
Raghavendra <vigneshr@xxxxxx>, Devarsh Thakkar <devarsht@xxxxxx>, Praneeth
Bajjuri <praneeth@xxxxxx>, Udit Kumar <u-kumar1@xxxxxx>, Jayesh Choudhary
<j-choudhary@xxxxxx>, Francesco Dolcini <francesco@xxxxxxxxxx>, Alexander
Sverdlin <alexander.sverdlin@xxxxxxxxxxx>, DRI Development List
<dri-devel@xxxxxxxxxxxxxxxxxxxxx>, Devicetree List
<devicetree@xxxxxxxxxxxxxxx>, Linux Kernel List
<linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v8 4/4] drm/tidss: Add OLDI bridge support
In-Reply-To: <fc77a1e2-be50-43b1-9863-f8ca70445428@xxxxxxxxx>
References: <20250525151721.567042-1-aradhya.bhatia@xxxxxxxxx>
<20250525151721.567042-5-aradhya.bhatia@xxxxxxxxx>
<DA5ZNDCHXC6M.1CDYDG6KKMAP0@xxxxxxxxxx>
<a98ad2e7-50de-4d04-8d99-2cf77354b1d6@xxxxxxxxx>
<DA6PRDARLY70.1CILNJ8YLIOA1@xxxxxxxxxx>
<fc77a1e2-be50-43b1-9863-f8ca70445428@xxxxxxxxx>
Message-ID: <fc5f6000fbe1f01223f8a28a952b40ea@xxxxxxxxxx>
X-Sender: mwalle@xxxxxxxxxx
Content-Type: text/plain; charset=US-ASCII;
format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Aradhya,
>>> Something like this.
>>>
>>> &oldi0 {
>>> // primary oldi
>>> ti,companion-oldi = <&oldi1>;
>>> };
>>>
>>>
>>> &oldi1 {
>>> // secondary oldi
>>> ti,secondary-oldi = true;
>>> ti,companion-oldi = <&oldi0>;
>>> };
>>>
>>>
>>> If there is no companion for any OLDI dt node, then the OLDI TX will
>>> be
>>> deemed as acting by itself, and in a single-link mode.
>>
>> And it's possible to still have these properties and treat them as
>> two distinct transmitters? I'm wondering if it's possible to have
>> the companion-oldi and secondary-oldi property inside the generic
>> SoC dtsi, so you don't have to repeat it in every board dts.
>>
>> If I read the code correctly, the panel has to have the even and odd
>> pixel properties to be detected as dual-link. Correct? Thus it would
>> be possible to have
>>
>> oldi0: oldi@0 {
>> ti,companion-oldi = <&oldi1>;
>> };
>>
>> oldi1: oldi@1 {
>> ti,secondary-oldi;
>> ti,companion-oldi = <&oldi0>;
>> };
>>
>> in the soc.dtsi and in a board dts:
>>
>> panel {
>> port {
>> remote-endpoint = <&oldi0>;
>> };
>> };
>
> In this case, the secondary OLDI (oldi1) would remain disabled from
> soc.dtsi.
>
> I gave this a quick try. Turns out, of_parse_phandle() is not able to
> return an error when primary OLDI tries to find a companion -- which is
> important for the driver to detect an absence of any secondary OLDI.
>
> Since the driver code registers a companion for primary OLDI, and
> further does not find the "dual-lvds-{odd,even}-pixels" properties,
> the driver ends up trying for a Clone Mode.
>
> So, for single-link , we'd have to actively delete the "companion-oldi"
> property, in the board.dts/panel.dtso.
Last time I've checked you cannot delete nodes or properties in DT
overlays. So maybe it's better to make that a board property and don't
set it by default in the soc dtsi.
> But, say, the disabled-node's phandle parse is circumvented, somehow,
> and we don't need to delete the property explicitly.
>
> There would still be one concern, I am afraid.
>
> In AM67A DSS (future scope at the moment), the 2 OLDIs can act
> independently. Like a 2x Independent Single-Link. Both the OLDI dt
> nodes
> will be enabled.
The first DSS0 can drive two single link displays? Reading your
downstream
AM67A DSS patches, thats not particular clear:
The DSS0 HW supports one each of video pipeline (vid) and video-lite
pipeline (vidl1). It outputs OLDI signals on one video port (vp1)
and
DPI signals on another (vp2). The video ports are connected to the
pipelines via 2 identical overlay managers (ovr1 and ovr2).
The TRM also doesn't tell much (or I just didn't find it yet).
> So, if the soc.dtsi has them already connected, then the
> board.dts/panel.dtso would still need to explicitly delete those
> properties to get the 2 OLDI TXes to work independently.
Yeah looks like that should really be a board property.
-michael
Return-Path: <linux-kernel+bounces-665105-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9197641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:27:46 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A42F516276C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:27:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E4F05266574;
Wed, 28 May 2025 08:27:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b="lVwMeKkO"
Received: from mail.zytor.com (terminus.zytor.com [198.137.202.136])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66AA7266B56
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:27:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.136
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420842; cv=none; b=tTjVRuyRBGXyrJ1k/hpbaVSlfLh10+P9Z/VAnrMJKnsNc8Z8YVsXNAKsC1Due9EvaFWT0n4WtCPyYe+hPtIdG/pA/0dho302EbbZIE/OzWfOL/DWxK3otdKahYy1oCu4/F5byNqx/nyVZyTT4Wa0jvA9YSTlVFxQ5Mo5+7t2Ocg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420842; c=relaxed/simple;
bh=0lNdEO79sgWJ/J6cdTc7gnGL8VAOlSqdd6ov6nTMSt0=;
h=Content-Type:Message-ID:Date:MIME-Version:Subject:From:To:Cc:
References:In-Reply-To; b=jV41RmijBqvtBBzHjAaQECd5n/PXYqVVzHXiMgBVx3gK7/4X0odp27xR2Q8zZs1eruxKqOXShZZWPfDlFNBMZTJ2VIBn9HTB5tFsQh3cxdytQwLSnRUR/XVIgT1fBTuX41uoeYvYOFQKrCA/pre3A837LRbOK8FAuq/X3CK9uq0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com; spf=pass smtp.mailfrom=zytor.com; dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b=lVwMeKkO; arc=none smtp.client-ip=198.137.202.136
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zytor.com
Received: from [192.168.7.202] ([71.202.166.45])
(authenticated bits=0)
by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 54S8QrdX1377770
(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
Wed, 28 May 2025 01:26:53 -0700
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 54S8QrdX1377770
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
s=2025052101; t=1748420814;
bh=pjHuRr3dIJD3kBGjNfAUd+sdgIGY48zrPXRBsW8X+og=;
h=Date:Subject:From:To:Cc:References:In-Reply-To:From;
b=lVwMeKkO/rSZR49ClicmdA8/iJmjUCh2gmqwKSf/6/iRlMKokCER1vqxPOPBbNu0E
THMxZ3JB0nbCiPMToZRBB1j1FXavjYDzdK3TeLolTLpDMRgFOABlJK2fjfSELMWMfT
k2Bt2nMytq1MfRz6bwC3AE5Ut/4a2T708i7G3+YRBwP11XXSyGjrAOMr9n/UvyNkf3
ajCCSXbS5zp6sXSoMRXGBs7twwKpKaxuErHh6Bxns1FSdrEi3jnliVVJaF/phvkki2
Pm5NK4JSj+K1z0Gs5giab36Wh1K51XrJCMcgkOmh9m5ILZ2Qrnw3QN6hWOkktnA17L
NuTGoExDfxeQw==
Content-Type: multipart/mixed; boundary="------------M7bkM1BZCla9GQwujbzFMt0O"
Message-ID: <400ee15a-12fa-4477-ba03-123eb8e07dc2@xxxxxxxxx>
Date: Wed, 28 May 2025 01:26:52 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [Bug Report] Linux v6.15-rc7 boot failure on Xen-4.17
From: Xin Li <xin@xxxxxxxxx>
To: Juergen Gross <jgross@xxxxxxxx>
Cc: Gupta Pawan <pawan.kumar.gupta@xxxxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx,
Zijlstra Peter <peterz@xxxxxxxxxxxxx>,
Hansen Dave <dave.hansen@xxxxxxxxxxxxxxx>,
alexandre.chartre@xxxxxxxxxx,
Andrew Cooper <andrew.cooper3@xxxxxxxxxx>,
Zhang Tao1 <tao1.zhang@xxxxxxxxx>
References: <607917bc-6788-425a-8051-181a078ddb49@xxxxxxxx>
<C28A8745-02AD-489E-B2F3-6DE81C511783@xxxxxxxxx>
<081152ba-79b5-477e-8248-02bf289ff9ce@xxxxxxxxxx>
<227db775-f4ce-4dd3-ba14-30232ab3ab6f@xxxxxxxx>
<1b8e565e-2ed6-4f1d-9138-fbf12662c404@xxxxxxxx>
<1226c371-5d44-4206-973f-3c10152c4195@xxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=xin@xxxxxxxxx; keydata=
xsDNBGUPz1cBDACS/9yOJGojBFPxFt0OfTWuMl0uSgpwk37uRrFPTTLw4BaxhlFL0bjs6q+0
2OfG34R+a0ZCuj5c9vggUMoOLdDyA7yPVAJU0OX6lqpg6z/kyQg3t4jvajG6aCgwSDx5Kzg5
Rj3AXl8k2wb0jdqRB4RvaOPFiHNGgXCs5Pkux/qr0laeFIpzMKMootGa4kfURgPhRzUaM1vy
bsMsL8vpJtGUmitrSqe5dVNBH00whLtPFM7IbzKURPUOkRRiusFAsw0a1ztCgoFczq6VfAVu
raTye0L/VXwZd+aGi401V2tLsAHxxckRi9p3mc0jExPc60joK+aZPy6amwSCy5kAJ/AboYtY
VmKIGKx1yx8POy6m+1lZ8C0q9b8eJ8kWPAR78PgT37FQWKYS1uAroG2wLdK7FiIEpPhCD+zH
wlslo2ETbdKjrLIPNehQCOWrT32k8vFNEMLP5G/mmjfNj5sEf3IOKgMTMVl9AFjsINLHcxEQ
6T8nGbX/n3msP6A36FDfdSEAEQEAAc0WWGluIExpIDx4aW5Aenl0b3IuY29tPsLBDQQTAQgA
NxYhBIUq/WFSDTiOvUIqv2u9DlcdrjdRBQJlD89XBQkFo5qAAhsDBAsJCAcFFQgJCgsFFgID
AQAACgkQa70OVx2uN1HUpgv/cM2fsFCQodLArMTX5nt9yqAWgA5t1srri6EgS8W3F+3Kitge
tYTBKu6j5BXuXaX3vyfCm+zajDJN77JHuYnpcKKr13VcZi1Swv6Jx1u0II8DOmoDYLb1Q2ZW
v83W55fOWJ2g72x/UjVJBQ0sVjAngazU3ckc0TeNQlkcpSVGa/qBIHLfZraWtdrNAQT4A1fa
sWGuJrChBFhtKbYXbUCu9AoYmmbQnsx2EWoJy3h7OjtfFapJbPZql+no5AJ3Mk9eE5oWyLH+
QWqtOeJM7kKvn/dBudokFSNhDUw06e7EoVPSJyUIMbYtUO7g2+Atu44G/EPP0yV0J4lRO6EA
wYRXff7+I1jIWEHpj5EFVYO6SmBg7zF2illHEW31JAPtdDLDHYcZDfS41caEKOQIPsdzQkaQ
oW2hchcjcMPAfyhhRzUpVHLPxLCetP8vrVhTvnaZUo0xaVYb3+wjP+D5j/3+hwblu2agPsaE
vgVbZ8Fx3TUxUPCAdr/p73DGg57oHjgezsDNBGUPz1gBDAD4Mg7hMFRQqlzotcNSxatlAQNL
MadLfUTFz8wUUa21LPLrHBkUwm8RujehJrzcVbPYwPXIO0uyL/F///CogMNx7Iwo6by43KOy
g89wVFhyy237EY76j1lVfLzcMYmjBoTH95fJC/lVb5Whxil6KjSN/R/y3jfG1dPXfwAuZ/4N
cMoOslWkfZKJeEut5aZTRepKKF54T5r49H9F7OFLyxrC/uI9UDttWqMxcWyCkHh0v1Di8176
jjYRNTrGEfYfGxSp+3jYL3PoNceIMkqM9haXjjGl0W1B4BidK1LVYBNov0rTEzyr0a1riUrp
Qk+6z/LHxCM9lFFXnqH7KWeToTOPQebD2B/Ah5CZlft41i8L6LOF/LCuDBuYlu/fI2nuCc8d
m4wwtkou1Y/kIwbEsE/6RQwRXUZhzO6llfoN96Fczr/RwvPIK5SVMixqWq4QGFAyK0m/1ap4
bhIRrdCLVQcgU4glo17vqfEaRcTW5SgX+pGs4KIPPBE5J/ABD6pBnUUAEQEAAcLA/AQYAQgA
JhYhBIUq/WFSDTiOvUIqv2u9DlcdrjdRBQJlD89ZBQkFo5qAAhsMAAoJEGu9DlcdrjdR4C0L
/RcjolEjoZW8VsyxWtXazQPnaRvzZ4vhmGOsCPr2BPtMlSwDzTlri8BBG1/3t/DNK4JLuwEj
OAIE3fkkm+UG4Kjud6aNeraDI52DRVCSx6xff3bjmJsJJMb12mWglN6LjdF6K+PE+OTJUh2F
dOhslN5C2kgl0dvUuevwMgQF3IljLmi/6APKYJHjkJpu1E6luZec/lRbetHuNFtbh3xgFIJx
2RpgVDP4xB3f8r0I+y6ua+p7fgOjDLyoFjubRGed0Be45JJQEn7A3CSb6Xu7NYobnxfkwAGZ
Q81a2XtvNS7Aj6NWVoOQB5KbM4yosO5+Me1V1SkX2jlnn26JPEvbV3KRFcwV5RnDxm4OQTSk
PYbAkjBbm+tuJ/Sm+5Yp5T/BnKz21FoCS8uvTiziHj2H7Cuekn6F8EYhegONm+RVg3vikOpn
gao85i4HwQTK9/D1wgJIQkdwWXVMZ6q/OALaBp82vQ2U9sjTyFXgDjglgh00VRAHP7u1Rcu4
l75w1xInsg==
In-Reply-To: <1226c371-5d44-4206-973f-3c10152c4195@xxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This is a multi-part message in MIME format.
--------------M7bkM1BZCla9GQwujbzFMt0O
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
On 5/28/2025 12:27 AM, Xin Li wrote:
> On 5/27/2025 11:49 PM, Juergen Gross wrote:
>> On 28.05.25 07:11, Jürgen Gro� wrote:
>>> On 27.05.25 21:29, Andrew Cooper wrote:
>>>> On 27/05/2025 8:21 pm, Xin Li wrote:
>>>>>> On May 27, 2025, at 11:36�AM, Jürgen Gro� <jgross@xxxxxxxx> wrote:
>>>>>>
>>>>>> On 27.05.25 19:54, Xin Li wrote:
>>>>>>> On 5/27/2025 10:46 AM, Pawan Gupta wrote:
>>>>>>>>> Attached is the serial console log and my kernel config.
>>>>>>>> Serial logs aren't telling much. I do not have a Xen setup to
>>>>>>>> test, without
>>>>>>>> Xen the config that you provided is booting a KVM guest just fine.
>>>>>>> Yeah, as I replied to Juergen, the same kernel binary boots fine as
>>>>>>> "native".
>>>>>>> Unfortunately when booting as dom0 on Xen, it keeps rebooting w/o
>>>>>>> helpful log.
>>>>>> What about booting Xen on bare metal, i.e. no KVM being involved?
>>>>> The same exact problem happens on Intel Simics. And I got to see
>>>>> itâ??s a NX page fault in dom0 kernel during apply alternatives.
>>>>
>>>> In which case it's likely that there's an opencoded PTE update, rather
>>>> than using the hooks (which are suitably paravirt'd).
>>>
>>> I'd suspect a bug when NOT using 2M pages for execmem.
>>>
>>> I'll have a look.
>>
>> Could you have a try using "nohugevmalloc" dom0 kernel boot parameter?
>>
>
> Tried in a KVM guest, still the same problem, and nothing new in the
> serial log.
Attached is a dom0 log with stack traces.
But I really did NOT change anything to make it happen...
--------------M7bkM1BZCla9GQwujbzFMt0O
Content-Type: text/plain; charset=UTF-8; name="xen-ubt.serial.log"
Content-Disposition: attachment; filename="xen-ubt.serial.log"
Content-Transfer-Encoding: base64
G1syShtbMDE7MDFIG1s9M2gbWzJKG1swMTswMUgbWzJKG1swMTswMUgbWz0zaBtbMkobWzAx
OzAxSBtbMkobWzAxOzAxSBtbPTNoG1syShtbMDE7MDFIQmRzRHhlOiBsb2FkaW5nIEJvb3Qw
MDAzICJVYnVudHUiIGZyb20gSEQoMSxHUFQsRTUwNDI3OTgtMUNBOC00QTA3LUFGRjEtRTBE
MDhEQ0JENjI5LDB4ODAwLDB4MjE5ODAwKS9cRUZJXHVidW50dVxzaGlteDY0LmVmaQ0KQmRz
RHhlOiBzdGFydGluZyBCb290MDAwMyAiVWJ1bnR1IiBmcm9tIEhEKDEsR1BULEU1MDQyNzk4
LTFDQTgtNEEwNy1BRkYxLUUwRDA4RENCRDYyOSwweDgwMCwweDIxOTgwMCkvXEVGSVx1YnVu
dHVcc2hpbXg2NC5lZmkNClBva2luZyBLQVNMUiB1c2luZyBSRFJBTkQgUkRUU0MuLi4NClsg
ICAgMC4wMDAwMDBdIExpbnV4IHZlcnNpb24gNi4xNS4wLXJjNyAoeGluQHhlbi11YnQpIChn
Y2MgKFVidW50dSAxMy4zLjAtNnVidW50dTJ+MjQuMDQpIDEzLjMuMCwgR05VIGxkIChHTlUg
QmludXRpbHMgZm9yIFVidW50dSkgMi40MikgIzY5IFNNUCBQUkVFTVBUX0RZTkFNSUMgV2Vk
IE1heSAyOCAwMDozOTo0OSBQRFQgMjAyNQ0KWyAgICAwLjAwMDAwMF0gQ29tbWFuZCBsaW5l
OiBwbGFjZWhvbGRlciByb290PVVVSUQ9MzE0ZjFjYzItYWVmYy00MzhiLWE0MjMtZjFjOWYz
MzI3ZmJiIHJvIGNvbnNvbGU9dHR5UzAgY29uc29sZT10dHkxIG5va2FzbHIgc2VsaW51eD0w
IGVhcmx5cHJpbnRrPXR0eVMwDQpbICAgIDAuMDAwMDAwXSBLRVJORUwgc3VwcG9ydGVkIGNw
dXM6DQpbICAgIDAuMDAwMDAwXSAgIEludGVsIEdlbnVpbmVJbnRlbA0KWyAgICAwLjAwMDAw
MF0gICBBTUQgQXV0aGVudGljQU1EDQpbICAgIDAuMDAwMDAwXSBSZWxlYXNlZCAwIHBhZ2Uo
cykNClsgICAgMC4wMDAwMDBdIEJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoNClsg
ICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDAw
MDJmZmZmXSB1c2FibGUNClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwMDAw
MzAwMDAtMHgwMDAwMDAwMDAwMDRmZmZmXSByZXNlcnZlZA0KWyAgICAwLjAwMDAwMF0gWGVu
OiBbbWVtIDB4MDAwMDAwMDAwMDA1MDAwMC0weDAwMDAwMDAwMDAwN2ZmZmZdIHVzYWJsZQ0K
WyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDAwMDA4MDAwMC0weDAwMDAwMDAw
MDAwZmZmZmZdIHJlc2VydmVkDQpbICAgIDAuMDAwMDAwXSBYZW46IFttZW0gMHgwMDAwMDAw
MDAwMTAwMDAwLTB4MDAwMDAwMDA3ZThlY2ZmZl0gdXNhYmxlDQpbICAgIDAuMDAwMDAwXSBY
ZW46IFttZW0gMHgwMDAwMDAwMDdlOGVkMDAwLTB4MDAwMDAwMDA3ZWI2Y2ZmZl0gcmVzZXJ2
ZWQNClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwN2ViNmQwMDAtMHgwMDAw
MDAwMDdlYjdlZmZmXSBBQ1BJIGRhdGENClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAw
MDAwMDAwN2ViN2YwMDAtMHgwMDAwMDAwMDdlYmZlZmZmXSBBQ1BJIE5WUw0KWyAgICAwLjAw
MDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDA3ZWJmZjAwMC0weDAwMDAwMDAwN2VmZmZmZmZd
IHVzYWJsZQ0KWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDA3ZjAwMDAwMC0w
eDAwMDAwMDAwN2ZmZmZmZmZdIHJlc2VydmVkDQpbICAgIDAuMDAwMDAwXSBYZW46IFttZW0g
MHgwMDAwMDAwMGUwMDAwMDAwLTB4MDAwMDAwMDBlZmZmZmZmZl0gcmVzZXJ2ZWQNClsgICAg
MC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwZmVjMDAwMDAtMHgwMDAwMDAwMGZlYzAw
ZmZmXSByZXNlcnZlZA0KWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDBmZWUw
MDAwMC0weDAwMDAwMDAwZmVlZmZmZmZdIHJlc2VydmVkDQpbICAgIDAuMDAwMDAwXSBYZW46
IFttZW0gMHgwMDAwMDAwMGZlZmZjMDAwLTB4MDAwMDAwMDBmZWZmZmZmZl0gcmVzZXJ2ZWQN
ClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAw
NDdmZmZmZmZmXSB1c2FibGUNClsgICAgMC4wMDAwMDBdIE5YIChFeGVjdXRlIERpc2FibGUp
IHByb3RlY3Rpb246IGFjdGl2ZQ0KWyAgICAwLjAwMDAwMF0gQVBJQzogU3RhdGljIGNhbGxz
IGluaXRpYWxpemVkDQpbICAgIDAuMDAwMDAwXSBlZmk6IEVGSSB2Mi43IGJ5IFVidW50dSBk
aXN0cmlidXRpb24gb2YgRURLIElJDQpbICAgIDAuMDAwMDAwXSBlZmk6IFNNQklPUz0weDdl
OWQ1MDAwIFNNQklPUyAzLjA9MHg3ZTlkMzAwMCBBQ1BJPTB4N2ViN2UwMDAgQUNQSSAyLjA9
MHg3ZWI3ZTAxNCAoTUVNQVRUUj0weDdkNWY4MTk4IHVudXNhYmxlKSBNT0t2YXI9MHg3ZTk4
MDAwMCANClsgICAgMC4wMDAwMDBdIFNNQklPUyAzLjAuMCBwcmVzZW50Lg0KWyAgICAwLjAw
MDAwMF0gRE1JOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklPUyAy
MDI0LjAyLTJ1YnVudHUwLjEgMTAvMjUvMjAyNA0KWyAgICAwLjAwMDAwMF0gRE1JOiBNZW1v
cnkgc2xvdHMgcG9wdWxhdGVkOiAxLzENClsgICAgMC4wMDAwMDBdIEh5cGVydmlzb3IgZGV0
ZWN0ZWQ6IFhlbiBQVg0KWyAgICAwLjAwMDAyOV0gWGVuIFBWOiBEZXRlY3RlZCAyOCB2Q1BV
Uw0KWyAgICAwLjAyODE5NV0gdHNjOiBGYXN0IFRTQyBjYWxpYnJhdGlvbiB1c2luZyBQSVQN
ClsgICAgMC4wMjgxOTddIHRzYzogRGV0ZWN0ZWQgMzMxMi4zNDkgTUh6IHByb2Nlc3Nvcg0K
WyAgICAwLjAyODE5OF0gdHNjOiBEZXRlY3RlZCAzMzEyLjA4NiBNSHogVFNDDQpbICAgIDAu
MDI4MzU4XSBsYXN0X3BmbiA9IDB4NDgwMDAwIG1heF9hcmNoX3BmbiA9IDB4NDAwMDAwMDAw
DQpbICAgIDAuMDI4MzYwXSBNVFJSIG1hcDogMiBlbnRyaWVzICgwIGZpeGVkICsgMiB2YXJp
YWJsZTsgbWF4IDE2KSwgYnVpbHQgZnJvbSA4IHZhcmlhYmxlIE1UUlJzDQpbICAgIDAuMDI4
MzYxXSBNVFJScyBzZXQgdG8gcmVhZC1vbmx5DQpbICAgIDAuMDI4MzY0XSB4ODYvUEFUOiBD
b25maWd1cmF0aW9uIFswLTddOiBXQiAgV1QgIFVDLSBVQyAgV0MgIFdQICBVQyAgVUMgIA0K
WyAgICAwLjAyODM2NV0gbGFzdF9wZm4gPSAweDdmMDAwIG1heF9hcmNoX3BmbiA9IDB4NDAw
MDAwMDAwDQpbICAgIDAuMzI5ODc2XSBTZWN1cmUgYm9vdCBkaXNhYmxlZA0KWyAgICAwLjMy
OTg3OF0gUkFNRElTSzogW21lbSAweDA4MDAwMDAwLTB4MGE5MDBmZmZdDQpbICAgIDAuMzI5
ODk4XSBBQ1BJOiBFYXJseSB0YWJsZSBjaGVja3N1bSB2ZXJpZmljYXRpb24gZGlzYWJsZWQN
ClsgICAgMC4zMjk5MDVdIEFDUEk6IFJTRFAgMHgwMDAwMDAwMDdFQjdFMDE0IDAwMDAyNCAo
djAyIEJPQ0hTICkNClsgICAgMC4zMjk5MTFdIEFDUEk6IFhTRFQgMHgwMDAwMDAwMDdFQjdE
MEU4IDAwMDA0QyAodjAxIEJPQ0hTICBCWFBDICAgICAwMDAwMDAwMSAgICAgIDAxMDAwMDEz
KQ0KWyAgICAwLjMyOTkxOV0gQUNQSTogRkFDUCAweDAwMDAwMDAwN0VCNzgwMDAgMDAwMEY0
ICh2MDMgQk9DSFMgIEJYUEMgICAgIDAwMDAwMDAxIEJYUEMgMDAwMDAwMDEpDQpbICAgIDAu
MzI5OTI4XSBBQ1BJOiBEU0RUIDB4MDAwMDAwMDA3RUI3OTAwMCAwMDMzOTYgKHYwMSBCT0NI
UyAgQlhQQyAgICAgMDAwMDAwMDEgQlhQQyAwMDAwMDAwMSkNClsgICAgMC4zMjk5MzNdIEFD
UEk6IEZBQ1MgMHgwMDAwMDAwMDdFQkREMDAwIDAwMDA0MA0KWyAgICAwLjMyOTkzOV0gQUNQ
STogQVBJQyAweDAwMDAwMDAwN0VCNzcwMDAgMDAwMTUwICh2MDMgQk9DSFMgIEJYUEMgICAg
IDAwMDAwMDAxIEJYUEMgMDAwMDAwMDEpDQpbICAgIDAuMzI5OTQ0XSBBQ1BJOiBNQ0ZHIDB4
MDAwMDAwMDA3RUI3NjAwMCAwMDAwM0MgKHYwMSBCT0NIUyAgQlhQQyAgICAgMDAwMDAwMDEg
QlhQQyAwMDAwMDAwMSkNClsgICAgMC4zMjk5NDldIEFDUEk6IFdBRVQgMHgwMDAwMDAwMDdF
Qjc1MDAwIDAwMDAyOCAodjAxIEJPQ0hTICBCWFBDICAgICAwMDAwMDAwMSBCWFBDIDAwMDAw
MDAxKQ0KWyAgICAwLjMyOTk1OF0gQUNQSTogQkdSVCAweDAwMDAwMDAwN0VCNzQwMDAgMDAw
MDM4ICh2MDEgSU5URUwgIEVESzIgICAgIDAwMDAwMDAyICAgICAgMDEwMDAwMTMpDQpbICAg
IDAuMzI5OTYxXSBBQ1BJOiBSZXNlcnZpbmcgRkFDUCB0YWJsZSBtZW1vcnkgYXQgW21lbSAw
eDdlYjc4MDAwLTB4N2ViNzgwZjNdDQpbICAgIDAuMzI5OTYyXSBBQ1BJOiBSZXNlcnZpbmcg
RFNEVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdlYjc5MDAwLTB4N2ViN2MzOTVdDQpbICAg
IDAuMzI5OTYzXSBBQ1BJOiBSZXNlcnZpbmcgRkFDUyB0YWJsZSBtZW1vcnkgYXQgW21lbSAw
eDdlYmRkMDAwLTB4N2ViZGQwM2ZdDQpbICAgIDAuMzI5OTY0XSBBQ1BJOiBSZXNlcnZpbmcg
QVBJQyB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdlYjc3MDAwLTB4N2ViNzcxNGZdDQpbICAg
IDAuMzI5OTY0XSBBQ1BJOiBSZXNlcnZpbmcgTUNGRyB0YWJsZSBtZW1vcnkgYXQgW21lbSAw
eDdlYjc2MDAwLTB4N2ViNzYwM2JdDQpbICAgIDAuMzI5OTY0XSBBQ1BJOiBSZXNlcnZpbmcg
V0FFVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAweDdlYjc1MDAwLTB4N2ViNzUwMjddDQpbICAg
IDAuMzI5OTY1XSBBQ1BJOiBSZXNlcnZpbmcgQkdSVCB0YWJsZSBtZW1vcnkgYXQgW21lbSAw
eDdlYjc0MDAwLTB4N2ViNzQwMzddDQpbICAgIDAuMzMwMDQ2XSBBUElDOiBTd2l0Y2hlZCBB
UElDIHJvdXRpbmcgdG86IFhlbiBQVg0KWyAgICAwLjMzMDA2NV0gTlVNQSB0dXJuZWQgb2Zm
DQpbICAgIDAuMzMwMDY2XSBGYWtpbmcgYSBub2RlIGF0IFttZW0gMHgwMDAwMDAwMDAwMDAw
MDAwLTB4MDAwMDAwMDQ3ZmZmZmZmZl0NClsgICAgMC4zMzAwNzFdIE5PREVfREFUQSgwKSBh
bGxvY2F0ZWQgW21lbSAweDNlYzU0MjJjMC0weDNlYzU2Y2ZmZl0NClsgICAgMC4zNTgyMDdd
IFpvbmUgcmFuZ2VzOg0KWyAgICAwLjM1ODIwOF0gICBETUEgICAgICBbbWVtIDB4MDAwMDAw
MDAwMDAwMTAwMC0weDAwMDAwMDAwMDBmZmZmZmZdDQpbICAgIDAuMzU4MjEwXSAgIERNQTMy
ICAgIFttZW0gMHgwMDAwMDAwMDAxMDAwMDAwLTB4MDAwMDAwMDBmZmZmZmZmZl0NClsgICAg
MC4zNTgyMTFdICAgTm9ybWFsICAgW21lbSAweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAw
NDdmZmZmZmZmXQ0KWyAgICAwLjM1ODIxMl0gICBEZXZpY2UgICBlbXB0eQ0KWyAgICAwLjM1
ODIxM10gTW92YWJsZSB6b25lIHN0YXJ0IGZvciBlYWNoIG5vZGUNClsgICAgMC4zNTgyMTRd
IEVhcmx5IG1lbW9yeSBub2RlIHJhbmdlcw0KWyAgICAwLjM1ODIxNV0gICBub2RlICAgMDog
W21lbSAweDAwMDAwMDAwMDAwMDEwMDAtMHgwMDAwMDAwMDAwMDJmZmZmXQ0KWyAgICAwLjM1
ODIxNl0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwMDAwNTAwMDAtMHgwMDAwMDAwMDAw
MDdmZmZmXQ0KWyAgICAwLjM1ODIxNl0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwMDAx
MDAwMDAtMHgwMDAwMDAwMDdlOGVjZmZmXQ0KWyAgICAwLjM1ODIxN10gICBub2RlICAgMDog
W21lbSAweDAwMDAwMDAwN2ViZmYwMDAtMHgwMDAwMDAwMDdlZmZmZmZmXQ0KWyAgICAwLjM1
ODIxOF0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwNDdm
ZmZmZmZmXQ0KWyAgICAwLjM1ODIyMF0gSW5pdG1lbSBzZXR1cCBub2RlIDAgW21lbSAweDAw
MDAwMDAwMDAwMDEwMDAtMHgwMDAwMDAwNDdmZmZmZmZmXQ0KWyAgICAwLjM1ODIyNV0gT24g
bm9kZSAwLCB6b25lIERNQTogMSBwYWdlcyBpbiB1bmF2YWlsYWJsZSByYW5nZXMNClsgICAg
MC4zNTgyMjZdIE9uIG5vZGUgMCwgem9uZSBETUE6IDMyIHBhZ2VzIGluIHVuYXZhaWxhYmxl
IHJhbmdlcw0KWyAgICAwLjM1ODI0NV0gT24gbm9kZSAwLCB6b25lIERNQTogMTI4IHBhZ2Vz
IGluIHVuYXZhaWxhYmxlIHJhbmdlcw0KWyAgICAwLjM2MDU5N10gT24gbm9kZSAwLCB6b25l
IERNQTMyOiA3ODYgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFuZ2VzDQpbICAgIDAuNDQ2ODg5
XSBPbiBub2RlIDAsIHpvbmUgTm9ybWFsOiA0MDk2IHBhZ2VzIGluIHVuYXZhaWxhYmxlIHJh
bmdlcw0KWyAgICAwLjQ0Njg5N10gcDJtIHZpcnR1YWwgYXJlYSBhdCAoX19fX3B0cnZhbF9f
X18pLCBzaXplIGlzIDQwMDAwMDAwDQpbICAgIDAuOTA4MjUwXSBSZW1hcHBlZCA1MjkzMzAg
cGFnZShzKQ0KWyAgICAwLjkwODI1NF0gUmVtYXBwZWQgMCBub24tUkFNIHBhZ2UocykNClsg
ICAgMC45MDk0NDhdIEFDUEk6IFBNLVRpbWVyIElPIFBvcnQ6IDB4NjA4DQpbICAgIDAuOTA5
NDcxXSBBQ1BJOiBMQVBJQ19OTUkgKGFjcGlfaWRbMHhmZl0gZGZsIGRmbCBsaW50WzB4MV0p
DQpbICAgIDAuOTA5NTA0XSBJT0FQSUNbMF06IGFwaWNfaWQgMCwgdmVyc2lvbiAxNywgYWRk
cmVzcyAweGZlYzAwMDAwLCBHU0kgMC0yMw0KWyAgICAwLjkwOTUwOV0gQUNQSTogSU5UX1NS
Q19PVlIgKGJ1cyAwIGJ1c19pcnEgMCBnbG9iYWxfaXJxIDIgZGZsIGRmbCkNClsgICAgMC45
MDk1MTBdIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDUgZ2xvYmFsX2lycSA1
IGhpZ2ggbGV2ZWwpDQpbICAgIDAuOTA5NTExXSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAg
YnVzX2lycSA5IGdsb2JhbF9pcnEgOSBoaWdoIGxldmVsKQ0KWyAgICAwLjkwOTUxMl0gQUNQ
STogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMTAgZ2xvYmFsX2lycSAxMCBoaWdoIGxl
dmVsKQ0KWyAgICAwLjkwOTUxM10gQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEg
MTEgZ2xvYmFsX2lycSAxMSBoaWdoIGxldmVsKQ0KWyAgICAwLjkwOTUxOV0gQUNQSTogVXNp
bmcgQUNQSSAoTUFEVCkgZm9yIFNNUCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uDQpbICAg
IDAuOTA5NTI2XSBDUFUgdG9wbzogTWF4LiBsb2dpY2FsIHBhY2thZ2VzOiAgMjgNClsgICAg
MC45MDk1MjddIENQVSB0b3BvOiBNYXguIGxvZ2ljYWwgZGllczogICAgICAyOA0KWyAgICAw
LjkwOTUyN10gQ1BVIHRvcG86IE1heC4gZGllcyBwZXIgcGFja2FnZTogICAxDQpbICAgIDAu
OTA5NTMwXSBDUFUgdG9wbzogTWF4LiB0aHJlYWRzIHBlciBjb3JlOiAgIDENClsgICAgMC45
MDk1MzFdIENQVSB0b3BvOiBOdW0uIGNvcmVzIHBlciBwYWNrYWdlOiAgICAgMQ0KWyAgICAw
LjkwOTUzMV0gQ1BVIHRvcG86IE51bS4gdGhyZWFkcyBwZXIgcGFja2FnZTogICAxDQpbICAg
IDAuOTA5NTMyXSBDUFUgdG9wbzogQWxsb3dpbmcgMjggcHJlc2VudCBDUFVzIHBsdXMgMCBo
b3RwbHVnIENQVXMNClsgICAgMC45MDk1NjBdIFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJl
ZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4MDAwMDAwMDAtMHgwMDAwMGZmZl0NClsgICAgMC45
MDk1NjJdIFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVt
IDB4MDAwMzAwMDAtMHgwMDA0ZmZmZl0NClsgICAgMC45MDk1NjNdIFBNOiBoaWJlcm5hdGlv
bjogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4MDAwODAwMDAtMHgwMDBmZmZm
Zl0NClsgICAgMC45MDk1NjRdIFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3NhdmUg
bWVtb3J5OiBbbWVtIDB4N2U4ZWQwMDAtMHg3ZWJmZWZmZl0NClsgICAgMC45MDk1NjVdIFBN
OiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4N2YwMDAw
MDAtMHhmZmZmZmZmZl0NClsgICAgMC45MDk1NjZdIFttZW0gMHg4MDAwMDAwMC0weGRmZmZm
ZmZmXSBhdmFpbGFibGUgZm9yIFBDSSBkZXZpY2VzDQpbICAgIDAuOTA5NTY4XSBCb290aW5n
IGtlcm5lbCBvbiBYZW4NClsgICAgMC45MDk1NjldIFhlbiB2ZXJzaW9uOiA0LjE3LjQtcHJl
IChwcmVzZXJ2ZS1BRCkNClsgICAgMC45MDk1NzFdIGNsb2Nrc291cmNlOiByZWZpbmVkLWpp
ZmZpZXM6IG1hc2s6IDB4ZmZmZmZmZmYgbWF4X2N5Y2xlczogMHhmZmZmZmZmZiwgbWF4X2lk
bGVfbnM6IDc2NDU1MTk2MDAyMTE1NjggbnMNClsgICAgMC45MDk1ODddIHNldHVwX3BlcmNw
dTogTlJfQ1BVUzo4MTkyIG5yX2NwdW1hc2tfYml0czoyOCBucl9jcHVfaWRzOjI4IG5yX25v
ZGVfaWRzOjENClsgICAgMC45MTQ1MzRdIHBlcmNwdTogRW1iZWRkZWQgNjEgcGFnZXMvY3B1
IHMyMTI5OTIgcjgxOTIgZDI4NjcyIHUyNjIxNDQNClsgICAgMC45MTQ2MTVdIEtlcm5lbCBj
b21tYW5kIGxpbmU6IHBsYWNlaG9sZGVyIHJvb3Q9VVVJRD0zMTRmMWNjMi1hZWZjLTQzOGIt
YTQyMy1mMWM5ZjMzMjdmYmIgcm8gY29uc29sZT10dHlTMCBjb25zb2xlPXR0eTEgbm9rYXNs
ciBzZWxpbnV4PTAgZWFybHlwcmludGs9dHR5UzANClsgICAgMC45MTQ3MDRdIFVua25vd24g
a2VybmVsIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXJzICJwbGFjZWhvbGRlciBub2thc2xyIiwg
d2lsbCBiZSBwYXNzZWQgdG8gdXNlciBzcGFjZS4NClsgICAgMC45MTQ3MTRdIHJhbmRvbTog
Y3JuZyBpbml0IGRvbmUNClsgICAgMC45MTQ3MTVdIHByaW50azogbG9nIGJ1ZmZlciBkYXRh
ICsgbWV0YSBkYXRhOiAyNjIxNDQgKyA5MTc1MDQgPSAxMTc5NjQ4IGJ5dGVzDQpbICAgIDAu
OTI0MTAxXSBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDk3MTUyIChvcmRl
cjogMTIsIDE2Nzc3MjE2IGJ5dGVzLCBsaW5lYXIpDQpbICAgIDAuOTI5MDk4XSBJbm9kZS1j
YWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEwNDg1NzYgKG9yZGVyOiAxMSwgODM4ODYwOCBi
eXRlcywgbGluZWFyKQ0KWyAgICAwLjkzMDU4OF0gc29mdHdhcmUgSU8gVExCOiBhcmVhIG51
bSAzMi4NClsgICAgMC45ODY2MzddIEZhbGxiYWNrIG9yZGVyIGZvciBOb2RlIDA6IDAgDQpb
ICAgIDAuOTg2NjQ4XSBCdWlsdCAxIHpvbmVsaXN0cywgbW9iaWxpdHkgZ3JvdXBpbmcgb24u
ICBUb3RhbCBwYWdlczogNDE4OTI2MQ0KWyAgICAwLjk4NjY0OV0gUG9saWN5IHpvbmU6IE5v
cm1hbA0KWyAgICAwLjk4NjY2MF0gbWVtIGF1dG8taW5pdDogc3RhY2s6b2ZmLCBoZWFwIGFs
bG9jOm9uLCBoZWFwIGZyZWU6b2ZmDQpbICAgIDEuMDI1NjU5XSBTTFVCOiBIV2FsaWduPTY0
LCBPcmRlcj0wLTMsIE1pbk9iamVjdHM9MCwgQ1BVcz0yOCwgTm9kZXM9MQ0KWyAgICAxLjAz
NTU1OV0gZnRyYWNlOiBhbGxvY2F0aW5nIDUzNDI1IGVudHJpZXMgaW4gMjEyIHBhZ2VzDQpb
ICAgIDEuMDM1NTYxXSBmdHJhY2U6IGFsbG9jYXRlZCAyMTIgcGFnZXMgd2l0aCA0IGdyb3Vw
cw0KWyAgICAxLjAzNTkyNV0gRHluYW1pYyBQcmVlbXB0OiBmdWxsDQpbICAgIDEuMDM2Mzgw
XSByY3U6IFByZWVtcHRpYmxlIGhpZXJhcmNoaWNhbCBSQ1UgaW1wbGVtZW50YXRpb24uDQpb
ICAgIDEuMDM2MzgxXSByY3U6IAlSQ1UgcmVzdHJpY3RpbmcgQ1BVcyBmcm9tIE5SX0NQVVM9
ODE5MiB0byBucl9jcHVfaWRzPTI4Lg0KWyAgICAxLjAzNjM4M10gCVRyYW1wb2xpbmUgdmFy
aWFudCBvZiBUYXNrcyBSQ1UgZW5hYmxlZC4NClsgICAgMS4wMzYzODNdIAlSdWRlIHZhcmlh
bnQgb2YgVGFza3MgUkNVIGVuYWJsZWQuDQpbICAgIDEuMDM2MzgzXSAJVHJhY2luZyB2YXJp
YW50IG9mIFRhc2tzIFJDVSBlbmFibGVkLg0KWyAgICAxLjAzNjM4NF0gcmN1OiBSQ1UgY2Fs
Y3VsYXRlZCB2YWx1ZSBvZiBzY2hlZHVsZXItZW5saXN0bWVudCBkZWxheSBpcyAyNSBqaWZm
aWVzLg0KWyAgICAxLjAzNjM4NF0gcmN1OiBBZGp1c3RpbmcgZ2VvbWV0cnkgZm9yIHJjdV9m
YW5vdXRfbGVhZj0xNiwgbnJfY3B1X2lkcz0yOA0KWyAgICAxLjAzNjQ0MV0gUkNVIFRhc2tz
OiBTZXR0aW5nIHNoaWZ0IHRvIDUgYW5kIGxpbSB0byAxIHJjdV90YXNrX2NiX2FkanVzdD0x
IHJjdV90YXNrX2NwdV9pZHM9MjguDQpbICAgIDEuMDM2NDQ0XSBSQ1UgVGFza3MgUnVkZTog
U2V0dGluZyBzaGlmdCB0byA1IGFuZCBsaW0gdG8gMSByY3VfdGFza19jYl9hZGp1c3Q9MSBy
Y3VfdGFza19jcHVfaWRzPTI4Lg0KWyAgICAxLjAzNjQ0N10gUkNVIFRhc2tzIFRyYWNlOiBT
ZXR0aW5nIHNoaWZ0IHRvIDUgYW5kIGxpbSB0byAxIHJjdV90YXNrX2NiX2FkanVzdD0xIHJj
dV90YXNrX2NwdV9pZHM9MjguDQpbICAgIDEuMDQyNTM3XSBOUl9JUlFTOiA1MjQ1NDQsIG5y
X2lycXM6IDY0OCwgcHJlYWxsb2NhdGVkIGlycXM6IDE2DQpbICAgIDEuMDQyNjYzXSB4ZW46
ZXZlbnRzOiBVc2luZyBGSUZPLWJhc2VkIEFCSQ0KWyAgICAxLjA0MjczNl0gcmN1OiBzcmN1
X2luaXQ6IFNldHRpbmcgc3JjdV9zdHJ1Y3Qgc2l6ZXMgYmFzZWQgb24gY29udGVudGlvbi4N
ClsgICAgMS4wNDI5NTRdIENvbnNvbGU6IGNvbG91ciBkdW1teSBkZXZpY2UgODB4MjUNClsg
ICAgMS4wNDI5NTddIHByaW50azogbGVnYWN5IGNvbnNvbGUgW3R0eTFdIGVuYWJsZWQNClsg
ICAgMS4wNDMxMDddIHByaW50azogbGVnYWN5IGNvbnNvbGUgW2h2YzBdIGVuYWJsZWQNClsg
ICAgMS4wNDMzNjddIHByaW50azogbGVnYWN5IGNvbnNvbGUgW3R0eVMwXSBlbmFibGVkDQpb
ICAgIDEuMTg2NDk1XSBBQ1BJOiBDb3JlIHJldmlzaW9uIDIwMjQwODI3DQpbICAgIDEuMTg3
MDE2XSBBQ1BJIEJJT1MgV2FybmluZyAoYnVnKTogSW5jb3JyZWN0IGNoZWNrc3VtIGluIHRh
YmxlIFtCR1JUXSAtIDB4OTIsIHNob3VsZCBiZSAweDQ4ICgyMDI0MDgyNy91dGNrc3VtLTU4
KQ0KWyAgICAxLjE4ODI1Nl0gY2xvY2tzb3VyY2U6IHhlbjogbWFzazogMHhmZmZmZmZmZmZm
ZmZmZmZmIG1heF9jeWNsZXM6IDB4MWNkNDJlNGRmZmIsIG1heF9pZGxlX25zOiA4ODE1OTA1
OTE0ODMgbnMNClsgICAgMS4xODk0MThdIGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUg
MA0KWyAgICAxLjE4OTkyMl0gY2xvY2tzb3VyY2U6IHRzYy1lYXJseTogbWFzazogMHhmZmZm
ZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6IDB4MmZiZGU1YzYzN2MsIG1heF9pZGxlX25zOiA0
NDA3OTUzNDgzNDggbnMNClsgICAgMS4xOTExMDhdIENhbGlicmF0aW5nIGRlbGF5IGxvb3Ag
KHNraXBwZWQpLCB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRpbWVyIGZyZXF1ZW5jeS4uIDY2
MjQuMTcgQm9nb01JUFMgKGxwaj0xMzI0ODM0NCkNClsgICAgMS4xOTI1MTZdIExhc3QgbGV2
ZWwgaVRMQiBlbnRyaWVzOiA0S0IgMCwgMk1CIDAsIDRNQiAwDQpbICAgIDEuMTkzMTE1XSBM
YXN0IGxldmVsIGRUTEIgZW50cmllczogNEtCIDAsIDJNQiAwLCA0TUIgMCwgMUdCIDANClsg
ICAgMS4xOTM3NzRdIFNwZWN0cmUgVjEgOiBNaXRpZ2F0aW9uOiB1c2VyY29weS9zd2FwZ3Mg
YmFycmllcnMgYW5kIF9fdXNlciBwb2ludGVyIHNhbml0aXphdGlvbg0KWyAgICAxLjE5NTEx
N10gU3BlY3RyZSBWMiA6IFNwZWN0cmUgQkhJIG1pdGlnYXRpb246IFNXIEJIQiBjbGVhcmlu
ZyBvbiBzeXNjYWxsIGFuZCBWTSBleGl0DQpbICAgIDEuMTk2MDA1XSBTcGVjdHJlIFYyIDog
TWl0aWdhdGlvbjogRW5oYW5jZWQgLyBBdXRvbWF0aWMgSUJSUw0KWyAgICAxLjE5NjY1M10g
U3BlY3RyZSBWMiA6IFNwZWN0cmUgdjIgLyBQQlJTQi1lSUJSUzogUmV0aXJlIGEgc2luZ2xl
IENBTEwgb24gVk1FWElUDQpbICAgIDEuMTk3NDQ1XSBSRVRCbGVlZDogTWl0aWdhdGlvbjog
RW5oYW5jZWQgSUJSUw0KWyAgICAxLjE5NzkzNV0gU3BlY3RyZSBWMiA6IG1pdGlnYXRpb246
IEVuYWJsaW5nIGNvbmRpdGlvbmFsIEluZGlyZWN0IEJyYW5jaCBQcmVkaWN0aW9uIEJhcnJp
ZXINClsgICAgMS4xOTg4MjhdIFNwZWN1bGF0aXZlIFN0b3JlIEJ5cGFzczogTWl0aWdhdGlv
bjogU3BlY3VsYXRpdmUgU3RvcmUgQnlwYXNzIGRpc2FibGVkIHZpYSBwcmN0bA0KWyAgICAx
LjE5OTExN10gTU1JTyBTdGFsZSBEYXRhOiBNaXRpZ2F0aW9uOiBDbGVhciBDUFUgYnVmZmVy
cw0KWyAgICAxLjE5OTcxN10gSVRTOiBNaXRpZ2F0aW9uOiBBbGlnbmVkIGJyYW5jaC9yZXR1
cm4gdGh1bmtzDQpbICAgIDEuMjAwMzQzXSB4ODYvZnB1OiBTdXBwb3J0aW5nIFhTQVZFIGZl
YXR1cmUgMHgwMDE6ICd4ODcgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzJw0KWyAgICAxLjIw
MTE1NF0geDg2L2ZwdTogU3VwcG9ydGluZyBYU0FWRSBmZWF0dXJlIDB4MDAyOiAnU1NFIHJl
Z2lzdGVycycNClsgICAgMS4yMDE4MzJdIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVh
dHVyZSAweDAwNDogJ0FWWCByZWdpc3RlcnMnDQpbICAgIDEuMjAyNTEyXSB4ODYvZnB1OiBT
dXBwb3J0aW5nIFhTQVZFIGZlYXR1cmUgMHgwMjA6ICdBVlgtNTEyIG9wbWFzaycNClsgICAg
MS4yMDMxMTFdIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDA0MDogJ0FW
WC01MTIgSGkyNTYnDQpbICAgIDEuMjAzODA3XSB4ODYvZnB1OiBTdXBwb3J0aW5nIFhTQVZF
IGZlYXR1cmUgMHgwODA6ICdBVlgtNTEyIFpNTV9IaTI1NicNClsgICAgMS4yMDQ1MzddIHg4
Ni9mcHU6IHhzdGF0ZV9vZmZzZXRbMl06ICA1NzYsIHhzdGF0ZV9zaXplc1syXTogIDI1Ng0K
WyAgICAxLjIwNjcxOV0geDg2L2ZwdTogeHN0YXRlX29mZnNldFs1XTogIDgzMiwgeHN0YXRl
X3NpemVzWzVdOiAgIDY0DQpbICAgIDEuMjA3MTEyXSB4ODYvZnB1OiB4c3RhdGVfb2Zmc2V0
WzZdOiAgODk2LCB4c3RhdGVfc2l6ZXNbNl06ICA1MTINClsgICAgMS4yMDc4NDBdIHg4Ni9m
cHU6IHhzdGF0ZV9vZmZzZXRbN106IDE0MDgsIHhzdGF0ZV9zaXplc1s3XTogMTAyNA0KWyAg
ICAxLjIwODU4Nl0geDg2L2ZwdTogRW5hYmxlZCB4c3RhdGUgZmVhdHVyZXMgMHhlNywgY29u
dGV4dCBzaXplIGlzIDI0MzIgYnl0ZXMsIHVzaW5nICdjb21wYWN0ZWQnIGZvcm1hdC4NClsg
ICAgMS4yMTExMDZdIGtlcm5lbCB0cmllZCB0byBleGVjdXRlIE5YLXByb3RlY3RlZCBwYWdl
IC0gZXhwbG9pdCBhdHRlbXB0PyAodWlkOiAwKQ0KWyAgICAxLjIxMTEwNl0gQlVHOiB1bmFi
bGUgdG8gaGFuZGxlIHBhZ2UgZmF1bHQgZm9yIGFkZHJlc3M6IGZmZmZmZmZmYzAwMDA3NjkN
ClsgICAgMS4yMTExMDZdICNQRjogc3VwZXJ2aXNvciBpbnN0cnVjdGlvbiBmZXRjaCBpbiBr
ZXJuZWwgbW9kZQ0KWyAgICAxLjIxMTEwNl0gI1BGOiBlcnJvcl9jb2RlKDB4MDAxMSkgLSBw
ZXJtaXNzaW9ucyB2aW9sYXRpb24NClsgICAgMS4yMTExMDZdIFBHRCAyYzRmMDY3IFA0RCAy
YzRmMDY3IFBVRCAyYzUxMDY3IFBNRCAxMDAyZTQwNjcgUFRFIDgwMTAwMDAxMDAyZTMwNjcN
ClsgICAgMS4yMTExMDZdIE9vcHM6IE9vcHM6IDAwMTEgWyMxXSBTTVAgTk9QVEkNClsgICAg
MS4yMTExMDZdIENQVTogMCBVSUQ6IDAgUElEOiAwIENvbW06IHN3YXBwZXIvMCBOb3QgdGFp
bnRlZCA2LjE1LjAtcmM3ICM2OSBQUkVFTVBUKGZ1bGwpIA0KWyAgICAxLjIxMTEwNl0gSGFy
ZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1Mg
MjAyNC4wMi0ydWJ1bnR1MC4xIDEwLzI1LzIwMjQNClsgICAgMS4yMTExMDZdIFJJUDogZTAz
MDoweGZmZmZmZmZmYzAwMDA3NjkNClsgICAgMS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZm
IGUwIGNjIDxmZj4gZTIgY2MgZmYgZTAgY2MgZmYgZTAgY2MgNDEgZmYgZTQgY2MgNDEgZmYg
ZTQgY2MgNDEgZmYgZTQgY2MgY2MNClsgICAgMS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkw
MDQwMDAzZTI4IEVGTEFHUzogMDAwMTAwODINClsgICAgMS4yMTExMDZdIFJBWDogMDAwMDAw
MDAwMDAwMDAwMCBSQlg6IGZmZmY4ODg0NmQwMWEzMDAgUkNYOiBmZmZmODg4MTAwMjg4NjA4
DQpbICAgIDEuMjExMTA2XSBSRFg6IGZmZmZmZmZmODE0N2EzNDAgUlNJOiBmZmZmZmZmZjgy
YTJmZmE3IFJESTogZmZmZjg4ODQ2ZDAxYTMwMA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZm
YzkwMDQwMDAzZTM4IFIwODogZmZmZjg4ODEwMDI4ODYwMCBSMDk6IDAwMDAwMDAwMDAwMDAw
MDANClsgICAgMS4yMTExMDZdIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAw
MDAwMDAwMDEgUjEyOiBmZmZmZmZmZjgyZjQwNGEwDQpbICAgIDEuMjExMTA2XSBSMTM6IDAw
MDAwMDAwMDAwMDAwMDAgUjE0OiAwMDAwMDAwMDAwMDAwMDE4IFIxNTogZmZmZjg4ODEwMDMy
MDQwMA0KWyAgICAxLjIxMTEwNl0gRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZm
ZmY4ODg0ZTljMmUwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIx
MTEwNl0gQ1M6ICBlMDMwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAz
Mw0KWyAgICAxLjIxMTEwNl0gQ1IyOiBmZmZmZmZmZmMwMDAwNzY5IENSMzogMDAwMDAwMDAw
MmM0YTAwMCBDUjQ6IDAwMDAwMDAwMDAwNTA2NjANClsgICAgMS4yMTExMDZdIENhbGwgVHJh
Y2U6DQpbICAgIDEuMjExMTA2XSAgPElSUT4NClsgICAgMS4yMTExMDZdICA/IHhlbl90aW1l
cl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjExMTA2XSAgX19oYW5kbGVfaXJxX2V2
ZW50X3BlcmNwdSsweDRjLzB4MWQwDQpbICAgIDEuMjExMTA2XSAgaGFuZGxlX2lycV9ldmVu
dF9wZXJjcHUrMHgxOC8weDUwDQpbICAgIDEuMjExMTA2XSAgaGFuZGxlX3BlcmNwdV9pcnEr
MHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAgaGFuZGxlX2lycV9kZXNjKzB4M2UvMHg2MA0K
WyAgICAxLjIxMTEwNl0gIGdlbmVyaWNfaGFuZGxlX2lycSsweDIzLzB4MzANClsgICAgMS4y
MTExMDZdICBoYW5kbGVfaXJxX2Zvcl9wb3J0KzB4NGQvMHgxMDANClsgICAgMS4yMTExMDZd
ICBfX2V2dGNobl9maWZvX2hhbmRsZV9ldmVudHMrMHgxNzQvMHgxYzANClsgICAgMS4yMTEx
MDZdICBldnRjaG5fZmlmb19oYW5kbGVfZXZlbnRzKzB4MTIvMHgyMA0KWyAgICAxLjIxMTEw
Nl0gIHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gIF9f
eGVuX3B2X2V2dGNobl9kb191cGNhbGwrMHg0Ny8weDcwDQpbICAgIDEuMjExMTA2XSAgeGVu
X3B2X2V2dGNobl9kb191cGNhbGwrMHhlNi8weDExMA0KWyAgICAxLjIxMTEwNl0gIDwvSVJR
Pg0KWyAgICAxLjIxMTEwNl0gIDxUQVNLPg0KWyAgICAxLjIxMTEwNl0gIGV4Y194ZW5faHlw
ZXJ2aXNvcl9jYWxsYmFjaysweDgvMHgyMA0KWyAgICAxLjIxMTEwNl0gUklQOiBlMDMwOmlu
c25fZ2V0X29wY29kZSsweDYwLzB4MjkwDQpbICAgIDEuMjExMTA2XSBDb2RlOiAwMSA0OCAz
OSA0MyA2MCAwZiA4MiA2NiAwMSAwMCAwMCA0NCAwZiBiNiAyMiA4MCA3YiAwNCAwMCA0OCA4
OSA0MyA2OCBjNiA0MyAxZCAwMSA0NCA4OCA2MyAxOCAwZiA4NCA5ZSAwMCAwMCAwMCA4YiA0
MyAxMCA4NSBjMCA8MGY+IDg0IGI0IDAwIDAwIDAwIDBmIGI2IDUzIDE1IDBmIGI2IDQzIDEx
IDgwIGZhIDAyIDBmIDg0IGFkIDAxIDAwDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6ZmZm
ZmZmZmY4MmMwM2M4MCBFRkxBR1M6IDAwMDAwMjQ2DQpbICAgIDEuMjExMTA2XSBSQVg6IDAw
MDAwMDAwMDAwMDAwMDAgUkJYOiBmZmZmZmZmZjgyYzAzZDMwIFJDWDogZmZmZmZmZmY4MWIw
ZmMyZA0KWyAgICAxLjIxMTEwNl0gUkRYOiBmZmZmZmZmZjgxYjBmYzJjIFJTSTogZmZmZmZm
ZmY4MWIwZmMzYiBSREk6IDAwMDAwMDAwMDAwMDAwZTgNClsgICAgMS4yMTExMDZdIFJCUDog
ZmZmZmZmZmY4MmMwM2M5OCBSMDg6IGZmZmZmZmZmODI1N2QwNDUgUjA5OiBmZmZmZmZmZjgx
YjBmYzJkDQpbICAgIDEuMjExMTA2XSBSMTA6IGZmZmZmZmZmODFiMGZjMmMgUjExOiBmZmZm
ZWEwMDA0MDBiOWMwIFIxMjogMDAwMDAwMDAwMDAwMDBlOA0KWyAgICAxLjIxMTEwNl0gUjEz
OiBmZmZmZmZmZjgyYzAzZGEwIFIxNDogMDAwMDAwMDAwMDAwMDAwNSBSMTU6IGZmZmZmZmZm
ODMyMDMyODANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmMvMHg5MA0K
WyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2ZC8weDkwDQpbICAgIDEuMjEx
MTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBj
aV9yZW1vdmVfYnVzKzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9i
dXMrMHg3Yi8weDkwDQpbICAgIDEuMjExMTA2XSAgaW5zbl9nZXRfbW9kcm0rMHgyNS8weDEw
MA0KWyAgICAxLjIxMTEwNl0gIGluc25fZ2V0X2Rpc3BsYWNlbWVudCsweGE3LzB4MTYwDQpb
ICAgIDEuMjExMTA2XSAgaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsgICAgMS4y
MTExMDZdICBpbnNuX2RlY29kZSsweDYyLzB4ODANClsgICAgMS4yMTExMDZdICA/IHBjaV9y
ZW1vdmVfYnVzKzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gIGFwcGx5X3JldHBvbGluZXMr
MHg1OS8weDZjMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkw
DQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4y
MTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8g
dW5yZWdpc3Rlcl9kaWVfbm90aWZpZXIrMHg0Ny8weDYwDQpbICAgIDEuMjExMTA2XSAgYWx0
ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4yMTExMDZdICBhcmNo
X2NwdV9maW5hbGl6ZV9pbml0KzB4MTI1LzB4MTkwDQpbICAgIDEuMjExMTA2XSAgc3RhcnRf
a2VybmVsKzB4NmQzLzB4YWIwDQpbICAgIDEuMjExMTA2XSAgPyBzbWVfdW5tYXBfYm9vdGRh
dGErMHgxOC8weDcwDQpbICAgIDEuMjExMTA2XSAgeDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9u
cysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICB4ZW5fc3RhcnRfa2VybmVsKzB4NTgxLzB4
NzAwDQpbICAgIDEuMjExMTA2XSAgc3RhcnR1cF94ZW4rMHgxYi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPC9UQVNLPg0KWyAgICAxLjIxMTEwNl0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAg
IDEuMjExMTA2XSBrZXJuZWwgdHJpZWQgdG8gZXhlY3V0ZSBOWC1wcm90ZWN0ZWQgcGFnZSAt
IGV4cGxvaXQgYXR0ZW1wdD8gKHVpZDogMCkNClsgICAgMS4yMTExMDZdIEJVRzogdW5hYmxl
IHRvIGhhbmRsZSBwYWdlIGZhdWx0IGZvciBhZGRyZXNzOiBmZmZmZmZmZmMwMDAwYmFjDQpb
ICAgIDEuMjExMTA2XSAjUEY6IHN1cGVydmlzb3IgaW5zdHJ1Y3Rpb24gZmV0Y2ggaW4ga2Vy
bmVsIG1vZGUNClsgICAgMS4yMTExMDZdICNQRjogZXJyb3JfY29kZSgweDAwMTEpIC0gcGVy
bWlzc2lvbnMgdmlvbGF0aW9uDQpbICAgIDEuMjExMTA2XSBQR0QgMmM0ZjA2NyBQNEQgMmM0
ZjA2NyBQVUQgMmM1MTA2NyBQTUQgMTAwMmU0MDY3IFBURSA4MDEwMDAwMTAwMmUzMDY3DQpb
ICAgIDEuMjExMTA2XSBPb3BzOiBPb3BzOiAwMDExIFsjMl0gU01QIE5PUFRJDQpbICAgIDEu
MjExMTA2XSBDUFU6IDAgVUlEOiAwIFBJRDogMCBDb21tOiBzd2FwcGVyLzAgTm90IHRhaW50
ZWQgNi4xNS4wLXJjNyAjNjkgUFJFRU1QVChmdWxsKSANClsgICAgMS4yMTExMDZdIEhhcmR3
YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKFEzNSArIElDSDksIDIwMDkpLCBCSU9TIDIw
MjQuMDItMnVidW50dTAuMSAxMC8yNS8yMDI0DQpbICAgIDEuMjExMTA2XSBSSVA6IGUwMzA6
MHhmZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBl
MCBjYyA8ZmY+IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZm
IGUwIGNjIGNjIGNjIGNjIGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6ZmZmZmM5MDA0
MDAwM2I2OCBFRkxBR1M6IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6IGZmZmZmZmZm
ODEzMDVkMjAgUkJYOiBmZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBmZmZmZmZmZg0K
WyAgICAxLjIxMTEwNl0gUkRYOiBmZmZmYzkwMDQwMDAzYmIwIFJTSTogMDAwMDAwMDAwMDAw
MDAwMSBSREk6IGZmZmZmZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJCUDogZmZmZmM5
MDA0MDAwM2JhMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDBi
DQpbICAgIDEuMjExMTA2XSBSMTA6IGZmZmZjOTAwNDAwMDNhMzAgUjExOiBmZmZmZmZmZjgy
ZDY1ZDA4IFIxMjogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gUjEzOiBmZmZm
YzkwMDQwMDAzYmIwIFIxNDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAwMDAwZmZmZmZm
ZmYNClsgICAgMS4yMTExMDZdIEZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZm
ODg4NGU5YzJlMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDANClsgICAgMS4yMTEx
MDZdIENTOiAgZTAzMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMN
ClsgICAgMS4yMTExMDZdIENSMjogZmZmZmZmZmZjMDAwMGJhYyBDUjM6IDAwMDAwMDAwMDJj
NGEwMDAgQ1I0OiAwMDAwMDAwMDAwMDUwNjYwDQpbICAgIDEuMjExMTA2XSBDYWxsIFRyYWNl
Og0KWyAgICAxLjIxMTEwNl0gIDxJUlE+DQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9j
YWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gIG5vdGlmeV9kaWUrMHg1MC8w
eDgwDQpbICAgIDEuMjExMTA2XSAgX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAg
cGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hf
ZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4
Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAga2VybmVsbW9kZV9maXh1cF9v
cl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICBfX2JhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVf
c2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICBiYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICBkb19rZXJuX2FkZHJfZmF1
bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gIGV4Y19wYWdlX2ZhdWx0KzB4
MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgz
MA0KWyAgICAxLjIxMTEwNl0gUklQOiBlMDMwOjB4ZmZmZmZmZmZjMDAwMDc2OQ0KWyAgICAx
LjIxMTEwNl0gQ29kZTogY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgPGZmPiBlMiBjYyBmZiBlMCBjYyBm
ZiBlMCBjYyA0MSBmZiBlNCBjYyA0MSBmZiBlNCBjYyA0MSBmZiBlNCBjYyBjYw0KWyAgICAx
LjIxMTEwNl0gUlNQOiBlMDJiOmZmZmZjOTAwNDAwMDNlMjggRUZMQUdTOiAwMDAxMDA4Mg0K
WyAgICAxLjIxMTEwNl0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjg4ODQ2ZDAx
YTMwMCBSQ1g6IGZmZmY4ODgxMDAyODg2MDgNClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmZm
ZmY4MTQ3YTM0MCBSU0k6IGZmZmZmZmZmODJhMmZmYTcgUkRJOiBmZmZmODg4NDZkMDFhMzAw
DQpbICAgIDEuMjExMTA2XSBSQlA6IGZmZmZjOTAwNDAwMDNlMzggUjA4OiBmZmZmODg4MTAw
Mjg4NjAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gUjEwOiAwMDAw
MDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDAwMDAwMSBSMTI6IGZmZmZmZmZmODJmNDA0
YTANClsgICAgMS4yMTExMDZdIFIxMzogMDAwMDAwMDAwMDAwMDAwMCBSMTQ6IDAwMDAwMDAw
MDAwMDAwMTggUjE1OiBmZmZmODg4MTAwMzIwNDAwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Bm
eF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IHhl
bl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjExMTA2XSAgPyBfX2hhbmRs
ZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsgICAgMS4yMTExMDZdICA/IGhhbmRs
ZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAgICAxLjIxMTEwNl0gID8gaGFuZGxl
X3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Rl
c2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBnZW5lcmljX2hhbmRsZV9pcnErMHgy
My8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Zvcl9wb3J0KzB4NGQvMHgx
MDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysweDE3
NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysw
eDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4N2Ev
MHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZfZXZ0Y2huX2RvX3VwY2FsbCsweDQ3
LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4ZTYv
MHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsgICAgMS4yMTExMDZdICA8VEFTSz4N
ClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2aXNvcl9jYWxsYmFjaysweDgvMHgy
MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEu
MjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/
IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92
ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdi
LzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X29wY29kZSsweDYwLzB4MjkwDQpb
ICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsweDI1LzB4MTAwDQpbICAgIDEuMjEx
MTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhhNy8weDE2MA0KWyAgICAxLjIxMTEw
Nl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsgICAgMS4yMTExMDZdICA/
IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9i
dXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBhcHBseV9yZXRwb2xpbmVzKzB4NTkv
MHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmMvMHg5MA0KWyAg
ICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3Yi8weDkwDQpbICAgIDEuMjExMTA2
XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/IHVucmVn
aXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAgICAxLjIxMTEwNl0gID8gYWx0ZXJu
YXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4yMTExMDZdICA/IGFyY2hf
Y3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0
X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEwNl0gID8gc21lX3VubWFwX2Jvb3Rk
YXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0
aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/IHhlbl9zdGFydF9rZXJuZWwrMHg1
ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0dXBfeGVuKzB4MWIvMHgyMA0KWyAg
ICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTExMDZdIE1vZHVsZXMgbGlua2VkIGlu
Og0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRvIGV4ZWN1dGUgTlgtcHJvdGVjdGVk
IHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDApDQpbICAgIDEuMjExMTA2XSBCVUc6
IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3IgYWRkcmVzczogZmZmZmZmZmZjMDAw
MGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZpc29yIGluc3RydWN0aW9uIGZldGNo
IGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAjUEY6IGVycm9yX2NvZGUoMHgwMDEx
KSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAxLjIxMTEwNl0gUEdEIDJjNGYwNjcg
UDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJlNDA2NyBQVEUgODAxMDAwMDEwMDJl
MzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczogMDAxMSBbIzNdIFNNUCBOT1BUSQ0K
WyAgICAxLjIxMTEwNl0gQ1BVOiAwIFVJRDogMCBQSUQ6IDAgQ29tbTogc3dhcHBlci8wIE5v
dCB0YWludGVkIDYuMTUuMC1yYzcgIzY5IFBSRUVNUFQoZnVsbCkgDQpbICAgIDEuMjExMTA2
XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwg
QklPUyAyMDI0LjAyLTJ1YnVudHUwLjEgMTAvMjUvMjAyNA0KWyAgICAxLjIxMTEwNl0gUklQ
OiBlMDMwOjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gQ29kZTogY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAg
Y2MgZmYgZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBl
MCBjYyBmZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAxLjIxMTEwNl0gUlNQOiBlMDJiOmZm
ZmZjOTAwNDAwMDM4YTggRUZMQUdTOiAwMDAxMDA4Ng0KWyAgICAxLjIxMTEwNl0gUkFYOiBm
ZmZmZmZmZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRkM2MwMCBSQ1g6IDAwMDAwMDAwZmZm
ZmZmZmYNClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5MDA0MDAwMzhmMCBSU0k6IDAwMDAw
MDAwMDAwMDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkwDQpbICAgIDEuMjExMTA2XSBSQlA6
IGZmZmZjOTAwNDAwMDM4ZTAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAw
MDAwMDAwYg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZmYzkwMDQwMDAzNzcwIFIxMTogZmZm
ZmZmZmY4MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAwMDANClsgICAgMS4yMTExMDZdIFIx
MzogZmZmZmM5MDA0MDAwMzhmMCBSMTQ6IGZmZmZmZmZmODJkZTAzOTAgUjE1OiAwMDAwMDAw
MGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkg
R1M6ZmZmZjg4ODRlOWMyZTAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQpbICAg
IDEuMjExMTA2XSBDUzogIGUwMzAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgw
MDUwMDMzDQpbICAgIDEuMjExMTA2XSBDUjI6IGZmZmZmZmZmYzAwMDBiYWMgQ1IzOiAwMDAw
MDAwMDAyYzRhMDAwIENSNDogMDAwMDAwMDAwMDA1MDY2MA0KWyAgICAxLjIxMTEwNl0gQ2Fs
bCBUcmFjZToNClsgICAgMS4yMTExMDZdICA8SVJRPg0KWyAgICAxLjIxMTEwNl0gID8gbm90
aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICBub3RpZnlfZGll
KzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gIF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIx
MTEwNl0gIHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8g
c2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBm
aXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gIGtlcm5lbG1vZGVf
Zml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgX19iYWRf
YXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdf
Y2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgZG9fa2Vybl9h
ZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICBleGNfcGFnZV9m
YXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gIGFzbV9leGNfcGFnZV9mYXVsdCsw
eDJiLzB4MzANClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMN
ClsgICAgMS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYg
ZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MN
ClsgICAgMS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAzYjY4IEVGTEFHUzogMDAw
MTAwODYNClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZm
ZmZmODJkZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6
IGZmZmZjOTAwNDAwMDNiYjAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4
MmRlMDM5MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAzYmEwIFIwODogMDAw
MDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIx
MDogZmZmZmM5MDA0MDAwM2EzMCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAw
MDAwMDAwMDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDNiYjAgUjE0OiBm
ZmZmZmZmZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0g
ID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsg
ICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEu
MjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19k
aWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUv
MHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsg
ICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8w
eDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4
MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsw
eDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZl
LzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpb
ICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTANClsgICAg
MS4yMTExMDZdICA/IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjEx
MTA2XSAgPyBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsgICAgMS4y
MTExMDZdICA/IGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAgICAxLjIx
MTEwNl0gID8gaGFuZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAg
PyBoYW5kbGVfaXJxX2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBnZW5lcmlj
X2hhbmRsZV9pcnErMHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Zv
cl9wb3J0KzB4NGQvMHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2ZpZm9faGFu
ZGxlX2V2ZW50cysweDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2huX2ZpZm9f
aGFuZGxlX2V2ZW50cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9ldnRjaG5f
ZG9fdXBjYWxsKzB4N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZfZXZ0Y2hu
X2RvX3VwY2FsbCsweDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9ldnRjaG5f
ZG9fdXBjYWxsKzB4ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsgICAgMS4y
MTExMDZdICA8VEFTSz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2aXNvcl9j
YWxsYmFjaysweDgvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2
Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsg
ICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEw
Nl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lf
cmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X29wY29k
ZSsweDYwLzB4MjkwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsweDI1LzB4
MTAwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhhNy8weDE2
MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsg
ICAgMS4yMTExMDZdICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBhcHBseV9y
ZXRwb2xpbmVzKzB4NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVz
KzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3Yi8weDkw
DQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4y
MTExMDZdICA/IHVucmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAgICAxLjIx
MTEwNl0gID8gYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4y
MTExMDZdICA/IGFyY2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsgICAgMS4y
MTExMDZdICA/IHN0YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEwNl0gID8g
c21lX3VubWFwX2Jvb3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geDg2XzY0
X3N0YXJ0X3Jlc2VydmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/IHhlbl9z
dGFydF9rZXJuZWwrMHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0dXBfeGVu
KzB4MWIvMHgyMA0KWyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTExMDZdIE1v
ZHVsZXMgbGlua2VkIGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRvIGV4ZWN1
dGUgTlgtcHJvdGVjdGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDApDQpbICAg
IDEuMjExMTA2XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3IgYWRkcmVz
czogZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZpc29yIGlu
c3RydWN0aW9uIGZldGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAjUEY6IGVy
cm9yX2NvZGUoMHgwMDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAxLjIxMTEw
Nl0gUEdEIDJjNGYwNjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJlNDA2NyBQ
VEUgODAxMDAwMDEwMDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczogMDAxMSBb
IzRdIFNNUCBOT1BUSQ0KWyAgICAxLjIxMTEwNl0gQ1BVOiAwIFVJRDogMCBQSUQ6IDAgQ29t
bTogc3dhcHBlci8wIE5vdCB0YWludGVkIDYuMTUuMC1yYzcgIzY5IFBSRUVNUFQoZnVsbCkg
DQpbICAgIDEuMjExMTA2XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUg
KyBJQ0g5LCAyMDA5KSwgQklPUyAyMDI0LjAyLTJ1YnVudHUwLjEgMTAvMjUvMjAyNA0KWyAg
ICAxLjIxMTEwNl0gUklQOiBlMDMwOjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEw
Nl0gQ29kZTogY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYgZTAgY2Mg
ZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBj
YyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAxLjIxMTEw
Nl0gUlNQOiBlMDJiOmZmZmZjOTAwNDAwMDM1ZTggRUZMQUdTOiAwMDAxMDA4Ng0KWyAgICAx
LjIxMTEwNl0gUkFYOiBmZmZmZmZmZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRkM2MwMCBS
Q1g6IDAwMDAwMDAwZmZmZmZmZmYNClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5MDA0MDAw
MzYzMCBSU0k6IDAwMDAwMDAwMDAwMDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkwDQpbICAg
IDEuMjExMTA2XSBSQlA6IGZmZmZjOTAwNDAwMDM2MjAgUjA4OiAwMDAwMDAwMDAwMDAwMDAw
IFIwOTogMDAwMDAwMDAwMDAwMDAwYg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZmYzkwMDQw
MDAzNGIwIFIxMTogZmZmZmZmZmY4MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAwMDANClsg
ICAgMS4yMTExMDZdIFIxMzogZmZmZmM5MDA0MDAwMzYzMCBSMTQ6IGZmZmZmZmZmODJkZTAz
OTAgUjE1OiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBGUzogIDAwMDAwMDAw
MDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4ODRlOWMyZTAwMCgwMDAwKSBrbmxHUzowMDAwMDAw
MDAwMDAwMDAwDQpbICAgIDEuMjExMTA2XSBDUzogIGUwMzAgRFM6IDAwMDAgRVM6IDAwMDAg
Q1IwOiAwMDAwMDAwMDgwMDUwMDMzDQpbICAgIDEuMjExMTA2XSBDUjI6IGZmZmZmZmZmYzAw
MDBiYWMgQ1IzOiAwMDAwMDAwMDAyYzRhMDAwIENSNDogMDAwMDAwMDAwMDA1MDY2MA0KWyAg
ICAxLjIxMTEwNl0gQ2FsbCBUcmFjZToNClsgICAgMS4yMTExMDZdICA8SVJRPg0KWyAgICAx
LjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTEx
MDZdICBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gIF9fZGllKzB4NTUv
MHg3MA0KWyAgICAxLjIxMTEwNl0gIHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAg
ICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEw
Nl0gIGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEu
MjExMTA2XSAgX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIx
MTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAg
IDEuMjExMTA2XSAgYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTEx
MDZdICBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gIGFzbV9l
eGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZm
ZmZmZmZmYzAwMDBiYWMNClsgICAgMS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNj
IDxmZj4gZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAg
Y2MgY2MgY2MgY2MgY2MNClsgICAgMS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAz
OGE4IEVGTEFHUzogMDAwMTAwODYNClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMw
NWQyMCBSQlg6IGZmZmZmZmZmODJkZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAg
IDEuMjExMTA2XSBSRFg6IGZmZmZjOTAwNDAwMDM4ZjAgUlNJOiAwMDAwMDAwMDAwMDAwMDAx
IFJESTogZmZmZmZmZmY4MmRlMDM5MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQw
MDAzOGUwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsg
ICAgMS4yMTExMDZdIFIxMDogZmZmZmM5MDA0MDAwMzc3MCBSMTE6IGZmZmZmZmZmODJkNjVk
MDggUjEyOiAwMDAwMDAwMDAwMDAwMDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAw
NDAwMDM4ZjAgUjE0OiBmZmZmZmZmZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0K
WyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlm
eSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2
NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAx
LjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2Zh
dWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRp
b25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9u
KzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29w
cy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2Vt
YXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2
ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2Zh
dWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0
KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgy
Yi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlv
bnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9j
aGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgw
DQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/
IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNo
X2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9l
eGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1
cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2Fy
ZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2Nh
bGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJu
X2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3Bh
Z2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9m
YXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X3RpY2tfaGFuZGxlX3Bl
cmlvZGljKzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8geGVuX3RpbWVyX2ludGVycnVw
dCsweDMxLzB4NDANClsgICAgMS4yMTExMDZdICA/IF9faGFuZGxlX2lycV9ldmVudF9wZXJj
cHUrMHg0Yy8weDFkMA0KWyAgICAxLjIxMTEwNl0gID8gaGFuZGxlX2lycV9ldmVudF9wZXJj
cHUrMHgxOC8weDUwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfcGVyY3B1X2lycSsweDU5
LzB4ODANClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZGVzYysweDNlLzB4NjANClsg
ICAgMS4yMTExMDZdICA/IGdlbmVyaWNfaGFuZGxlX2lycSsweDIzLzB4MzANClsgICAgMS4y
MTExMDZdICA/IGhhbmRsZV9pcnFfZm9yX3BvcnQrMHg0ZC8weDEwMA0KWyAgICAxLjIxMTEw
Nl0gID8gX19ldnRjaG5fZmlmb19oYW5kbGVfZXZlbnRzKzB4MTc0LzB4MWMwDQpbICAgIDEu
MjExMTA2XSAgPyBldnRjaG5fZmlmb19oYW5kbGVfZXZlbnRzKzB4MTIvMHgyMA0KWyAgICAx
LjIxMTEwNl0gID8geGVuX2V2dGNobl9kb191cGNhbGwrMHg3YS8weGQwDQpbICAgIDEuMjEx
MTA2XSAgPyBfX3hlbl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4NDcvMHg3MA0KWyAgICAxLjIx
MTEwNl0gID8geGVuX3B2X2V2dGNobl9kb191cGNhbGwrMHhlNi8weDExMA0KWyAgICAxLjIx
MTEwNl0gIDwvSVJRPg0KWyAgICAxLjIxMTEwNl0gIDxUQVNLPg0KWyAgICAxLjIxMTEwNl0g
ID8gZXhjX3hlbl9oeXBlcnZpc29yX2NhbGxiYWNrKzB4OC8weDIwDQpbICAgIDEuMjExMTA2
XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZjLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9y
ZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMr
MHg2ZC8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZjLzB4OTAN
ClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4N2IvMHg5MA0KWyAgICAxLjIx
MTEwNl0gID8gaW5zbl9nZXRfb3Bjb2RlKzB4NjAvMHgyOTANClsgICAgMS4yMTExMDZdICA/
IGluc25fZ2V0X21vZHJtKzB4MjUvMHgxMDANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0
X2Rpc3BsYWNlbWVudCsweGE3LzB4MTYwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9p
bW1lZGlhdGUrMHgyMy8weDM0MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9kZWNvZGUrMHg2
Mi8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZjLzB4OTANClsg
ICAgMS4yMTExMDZdICA/IGFwcGx5X3JldHBvbGluZXMrMHg1OS8weDZjMA0KWyAgICAxLjIx
MTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBw
Y2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVf
YnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gdW5yZWdpc3Rlcl9kaWVfbm90aWZp
ZXIrMHg0Ny8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBhbHRlcm5hdGl2ZV9pbnN0cnVjdGlv
bnMrMHgzOC8weDE0MA0KWyAgICAxLjIxMTEwNl0gID8gYXJjaF9jcHVfZmluYWxpemVfaW5p
dCsweDEyNS8weDE5MA0KWyAgICAxLjIxMTEwNl0gID8gc3RhcnRfa2VybmVsKzB4NmQzLzB4
YWIwDQpbICAgIDEuMjExMTA2XSAgPyBzbWVfdW5tYXBfYm9vdGRhdGErMHgxOC8weDcwDQpb
ICAgIDEuMjExMTA2XSAgPyB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4MWMvMHgzMA0K
WyAgICAxLjIxMTEwNl0gID8geGVuX3N0YXJ0X2tlcm5lbCsweDU4MS8weDcwMA0KWyAgICAx
LjIxMTEwNl0gID8gc3RhcnR1cF94ZW4rMHgxYi8weDIwDQpbICAgIDEuMjExMTA2XSAgPC9U
QVNLPg0KWyAgICAxLjIxMTEwNl0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAgIDEuMjExMTA2
XSBrZXJuZWwgdHJpZWQgdG8gZXhlY3V0ZSBOWC1wcm90ZWN0ZWQgcGFnZSAtIGV4cGxvaXQg
YXR0ZW1wdD8gKHVpZDogMCkNClsgICAgMS4yMTExMDZdIEJVRzogdW5hYmxlIHRvIGhhbmRs
ZSBwYWdlIGZhdWx0IGZvciBhZGRyZXNzOiBmZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjEx
MTA2XSAjUEY6IHN1cGVydmlzb3IgaW5zdHJ1Y3Rpb24gZmV0Y2ggaW4ga2VybmVsIG1vZGUN
ClsgICAgMS4yMTExMDZdICNQRjogZXJyb3JfY29kZSgweDAwMTEpIC0gcGVybWlzc2lvbnMg
dmlvbGF0aW9uDQpbICAgIDEuMjExMTA2XSBQR0QgMmM0ZjA2NyBQNEQgMmM0ZjA2NyBQVUQg
MmM1MTA2NyBQTUQgMTAwMmU0MDY3IFBURSA4MDEwMDAwMTAwMmUzMDY3DQpbICAgIDEuMjEx
MTA2XSBPb3BzOiBPb3BzOiAwMDExIFsjNV0gU01QIE5PUFRJDQpbICAgIDEuMjExMTA2XSBD
UFU6IDAgVUlEOiAwIFBJRDogMCBDb21tOiBzd2FwcGVyLzAgTm90IHRhaW50ZWQgNi4xNS4w
LXJjNyAjNjkgUFJFRU1QVChmdWxsKSANClsgICAgMS4yMTExMDZdIEhhcmR3YXJlIG5hbWU6
IFFFTVUgU3RhbmRhcmQgUEMgKFEzNSArIElDSDksIDIwMDkpLCBCSU9TIDIwMjQuMDItMnVi
dW50dTAuMSAxMC8yNS8yMDI0DQpbICAgIDEuMjExMTA2XSBSSVA6IGUwMzA6MHhmZmZmZmZm
ZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyA8ZmY+
IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGNj
IGNjIGNjIGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6ZmZmZmM5MDA0MDAwMzMyOCBF
RkxBR1M6IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6IGZmZmZmZmZmODEzMDVkMjAg
UkJYOiBmZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIx
MTEwNl0gUkRYOiBmZmZmYzkwMDQwMDAzMzcwIFJTSTogMDAwMDAwMDAwMDAwMDAwMSBSREk6
IGZmZmZmZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJCUDogZmZmZmM5MDA0MDAwMzM2
MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDBiDQpbICAgIDEu
MjExMTA2XSBSMTA6IGZmZmZjOTAwNDAwMDMxZjAgUjExOiBmZmZmZmZmZjgyZDY1ZDA4IFIx
MjogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gUjEzOiBmZmZmYzkwMDQwMDAz
MzcwIFIxNDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAwMDAwZmZmZmZmZmYNClsgICAg
MS4yMTExMDZdIEZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZmODg4NGU5YzJl
MDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDANClsgICAgMS4yMTExMDZdIENTOiAg
ZTAzMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMNClsgICAgMS4y
MTExMDZdIENSMjogZmZmZmZmZmZjMDAwMGJhYyBDUjM6IDAwMDAwMDAwMDJjNGEwMDAgQ1I0
OiAwMDAwMDAwMDAwMDUwNjYwDQpbICAgIDEuMjExMTA2XSBDYWxsIFRyYWNlOg0KWyAgICAx
LjIxMTEwNl0gIDxJUlE+DQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWlu
KzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gIG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAg
IDEuMjExMTA2XSAgX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgcGFnZV9mYXVs
dF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9u
X3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisw
eDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlz
cmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICBfX2JhZF9hcmVhX25vc2VtYXBob3Jl
KzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5f
cG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICBiYWRfYXJlYV9ub3NlbWFwaG9y
ZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4w
KzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gIGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMw
DQpbICAgIDEuMjExMTA2XSAgYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAx
LjIxMTEwNl0gUklQOiBlMDMwOjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0g
Q29kZTogY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYgZTAgY2MgZmYg
ZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBm
ZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAxLjIxMTEwNl0g
UlNQOiBlMDJiOmZmZmZjOTAwNDAwMDM1ZTggRUZMQUdTOiAwMDAxMDA4Ng0KWyAgICAxLjIx
MTEwNl0gUkFYOiBmZmZmZmZmZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRkM2MwMCBSQ1g6
IDAwMDAwMDAwZmZmZmZmZmYNClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5MDA0MDAwMzYz
MCBSU0k6IDAwMDAwMDAwMDAwMDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkwDQpbICAgIDEu
MjExMTA2XSBSQlA6IGZmZmZjOTAwNDAwMDM2MjAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIw
OTogMDAwMDAwMDAwMDAwMDAwYg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZmYzkwMDQwMDAz
NGIwIFIxMTogZmZmZmZmZmY4MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAwMDANClsgICAg
MS4yMTExMDZdIFIxMzogZmZmZmM5MDA0MDAwMzYzMCBSMTQ6IGZmZmZmZmZmODJkZTAzOTAg
UjE1OiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVh
a3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8g
bm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlm
eV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIx
MTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8g
a2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTEx
MDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTEx
MDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAx
LjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/
IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4
X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjEx
MTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0g
ID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpb
ICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjEx
MTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMw
DQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsg
ICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpb
ICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIx
MTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0g
ID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsg
ICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEu
MjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19k
aWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUv
MHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsg
ICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8w
eDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4
MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsw
eDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZl
LzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpb
ICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTANClsgICAg
MS4yMTExMDZdICA/IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjEx
MTA2XSAgPyBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsgICAgMS4y
MTExMDZdICA/IGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAgICAxLjIx
MTEwNl0gID8gaGFuZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAg
PyBoYW5kbGVfaXJxX2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBnZW5lcmlj
X2hhbmRsZV9pcnErMHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Zv
cl9wb3J0KzB4NGQvMHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2ZpZm9faGFu
ZGxlX2V2ZW50cysweDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2huX2ZpZm9f
aGFuZGxlX2V2ZW50cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9ldnRjaG5f
ZG9fdXBjYWxsKzB4N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZfZXZ0Y2hu
X2RvX3VwY2FsbCsweDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9ldnRjaG5f
ZG9fdXBjYWxsKzB4ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsgICAgMS4y
MTExMDZdICA8VEFTSz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2aXNvcl9j
YWxsYmFjaysweDgvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2
Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsg
ICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEw
Nl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lf
cmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X29wY29k
ZSsweDYwLzB4MjkwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsweDI1LzB4
MTAwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhhNy8weDE2
MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsg
ICAgMS4yMTExMDZdICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBhcHBseV9y
ZXRwb2xpbmVzKzB4NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVz
KzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3Yi8weDkw
DQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4y
MTExMDZdICA/IHVucmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAgICAxLjIx
MTEwNl0gID8gYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4y
MTExMDZdICA/IGFyY2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsgICAgMS4y
MTExMDZdICA/IHN0YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEwNl0gID8g
c21lX3VubWFwX2Jvb3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geDg2XzY0
X3N0YXJ0X3Jlc2VydmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/IHhlbl9z
dGFydF9rZXJuZWwrMHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0dXBfeGVu
KzB4MWIvMHgyMA0KWyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTExMDZdIE1v
ZHVsZXMgbGlua2VkIGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRvIGV4ZWN1
dGUgTlgtcHJvdGVjdGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDApDQpbICAg
IDEuMjExMTA2XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3IgYWRkcmVz
czogZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZpc29yIGlu
c3RydWN0aW9uIGZldGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAjUEY6IGVy
cm9yX2NvZGUoMHgwMDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAxLjIxMTEw
Nl0gUEdEIDJjNGYwNjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJlNDA2NyBQ
VEUgODAxMDAwMDEwMDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczogMDAxMSBb
IzZdIFNNUCBOT1BUSQ0KWyAgICAxLjIxMTEwNl0gQ1BVOiAwIFVJRDogMCBQSUQ6IDAgQ29t
bTogc3dhcHBlci8wIE5vdCB0YWludGVkIDYuMTUuMC1yYzcgIzY5IFBSRUVNUFQoZnVsbCkg
DQpbICAgIDEuMjExMTA2XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUg
KyBJQ0g5LCAyMDA5KSwgQklPUyAyMDI0LjAyLTJ1YnVudHUwLjEgMTAvMjUvMjAyNA0KWyAg
ICAxLjIxMTEwNl0gUklQOiBlMDMwOjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEw
Nl0gQ29kZTogY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYgZTAgY2Mg
ZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBj
YyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAxLjIxMTEw
Nl0gUlNQOiBlMDJiOmZmZmZjOTAwNDAwMDMwNjggRUZMQUdTOiAwMDAxMDA4Ng0KWyAgICAx
LjIxMTEwNl0gUkFYOiBmZmZmZmZmZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRkM2MwMCBS
Q1g6IDAwMDAwMDAwZmZmZmZmZmYNClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5MDA0MDAw
MzBiMCBSU0k6IDAwMDAwMDAwMDAwMDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkwDQpbICAg
IDEuMjExMTA2XSBSQlA6IGZmZmZjOTAwNDAwMDMwYTAgUjA4OiAwMDAwMDAwMDAwMDAwMDAw
IFIwOTogMDAwMDAwMDAwMDAwMDAwYg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZmYzkwMDQw
MDAyZjMwIFIxMTogZmZmZmZmZmY4MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAwMDANClsg
ICAgMS4yMTExMDZdIFIxMzogZmZmZmM5MDA0MDAwMzBiMCBSMTQ6IGZmZmZmZmZmODJkZTAz
OTAgUjE1OiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBGUzogIDAwMDAwMDAw
MDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4ODRlOWMyZTAwMCgwMDAwKSBrbmxHUzowMDAwMDAw
MDAwMDAwMDAwDQpbICAgIDEuMjExMTA2XSBDUzogIGUwMzAgRFM6IDAwMDAgRVM6IDAwMDAg
Q1IwOiAwMDAwMDAwMDgwMDUwMDMzDQpbICAgIDEuMjExMTA2XSBDUjI6IGZmZmZmZmZmYzAw
MDBiYWMgQ1IzOiAwMDAwMDAwMDAyYzRhMDAwIENSNDogMDAwMDAwMDAwMDA1MDY2MA0KWyAg
ICAxLjIxMTEwNl0gQ2FsbCBUcmFjZToNClsgICAgMS4yMTExMDZdICA8SVJRPg0KWyAgICAx
LjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTEx
MDZdICBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gIF9fZGllKzB4NTUv
MHg3MA0KWyAgICAxLjIxMTEwNl0gIHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAg
ICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEw
Nl0gIGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEu
MjExMTA2XSAgX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIx
MTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAg
IDEuMjExMTA2XSAgYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTEx
MDZdICBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gIGFzbV9l
eGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZm
ZmZmZmZmYzAwMDBiYWMNClsgICAgMS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNj
IDxmZj4gZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAg
Y2MgY2MgY2MgY2MgY2MNClsgICAgMS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAz
MzI4IEVGTEFHUzogMDAwMTAwODYNClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMw
NWQyMCBSQlg6IGZmZmZmZmZmODJkZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAg
IDEuMjExMTA2XSBSRFg6IGZmZmZjOTAwNDAwMDMzNzAgUlNJOiAwMDAwMDAwMDAwMDAwMDAx
IFJESTogZmZmZmZmZmY4MmRlMDM5MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQw
MDAzMzYwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsg
ICAgMS4yMTExMDZdIFIxMDogZmZmZmM5MDA0MDAwMzFmMCBSMTE6IGZmZmZmZmZmODJkNjVk
MDggUjEyOiAwMDAwMDAwMDAwMDAwMDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAw
NDAwMDMzNzAgUjE0OiBmZmZmZmZmZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0K
WyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlm
eSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2
NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAx
LjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2Zh
dWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRp
b25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9u
KzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29w
cy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2Vt
YXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2
ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2Zh
dWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0
KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgy
Yi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlv
bnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9j
aGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgw
DQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/
IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNo
X2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9l
eGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1
cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2Fy
ZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2Nh
bGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJu
X2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3Bh
Z2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9m
YXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRf
ZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmll
cl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsw
eDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIx
MTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAg
PyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/
IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxt
b2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
X19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8g
X19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2
XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/
IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAg
PyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4
Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJl
YWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/
IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3Rp
ZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpb
ICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4y
MTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIx
MTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/
IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjEx
MTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAg
MS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIx
MTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4y
MTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAg
PyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Bm
eF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IHhl
bl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjExMTA2XSAgPyBfX2hhbmRs
ZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsgICAgMS4yMTExMDZdICA/IGhhbmRs
ZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAgICAxLjIxMTEwNl0gID8gaGFuZGxl
X3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Rl
c2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBnZW5lcmljX2hhbmRsZV9pcnErMHgy
My8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Zvcl9wb3J0KzB4NGQvMHgx
MDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysweDE3
NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysw
eDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4N2Ev
MHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZfZXZ0Y2huX2RvX3VwY2FsbCsweDQ3
LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4ZTYv
MHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsgICAgMS4yMTExMDZdICA8VEFTSz4N
ClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2aXNvcl9jYWxsYmFjaysweDgvMHgy
MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEu
MjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/
IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92
ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdi
LzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X29wY29kZSsweDYwLzB4MjkwDQpb
ICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsweDI1LzB4MTAwDQpbICAgIDEuMjEx
MTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhhNy8weDE2MA0KWyAgICAxLjIxMTEw
Nl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsgICAgMS4yMTExMDZdICA/
IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9i
dXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBhcHBseV9yZXRwb2xpbmVzKzB4NTkv
MHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmMvMHg5MA0KWyAg
ICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3Yi8weDkwDQpbICAgIDEuMjExMTA2
XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/IHVucmVn
aXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAgICAxLjIxMTEwNl0gID8gYWx0ZXJu
YXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4yMTExMDZdICA/IGFyY2hf
Y3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0
X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEwNl0gID8gc21lX3VubWFwX2Jvb3Rk
YXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0
aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/IHhlbl9zdGFydF9rZXJuZWwrMHg1
ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0dXBfeGVuKzB4MWIvMHgyMA0KWyAg
ICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTExMDZdIE1vZHVsZXMgbGlua2VkIGlu
Og0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRvIGV4ZWN1dGUgTlgtcHJvdGVjdGVk
IHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDApDQpbICAgIDEuMjExMTA2XSBCVUc6
IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3IgYWRkcmVzczogZmZmZmZmZmZjMDAw
MGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZpc29yIGluc3RydWN0aW9uIGZldGNo
IGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAjUEY6IGVycm9yX2NvZGUoMHgwMDEx
KSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAxLjIxMTEwNl0gUEdEIDJjNGYwNjcg
UDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJlNDA2NyBQVEUgODAxMDAwMDEwMDJl
MzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczogMDAxMSBbIzddIFNNUCBOT1BUSQ0K
WyAgICAxLjIxMTEwNl0gQ1BVOiAwIFVJRDogMCBQSUQ6IDAgQ29tbTogc3dhcHBlci8wIE5v
dCB0YWludGVkIDYuMTUuMC1yYzcgIzY5IFBSRUVNUFQoZnVsbCkgDQpbICAgIDEuMjExMTA2
XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwg
QklPUyAyMDI0LjAyLTJ1YnVudHUwLjEgMTAvMjUvMjAyNA0KWyAgICAxLjIxMTEwNl0gUklQ
OiBlMDMwOjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gQ29kZTogY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAg
Y2MgZmYgZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBl
MCBjYyBmZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAxLjIxMTEwNl0gUlNQOiBlMDJiOmZm
ZmZjOTAwNDAwMDJkYTggRUZMQUdTOiAwMDAxMDA4Ng0KWyAgICAxLjIxMTEwNl0gUkFYOiBm
ZmZmZmZmZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRkM2MwMCBSQ1g6IDAwMDAwMDAwZmZm
ZmZmZmYNClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5MDA0MDAwMmRmMCBSU0k6IDAwMDAw
MDAwMDAwMDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkwDQpbICAgIDEuMjExMTA2XSBSQlA6
IGZmZmZjOTAwNDAwMDJkZTAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAw
MDAwMDAwYg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZmYzkwMDQwMDAyYzcwIFIxMTogZmZm
ZmZmZmY4MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAwMDANClsgICAgMS4yMTExMDZdIFIx
MzogZmZmZmM5MDA0MDAwMmRmMCBSMTQ6IGZmZmZmZmZmODJkZTAzOTAgUjE1OiAwMDAwMDAw
MGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkg
R1M6ZmZmZjg4ODRlOWMyZTAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQpbICAg
IDEuMjExMTA2XSBDUzogIGUwMzAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgw
MDUwMDMzDQpbICAgIDEuMjExMTA2XSBDUjI6IGZmZmZmZmZmYzAwMDBiYWMgQ1IzOiAwMDAw
MDAwMDAyYzRhMDAwIENSNDogMDAwMDAwMDAwMDA1MDY2MA0KWyAgICAxLjIxMTEwNl0gQ2Fs
bCBUcmFjZToNClsgICAgMS4yMTExMDZdICA8SVJRPg0KWyAgICAxLjIxMTEwNl0gID8gbm90
aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICBub3RpZnlfZGll
KzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gIF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIx
MTEwNl0gIHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8g
c2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBm
aXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gIGtlcm5lbG1vZGVf
Zml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgX19iYWRf
YXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdf
Y2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgZG9fa2Vybl9h
ZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICBleGNfcGFnZV9m
YXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gIGFzbV9leGNfcGFnZV9mYXVsdCsw
eDJiLzB4MzANClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMN
ClsgICAgMS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYg
ZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MN
ClsgICAgMS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAzMDY4IEVGTEFHUzogMDAw
MTAwODYNClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZm
ZmZmODJkZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6
IGZmZmZjOTAwNDAwMDMwYjAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4
MmRlMDM5MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAzMGEwIFIwODogMDAw
MDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIx
MDogZmZmZmM5MDA0MDAwMmYzMCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAw
MDAwMDAwMDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDMwYjAgUjE0OiBm
ZmZmZmZmZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0g
ID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsg
ICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEu
MjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19k
aWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUv
MHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsg
ICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8w
eDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4
MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsw
eDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZl
LzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpb
ICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAv
MHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDAN
ClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29w
cysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJs
ZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8w
eDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEu
MCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUr
MHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9w
bWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhv
cmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFy
dC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUv
MHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzAN
ClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3Rp
ZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4
NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAg
MS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9m
YXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0
aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlv
bisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29v
cHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3Nl
bWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3Nh
dmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9m
YXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVs
dCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4
MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRp
b25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxf
Y2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJj
aF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBf
ZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4
dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9h
cmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19j
YWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJh
ZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vy
bl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19w
YWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2Vf
ZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50
X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZp
ZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUr
MHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4y
MTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0g
ID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVs
bW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/
IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/
IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEw
Nl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAg
PyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9l
eGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X3RpY2tf
aGFuZGxlX3BlcmlvZGljKzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8geGVuX3RpbWVy
X2ludGVycnVwdCsweDMxLzB4NDANClsgICAgMS4yMTExMDZdICA/IF9faGFuZGxlX2lycV9l
dmVudF9wZXJjcHUrMHg0Yy8weDFkMA0KWyAgICAxLjIxMTEwNl0gID8gaGFuZGxlX2lycV9l
dmVudF9wZXJjcHUrMHgxOC8weDUwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfcGVyY3B1
X2lycSsweDU5LzB4ODANClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZGVzYysweDNl
LzB4NjANClsgICAgMS4yMTExMDZdICA/IGdlbmVyaWNfaGFuZGxlX2lycSsweDIzLzB4MzAN
ClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZm9yX3BvcnQrMHg0ZC8weDEwMA0KWyAg
ICAxLjIxMTEwNl0gID8gX19ldnRjaG5fZmlmb19oYW5kbGVfZXZlbnRzKzB4MTc0LzB4MWMw
DQpbICAgIDEuMjExMTA2XSAgPyBldnRjaG5fZmlmb19oYW5kbGVfZXZlbnRzKzB4MTIvMHgy
MA0KWyAgICAxLjIxMTEwNl0gID8geGVuX2V2dGNobl9kb191cGNhbGwrMHg3YS8weGQwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3hlbl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4NDcvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8geGVuX3B2X2V2dGNobl9kb191cGNhbGwrMHhlNi8weDExMA0K
WyAgICAxLjIxMTEwNl0gIDwvSVJRPg0KWyAgICAxLjIxMTEwNl0gIDxUQVNLPg0KWyAgICAx
LjIxMTEwNl0gID8gZXhjX3hlbl9oeXBlcnZpc29yX2NhbGxiYWNrKzB4OC8weDIwDQpbICAg
IDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZjLzB4OTANClsgICAgMS4yMTExMDZd
ICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3Jl
bW92ZV9idXMrMHg2ZC8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysw
eDZjLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4N2IvMHg5MA0K
WyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfb3Bjb2RlKzB4NjAvMHgyOTANClsgICAgMS4y
MTExMDZdICA/IGluc25fZ2V0X21vZHJtKzB4MjUvMHgxMDANClsgICAgMS4yMTExMDZdICA/
IGluc25fZ2V0X2Rpc3BsYWNlbWVudCsweGE3LzB4MTYwDQpbICAgIDEuMjExMTA2XSAgPyBp
bnNuX2dldF9pbW1lZGlhdGUrMHgyMy8weDM0MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9k
ZWNvZGUrMHg2Mi8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZj
LzB4OTANClsgICAgMS4yMTExMDZdICA/IGFwcGx5X3JldHBvbGluZXMrMHg1OS8weDZjMA0K
WyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjEx
MTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBj
aV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gdW5yZWdpc3Rlcl9k
aWVfbm90aWZpZXIrMHg0Ny8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBhbHRlcm5hdGl2ZV9p
bnN0cnVjdGlvbnMrMHgzOC8weDE0MA0KWyAgICAxLjIxMTEwNl0gID8gYXJjaF9jcHVfZmlu
YWxpemVfaW5pdCsweDEyNS8weDE5MA0KWyAgICAxLjIxMTEwNl0gID8gc3RhcnRfa2VybmVs
KzB4NmQzLzB4YWIwDQpbICAgIDEuMjExMTA2XSAgPyBzbWVfdW5tYXBfYm9vdGRhdGErMHgx
OC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4
MWMvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8geGVuX3N0YXJ0X2tlcm5lbCsweDU4MS8weDcw
MA0KWyAgICAxLjIxMTEwNl0gID8gc3RhcnR1cF94ZW4rMHgxYi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPC9UQVNLPg0KWyAgICAxLjIxMTEwNl0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAg
IDEuMjExMTA2XSBrZXJuZWwgdHJpZWQgdG8gZXhlY3V0ZSBOWC1wcm90ZWN0ZWQgcGFnZSAt
IGV4cGxvaXQgYXR0ZW1wdD8gKHVpZDogMCkNClsgICAgMS4yMTExMDZdIEJVRzogdW5hYmxl
IHRvIGhhbmRsZSBwYWdlIGZhdWx0IGZvciBhZGRyZXNzOiBmZmZmZmZmZmMwMDAwYmFjDQpb
ICAgIDEuMjExMTA2XSAjUEY6IHN1cGVydmlzb3IgaW5zdHJ1Y3Rpb24gZmV0Y2ggaW4ga2Vy
bmVsIG1vZGUNClsgICAgMS4yMTExMDZdICNQRjogZXJyb3JfY29kZSgweDAwMTEpIC0gcGVy
bWlzc2lvbnMgdmlvbGF0aW9uDQpbICAgIDEuMjExMTA2XSBQR0QgMmM0ZjA2NyBQNEQgMmM0
ZjA2NyBQVUQgMmM1MTA2NyBQTUQgMTAwMmU0MDY3IFBURSA4MDEwMDAwMTAwMmUzMDY3DQpb
ICAgIDEuMjExMTA2XSBPb3BzOiBPb3BzOiAwMDExIFsjOF0gU01QIE5PUFRJDQpbICAgIDEu
MjExMTA2XSBDUFU6IDAgVUlEOiAwIFBJRDogMCBDb21tOiBzd2FwcGVyLzAgTm90IHRhaW50
ZWQgNi4xNS4wLXJjNyAjNjkgUFJFRU1QVChmdWxsKSANClsgICAgMS4yMTExMDZdIEhhcmR3
YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKFEzNSArIElDSDksIDIwMDkpLCBCSU9TIDIw
MjQuMDItMnVidW50dTAuMSAxMC8yNS8yMDI0DQpbICAgIDEuMjExMTA2XSBSSVA6IGUwMzA6
MHhmZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBl
MCBjYyA8ZmY+IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZm
IGUwIGNjIGNjIGNjIGNjIGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6ZmZmZmM5MDA0
MDAwMmFlOCBFRkxBR1M6IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6IGZmZmZmZmZm
ODEzMDVkMjAgUkJYOiBmZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBmZmZmZmZmZg0K
WyAgICAxLjIxMTEwNl0gUkRYOiBmZmZmYzkwMDQwMDAyYjMwIFJTSTogMDAwMDAwMDAwMDAw
MDAwMSBSREk6IGZmZmZmZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJCUDogZmZmZmM5
MDA0MDAwMmIyMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDBi
DQpbICAgIDEuMjExMTA2XSBSMTA6IGZmZmZjOTAwNDAwMDI5YjAgUjExOiBmZmZmZmZmZjgy
ZDY1ZDA4IFIxMjogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gUjEzOiBmZmZm
YzkwMDQwMDAyYjMwIFIxNDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAwMDAwZmZmZmZm
ZmYNClsgICAgMS4yMTExMDZdIEZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpmZmZm
ODg4NGU5YzJlMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDANClsgICAgMS4yMTEx
MDZdIENTOiAgZTAzMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMN
ClsgICAgMS4yMTExMDZdIENSMjogZmZmZmZmZmZjMDAwMGJhYyBDUjM6IDAwMDAwMDAwMDJj
NGEwMDAgQ1I0OiAwMDAwMDAwMDAwMDUwNjYwDQpbICAgIDEuMjExMTA2XSBDYWxsIFRyYWNl
Og0KWyAgICAxLjIxMTEwNl0gIDxJUlE+DQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9j
YWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gIG5vdGlmeV9kaWUrMHg1MC8w
eDgwDQpbICAgIDEuMjExMTA2XSAgX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAg
cGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hf
ZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4
Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAga2VybmVsbW9kZV9maXh1cF9v
cl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICBfX2JhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVf
c2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICBiYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICBkb19rZXJuX2FkZHJfZmF1
bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gIGV4Y19wYWdlX2ZhdWx0KzB4
MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgz
MA0KWyAgICAxLjIxMTEwNl0gUklQOiBlMDMwOjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAx
LjIxMTEwNl0gQ29kZTogY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYg
ZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBm
ZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAx
LjIxMTEwNl0gUlNQOiBlMDJiOmZmZmZjOTAwNDAwMDJkYTggRUZMQUdTOiAwMDAxMDA4Ng0K
WyAgICAxLjIxMTEwNl0gUkFYOiBmZmZmZmZmZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRk
M2MwMCBSQ1g6IDAwMDAwMDAwZmZmZmZmZmYNClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5
MDA0MDAwMmRmMCBSU0k6IDAwMDAwMDAwMDAwMDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkw
DQpbICAgIDEuMjExMTA2XSBSQlA6IGZmZmZjOTAwNDAwMDJkZTAgUjA4OiAwMDAwMDAwMDAw
MDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwYg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZm
YzkwMDQwMDAyYzcwIFIxMTogZmZmZmZmZmY4MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAw
MDANClsgICAgMS4yMTExMDZdIFIxMzogZmZmZmM5MDA0MDAwMmRmMCBSMTQ6IGZmZmZmZmZm
ODJkZTAzOTAgUjE1OiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSAgPyBfX3Bm
eF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIx
MTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZd
ICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1
LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0K
WyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpb
ICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIx
MTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsg
ICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsg
ICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgz
MA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpb
ICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0K
WyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4y
MTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZd
ICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpb
ICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAx
LjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9f
ZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVl
LzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0
LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpb
ICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8w
eDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwr
MHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2
LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2
ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0K
WyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAx
LjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEw
LzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQw
DQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEw
Nl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29v
cHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFi
bGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIv
MHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3Jh
LjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3Jl
KzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5f
cG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBo
b3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBh
cnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1
LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMw
DQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90
aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisw
eDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAg
IDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2Vf
ZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2Vw
dGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRp
b24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9v
b3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9z
ZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9z
YXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFf
bm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJf
ZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1
bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsw
eDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0
aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxs
X2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4
ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0g
ID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFy
Y2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVw
X2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2Zp
eHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRf
YXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdf
Y2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBi
YWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tl
cm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNf
cGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdl
X2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2lu
dF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlm
aWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGll
KzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEu
MjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZd
ICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0g
ID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5l
bG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAg
PyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTEx
MDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0g
ID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZd
ICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21f
ZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF90aWNr
X2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IHhlbl90aW1l
cl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjExMTA2XSAgPyBfX2hhbmRsZV9pcnFf
ZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFf
ZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAgICAxLjIxMTEwNl0gID8gaGFuZGxlX3BlcmNw
dV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Rlc2MrMHgz
ZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBnZW5lcmljX2hhbmRsZV9pcnErMHgyMy8weDMw
DQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Zvcl9wb3J0KzB4NGQvMHgxMDANClsg
ICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysweDE3NC8weDFj
MA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysweDEyLzB4
MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4N2EvMHhkMA0K
WyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZfZXZ0Y2huX2RvX3VwY2FsbCsweDQ3LzB4NzAN
ClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4ZTYvMHgxMTAN
ClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsgICAgMS4yMTExMDZdICA8VEFTSz4NClsgICAg
MS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2aXNvcl9jYWxsYmFjaysweDgvMHgyMA0KWyAg
ICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2
XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9y
ZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMr
MHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTAN
ClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X29wY29kZSsweDYwLzB4MjkwDQpbICAgIDEu
MjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsweDI1LzB4MTAwDQpbICAgIDEuMjExMTA2XSAg
PyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhhNy8weDE2MA0KWyAgICAxLjIxMTEwNl0gID8g
aW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsgICAgMS4yMTExMDZdICA/IGluc25f
ZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2
Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBhcHBseV9yZXRwb2xpbmVzKzB4NTkvMHg2YzAN
ClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmMvMHg5MA0KWyAgICAxLjIx
MTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3Yi8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBw
Y2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/IHVucmVnaXN0ZXJf
ZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAgICAxLjIxMTEwNl0gID8gYWx0ZXJuYXRpdmVf
aW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4yMTExMDZdICA/IGFyY2hfY3B1X2Zp
bmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0X2tlcm5l
bCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEwNl0gID8gc21lX3VubWFwX2Jvb3RkYXRhKzB4
MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysw
eDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/IHhlbl9zdGFydF9rZXJuZWwrMHg1ODEvMHg3
MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0dXBfeGVuKzB4MWIvMHgyMA0KWyAgICAxLjIx
MTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTExMDZdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAg
ICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRvIGV4ZWN1dGUgTlgtcHJvdGVjdGVkIHBhZ2Ug
LSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDApDQpbICAgIDEuMjExMTA2XSBCVUc6IHVuYWJs
ZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3IgYWRkcmVzczogZmZmZmZmZmZjMDAwMGJhYw0K
WyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZpc29yIGluc3RydWN0aW9uIGZldGNoIGluIGtl
cm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAjUEY6IGVycm9yX2NvZGUoMHgwMDExKSAtIHBl
cm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAxLjIxMTEwNl0gUEdEIDJjNGYwNjcgUDREIDJj
NGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJlNDA2NyBQVEUgODAxMDAwMDEwMDJlMzA2Nw0K
WyAgICAxLjIxMTEwNl0gT29wczogT29wczogMDAxMSBbIzldIFNNUCBOT1BUSQ0KWyAgICAx
LjIxMTEwNl0gQ1BVOiAwIFVJRDogMCBQSUQ6IDAgQ29tbTogc3dhcHBlci8wIE5vdCB0YWlu
dGVkIDYuMTUuMC1yYzcgIzY5IFBSRUVNUFQoZnVsbCkgDQpbICAgIDEuMjExMTA2XSBIYXJk
d2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklPUyAy
MDI0LjAyLTJ1YnVudHUwLjEgMTAvMjUvMjAyNA0KWyAgICAxLjIxMTEwNl0gUklQOiBlMDMw
OjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gQ29kZTogY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYg
ZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBm
ZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAxLjIxMTEwNl0gUlNQOiBlMDJiOmZmZmZjOTAw
NDAwMDI4MjggRUZMQUdTOiAwMDAxMDA4Ng0KWyAgICAxLjIxMTEwNl0gUkFYOiBmZmZmZmZm
ZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRkM2MwMCBSQ1g6IDAwMDAwMDAwZmZmZmZmZmYN
ClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5MDA0MDAwMjg3MCBSU0k6IDAwMDAwMDAwMDAw
MDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkwDQpbICAgIDEuMjExMTA2XSBSQlA6IGZmZmZj
OTAwNDAwMDI4NjAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAw
Yg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZmYzkwMDQwMDAyNmYwIFIxMTogZmZmZmZmZmY4
MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAwMDANClsgICAgMS4yMTExMDZdIFIxMzogZmZm
ZmM5MDA0MDAwMjg3MCBSMTQ6IGZmZmZmZmZmODJkZTAzOTAgUjE1OiAwMDAwMDAwMGZmZmZm
ZmZmDQpbICAgIDEuMjExMTA2XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZm
Zjg4ODRlOWMyZTAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQpbICAgIDEuMjEx
MTA2XSBDUzogIGUwMzAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMz
DQpbICAgIDEuMjExMTA2XSBDUjI6IGZmZmZmZmZmYzAwMDBiYWMgQ1IzOiAwMDAwMDAwMDAy
YzRhMDAwIENSNDogMDAwMDAwMDAwMDA1MDY2MA0KWyAgICAxLjIxMTEwNl0gQ2FsbCBUcmFj
ZToNClsgICAgMS4yMTExMDZdICA8SVJRPg0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJf
Y2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICBub3RpZnlfZGllKzB4NTAv
MHg4MA0KWyAgICAxLjIxMTEwNl0gIF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0g
IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNo
X2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9l
eGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gIGtlcm5lbG1vZGVfZml4dXBf
b3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgX19iYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVl
X3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgYmFkX2FyZWFf
bm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgZG9fa2Vybl9hZGRyX2Zh
dWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICBleGNfcGFnZV9mYXVsdCsw
eDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gIGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4
MzANClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMNClsgICAg
MS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGZm
IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYgZTAgY2Mg
ZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MNClsgICAg
MS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAyYWU4IEVGTEFHUzogMDAwMTAwODYN
ClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZmZmZmODJk
ZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6IGZmZmZj
OTAwNDAwMDJiMzAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4MmRlMDM5
MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAyYjIwIFIwODogMDAwMDAwMDAw
MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIxMDogZmZm
ZmM5MDA0MDAwMjliMCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAwMDAwMDAw
MDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDJiMzAgUjE0OiBmZmZmZmZm
ZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gID8gX19w
ZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4y
MTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2
XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1
NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTAN
ClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4y
MTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4
MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0K
WyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEu
MjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0K
WyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAg
MS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1
ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2
NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0K
WyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVm
LzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUv
MHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFs
KzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgx
Ni8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4
NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzAN
ClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAg
MS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgx
MC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhk
MA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9v
b3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3Rh
YmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMy
LzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNy
YS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9y
ZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVu
X3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFw
aG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5w
YXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFi
NS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgz
MA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25v
dGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4r
MHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdl
X2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNl
cHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0
aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jf
b29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVf
c2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVh
X25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRy
X2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2Zh
dWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQr
MHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2Vw
dGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2Fs
bF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2Vh
cmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1
cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9m
aXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3
X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8g
YmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19r
ZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhj
X3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFn
ZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9p
bnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3Rp
Zmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2Rp
ZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2
XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJu
ZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjEx
MTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZd
ICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNt
X2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdf
YnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZd
ICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBu
b3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAg
MS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZd
ICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEu
MjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsg
ICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAx
LjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAg
MS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2
XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/
IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjExMTA2XSAgPyBfX2hh
bmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsgICAgMS4yMTExMDZdICA/IGhh
bmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAgICAxLjIxMTEwNl0gID8gaGFu
ZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJx
X2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBnZW5lcmljX2hhbmRsZV9pcnEr
MHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Zvcl9wb3J0KzB4NGQv
MHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysw
eDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50
cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4
N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZfZXZ0Y2huX2RvX3VwY2FsbCsw
eDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4
ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsgICAgMS4yMTExMDZdICA8VEFT
Sz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2aXNvcl9jYWxsYmFjaysweDgv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAg
IDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZd
ICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3Jl
bW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysw
eDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X29wY29kZSsweDYwLzB4Mjkw
DQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsweDI1LzB4MTAwDQpbICAgIDEu
MjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhhNy8weDE2MA0KWyAgICAxLjIx
MTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsgICAgMS4yMTExMDZd
ICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92
ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBhcHBseV9yZXRwb2xpbmVzKzB4
NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmMvMHg5MA0K
WyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3Yi8weDkwDQpbICAgIDEuMjEx
MTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/IHVu
cmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAgICAxLjIxMTEwNl0gID8gYWx0
ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4yMTExMDZdICA/IGFy
Y2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsgICAgMS4yMTExMDZdICA/IHN0
YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEwNl0gID8gc21lX3VubWFwX2Jv
b3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geDg2XzY0X3N0YXJ0X3Jlc2Vy
dmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/IHhlbl9zdGFydF9rZXJuZWwr
MHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0dXBfeGVuKzB4MWIvMHgyMA0K
WyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTExMDZdIE1vZHVsZXMgbGlua2Vk
IGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRvIGV4ZWN1dGUgTlgtcHJvdGVj
dGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDApDQpbICAgIDEuMjExMTA2XSBC
VUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3IgYWRkcmVzczogZmZmZmZmZmZj
MDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZpc29yIGluc3RydWN0aW9uIGZl
dGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAjUEY6IGVycm9yX2NvZGUoMHgw
MDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAxLjIxMTEwNl0gUEdEIDJjNGYw
NjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJlNDA2NyBQVEUgODAxMDAwMDEw
MDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczogMDAxMSBbIzEwXSBTTVAgTk9Q
VEkNClsgICAgMS4yMTExMDZdIENQVTogMCBVSUQ6IDAgUElEOiAwIENvbW06IHN3YXBwZXIv
MCBOb3QgdGFpbnRlZCA2LjE1LjAtcmM3ICM2OSBQUkVFTVBUKGZ1bGwpIA0KWyAgICAxLjIx
MTEwNl0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAw
OSksIEJJT1MgMjAyNC4wMi0ydWJ1bnR1MC4xIDEwLzI1LzIwMjQNClsgICAgMS4yMTExMDZd
IFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMNClsgICAgMS4yMTExMDZdIENvZGU6IGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZm
IGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2Mg
ZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MNClsgICAgMS4yMTExMDZdIFJTUDogZTAy
YjpmZmZmYzkwMDQwMDAyNTY4IEVGTEFHUzogMDAwMTAwODYNClsgICAgMS4yMTExMDZdIFJB
WDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZmZmZmODJkZDNjMDAgUkNYOiAwMDAwMDAw
MGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6IGZmZmZjOTAwNDAwMDI1YjAgUlNJOiAw
MDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4MmRlMDM5MA0KWyAgICAxLjIxMTEwNl0g
UkJQOiBmZmZmYzkwMDQwMDAyNWEwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAw
MDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIxMDogZmZmZmM5MDA0MDAwMjQzMCBSMTE6
IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAwMDAwMDAwMDAwDQpbICAgIDEuMjExMTA2
XSBSMTM6IGZmZmZjOTAwNDAwMDI1YjAgUjE0OiBmZmZmZmZmZjgyZGUwMzkwIFIxNTogMDAw
MDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAw
MDApIEdTOmZmZmY4ODg0ZTljMmUwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMA0K
WyAgICAxLjIxMTEwNl0gQ1M6ICBlMDMwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAw
MDA4MDA1MDAzMw0KWyAgICAxLjIxMTEwNl0gQ1IyOiBmZmZmZmZmZmMwMDAwYmFjIENSMzog
MDAwMDAwMDAwMmM0YTAwMCBDUjQ6IDAwMDAwMDAwMDAwNTA2NjANClsgICAgMS4yMTExMDZd
IENhbGwgVHJhY2U6DQpbICAgIDEuMjExMTA2XSAgPElSUT4NClsgICAgMS4yMTExMDZdICA/
IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgbm90aWZ5
X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICBfX2RpZSsweDU1LzB4NzANClsgICAg
MS4yMTExMDZdICBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZd
ICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0g
ID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICBrZXJuZWxt
b2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gIF9f
YmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9f
cmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0g
IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gIGRvX2tl
cm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgZXhjX3Bh
Z2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICBhc21fZXhjX3BhZ2VfZmF1
bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSBSSVA6IGUwMzA6MHhmZmZmZmZmZmMwMDAw
YmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyA8ZmY+IGUwIGNj
IGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGNjIGNjIGNj
IGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6ZmZmZmM5MDA0MDAwMjgyOCBFRkxBR1M6
IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6IGZmZmZmZmZmODEzMDVkMjAgUkJYOiBm
ZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0g
UkRYOiBmZmZmYzkwMDQwMDAyODcwIFJTSTogMDAwMDAwMDAwMDAwMDAwMSBSREk6IGZmZmZm
ZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJCUDogZmZmZmM5MDA0MDAwMjg2MCBSMDg6
IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDBiDQpbICAgIDEuMjExMTA2
XSBSMTA6IGZmZmZjOTAwNDAwMDI2ZjAgUjExOiBmZmZmZmZmZjgyZDY1ZDA4IFIxMjogMDAw
MDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gUjEzOiBmZmZmYzkwMDQwMDAyODcwIFIx
NDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAwMDAwZmZmZmZmZmYNClsgICAgMS4yMTEx
MDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEw
DQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAg
ICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/
IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4
MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysw
eDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2Mw
DQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4
NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3
NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92
YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsw
eDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjAr
MHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFj
MA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAg
ICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsw
eDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8w
eGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0
X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25f
dGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4
MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5p
c3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBo
b3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94
ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2Vt
YXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0
LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4
MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8w
eDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNf
bm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFp
bisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBh
Z2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4
Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNl
cHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9v
cl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFf
bm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxl
ZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2Fy
ZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2Fk
ZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2Vf
ZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVs
dCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhj
ZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9j
YWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUw
LzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBz
ZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZp
eHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2Rl
X2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19i
YWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19y
YXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAg
PyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRv
X2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBl
eGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19w
YWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtw
b2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5v
dGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlf
ZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTEx
MDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtl
cm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2
XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4y
MTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEw
Nl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBh
c21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9o
d19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEw
Nl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/
IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4
NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAg
ICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEw
Nl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAg
MS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAg
MS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0K
WyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAg
IDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTEx
MDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/
IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAg
IDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIx
MTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGll
KzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4
NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4
NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAg
IDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3
MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0
MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgx
OS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4
MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAg
ICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIx
MTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4
MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpb
ICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMr
MHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVz
KzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgz
YzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjAr
MHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4
MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1k
X3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3Jl
KzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQu
MCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4
MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTAN
ClsgICAgMS4yMTExMDZdICA/IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAg
IDEuMjExMTA2XSAgPyBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsg
ICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAg
ICAxLjIxMTEwNl0gID8gaGFuZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjEx
MTA2XSAgPyBoYW5kbGVfaXJxX2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBn
ZW5lcmljX2hhbmRsZV9pcnErMHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVf
aXJxX2Zvcl9wb3J0KzB4NGQvMHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2Zp
Zm9faGFuZGxlX2V2ZW50cysweDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2hu
X2ZpZm9faGFuZGxlX2V2ZW50cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9l
dnRjaG5fZG9fdXBjYWxsKzB4N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZf
ZXZ0Y2huX2RvX3VwY2FsbCsweDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9l
dnRjaG5fZG9fdXBjYWxsKzB4ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsg
ICAgMS4yMTExMDZdICA8VEFTSz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2
aXNvcl9jYWxsYmFjaysweDgvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9i
dXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4
OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAx
LjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAg
PyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0
X29wY29kZSsweDYwLzB4MjkwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsw
eDI1LzB4MTAwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhh
Ny8weDE2MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgz
NDANClsgICAgMS4yMTExMDZdICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBh
cHBseV9yZXRwb2xpbmVzKzB4NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1v
dmVfYnVzKzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3
Yi8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsg
ICAgMS4yMTExMDZdICA/IHVucmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAg
ICAxLjIxMTEwNl0gID8gYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsg
ICAgMS4yMTExMDZdICA/IGFyY2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsg
ICAgMS4yMTExMDZdICA/IHN0YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEw
Nl0gID8gc21lX3VubWFwX2Jvb3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
eDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/
IHhlbl9zdGFydF9rZXJuZWwrMHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0
dXBfeGVuKzB4MWIvMHgyMA0KWyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTEx
MDZdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRv
IGV4ZWN1dGUgTlgtcHJvdGVjdGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDAp
DQpbICAgIDEuMjExMTA2XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3Ig
YWRkcmVzczogZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZp
c29yIGluc3RydWN0aW9uIGZldGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAj
UEY6IGVycm9yX2NvZGUoMHgwMDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAx
LjIxMTEwNl0gUEdEIDJjNGYwNjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJl
NDA2NyBQVEUgODAxMDAwMDEwMDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczog
MDAxMSBbIzExXSBTTVAgTk9QVEkNClsgICAgMS4yMTExMDZdIENQVTogMCBVSUQ6IDAgUElE
OiAwIENvbW06IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCA2LjE1LjAtcmM3ICM2OSBQUkVFTVBU
KGZ1bGwpIA0KWyAgICAxLjIxMTEwNl0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQ
QyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1MgMjAyNC4wMi0ydWJ1bnR1MC4xIDEwLzI1LzIw
MjQNClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMNClsgICAg
MS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGZm
IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYgZTAgY2Mg
ZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MNClsgICAg
MS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAyMmE4IEVGTEFHUzogMDAwMTAwODYN
ClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZmZmZmODJk
ZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6IGZmZmZj
OTAwNDAwMDIyZjAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4MmRlMDM5
MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAyMmUwIFIwODogMDAwMDAwMDAw
MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIxMDogZmZm
ZmM5MDA0MDAwMjE3MCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAwMDAwMDAw
MDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDIyZjAgUjE0OiBmZmZmZmZm
ZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gRlM6ICAw
MDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODg0ZTljMmUwMDAoMDAwMCkga25sR1M6
MDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gQ1M6ICBlMDMwIERTOiAwMDAwIEVT
OiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0KWyAgICAxLjIxMTEwNl0gQ1IyOiBmZmZm
ZmZmZmMwMDAwYmFjIENSMzogMDAwMDAwMDAwMmM0YTAwMCBDUjQ6IDAwMDAwMDAwMDAwNTA2
NjANClsgICAgMS4yMTExMDZdIENhbGwgVHJhY2U6DQpbICAgIDEuMjExMTA2XSAgPElSUT4N
ClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAg
IDEuMjExMTA2XSAgbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICBfX2Rp
ZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0
OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3
MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAg
MS4yMTExMDZdICBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0K
WyAgICAxLjIxMTEwNl0gIF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsg
ICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgz
MA0KWyAgICAxLjIxMTEwNl0gIGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAg
ICAxLjIxMTEwNl0gIGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAg
IDEuMjExMTA2XSAgZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZd
ICBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSBSSVA6IGUw
MzA6MHhmZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBm
ZiBlMCBjYyA8ZmY+IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNj
IGZmIGUwIGNjIGNjIGNjIGNjIGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6ZmZmZmM5
MDA0MDAwMjU2OCBFRkxBR1M6IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6IGZmZmZm
ZmZmODEzMDVkMjAgUkJYOiBmZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBmZmZmZmZm
Zg0KWyAgICAxLjIxMTEwNl0gUkRYOiBmZmZmYzkwMDQwMDAyNWIwIFJTSTogMDAwMDAwMDAw
MDAwMDAwMSBSREk6IGZmZmZmZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJCUDogZmZm
ZmM5MDA0MDAwMjVhMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAw
MDBiDQpbICAgIDEuMjExMTA2XSBSMTA6IGZmZmZjOTAwNDAwMDI0MzAgUjExOiBmZmZmZmZm
ZjgyZDY1ZDA4IFIxMjogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gUjEzOiBm
ZmZmYzkwMDQwMDAyNWIwIFIxNDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAwMDAwZmZm
ZmZmZmYNClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9u
c19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2No
YWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
cGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hf
ZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4
Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVw
X29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJl
YV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2Fs
bGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRf
YXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5f
YWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFn
ZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2Zh
dWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9l
eGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVy
X2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4
NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/
IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
Zml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1v
ZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZd
ICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8g
ZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/
IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhj
X3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVh
a3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8g
bm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlm
eV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIx
MTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8g
a2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTEx
MDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTEx
MDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAx
LjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/
IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4
X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjEx
MTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0g
ID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpb
ICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjEx
MTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMw
DQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsg
ICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpb
ICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIx
MTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0g
ID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsg
ICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEu
MjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19k
aWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUv
MHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsg
ICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8w
eDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4
MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsw
eDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZl
LzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpb
ICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAv
MHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDAN
ClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29w
cysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJs
ZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8w
eDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEu
MCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUr
MHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9w
bWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhv
cmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFy
dC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUv
MHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzAN
ClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3Rp
ZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4
NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAg
MS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9m
YXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0
aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlv
bisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29v
cHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3Nl
bWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3Nh
dmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9m
YXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVs
dCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4
MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRp
b25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxf
Y2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJj
aF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBf
ZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4
dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9h
cmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19j
YWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJh
ZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vy
bl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19w
YWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2Vf
ZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50
X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZp
ZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUr
MHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4y
MTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0g
ID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVs
bW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/
IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/
IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEw
Nl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAg
PyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9l
eGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X3RpY2tf
aGFuZGxlX3BlcmlvZGljKzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8geGVuX3RpbWVy
X2ludGVycnVwdCsweDMxLzB4NDANClsgICAgMS4yMTExMDZdICA/IF9faGFuZGxlX2lycV9l
dmVudF9wZXJjcHUrMHg0Yy8weDFkMA0KWyAgICAxLjIxMTEwNl0gID8gaGFuZGxlX2lycV9l
dmVudF9wZXJjcHUrMHgxOC8weDUwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfcGVyY3B1
X2lycSsweDU5LzB4ODANClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZGVzYysweDNl
LzB4NjANClsgICAgMS4yMTExMDZdICA/IGdlbmVyaWNfaGFuZGxlX2lycSsweDIzLzB4MzAN
ClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZm9yX3BvcnQrMHg0ZC8weDEwMA0KWyAg
ICAxLjIxMTEwNl0gID8gX19ldnRjaG5fZmlmb19oYW5kbGVfZXZlbnRzKzB4MTc0LzB4MWMw
DQpbICAgIDEuMjExMTA2XSAgPyBldnRjaG5fZmlmb19oYW5kbGVfZXZlbnRzKzB4MTIvMHgy
MA0KWyAgICAxLjIxMTEwNl0gID8geGVuX2V2dGNobl9kb191cGNhbGwrMHg3YS8weGQwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3hlbl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4NDcvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8geGVuX3B2X2V2dGNobl9kb191cGNhbGwrMHhlNi8weDExMA0K
WyAgICAxLjIxMTEwNl0gIDwvSVJRPg0KWyAgICAxLjIxMTEwNl0gIDxUQVNLPg0KWyAgICAx
LjIxMTEwNl0gID8gZXhjX3hlbl9oeXBlcnZpc29yX2NhbGxiYWNrKzB4OC8weDIwDQpbICAg
IDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZjLzB4OTANClsgICAgMS4yMTExMDZd
ICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3Jl
bW92ZV9idXMrMHg2ZC8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysw
eDZjLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4N2IvMHg5MA0K
WyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfb3Bjb2RlKzB4NjAvMHgyOTANClsgICAgMS4y
MTExMDZdICA/IGluc25fZ2V0X21vZHJtKzB4MjUvMHgxMDANClsgICAgMS4yMTExMDZdICA/
IGluc25fZ2V0X2Rpc3BsYWNlbWVudCsweGE3LzB4MTYwDQpbICAgIDEuMjExMTA2XSAgPyBp
bnNuX2dldF9pbW1lZGlhdGUrMHgyMy8weDM0MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9k
ZWNvZGUrMHg2Mi8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZj
LzB4OTANClsgICAgMS4yMTExMDZdICA/IGFwcGx5X3JldHBvbGluZXMrMHg1OS8weDZjMA0K
WyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjEx
MTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBj
aV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gdW5yZWdpc3Rlcl9k
aWVfbm90aWZpZXIrMHg0Ny8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBhbHRlcm5hdGl2ZV9p
bnN0cnVjdGlvbnMrMHgzOC8weDE0MA0KWyAgICAxLjIxMTEwNl0gID8gYXJjaF9jcHVfZmlu
YWxpemVfaW5pdCsweDEyNS8weDE5MA0KWyAgICAxLjIxMTEwNl0gID8gc3RhcnRfa2VybmVs
KzB4NmQzLzB4YWIwDQpbICAgIDEuMjExMTA2XSAgPyBzbWVfdW5tYXBfYm9vdGRhdGErMHgx
OC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4
MWMvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8geGVuX3N0YXJ0X2tlcm5lbCsweDU4MS8weDcw
MA0KWyAgICAxLjIxMTEwNl0gID8gc3RhcnR1cF94ZW4rMHgxYi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPC9UQVNLPg0KWyAgICAxLjIxMTEwNl0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAg
IDEuMjExMTA2XSBrZXJuZWwgdHJpZWQgdG8gZXhlY3V0ZSBOWC1wcm90ZWN0ZWQgcGFnZSAt
IGV4cGxvaXQgYXR0ZW1wdD8gKHVpZDogMCkNClsgICAgMS4yMTExMDZdIEJVRzogdW5hYmxl
IHRvIGhhbmRsZSBwYWdlIGZhdWx0IGZvciBhZGRyZXNzOiBmZmZmZmZmZmMwMDAwYmFjDQpb
ICAgIDEuMjExMTA2XSAjUEY6IHN1cGVydmlzb3IgaW5zdHJ1Y3Rpb24gZmV0Y2ggaW4ga2Vy
bmVsIG1vZGUNClsgICAgMS4yMTExMDZdICNQRjogZXJyb3JfY29kZSgweDAwMTEpIC0gcGVy
bWlzc2lvbnMgdmlvbGF0aW9uDQpbICAgIDEuMjExMTA2XSBQR0QgMmM0ZjA2NyBQNEQgMmM0
ZjA2NyBQVUQgMmM1MTA2NyBQTUQgMTAwMmU0MDY3IFBURSA4MDEwMDAwMTAwMmUzMDY3DQpb
ICAgIDEuMjExMTA2XSBPb3BzOiBPb3BzOiAwMDExIFsjMTJdIFNNUCBOT1BUSQ0KWyAgICAx
LjIxMTEwNl0gQ1BVOiAwIFVJRDogMCBQSUQ6IDAgQ29tbTogc3dhcHBlci8wIE5vdCB0YWlu
dGVkIDYuMTUuMC1yYzcgIzY5IFBSRUVNUFQoZnVsbCkgDQpbICAgIDEuMjExMTA2XSBIYXJk
d2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklPUyAy
MDI0LjAyLTJ1YnVudHUwLjEgMTAvMjUvMjAyNA0KWyAgICAxLjIxMTEwNl0gUklQOiBlMDMw
OjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gQ29kZTogY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYg
ZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBm
ZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAxLjIxMTEwNl0gUlNQOiBlMDJiOmZmZmZjOTAw
NDAwMDFmZTggRUZMQUdTOiAwMDAxMDA4Ng0KWyAgICAxLjIxMTEwNl0gUkFYOiBmZmZmZmZm
ZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRkM2MwMCBSQ1g6IDAwMDAwMDAwZmZmZmZmZmYN
ClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5MDA0MDAwMjAzMCBSU0k6IDAwMDAwMDAwMDAw
MDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkwDQpbICAgIDEuMjExMTA2XSBSQlA6IGZmZmZj
OTAwNDAwMDIwMjAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAw
Yg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZmYzkwMDQwMDAxZWIwIFIxMTogZmZmZmZmZmY4
MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAwMDANClsgICAgMS4yMTExMDZdIFIxMzogZmZm
ZmM5MDA0MDAwMjAzMCBSMTQ6IGZmZmZmZmZmODJkZTAzOTAgUjE1OiAwMDAwMDAwMGZmZmZm
ZmZmDQpbICAgIDEuMjExMTA2XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZm
Zjg4ODRlOWMyZTAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQpbICAgIDEuMjEx
MTA2XSBDUzogIGUwMzAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMz
DQpbICAgIDEuMjExMTA2XSBDUjI6IGZmZmZmZmZmYzAwMDBiYWMgQ1IzOiAwMDAwMDAwMDAy
YzRhMDAwIENSNDogMDAwMDAwMDAwMDA1MDY2MA0KWyAgICAxLjIxMTEwNl0gQ2FsbCBUcmFj
ZToNClsgICAgMS4yMTExMDZdICA8SVJRPg0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJf
Y2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICBub3RpZnlfZGllKzB4NTAv
MHg4MA0KWyAgICAxLjIxMTEwNl0gIF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0g
IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNo
X2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9l
eGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gIGtlcm5lbG1vZGVfZml4dXBf
b3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgX19iYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVl
X3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgYmFkX2FyZWFf
bm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgZG9fa2Vybl9hZGRyX2Zh
dWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICBleGNfcGFnZV9mYXVsdCsw
eDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gIGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4
MzANClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMNClsgICAg
MS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGZm
IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYgZTAgY2Mg
ZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MNClsgICAg
MS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAyMmE4IEVGTEFHUzogMDAwMTAwODYN
ClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZmZmZmODJk
ZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6IGZmZmZj
OTAwNDAwMDIyZjAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4MmRlMDM5
MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAyMmUwIFIwODogMDAwMDAwMDAw
MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIxMDogZmZm
ZmM5MDA0MDAwMjE3MCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAwMDAwMDAw
MDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDIyZjAgUjE0OiBmZmZmZmZm
ZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gID8gX19w
ZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4y
MTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2
XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1
NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTAN
ClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4y
MTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4
MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0K
WyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEu
MjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0K
WyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAg
MS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1
ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2
NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0K
WyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVm
LzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUv
MHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFs
KzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgx
Ni8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4
NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzAN
ClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAg
MS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgx
MC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhk
MA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9v
b3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3Rh
YmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMy
LzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNy
YS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9y
ZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVu
X3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFw
aG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5w
YXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFi
NS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgz
MA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25v
dGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4r
MHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdl
X2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNl
cHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0
aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jf
b29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVf
c2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVh
X25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRy
X2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2Zh
dWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQr
MHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2Vw
dGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2Fs
bF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2Vh
cmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1
cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9m
aXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3
X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8g
YmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19r
ZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhj
X3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFn
ZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9p
bnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3Rp
Zmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2Rp
ZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2
XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJu
ZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjEx
MTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZd
ICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNt
X2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdf
YnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZd
ICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBu
b3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAg
MS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZd
ICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEu
MjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsg
ICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAx
LjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAg
MS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2
XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAx
LjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTEx
MDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsw
eDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5
MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAx
LjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzAN
ClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDAN
ClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkv
MHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIw
DQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAg
MS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTEx
MDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEw
DQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAg
ICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/
IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4
MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysw
eDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2Mw
DQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4
NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3
NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92
YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsw
eDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjAr
MHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFj
MA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAg
ICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsw
eDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8w
eGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0
X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25f
dGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4
MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5p
c3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBo
b3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94
ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2Vt
YXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0
LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4
MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8w
eDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEw
LzB4MTANClsgICAgMS4yMTExMDZdICA/IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQw
DQpbICAgIDEuMjExMTA2XSAgPyBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgx
ZDANClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1
MA0KWyAgICAxLjIxMTEwNl0gID8gaGFuZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAg
IDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2
XSAgPyBnZW5lcmljX2hhbmRsZV9pcnErMHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBo
YW5kbGVfaXJxX2Zvcl9wb3J0KzB4NGQvMHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0
Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysweDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8g
ZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/
IHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194
ZW5fcHZfZXZ0Y2huX2RvX3VwY2FsbCsweDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhl
bl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lS
UT4NClsgICAgMS4yMTExMDZdICA8VEFTSz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5f
aHlwZXJ2aXNvcl9jYWxsYmFjaysweDgvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3Jl
bW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysw
eDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0K
WyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjEx
MTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGlu
c25fZ2V0X29wY29kZSsweDYwLzB4MjkwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9t
b2RybSsweDI1LzB4MTAwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1l
bnQrMHhhNy8weDE2MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4
MjMvMHgzNDANClsgICAgMS4yMTExMDZdICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2
XSAgPyBhcHBseV9yZXRwb2xpbmVzKzB4NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBj
aV9yZW1vdmVfYnVzKzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9i
dXMrMHg3Yi8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4
OTANClsgICAgMS4yMTExMDZdICA/IHVucmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2
MA0KWyAgICAxLjIxMTEwNl0gID8gYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgx
NDANClsgICAgMS4yMTExMDZdICA/IGFyY2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgx
OTANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAx
LjIxMTEwNl0gID8gc21lX3VubWFwX2Jvb3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTEx
MDZdICA/IHhlbl9zdGFydF9rZXJuZWwrMHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/
IHN0YXJ0dXBfeGVuKzB4MWIvMHgyMA0KWyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAg
MS4yMTExMDZdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRy
aWVkIHRvIGV4ZWN1dGUgTlgtcHJvdGVjdGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1
aWQ6IDApDQpbICAgIDEuMjExMTA2XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVs
dCBmb3IgYWRkcmVzczogZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBz
dXBlcnZpc29yIGluc3RydWN0aW9uIGZldGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjEx
MTA2XSAjUEY6IGVycm9yX2NvZGUoMHgwMDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0K
WyAgICAxLjIxMTEwNl0gUEdEIDJjNGYwNjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1E
IDEwMDJlNDA2NyBQVEUgODAxMDAwMDEwMDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczog
T29wczogMDAxMSBbIzEzXSBTTVAgTk9QVEkNClsgICAgMS4yMTExMDZdIENQVTogMCBVSUQ6
IDAgUElEOiAwIENvbW06IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCA2LjE1LjAtcmM3ICM2OSBQ
UkVFTVBUKGZ1bGwpIA0KWyAgICAxLjIxMTEwNl0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFu
ZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1MgMjAyNC4wMi0ydWJ1bnR1MC4xIDEw
LzI1LzIwMjQNClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMN
ClsgICAgMS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYg
ZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MN
ClsgICAgMS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAxZDI4IEVGTEFHUzogMDAw
MTAwODYNClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZm
ZmZmODJkZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6
IGZmZmZjOTAwNDAwMDFkNzAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4
MmRlMDM5MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAxZDYwIFIwODogMDAw
MDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIx
MDogZmZmZmM5MDA0MDAwMWJmMCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAw
MDAwMDAwMDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDFkNzAgUjE0OiBm
ZmZmZmZmZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0g
RlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODg0ZTljMmUwMDAoMDAwMCkg
a25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gQ1M6ICBlMDMwIERTOiAw
MDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0KWyAgICAxLjIxMTEwNl0gQ1Iy
OiBmZmZmZmZmZmMwMDAwYmFjIENSMzogMDAwMDAwMDAwMmM0YTAwMCBDUjQ6IDAwMDAwMDAw
MDAwNTA2NjANClsgICAgMS4yMTExMDZdIENhbGwgVHJhY2U6DQpbICAgIDEuMjExMTA2XSAg
PElSUT4NClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQw
DQpbICAgIDEuMjExMTA2XSAgbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZd
ICBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICBwYWdlX2ZhdWx0X29vcHMrMHgx
NWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4
NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzAN
ClsgICAgMS4yMTExMDZdICBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYv
MHg3MA0KWyAgICAxLjIxMTEwNl0gIF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgy
NDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4
MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gIGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgy
MA0KWyAgICAxLjIxMTEwNl0gIGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgw
DQpbICAgIDEuMjExMTA2XSAgZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4y
MTExMDZdICBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSBS
SVA6IGUwMzA6MHhmZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBl
MCBjYyBmZiBlMCBjYyA8ZmY+IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZm
IGUwIGNjIGZmIGUwIGNjIGNjIGNjIGNjIGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6
ZmZmZmM5MDA0MDAwMWZlOCBFRkxBR1M6IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6
IGZmZmZmZmZmODEzMDVkMjAgUkJYOiBmZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBm
ZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gUkRYOiBmZmZmYzkwMDQwMDAyMDMwIFJTSTogMDAw
MDAwMDAwMDAwMDAwMSBSREk6IGZmZmZmZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJC
UDogZmZmZmM5MDA0MDAwMjAyMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAw
MDAwMDAwMDBiDQpbICAgIDEuMjExMTA2XSBSMTA6IGZmZmZjOTAwNDAwMDFlYjAgUjExOiBm
ZmZmZmZmZjgyZDY1ZDA4IFIxMjogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0g
UjEzOiBmZmZmYzkwMDQwMDAyMDMwIFIxNDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAw
MDAwZmZmZmZmZmYNClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhj
ZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9j
YWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUw
LzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBz
ZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZp
eHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2Rl
X2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19i
YWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19y
YXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAg
PyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRv
X2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBl
eGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19w
YWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtw
b2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5v
dGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlf
ZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTEx
MDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtl
cm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2
XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4y
MTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEw
Nl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBh
c21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9o
d19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEw
Nl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/
IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4
NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAg
ICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEw
Nl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAg
MS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAg
MS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0K
WyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAg
IDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTEx
MDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/
IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAg
IDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIx
MTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGll
KzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4
NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4
NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAg
IDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3
MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0
MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgx
OS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4
MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAg
ICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIx
MTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4
MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpb
ICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMr
MHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVz
KzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgz
YzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjAr
MHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4
MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1k
X3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3Jl
KzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQu
MCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4
MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5
KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1
LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEu
MjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1
bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlv
bl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24r
MHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3Bz
LmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1h
cGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZl
X3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9z
ZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1
bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQr
MHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJi
LzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9u
c19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2No
YWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
cGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hf
ZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4
Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVw
X29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJl
YV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2Fs
bGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRf
YXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5f
YWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFn
ZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2Zh
dWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9l
eGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVy
X2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4
NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/
IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
Zml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1v
ZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZd
ICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8g
ZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/
IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhj
X3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVh
a3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8g
bm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlm
eV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIx
MTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8g
a2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTEx
MDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTEx
MDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAx
LjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/
IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4
X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjEx
MTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0g
ID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpb
ICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjEx
MTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMw
DQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsg
ICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpb
ICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIx
MTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0g
ID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsg
ICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEu
MjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19k
aWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUv
MHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsg
ICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8w
eDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4
MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsw
eDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZl
LzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpb
ICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTANClsgICAg
MS4yMTExMDZdICA/IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjEx
MTA2XSAgPyBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsgICAgMS4y
MTExMDZdICA/IGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAgICAxLjIx
MTEwNl0gID8gaGFuZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAg
PyBoYW5kbGVfaXJxX2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBnZW5lcmlj
X2hhbmRsZV9pcnErMHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Zv
cl9wb3J0KzB4NGQvMHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2ZpZm9faGFu
ZGxlX2V2ZW50cysweDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2huX2ZpZm9f
aGFuZGxlX2V2ZW50cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9ldnRjaG5f
ZG9fdXBjYWxsKzB4N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZfZXZ0Y2hu
X2RvX3VwY2FsbCsweDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9ldnRjaG5f
ZG9fdXBjYWxsKzB4ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsgICAgMS4y
MTExMDZdICA8VEFTSz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2aXNvcl9j
YWxsYmFjaysweDgvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2
Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsg
ICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEw
Nl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lf
cmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X29wY29k
ZSsweDYwLzB4MjkwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsweDI1LzB4
MTAwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhhNy8weDE2
MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsg
ICAgMS4yMTExMDZdICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBhcHBseV9y
ZXRwb2xpbmVzKzB4NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVz
KzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3Yi8weDkw
DQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4y
MTExMDZdICA/IHVucmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAgICAxLjIx
MTEwNl0gID8gYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4y
MTExMDZdICA/IGFyY2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsgICAgMS4y
MTExMDZdICA/IHN0YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEwNl0gID8g
c21lX3VubWFwX2Jvb3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geDg2XzY0
X3N0YXJ0X3Jlc2VydmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/IHhlbl9z
dGFydF9rZXJuZWwrMHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0dXBfeGVu
KzB4MWIvMHgyMA0KWyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTExMDZdIE1v
ZHVsZXMgbGlua2VkIGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRvIGV4ZWN1
dGUgTlgtcHJvdGVjdGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDApDQpbICAg
IDEuMjExMTA2XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3IgYWRkcmVz
czogZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZpc29yIGlu
c3RydWN0aW9uIGZldGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAjUEY6IGVy
cm9yX2NvZGUoMHgwMDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAxLjIxMTEw
Nl0gUEdEIDJjNGYwNjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJlNDA2NyBQ
VEUgODAxMDAwMDEwMDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczogMDAxMSBb
IzE0XSBTTVAgTk9QVEkNClsgICAgMS4yMTExMDZdIENQVTogMCBVSUQ6IDAgUElEOiAwIENv
bW06IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCA2LjE1LjAtcmM3ICM2OSBQUkVFTVBUKGZ1bGwp
IA0KWyAgICAxLjIxMTEwNl0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1
ICsgSUNIOSwgMjAwOSksIEJJT1MgMjAyNC4wMi0ydWJ1bnR1MC4xIDEwLzI1LzIwMjQNClsg
ICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMNClsgICAgMS4yMTEx
MDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGZmIGUwIGNj
IGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYgZTAgY2MgZmYgZTAg
Y2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MNClsgICAgMS4yMTEx
MDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAxYTY4IEVGTEFHUzogMDAwMTAwODYNClsgICAg
MS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZmZmZmODJkZDNjMDAg
UkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6IGZmZmZjOTAwNDAw
MDFhYjAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4MmRlMDM5MA0KWyAg
ICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAxYWEwIFIwODogMDAwMDAwMDAwMDAwMDAw
MCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIxMDogZmZmZmM5MDA0
MDAwMTkzMCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAwMDAwMDAwMDAwDQpb
ICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDFhYjAgUjE0OiBmZmZmZmZmZjgyZGUw
MzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gRlM6ICAwMDAwMDAw
MDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODg0ZTljMmUwMDAoMDAwMCkga25sR1M6MDAwMDAw
MDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gQ1M6ICBlMDMwIERTOiAwMDAwIEVTOiAwMDAw
IENSMDogMDAwMDAwMDA4MDA1MDAzMw0KWyAgICAxLjIxMTEwNl0gQ1IyOiBmZmZmZmZmZmMw
MDAwYmFjIENSMzogMDAwMDAwMDAwMmM0YTAwMCBDUjQ6IDAwMDAwMDAwMDAwNTA2NjANClsg
ICAgMS4yMTExMDZdIENhbGwgVHJhY2U6DQpbICAgIDEuMjExMTA2XSAgPElSUT4NClsgICAg
MS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjEx
MTA2XSAgbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICBfX2RpZSsweDU1
LzB4NzANClsgICAgMS4yMTExMDZdICBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsg
ICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAg
ICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTEx
MDZdICBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAx
LjIxMTEwNl0gIF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4y
MTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAg
ICAxLjIxMTEwNl0gIGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIx
MTEwNl0gIGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjEx
MTA2XSAgZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICBhc21f
ZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSBSSVA6IGUwMzA6MHhm
ZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBj
YyA8ZmY+IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUw
IGNjIGNjIGNjIGNjIGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6ZmZmZmM5MDA0MDAw
MWQyOCBFRkxBR1M6IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6IGZmZmZmZmZmODEz
MDVkMjAgUkJYOiBmZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBmZmZmZmZmZg0KWyAg
ICAxLjIxMTEwNl0gUkRYOiBmZmZmYzkwMDQwMDAxZDcwIFJTSTogMDAwMDAwMDAwMDAwMDAw
MSBSREk6IGZmZmZmZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJCUDogZmZmZmM5MDA0
MDAwMWQ2MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDBiDQpb
ICAgIDEuMjExMTA2XSBSMTA6IGZmZmZjOTAwNDAwMDFiZjAgUjExOiBmZmZmZmZmZjgyZDY1
ZDA4IFIxMjogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gUjEzOiBmZmZmYzkw
MDQwMDAxZDcwIFIxNDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAwMDAwZmZmZmZmZmYN
ClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3Rp
ZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4
NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAg
MS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9m
YXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0
aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlv
bisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29v
cHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3Nl
bWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3Nh
dmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9m
YXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVs
dCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4
MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRp
b25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxf
Y2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJj
aF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBf
ZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4
dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9h
cmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19j
YWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJh
ZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vy
bl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19w
YWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2Vf
ZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50
X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZp
ZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUr
MHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4y
MTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0g
ID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVs
bW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/
IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/
IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEw
Nl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAg
PyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9l
eGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2Jy
ZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAg
PyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90
aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEu
MjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4y
MTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAg
PyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIx
MTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIx
MTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAg
IDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4y
MTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEu
MjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0g
ID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19w
ZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4y
MTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2
XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1
NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTAN
ClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4y
MTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4
MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0K
WyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEu
MjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0K
WyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAg
MS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1
ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2
NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0K
WyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVm
LzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUv
MHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFs
KzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgx
Ni8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4
NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzAN
ClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAg
MS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgx
MC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhk
MA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9v
b3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3Rh
YmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMy
LzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNy
YS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9y
ZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVu
X3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFw
aG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5w
YXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFi
NS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgz
MA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25v
dGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4r
MHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdl
X2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNl
cHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0
aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jf
b29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVf
c2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVh
X25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRy
X2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2Zh
dWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQr
MHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2Vw
dGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2Fs
bF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2Vh
cmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1
cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9m
aXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3
X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8g
YmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19r
ZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhj
X3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFn
ZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9p
bnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3Rp
Zmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2Rp
ZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2
XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJu
ZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjEx
MTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZd
ICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNt
X2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdf
YnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZd
ICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBu
b3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAg
MS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZd
ICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEu
MjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsg
ICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAx
LjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAg
MS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2
XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAx
LjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTEx
MDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsw
eDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5
MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAx
LjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzAN
ClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDAN
ClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkv
MHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIw
DQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAg
MS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTEx
MDZdICA/IF9fcGZ4X3RpY2tfaGFuZGxlX3BlcmlvZGljKzB4MTAvMHgxMA0KWyAgICAxLjIx
MTEwNl0gID8geGVuX3RpbWVyX2ludGVycnVwdCsweDMxLzB4NDANClsgICAgMS4yMTExMDZd
ICA/IF9faGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHg0Yy8weDFkMA0KWyAgICAxLjIxMTEw
Nl0gID8gaGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHgxOC8weDUwDQpbICAgIDEuMjExMTA2
XSAgPyBoYW5kbGVfcGVyY3B1X2lycSsweDU5LzB4ODANClsgICAgMS4yMTExMDZdICA/IGhh
bmRsZV9pcnFfZGVzYysweDNlLzB4NjANClsgICAgMS4yMTExMDZdICA/IGdlbmVyaWNfaGFu
ZGxlX2lycSsweDIzLzB4MzANClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZm9yX3Bv
cnQrMHg0ZC8weDEwMA0KWyAgICAxLjIxMTEwNl0gID8gX19ldnRjaG5fZmlmb19oYW5kbGVf
ZXZlbnRzKzB4MTc0LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBldnRjaG5fZmlmb19oYW5k
bGVfZXZlbnRzKzB4MTIvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8geGVuX2V2dGNobl9kb191
cGNhbGwrMHg3YS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3hlbl9wdl9ldnRjaG5fZG9f
dXBjYWxsKzB4NDcvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geGVuX3B2X2V2dGNobl9kb191
cGNhbGwrMHhlNi8weDExMA0KWyAgICAxLjIxMTEwNl0gIDwvSVJRPg0KWyAgICAxLjIxMTEw
Nl0gIDxUQVNLPg0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3hlbl9oeXBlcnZpc29yX2NhbGxi
YWNrKzB4OC8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZjLzB4
OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAx
LjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2ZC8weDkwDQpbICAgIDEuMjExMTA2XSAg
PyBwY2lfcmVtb3ZlX2J1cysweDZjLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1v
dmVfYnVzKzB4N2IvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfb3Bjb2RlKzB4
NjAvMHgyOTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X21vZHJtKzB4MjUvMHgxMDAN
ClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X2Rpc3BsYWNlbWVudCsweGE3LzB4MTYwDQpb
ICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9pbW1lZGlhdGUrMHgyMy8weDM0MA0KWyAgICAx
LjIxMTEwNl0gID8gaW5zbl9kZWNvZGUrMHg2Mi8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBw
Y2lfcmVtb3ZlX2J1cysweDZjLzB4OTANClsgICAgMS4yMTExMDZdICA/IGFwcGx5X3JldHBv
bGluZXMrMHg1OS8weDZjMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2
Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsg
ICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEw
Nl0gID8gdW5yZWdpc3Rlcl9kaWVfbm90aWZpZXIrMHg0Ny8weDYwDQpbICAgIDEuMjExMTA2
XSAgPyBhbHRlcm5hdGl2ZV9pbnN0cnVjdGlvbnMrMHgzOC8weDE0MA0KWyAgICAxLjIxMTEw
Nl0gID8gYXJjaF9jcHVfZmluYWxpemVfaW5pdCsweDEyNS8weDE5MA0KWyAgICAxLjIxMTEw
Nl0gID8gc3RhcnRfa2VybmVsKzB4NmQzLzB4YWIwDQpbICAgIDEuMjExMTA2XSAgPyBzbWVf
dW5tYXBfYm9vdGRhdGErMHgxOC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyB4ODZfNjRfc3Rh
cnRfcmVzZXJ2YXRpb25zKzB4MWMvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8geGVuX3N0YXJ0
X2tlcm5lbCsweDU4MS8weDcwMA0KWyAgICAxLjIxMTEwNl0gID8gc3RhcnR1cF94ZW4rMHgx
Yi8weDIwDQpbICAgIDEuMjExMTA2XSAgPC9UQVNLPg0KWyAgICAxLjIxMTEwNl0gTW9kdWxl
cyBsaW5rZWQgaW46DQpbICAgIDEuMjExMTA2XSBrZXJuZWwgdHJpZWQgdG8gZXhlY3V0ZSBO
WC1wcm90ZWN0ZWQgcGFnZSAtIGV4cGxvaXQgYXR0ZW1wdD8gKHVpZDogMCkNClsgICAgMS4y
MTExMDZdIEJVRzogdW5hYmxlIHRvIGhhbmRsZSBwYWdlIGZhdWx0IGZvciBhZGRyZXNzOiBm
ZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSAjUEY6IHN1cGVydmlzb3IgaW5zdHJ1
Y3Rpb24gZmV0Y2ggaW4ga2VybmVsIG1vZGUNClsgICAgMS4yMTExMDZdICNQRjogZXJyb3Jf
Y29kZSgweDAwMTEpIC0gcGVybWlzc2lvbnMgdmlvbGF0aW9uDQpbICAgIDEuMjExMTA2XSBQ
R0QgMmM0ZjA2NyBQNEQgMmM0ZjA2NyBQVUQgMmM1MTA2NyBQTUQgMTAwMmU0MDY3IFBURSA4
MDEwMDAwMTAwMmUzMDY3DQpbICAgIDEuMjExMTA2XSBPb3BzOiBPb3BzOiAwMDExIFsjMTVd
IFNNUCBOT1BUSQ0KWyAgICAxLjIxMTEwNl0gQ1BVOiAwIFVJRDogMCBQSUQ6IDAgQ29tbTog
c3dhcHBlci8wIE5vdCB0YWludGVkIDYuMTUuMC1yYzcgIzY5IFBSRUVNUFQoZnVsbCkgDQpb
ICAgIDEuMjExMTA2XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJ
Q0g5LCAyMDA5KSwgQklPUyAyMDI0LjAyLTJ1YnVudHUwLjEgMTAvMjUvMjAyNA0KWyAgICAx
LjIxMTEwNl0gUklQOiBlMDMwOjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0g
Q29kZTogY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYgZTAgY2MgZmYg
ZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBm
ZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAxLjIxMTEwNl0g
UlNQOiBlMDJiOmZmZmZjOTAwNDAwMDE3YTggRUZMQUdTOiAwMDAxMDA4Ng0KWyAgICAxLjIx
MTEwNl0gUkFYOiBmZmZmZmZmZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRkM2MwMCBSQ1g6
IDAwMDAwMDAwZmZmZmZmZmYNClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5MDA0MDAwMTdm
MCBSU0k6IDAwMDAwMDAwMDAwMDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkwDQpbICAgIDEu
MjExMTA2XSBSQlA6IGZmZmZjOTAwNDAwMDE3ZTAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIw
OTogMDAwMDAwMDAwMDAwMDAwYg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZmYzkwMDQwMDAx
NjcwIFIxMTogZmZmZmZmZmY4MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAwMDANClsgICAg
MS4yMTExMDZdIFIxMzogZmZmZmM5MDA0MDAwMTdmMCBSMTQ6IGZmZmZmZmZmODJkZTAzOTAg
UjE1OiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBGUzogIDAwMDAwMDAwMDAw
MDAwMDAoMDAwMCkgR1M6ZmZmZjg4ODRlOWMyZTAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAw
MDAwMDAwDQpbICAgIDEuMjExMTA2XSBDUzogIGUwMzAgRFM6IDAwMDAgRVM6IDAwMDAgQ1Iw
OiAwMDAwMDAwMDgwMDUwMDMzDQpbICAgIDEuMjExMTA2XSBDUjI6IGZmZmZmZmZmYzAwMDBi
YWMgQ1IzOiAwMDAwMDAwMDAyYzRhMDAwIENSNDogMDAwMDAwMDAwMDA1MDY2MA0KWyAgICAx
LjIxMTEwNl0gQ2FsbCBUcmFjZToNClsgICAgMS4yMTExMDZdICA8SVJRPg0KWyAgICAxLjIx
MTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZd
ICBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gIF9fZGllKzB4NTUvMHg3
MA0KWyAgICAxLjIxMTEwNl0gIHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAx
LjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEu
MjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0g
IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjEx
MTA2XSAgX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEw
Nl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEu
MjExMTA2XSAgYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2
XSAgZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZd
ICBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gIGFzbV9leGNf
cGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZm
ZmZmYzAwMDBiYWMNClsgICAgMS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxm
Zj4gZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2Mg
Y2MgY2MgY2MgY2MNClsgICAgMS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAxYTY4
IEVGTEFHUzogMDAwMTAwODYNClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQy
MCBSQlg6IGZmZmZmZmZmODJkZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEu
MjExMTA2XSBSRFg6IGZmZmZjOTAwNDAwMDFhYjAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJE
STogZmZmZmZmZmY4MmRlMDM5MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAx
YWEwIFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAg
MS4yMTExMDZdIFIxMDogZmZmZmM5MDA0MDAwMTkzMCBSMTE6IGZmZmZmZmZmODJkNjVkMDgg
UjEyOiAwMDAwMDAwMDAwMDAwMDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAw
MDFhYjAgUjE0OiBmZmZmZmZmZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAg
ICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsw
eDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8w
eGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0
X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25f
dGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4
MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5p
c3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBo
b3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94
ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2Vt
YXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0
LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4
MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8w
eDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNf
bm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFp
bisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBh
Z2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4
Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNl
cHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9v
cl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFf
bm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxl
ZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2Fy
ZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2Fk
ZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2Vf
ZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVs
dCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhj
ZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9j
YWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUw
LzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBz
ZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZp
eHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2Rl
X2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19i
YWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19y
YXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAg
PyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRv
X2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBl
eGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19w
YWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtw
b2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5v
dGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlf
ZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTEx
MDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtl
cm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2
XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4y
MTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEw
Nl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBh
c21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9o
d19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEw
Nl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/
IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4
NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAg
ICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEw
Nl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAg
MS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAg
MS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0K
WyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAg
IDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTEx
MDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/
IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAg
IDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIx
MTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGll
KzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4
NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4
NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAg
IDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3
MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0
MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgx
OS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4
MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAg
ICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIx
MTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4
MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpb
ICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMr
MHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVz
KzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgz
YzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjAr
MHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4
MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1k
X3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3Jl
KzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQu
MCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4
MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5
KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1
LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEu
MjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1
bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlv
bl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24r
MHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3Bz
LmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1h
cGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZl
X3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9z
ZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1
bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQr
MHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJi
LzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9u
c19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2No
YWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
cGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hf
ZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4
Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVw
X29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJl
YV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2Fs
bGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRf
YXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5f
YWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFn
ZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2Zh
dWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9l
eGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVy
X2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4
NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/
IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
Zml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1v
ZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZd
ICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8g
ZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/
IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhj
X3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVh
a3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8g
bm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlm
eV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIx
MTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8g
a2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTEx
MDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTEx
MDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAx
LjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/
IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4
X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjEx
MTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0g
ID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpb
ICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjEx
MTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMw
DQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsg
ICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpb
ICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIx
MTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0g
ID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsg
ICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEu
MjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19k
aWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUv
MHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsg
ICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8w
eDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4
MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsw
eDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZl
LzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpb
ICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTANClsgICAg
MS4yMTExMDZdICA/IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjEx
MTA2XSAgPyBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsgICAgMS4y
MTExMDZdICA/IGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAgICAxLjIx
MTEwNl0gID8gaGFuZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAg
PyBoYW5kbGVfaXJxX2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBnZW5lcmlj
X2hhbmRsZV9pcnErMHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Zv
cl9wb3J0KzB4NGQvMHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2ZpZm9faGFu
ZGxlX2V2ZW50cysweDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2huX2ZpZm9f
aGFuZGxlX2V2ZW50cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9ldnRjaG5f
ZG9fdXBjYWxsKzB4N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZfZXZ0Y2hu
X2RvX3VwY2FsbCsweDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9ldnRjaG5f
ZG9fdXBjYWxsKzB4ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsgICAgMS4y
MTExMDZdICA8VEFTSz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2aXNvcl9j
YWxsYmFjaysweDgvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2
Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsg
ICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEw
Nl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lf
cmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X29wY29k
ZSsweDYwLzB4MjkwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsweDI1LzB4
MTAwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhhNy8weDE2
MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsg
ICAgMS4yMTExMDZdICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBhcHBseV9y
ZXRwb2xpbmVzKzB4NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVz
KzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3Yi8weDkw
DQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4y
MTExMDZdICA/IHVucmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAgICAxLjIx
MTEwNl0gID8gYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4y
MTExMDZdICA/IGFyY2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsgICAgMS4y
MTExMDZdICA/IHN0YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEwNl0gID8g
c21lX3VubWFwX2Jvb3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geDg2XzY0
X3N0YXJ0X3Jlc2VydmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/IHhlbl9z
dGFydF9rZXJuZWwrMHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0dXBfeGVu
KzB4MWIvMHgyMA0KWyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTExMDZdIE1v
ZHVsZXMgbGlua2VkIGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRvIGV4ZWN1
dGUgTlgtcHJvdGVjdGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDApDQpbICAg
IDEuMjExMTA2XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3IgYWRkcmVz
czogZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZpc29yIGlu
c3RydWN0aW9uIGZldGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAjUEY6IGVy
cm9yX2NvZGUoMHgwMDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAxLjIxMTEw
Nl0gUEdEIDJjNGYwNjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJlNDA2NyBQ
VEUgODAxMDAwMDEwMDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczogMDAxMSBb
IzE2XSBTTVAgTk9QVEkNClsgICAgMS4yMTExMDZdIENQVTogMCBVSUQ6IDAgUElEOiAwIENv
bW06IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCA2LjE1LjAtcmM3ICM2OSBQUkVFTVBUKGZ1bGwp
IA0KWyAgICAxLjIxMTEwNl0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1
ICsgSUNIOSwgMjAwOSksIEJJT1MgMjAyNC4wMi0ydWJ1bnR1MC4xIDEwLzI1LzIwMjQNClsg
ICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMNClsgICAgMS4yMTEx
MDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGZmIGUwIGNj
IGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYgZTAgY2MgZmYgZTAg
Y2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MNClsgICAgMS4yMTEx
MDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAxNGU4IEVGTEFHUzogMDAwMTAwODYNClsgICAg
MS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZmZmZmODJkZDNjMDAg
UkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6IGZmZmZjOTAwNDAw
MDE1MzAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4MmRlMDM5MA0KWyAg
ICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAxNTIwIFIwODogMDAwMDAwMDAwMDAwMDAw
MCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIxMDogZmZmZmM5MDA0
MDAwMTNiMCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAwMDAwMDAwMDAwDQpb
ICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDE1MzAgUjE0OiBmZmZmZmZmZjgyZGUw
MzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gRlM6ICAwMDAwMDAw
MDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODg0ZTljMmUwMDAoMDAwMCkga25sR1M6MDAwMDAw
MDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gQ1M6ICBlMDMwIERTOiAwMDAwIEVTOiAwMDAw
IENSMDogMDAwMDAwMDA4MDA1MDAzMw0KWyAgICAxLjIxMTEwNl0gQ1IyOiBmZmZmZmZmZmMw
MDAwYmFjIENSMzogMDAwMDAwMDAwMmM0YTAwMCBDUjQ6IDAwMDAwMDAwMDAwNTA2NjANClsg
ICAgMS4yMTExMDZdIENhbGwgVHJhY2U6DQpbICAgIDEuMjExMTA2XSAgPElSUT4NClsgICAg
MS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjEx
MTA2XSAgbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICBfX2RpZSsweDU1
LzB4NzANClsgICAgMS4yMTExMDZdICBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsg
ICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAg
ICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTEx
MDZdICBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAx
LjIxMTEwNl0gIF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4y
MTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAg
ICAxLjIxMTEwNl0gIGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIx
MTEwNl0gIGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjEx
MTA2XSAgZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICBhc21f
ZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSBSSVA6IGUwMzA6MHhm
ZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBj
YyA8ZmY+IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUw
IGNjIGNjIGNjIGNjIGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6ZmZmZmM5MDA0MDAw
MTdhOCBFRkxBR1M6IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6IGZmZmZmZmZmODEz
MDVkMjAgUkJYOiBmZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBmZmZmZmZmZg0KWyAg
ICAxLjIxMTEwNl0gUkRYOiBmZmZmYzkwMDQwMDAxN2YwIFJTSTogMDAwMDAwMDAwMDAwMDAw
MSBSREk6IGZmZmZmZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJCUDogZmZmZmM5MDA0
MDAwMTdlMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAwMDBiDQpb
ICAgIDEuMjExMTA2XSBSMTA6IGZmZmZjOTAwNDAwMDE2NzAgUjExOiBmZmZmZmZmZjgyZDY1
ZDA4IFIxMjogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gUjEzOiBmZmZmYzkw
MDQwMDAxN2YwIFIxNDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAwMDAwZmZmZmZmZmYN
ClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3Rp
ZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4
NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAg
MS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9m
YXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0
aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlv
bisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29v
cHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3Nl
bWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3Nh
dmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9m
YXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVs
dCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4
MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRp
b25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxf
Y2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJj
aF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBf
ZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4
dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9h
cmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19j
YWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJh
ZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vy
bl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19w
YWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2Vf
ZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50
X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZp
ZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUr
MHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4y
MTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0g
ID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVs
bW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/
IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/
IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEw
Nl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAg
PyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9l
eGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2Jy
ZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAg
PyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90
aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEu
MjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4y
MTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAg
PyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIx
MTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIx
MTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAg
IDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4y
MTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEu
MjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0g
ID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19w
ZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4y
MTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2
XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1
NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTAN
ClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4y
MTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4
MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0K
WyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEu
MjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0K
WyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAg
MS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1
ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2
NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0K
WyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVm
LzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUv
MHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFs
KzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgx
Ni8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4
NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzAN
ClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAg
MS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgx
MC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhk
MA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9v
b3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3Rh
YmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMy
LzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNy
YS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9y
ZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVu
X3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFw
aG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5w
YXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFi
NS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgz
MA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25v
dGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4r
MHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdl
X2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNl
cHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0
aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jf
b29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVf
c2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVh
X25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRy
X2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2Zh
dWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQr
MHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2Vw
dGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2Fs
bF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2Vh
cmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1
cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9m
aXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3
X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8g
YmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19r
ZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhj
X3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFn
ZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9p
bnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3Rp
Zmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2Rp
ZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2
XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJu
ZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjEx
MTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZd
ICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNt
X2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdf
YnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZd
ICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBu
b3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAg
MS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZd
ICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEu
MjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsg
ICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAx
LjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAg
MS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2
XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAx
LjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTEx
MDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsw
eDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5
MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAx
LjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzAN
ClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDAN
ClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkv
MHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIw
DQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAg
MS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTEx
MDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEw
DQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAg
ICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/
IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4
MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysw
eDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2Mw
DQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4
NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3
NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92
YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsw
eDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjAr
MHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFj
MA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAg
ICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsw
eDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8w
eGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0
X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25f
dGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4
MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5p
c3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBo
b3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94
ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2Vt
YXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0
LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4
MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8w
eDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEw
LzB4MTANClsgICAgMS4yMTExMDZdICA/IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQw
DQpbICAgIDEuMjExMTA2XSAgPyBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgx
ZDANClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1
MA0KWyAgICAxLjIxMTEwNl0gID8gaGFuZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAg
IDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2
XSAgPyBnZW5lcmljX2hhbmRsZV9pcnErMHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBo
YW5kbGVfaXJxX2Zvcl9wb3J0KzB4NGQvMHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0
Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysweDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8g
ZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/
IHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194
ZW5fcHZfZXZ0Y2huX2RvX3VwY2FsbCsweDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhl
bl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lS
UT4NClsgICAgMS4yMTExMDZdICA8VEFTSz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5f
aHlwZXJ2aXNvcl9jYWxsYmFjaysweDgvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3Jl
bW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysw
eDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0K
WyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjEx
MTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGlu
c25fZ2V0X29wY29kZSsweDYwLzB4MjkwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9t
b2RybSsweDI1LzB4MTAwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1l
bnQrMHhhNy8weDE2MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4
MjMvMHgzNDANClsgICAgMS4yMTExMDZdICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2
XSAgPyBhcHBseV9yZXRwb2xpbmVzKzB4NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBj
aV9yZW1vdmVfYnVzKzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9i
dXMrMHg3Yi8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4
OTANClsgICAgMS4yMTExMDZdICA/IHVucmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2
MA0KWyAgICAxLjIxMTEwNl0gID8gYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgx
NDANClsgICAgMS4yMTExMDZdICA/IGFyY2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgx
OTANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAx
LjIxMTEwNl0gID8gc21lX3VubWFwX2Jvb3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8geDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTEx
MDZdICA/IHhlbl9zdGFydF9rZXJuZWwrMHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/
IHN0YXJ0dXBfeGVuKzB4MWIvMHgyMA0KWyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAg
MS4yMTExMDZdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRy
aWVkIHRvIGV4ZWN1dGUgTlgtcHJvdGVjdGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1
aWQ6IDApDQpbICAgIDEuMjExMTA2XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVs
dCBmb3IgYWRkcmVzczogZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBz
dXBlcnZpc29yIGluc3RydWN0aW9uIGZldGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjEx
MTA2XSAjUEY6IGVycm9yX2NvZGUoMHgwMDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0K
WyAgICAxLjIxMTEwNl0gUEdEIDJjNGYwNjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1E
IDEwMDJlNDA2NyBQVEUgODAxMDAwMDEwMDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczog
T29wczogMDAxMSBbIzE3XSBTTVAgTk9QVEkNClsgICAgMS4yMTExMDZdIENQVTogMCBVSUQ6
IDAgUElEOiAwIENvbW06IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCA2LjE1LjAtcmM3ICM2OSBQ
UkVFTVBUKGZ1bGwpIA0KWyAgICAxLjIxMTEwNl0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFu
ZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1MgMjAyNC4wMi0ydWJ1bnR1MC4xIDEw
LzI1LzIwMjQNClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMN
ClsgICAgMS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYg
ZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MN
ClsgICAgMS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAxMjI4IEVGTEFHUzogMDAw
MTAwODYNClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZm
ZmZmODJkZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6
IGZmZmZjOTAwNDAwMDEyNzAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4
MmRlMDM5MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAxMjYwIFIwODogMDAw
MDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIx
MDogZmZmZmM5MDA0MDAwMTBmMCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAw
MDAwMDAwMDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDEyNzAgUjE0OiBm
ZmZmZmZmZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0g
RlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODg0ZTljMmUwMDAoMDAwMCkg
a25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gQ1M6ICBlMDMwIERTOiAw
MDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0KWyAgICAxLjIxMTEwNl0gQ1Iy
OiBmZmZmZmZmZmMwMDAwYmFjIENSMzogMDAwMDAwMDAwMmM0YTAwMCBDUjQ6IDAwMDAwMDAw
MDAwNTA2NjANClsgICAgMS4yMTExMDZdIENhbGwgVHJhY2U6DQpbICAgIDEuMjExMTA2XSAg
PElSUT4NClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQw
DQpbICAgIDEuMjExMTA2XSAgbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZd
ICBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICBwYWdlX2ZhdWx0X29vcHMrMHgx
NWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4
NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzAN
ClsgICAgMS4yMTExMDZdICBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYv
MHg3MA0KWyAgICAxLjIxMTEwNl0gIF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgy
NDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4
MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gIGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgy
MA0KWyAgICAxLjIxMTEwNl0gIGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgw
DQpbICAgIDEuMjExMTA2XSAgZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4y
MTExMDZdICBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSBS
SVA6IGUwMzA6MHhmZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBl
MCBjYyBmZiBlMCBjYyA8ZmY+IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZm
IGUwIGNjIGZmIGUwIGNjIGNjIGNjIGNjIGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6
ZmZmZmM5MDA0MDAwMTRlOCBFRkxBR1M6IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6
IGZmZmZmZmZmODEzMDVkMjAgUkJYOiBmZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBm
ZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gUkRYOiBmZmZmYzkwMDQwMDAxNTMwIFJTSTogMDAw
MDAwMDAwMDAwMDAwMSBSREk6IGZmZmZmZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJC
UDogZmZmZmM5MDA0MDAwMTUyMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAw
MDAwMDAwMDBiDQpbICAgIDEuMjExMTA2XSBSMTA6IGZmZmZjOTAwNDAwMDEzYjAgUjExOiBm
ZmZmZmZmZjgyZDY1ZDA4IFIxMjogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0g
UjEzOiBmZmZmYzkwMDQwMDAxNTMwIFIxNDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAw
MDAwZmZmZmZmZmYNClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhj
ZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9j
YWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUw
LzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBz
ZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZp
eHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2Rl
X2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19i
YWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19y
YXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAg
PyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRv
X2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBl
eGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19w
YWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtw
b2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5v
dGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlf
ZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTEx
MDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtl
cm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2
XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4y
MTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEw
Nl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBh
c21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9o
d19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEw
Nl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/
IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4
NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAg
ICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEw
Nl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAg
MS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAg
MS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0K
WyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAg
IDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTEx
MDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/
IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAg
IDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIx
MTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGll
KzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4
NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4
NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAg
IDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3
MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0
MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgx
OS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4
MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAg
ICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIx
MTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4
MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpb
ICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMr
MHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVz
KzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgz
YzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjAr
MHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4
MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1k
X3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3Jl
KzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQu
MCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4
MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5
KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1
LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEu
MjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1
bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlv
bl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24r
MHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3Bz
LmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1h
cGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZl
X3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9z
ZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1
bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQr
MHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJi
LzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9u
c19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2No
YWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
cGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hf
ZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4
Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVw
X29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJl
YV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2Fs
bGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRf
YXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5f
YWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFn
ZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2Zh
dWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9l
eGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVy
X2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4
NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/
IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
Zml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1v
ZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZd
ICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8g
ZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/
IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhj
X3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVh
a3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8g
bm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlm
eV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIx
MTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8g
a2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTEx
MDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTEx
MDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAx
LjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/
IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4
X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjEx
MTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0g
ID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpb
ICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjEx
MTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMw
DQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsg
ICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpb
ICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIx
MTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0g
ID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsg
ICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEu
MjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19k
aWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUv
MHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsg
ICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8w
eDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4
MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsw
eDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZl
LzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpb
ICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAv
MHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDAN
ClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29w
cysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJs
ZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8w
eDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEu
MCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUr
MHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9w
bWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhv
cmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFy
dC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUv
MHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzAN
ClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3Rp
ZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4
NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAg
MS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9m
YXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0
aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlv
bisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29v
cHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3Nl
bWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3Nh
dmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9m
YXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVs
dCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4
MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRp
b25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxf
Y2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJj
aF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBf
ZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4
dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9h
cmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19j
YWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJh
ZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vy
bl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19w
YWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2Vf
ZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50
X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZp
ZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUr
MHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4y
MTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0g
ID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVs
bW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/
IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/
IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEw
Nl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAg
PyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9l
eGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X3RpY2tf
aGFuZGxlX3BlcmlvZGljKzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8geGVuX3RpbWVy
X2ludGVycnVwdCsweDMxLzB4NDANClsgICAgMS4yMTExMDZdICA/IF9faGFuZGxlX2lycV9l
dmVudF9wZXJjcHUrMHg0Yy8weDFkMA0KWyAgICAxLjIxMTEwNl0gID8gaGFuZGxlX2lycV9l
dmVudF9wZXJjcHUrMHgxOC8weDUwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfcGVyY3B1
X2lycSsweDU5LzB4ODANClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZGVzYysweDNl
LzB4NjANClsgICAgMS4yMTExMDZdICA/IGdlbmVyaWNfaGFuZGxlX2lycSsweDIzLzB4MzAN
ClsgICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZm9yX3BvcnQrMHg0ZC8weDEwMA0KWyAg
ICAxLjIxMTEwNl0gID8gX19ldnRjaG5fZmlmb19oYW5kbGVfZXZlbnRzKzB4MTc0LzB4MWMw
DQpbICAgIDEuMjExMTA2XSAgPyBldnRjaG5fZmlmb19oYW5kbGVfZXZlbnRzKzB4MTIvMHgy
MA0KWyAgICAxLjIxMTEwNl0gID8geGVuX2V2dGNobl9kb191cGNhbGwrMHg3YS8weGQwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3hlbl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4NDcvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8geGVuX3B2X2V2dGNobl9kb191cGNhbGwrMHhlNi8weDExMA0K
WyAgICAxLjIxMTEwNl0gIDwvSVJRPg0KWyAgICAxLjIxMTEwNl0gIDxUQVNLPg0KWyAgICAx
LjIxMTEwNl0gID8gZXhjX3hlbl9oeXBlcnZpc29yX2NhbGxiYWNrKzB4OC8weDIwDQpbICAg
IDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZjLzB4OTANClsgICAgMS4yMTExMDZd
ICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3Jl
bW92ZV9idXMrMHg2ZC8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysw
eDZjLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4N2IvMHg5MA0K
WyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfb3Bjb2RlKzB4NjAvMHgyOTANClsgICAgMS4y
MTExMDZdICA/IGluc25fZ2V0X21vZHJtKzB4MjUvMHgxMDANClsgICAgMS4yMTExMDZdICA/
IGluc25fZ2V0X2Rpc3BsYWNlbWVudCsweGE3LzB4MTYwDQpbICAgIDEuMjExMTA2XSAgPyBp
bnNuX2dldF9pbW1lZGlhdGUrMHgyMy8weDM0MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9k
ZWNvZGUrMHg2Mi8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZj
LzB4OTANClsgICAgMS4yMTExMDZdICA/IGFwcGx5X3JldHBvbGluZXMrMHg1OS8weDZjMA0K
WyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjEx
MTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IHBj
aV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gdW5yZWdpc3Rlcl9k
aWVfbm90aWZpZXIrMHg0Ny8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBhbHRlcm5hdGl2ZV9p
bnN0cnVjdGlvbnMrMHgzOC8weDE0MA0KWyAgICAxLjIxMTEwNl0gID8gYXJjaF9jcHVfZmlu
YWxpemVfaW5pdCsweDEyNS8weDE5MA0KWyAgICAxLjIxMTEwNl0gID8gc3RhcnRfa2VybmVs
KzB4NmQzLzB4YWIwDQpbICAgIDEuMjExMTA2XSAgPyBzbWVfdW5tYXBfYm9vdGRhdGErMHgx
OC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4
MWMvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8geGVuX3N0YXJ0X2tlcm5lbCsweDU4MS8weDcw
MA0KWyAgICAxLjIxMTEwNl0gID8gc3RhcnR1cF94ZW4rMHgxYi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPC9UQVNLPg0KWyAgICAxLjIxMTEwNl0gTW9kdWxlcyBsaW5rZWQgaW46DQpbICAg
IDEuMjExMTA2XSBrZXJuZWwgdHJpZWQgdG8gZXhlY3V0ZSBOWC1wcm90ZWN0ZWQgcGFnZSAt
IGV4cGxvaXQgYXR0ZW1wdD8gKHVpZDogMCkNClsgICAgMS4yMTExMDZdIEJVRzogdW5hYmxl
IHRvIGhhbmRsZSBwYWdlIGZhdWx0IGZvciBhZGRyZXNzOiBmZmZmZmZmZmMwMDAwYmFjDQpb
ICAgIDEuMjExMTA2XSAjUEY6IHN1cGVydmlzb3IgaW5zdHJ1Y3Rpb24gZmV0Y2ggaW4ga2Vy
bmVsIG1vZGUNClsgICAgMS4yMTExMDZdICNQRjogZXJyb3JfY29kZSgweDAwMTEpIC0gcGVy
bWlzc2lvbnMgdmlvbGF0aW9uDQpbICAgIDEuMjExMTA2XSBQR0QgMmM0ZjA2NyBQNEQgMmM0
ZjA2NyBQVUQgMmM1MTA2NyBQTUQgMTAwMmU0MDY3IFBURSA4MDEwMDAwMTAwMmUzMDY3DQpb
ICAgIDEuMjExMTA2XSBPb3BzOiBPb3BzOiAwMDExIFsjMThdIFNNUCBOT1BUSQ0KWyAgICAx
LjIxMTEwNl0gQ1BVOiAwIFVJRDogMCBQSUQ6IDAgQ29tbTogc3dhcHBlci8wIE5vdCB0YWlu
dGVkIDYuMTUuMC1yYzcgIzY5IFBSRUVNUFQoZnVsbCkgDQpbICAgIDEuMjExMTA2XSBIYXJk
d2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklPUyAy
MDI0LjAyLTJ1YnVudHUwLjEgMTAvMjUvMjAyNA0KWyAgICAxLjIxMTEwNl0gUklQOiBlMDMw
OjB4ZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gQ29kZTogY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgY2Mg
Y2MgY2MgY2MgY2MgY2MgY2MgY2MgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYg
ZTAgY2MgPGZmPiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBm
ZiBlMCBjYyBjYyBjYyBjYyBjYw0KWyAgICAxLjIxMTEwNl0gUlNQOiBlMDJiOmZmZmZjOTAw
NDAwMDBmNjggRUZMQUdTOiAwMDAxMDA4Ng0KWyAgICAxLjIxMTEwNl0gUkFYOiBmZmZmZmZm
ZjgxMzA1ZDIwIFJCWDogZmZmZmZmZmY4MmRkM2MwMCBSQ1g6IDAwMDAwMDAwZmZmZmZmZmYN
ClsgICAgMS4yMTExMDZdIFJEWDogZmZmZmM5MDA0MDAwMGZiMCBSU0k6IDAwMDAwMDAwMDAw
MDAwMDEgUkRJOiBmZmZmZmZmZjgyZGUwMzkwDQpbICAgIDEuMjExMTA2XSBSQlA6IGZmZmZj
OTAwNDAwMDBmYTAgUjA4OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAw
Yg0KWyAgICAxLjIxMTEwNl0gUjEwOiBmZmZmYzkwMDQwMDAwZTMwIFIxMTogZmZmZmZmZmY4
MmQ2NWQwOCBSMTI6IDAwMDAwMDAwMDAwMDAwMDANClsgICAgMS4yMTExMDZdIFIxMzogZmZm
ZmM5MDA0MDAwMGZiMCBSMTQ6IGZmZmZmZmZmODJkZTAzOTAgUjE1OiAwMDAwMDAwMGZmZmZm
ZmZmDQpbICAgIDEuMjExMTA2XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZm
Zjg4ODRlOWMyZTAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQpbICAgIDEuMjEx
MTA2XSBDUzogIGUwMzAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMz
DQpbICAgIDEuMjExMTA2XSBDUjI6IGZmZmZmZmZmYzAwMDBiYWMgQ1IzOiAwMDAwMDAwMDAy
YzRhMDAwIENSNDogMDAwMDAwMDAwMDA1MDY2MA0KWyAgICAxLjIxMTEwNl0gQ2FsbCBUcmFj
ZToNClsgICAgMS4yMTExMDZdICA8SVJRPg0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJf
Y2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICBub3RpZnlfZGllKzB4NTAv
MHg4MA0KWyAgICAxLjIxMTEwNl0gIF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0g
IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNo
X2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9l
eGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gIGtlcm5lbG1vZGVfZml4dXBf
b3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgX19iYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVl
X3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgYmFkX2FyZWFf
bm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgZG9fa2Vybl9hZGRyX2Zh
dWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICBleGNfcGFnZV9mYXVsdCsw
eDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gIGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4
MzANClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMNClsgICAg
MS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGZm
IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYgZTAgY2Mg
ZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MNClsgICAg
MS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAxMjI4IEVGTEFHUzogMDAwMTAwODYN
ClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZmZmZmODJk
ZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6IGZmZmZj
OTAwNDAwMDEyNzAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4MmRlMDM5
MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAxMjYwIFIwODogMDAwMDAwMDAw
MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIxMDogZmZm
ZmM5MDA0MDAwMTBmMCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAwMDAwMDAw
MDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDEyNzAgUjE0OiBmZmZmZmZm
ZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gID8gX19w
ZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4y
MTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2
XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1
NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTAN
ClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4y
MTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4
MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0K
WyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEu
MjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0K
WyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAg
MS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1
ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2
NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0K
WyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVm
LzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUv
MHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFs
KzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgx
Ni8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4
NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzAN
ClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAg
MS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgx
MC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhk
MA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9v
b3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3Rh
YmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMy
LzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNy
YS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9y
ZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVu
X3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFw
aG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5w
YXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFi
NS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgz
MA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25v
dGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4r
MHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdl
X2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNl
cHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0
aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jf
b29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVf
c2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVh
X25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRy
X2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2Zh
dWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQr
MHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2Vw
dGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2Fs
bF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2Vh
cmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1
cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9m
aXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3
X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8g
YmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19r
ZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhj
X3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFn
ZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9p
bnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3Rp
Zmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2Rp
ZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2
XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJu
ZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjEx
MTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZd
ICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNt
X2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdf
YnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZd
ICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBu
b3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAg
MS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZd
ICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEu
MjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsg
ICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAx
LjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAg
MS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2
XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAx
LjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTEx
MDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsw
eDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5
MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAx
LjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzAN
ClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDAN
ClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkv
MHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIw
DQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAg
MS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTEx
MDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEw
DQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAg
ICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/
IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4
MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysw
eDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2Mw
DQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4
NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3
NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92
YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsw
eDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjAr
MHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFj
MA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAg
ICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsw
eDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8w
eGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0
X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25f
dGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4
MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5p
c3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBo
b3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94
ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2Vt
YXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0
LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4
MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8w
eDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNf
bm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFp
bisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBh
Z2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4
Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNl
cHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9v
cl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFf
bm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxl
ZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2Fy
ZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2Fk
ZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2Vf
ZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVs
dCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhj
ZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9j
YWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUw
LzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBz
ZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZp
eHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2Rl
X2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19i
YWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19y
YXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAg
PyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRv
X2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBl
eGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19w
YWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtw
b2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5v
dGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlf
ZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTEx
MDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEw
Nl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtl
cm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2
XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4y
MTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEw
Nl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBh
c21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9o
d19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEw
Nl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/
IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4
NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAg
ICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAg
IDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEw
Nl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAg
MS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAg
MS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0K
WyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAg
IDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTEx
MDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/
IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAg
IDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIx
MTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGll
KzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4
NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4
NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAg
IDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3
MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0
MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgx
OS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4
MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAg
ICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIx
MTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4
MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpb
ICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMr
MHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVz
KzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgz
YzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjAr
MHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4
MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1k
X3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3Jl
KzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQu
MCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4
MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTAN
ClsgICAgMS4yMTExMDZdICA/IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAg
IDEuMjExMTA2XSAgPyBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsg
ICAgMS4yMTExMDZdICA/IGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAg
ICAxLjIxMTEwNl0gID8gaGFuZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjEx
MTA2XSAgPyBoYW5kbGVfaXJxX2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBn
ZW5lcmljX2hhbmRsZV9pcnErMHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVf
aXJxX2Zvcl9wb3J0KzB4NGQvMHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2Zp
Zm9faGFuZGxlX2V2ZW50cysweDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2hu
X2ZpZm9faGFuZGxlX2V2ZW50cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9l
dnRjaG5fZG9fdXBjYWxsKzB4N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZf
ZXZ0Y2huX2RvX3VwY2FsbCsweDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9l
dnRjaG5fZG9fdXBjYWxsKzB4ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsg
ICAgMS4yMTExMDZdICA8VEFTSz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2
aXNvcl9jYWxsYmFjaysweDgvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9i
dXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4
OTANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAx
LjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAg
PyBwY2lfcmVtb3ZlX2J1cysweDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0
X29wY29kZSsweDYwLzB4MjkwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsw
eDI1LzB4MTAwDQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhh
Ny8weDE2MA0KWyAgICAxLjIxMTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgz
NDANClsgICAgMS4yMTExMDZdICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBh
cHBseV9yZXRwb2xpbmVzKzB4NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1v
dmVfYnVzKzB4NmMvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3
Yi8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsg
ICAgMS4yMTExMDZdICA/IHVucmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAg
ICAxLjIxMTEwNl0gID8gYWx0ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsg
ICAgMS4yMTExMDZdICA/IGFyY2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsg
ICAgMS4yMTExMDZdICA/IHN0YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEw
Nl0gID8gc21lX3VubWFwX2Jvb3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
eDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/
IHhlbl9zdGFydF9rZXJuZWwrMHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0
dXBfeGVuKzB4MWIvMHgyMA0KWyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTEx
MDZdIE1vZHVsZXMgbGlua2VkIGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRv
IGV4ZWN1dGUgTlgtcHJvdGVjdGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDAp
DQpbICAgIDEuMjExMTA2XSBCVUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3Ig
YWRkcmVzczogZmZmZmZmZmZjMDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZp
c29yIGluc3RydWN0aW9uIGZldGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAj
UEY6IGVycm9yX2NvZGUoMHgwMDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAx
LjIxMTEwNl0gUEdEIDJjNGYwNjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJl
NDA2NyBQVEUgODAxMDAwMDEwMDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczog
MDAxMSBbIzE5XSBTTVAgTk9QVEkNClsgICAgMS4yMTExMDZdIENQVTogMCBVSUQ6IDAgUElE
OiAwIENvbW06IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCA2LjE1LjAtcmM3ICM2OSBQUkVFTVBU
KGZ1bGwpIA0KWyAgICAxLjIxMTEwNl0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQ
QyAoUTM1ICsgSUNIOSwgMjAwOSksIEJJT1MgMjAyNC4wMi0ydWJ1bnR1MC4xIDEwLzI1LzIw
MjQNClsgICAgMS4yMTExMDZdIFJJUDogZTAzMDoweGZmZmZmZmZmYzAwMDBiYWMNClsgICAg
MS4yMTExMDZdIENvZGU6IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGZm
IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIDxmZj4gZTAgY2MgZmYgZTAgY2Mg
ZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgZmYgZTAgY2MgY2MgY2MgY2MgY2MNClsgICAg
MS4yMTExMDZdIFJTUDogZTAyYjpmZmZmYzkwMDQwMDAwY2E4IEVGTEFHUzogMDAwMTAwODYN
ClsgICAgMS4yMTExMDZdIFJBWDogZmZmZmZmZmY4MTMwNWQyMCBSQlg6IGZmZmZmZmZmODJk
ZDNjMDAgUkNYOiAwMDAwMDAwMGZmZmZmZmZmDQpbICAgIDEuMjExMTA2XSBSRFg6IGZmZmZj
OTAwNDAwMDBjZjAgUlNJOiAwMDAwMDAwMDAwMDAwMDAxIFJESTogZmZmZmZmZmY4MmRlMDM5
MA0KWyAgICAxLjIxMTEwNl0gUkJQOiBmZmZmYzkwMDQwMDAwY2UwIFIwODogMDAwMDAwMDAw
MDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMGINClsgICAgMS4yMTExMDZdIFIxMDogZmZm
ZmM5MDA0MDAwMGI3MCBSMTE6IGZmZmZmZmZmODJkNjVkMDggUjEyOiAwMDAwMDAwMDAwMDAw
MDAwDQpbICAgIDEuMjExMTA2XSBSMTM6IGZmZmZjOTAwNDAwMDBjZjAgUjE0OiBmZmZmZmZm
ZjgyZGUwMzkwIFIxNTogMDAwMDAwMDBmZmZmZmZmZg0KWyAgICAxLjIxMTEwNl0gRlM6ICAw
MDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ODg0ZTljMmUwMDAoMDAwMCkga25sR1M6
MDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gQ1M6ICBlMDMwIERTOiAwMDAwIEVT
OiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0KWyAgICAxLjIxMTEwNl0gQ1IyOiBmZmZm
ZmZmZmMwMDAwYmFjIENSMzogMDAwMDAwMDAwMmM0YTAwMCBDUjQ6IDAwMDAwMDAwMDAwNTA2
NjANClsgICAgMS4yMTExMDZdIENhbGwgVHJhY2U6DQpbICAgIDEuMjExMTA2XSAgPElSUT4N
ClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAg
IDEuMjExMTA2XSAgbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICBfX2Rp
ZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0
OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3
MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAg
MS4yMTExMDZdICBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0K
WyAgICAxLjIxMTEwNl0gIF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsg
ICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgz
MA0KWyAgICAxLjIxMTEwNl0gIGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAg
ICAxLjIxMTEwNl0gIGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAg
IDEuMjExMTA2XSAgZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZd
ICBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSBSSVA6IGUw
MzA6MHhmZmZmZmZmZmMwMDAwYmFjDQpbICAgIDEuMjExMTA2XSBDb2RlOiBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBmZiBlMCBjYyBmZiBlMCBjYyBmZiBlMCBjYyBm
ZiBlMCBjYyA8ZmY+IGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNjIGZmIGUwIGNj
IGZmIGUwIGNjIGNjIGNjIGNjIGNjDQpbICAgIDEuMjExMTA2XSBSU1A6IGUwMmI6ZmZmZmM5
MDA0MDAwMGY2OCBFRkxBR1M6IDAwMDEwMDg2DQpbICAgIDEuMjExMTA2XSBSQVg6IGZmZmZm
ZmZmODEzMDVkMjAgUkJYOiBmZmZmZmZmZjgyZGQzYzAwIFJDWDogMDAwMDAwMDBmZmZmZmZm
Zg0KWyAgICAxLjIxMTEwNl0gUkRYOiBmZmZmYzkwMDQwMDAwZmIwIFJTSTogMDAwMDAwMDAw
MDAwMDAwMSBSREk6IGZmZmZmZmZmODJkZTAzOTANClsgICAgMS4yMTExMDZdIFJCUDogZmZm
ZmM5MDA0MDAwMGZhMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAwMDAw
MDBiDQpbICAgIDEuMjExMTA2XSBSMTA6IGZmZmZjOTAwNDAwMDBlMzAgUjExOiBmZmZmZmZm
ZjgyZDY1ZDA4IFIxMjogMDAwMDAwMDAwMDAwMDAwMA0KWyAgICAxLjIxMTEwNl0gUjEzOiBm
ZmZmYzkwMDQwMDAwZmIwIFIxNDogZmZmZmZmZmY4MmRlMDM5MCBSMTU6IDAwMDAwMDAwZmZm
ZmZmZmYNClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9u
c19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2No
YWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
cGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hf
ZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4
Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVw
X29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJl
YV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2Fs
bGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRf
YXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5f
YWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFn
ZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2Zh
dWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9l
eGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVy
X2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4
NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/
IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8g
Zml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1v
ZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZd
ICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8g
ZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/
IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhj
X3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVh
a3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8g
bm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlm
eV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIx
MTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjEx
MTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8g
a2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTEx
MDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTEx
MDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAx
LjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjEx
MTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIx
MTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/
IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4
X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjEx
MTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0g
ID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpb
ICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsg
ICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjEx
MTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMw
DQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsg
ICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpb
ICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIx
MTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0g
ID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsg
ICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEu
MjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19k
aWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUv
MHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQv
MHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsg
ICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8w
eDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4
MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsw
eDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZl
LzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpb
ICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAv
MHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDAN
ClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29w
cysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJs
ZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8w
eDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEu
MCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUr
MHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9w
bWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhv
cmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFy
dC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUv
MHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzAN
ClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3Rp
ZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4
NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAg
MS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9m
YXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0
aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlv
bisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29v
cHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3Nl
bWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3Nh
dmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9u
b3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9m
YXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVs
dCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4
MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRp
b25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxf
Y2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4
MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJj
aF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBf
ZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4
dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9h
cmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19j
YWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJh
ZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vy
bl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19w
YWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2Vf
ZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50
X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZp
ZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUr
MHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4y
MTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0g
ID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAg
PyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVs
bW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/
IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/
IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEw
Nl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAg
PyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0g
ID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9l
eGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2Jy
ZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAg
PyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90
aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEu
MjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4y
MTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAg
PyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIx
MTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIx
MTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAg
IDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4y
MTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEu
MjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0g
ID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19w
ZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4y
MTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2
XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1
NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTAN
ClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0K
WyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4y
MTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpb
ICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4
MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0K
WyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODAN
ClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEu
MjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2
XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2VwdGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0K
WyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2FsbF9jaGFpbisweDY1LzB4ZDANClsgICAg
MS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBf
X2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZdICA/IHBhZ2VfZmF1bHRfb29wcysweDE1
ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2VhcmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2
NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1cF9leGNlcHRpb24rMHgzMi8weDNjMA0K
WyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9maXh1cF9vcl9vb3BzLmlzcmEuMCsweDVm
LzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUv
MHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFs
KzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gYmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgx
Ni8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19rZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4
NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhjX3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzAN
ClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFnZV9mYXVsdCsweDJiLzB4MzANClsgICAg
MS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9pbnRfZXhjZXB0aW9uc19ub3RpZnkrMHgx
MC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZmllcl9jYWxsX2NoYWluKzB4NjUvMHhk
MA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2RpZSsweDUwLzB4ODANClsgICAgMS4yMTEx
MDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gcGFnZV9mYXVsdF9v
b3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3Rh
YmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZdICA/IGZpeHVwX2V4Y2VwdGlvbisweDMy
LzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJuZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNy
YS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gX19iYWRfYXJlYV9ub3NlbWFwaG9y
ZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0gID8gX19yYXdfY2FsbGVlX3NhdmVfeGVu
X3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFw
aG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZdICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5w
YXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBleGNfcGFnZV9mYXVsdCsweDFi
NS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgz
MA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdfYnJlYWtwb2ludF9leGNlcHRpb25zX25v
dGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4r
MHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBub3RpZnlfZGllKzB4NTAvMHg4MA0KWyAg
ICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBwYWdl
X2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAgMS4yMTExMDZdICA/IHNlYXJjaF9leGNl
cHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8gZml4dXBfZXhjZXB0
aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZdICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jf
b29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBfX2JhZF9hcmVhX25v
c2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEuMjExMTA2XSAgPyBfX3Jhd19jYWxsZWVf
c2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsgICAgMS4yMTExMDZdICA/IGJhZF9hcmVh
X25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAxLjIxMTEwNl0gID8gZG9fa2Vybl9hZGRy
X2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAgMS4yMTExMDZdICA/IGV4Y19wYWdlX2Zh
dWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQr
MHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBfX3BmeF9od19icmVha3BvaW50X2V4Y2Vw
dGlvbnNfbm90aWZ5KzB4MTAvMHgxMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZpZXJfY2Fs
bF9jaGFpbisweDY1LzB4ZDANClsgICAgMS4yMTExMDZdICA/IG5vdGlmeV9kaWUrMHg1MC8w
eDgwDQpbICAgIDEuMjExMTA2XSAgPyBfX2RpZSsweDU1LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IHBhZ2VfZmF1bHRfb29wcysweDE1ZS8weDQ5MA0KWyAgICAxLjIxMTEwNl0gID8gc2Vh
cmNoX2V4Y2VwdGlvbl90YWJsZXMrMHg2NC8weDcwDQpbICAgIDEuMjExMTA2XSAgPyBmaXh1
cF9leGNlcHRpb24rMHgzMi8weDNjMA0KWyAgICAxLjIxMTEwNl0gID8ga2VybmVsbW9kZV9m
aXh1cF9vcl9vb3BzLmlzcmEuMCsweDVmLzB4NzANClsgICAgMS4yMTExMDZdICA/IF9fYmFk
X2FyZWFfbm9zZW1hcGhvcmUrMHgxNzUvMHgyNDANClsgICAgMS4yMTExMDZdICA/IF9fcmF3
X2NhbGxlZV9zYXZlX3hlbl9wbWRfdmFsKzB4MTkvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8g
YmFkX2FyZWFfbm9zZW1hcGhvcmUrMHgxNi8weDIwDQpbICAgIDEuMjExMTA2XSAgPyBkb19r
ZXJuX2FkZHJfZmF1bHQucGFydC4wKzB4NmUvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gZXhj
X3BhZ2VfZmF1bHQrMHgxYjUvMHgxYzANClsgICAgMS4yMTExMDZdICA/IGFzbV9leGNfcGFn
ZV9mYXVsdCsweDJiLzB4MzANClsgICAgMS4yMTExMDZdICA/IF9fcGZ4X2h3X2JyZWFrcG9p
bnRfZXhjZXB0aW9uc19ub3RpZnkrMHgxMC8weDEwDQpbICAgIDEuMjExMTA2XSAgPyBub3Rp
Zmllcl9jYWxsX2NoYWluKzB4NjUvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gbm90aWZ5X2Rp
ZSsweDUwLzB4ODANClsgICAgMS4yMTExMDZdICA/IF9fZGllKzB4NTUvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gcGFnZV9mYXVsdF9vb3BzKzB4MTVlLzB4NDkwDQpbICAgIDEuMjExMTA2
XSAgPyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlcysweDY0LzB4NzANClsgICAgMS4yMTExMDZd
ICA/IGZpeHVwX2V4Y2VwdGlvbisweDMyLzB4M2MwDQpbICAgIDEuMjExMTA2XSAgPyBrZXJu
ZWxtb2RlX2ZpeHVwX29yX29vcHMuaXNyYS4wKzB4NWYvMHg3MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19iYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE3NS8weDI0MA0KWyAgICAxLjIxMTEwNl0g
ID8gX19yYXdfY2FsbGVlX3NhdmVfeGVuX3BtZF92YWwrMHgxOS8weDMwDQpbICAgIDEuMjEx
MTA2XSAgPyBiYWRfYXJlYV9ub3NlbWFwaG9yZSsweDE2LzB4MjANClsgICAgMS4yMTExMDZd
ICA/IGRvX2tlcm5fYWRkcl9mYXVsdC5wYXJ0LjArMHg2ZS8weDgwDQpbICAgIDEuMjExMTA2
XSAgPyBleGNfcGFnZV9mYXVsdCsweDFiNS8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gYXNt
X2V4Y19wYWdlX2ZhdWx0KzB4MmIvMHgzMA0KWyAgICAxLjIxMTEwNl0gID8gX19wZnhfaHdf
YnJlYWtwb2ludF9leGNlcHRpb25zX25vdGlmeSsweDEwLzB4MTANClsgICAgMS4yMTExMDZd
ICA/IG5vdGlmaWVyX2NhbGxfY2hhaW4rMHg2NS8weGQwDQpbICAgIDEuMjExMTA2XSAgPyBu
b3RpZnlfZGllKzB4NTAvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gX19kaWUrMHg1NS8weDcw
DQpbICAgIDEuMjExMTA2XSAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWUvMHg0OTANClsgICAg
MS4yMTExMDZdICA/IHNlYXJjaF9leGNlcHRpb25fdGFibGVzKzB4NjQvMHg3MA0KWyAgICAx
LjIxMTEwNl0gID8gZml4dXBfZXhjZXB0aW9uKzB4MzIvMHgzYzANClsgICAgMS4yMTExMDZd
ICA/IGtlcm5lbG1vZGVfZml4dXBfb3Jfb29wcy5pc3JhLjArMHg1Zi8weDcwDQpbICAgIDEu
MjExMTA2XSAgPyBfX2JhZF9hcmVhX25vc2VtYXBob3JlKzB4MTc1LzB4MjQwDQpbICAgIDEu
MjExMTA2XSAgPyBfX3Jhd19jYWxsZWVfc2F2ZV94ZW5fcG1kX3ZhbCsweDE5LzB4MzANClsg
ICAgMS4yMTExMDZdICA/IGJhZF9hcmVhX25vc2VtYXBob3JlKzB4MTYvMHgyMA0KWyAgICAx
LjIxMTEwNl0gID8gZG9fa2Vybl9hZGRyX2ZhdWx0LnBhcnQuMCsweDZlLzB4ODANClsgICAg
MS4yMTExMDZdICA/IGV4Y19wYWdlX2ZhdWx0KzB4MWI1LzB4MWMwDQpbICAgIDEuMjExMTA2
XSAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgyYi8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBf
X3BmeF90aWNrX2hhbmRsZV9wZXJpb2RpYysweDEwLzB4MTANClsgICAgMS4yMTExMDZdICA/
IHhlbl90aW1lcl9pbnRlcnJ1cHQrMHgzMS8weDQwDQpbICAgIDEuMjExMTA2XSAgPyBfX2hh
bmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NGMvMHgxZDANClsgICAgMS4yMTExMDZdICA/IGhh
bmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MTgvMHg1MA0KWyAgICAxLjIxMTEwNl0gID8gaGFu
ZGxlX3BlcmNwdV9pcnErMHg1OS8weDgwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJx
X2Rlc2MrMHgzZS8weDYwDQpbICAgIDEuMjExMTA2XSAgPyBnZW5lcmljX2hhbmRsZV9pcnEr
MHgyMy8weDMwDQpbICAgIDEuMjExMTA2XSAgPyBoYW5kbGVfaXJxX2Zvcl9wb3J0KzB4NGQv
MHgxMDANClsgICAgMS4yMTExMDZdICA/IF9fZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50cysw
eDE3NC8weDFjMA0KWyAgICAxLjIxMTEwNl0gID8gZXZ0Y2huX2ZpZm9faGFuZGxlX2V2ZW50
cysweDEyLzB4MjANClsgICAgMS4yMTExMDZdICA/IHhlbl9ldnRjaG5fZG9fdXBjYWxsKzB4
N2EvMHhkMA0KWyAgICAxLjIxMTEwNl0gID8gX194ZW5fcHZfZXZ0Y2huX2RvX3VwY2FsbCsw
eDQ3LzB4NzANClsgICAgMS4yMTExMDZdICA/IHhlbl9wdl9ldnRjaG5fZG9fdXBjYWxsKzB4
ZTYvMHgxMTANClsgICAgMS4yMTExMDZdICA8L0lSUT4NClsgICAgMS4yMTExMDZdICA8VEFT
Sz4NClsgICAgMS4yMTExMDZdICA/IGV4Y194ZW5faHlwZXJ2aXNvcl9jYWxsYmFjaysweDgv
MHgyMA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg2Yy8weDkwDQpbICAg
IDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZd
ICA/IHBjaV9yZW1vdmVfYnVzKzB4NmQvMHg5MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3Jl
bW92ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysw
eDdiLzB4OTANClsgICAgMS4yMTExMDZdICA/IGluc25fZ2V0X29wY29kZSsweDYwLzB4Mjkw
DQpbICAgIDEuMjExMTA2XSAgPyBpbnNuX2dldF9tb2RybSsweDI1LzB4MTAwDQpbICAgIDEu
MjExMTA2XSAgPyBpbnNuX2dldF9kaXNwbGFjZW1lbnQrMHhhNy8weDE2MA0KWyAgICAxLjIx
MTEwNl0gID8gaW5zbl9nZXRfaW1tZWRpYXRlKzB4MjMvMHgzNDANClsgICAgMS4yMTExMDZd
ICA/IGluc25fZGVjb2RlKzB4NjIvMHg4MA0KWyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92
ZV9idXMrMHg2Yy8weDkwDQpbICAgIDEuMjExMTA2XSAgPyBhcHBseV9yZXRwb2xpbmVzKzB4
NTkvMHg2YzANClsgICAgMS4yMTExMDZdICA/IHBjaV9yZW1vdmVfYnVzKzB4NmMvMHg5MA0K
WyAgICAxLjIxMTEwNl0gID8gcGNpX3JlbW92ZV9idXMrMHg3Yi8weDkwDQpbICAgIDEuMjEx
MTA2XSAgPyBwY2lfcmVtb3ZlX2J1cysweDZkLzB4OTANClsgICAgMS4yMTExMDZdICA/IHVu
cmVnaXN0ZXJfZGllX25vdGlmaWVyKzB4NDcvMHg2MA0KWyAgICAxLjIxMTEwNl0gID8gYWx0
ZXJuYXRpdmVfaW5zdHJ1Y3Rpb25zKzB4MzgvMHgxNDANClsgICAgMS4yMTExMDZdICA/IGFy
Y2hfY3B1X2ZpbmFsaXplX2luaXQrMHgxMjUvMHgxOTANClsgICAgMS4yMTExMDZdICA/IHN0
YXJ0X2tlcm5lbCsweDZkMy8weGFiMA0KWyAgICAxLjIxMTEwNl0gID8gc21lX3VubWFwX2Jv
b3RkYXRhKzB4MTgvMHg3MA0KWyAgICAxLjIxMTEwNl0gID8geDg2XzY0X3N0YXJ0X3Jlc2Vy
dmF0aW9ucysweDFjLzB4MzANClsgICAgMS4yMTExMDZdICA/IHhlbl9zdGFydF9rZXJuZWwr
MHg1ODEvMHg3MDANClsgICAgMS4yMTExMDZdICA/IHN0YXJ0dXBfeGVuKzB4MWIvMHgyMA0K
WyAgICAxLjIxMTEwNl0gIDwvVEFTSz4NClsgICAgMS4yMTExMDZdIE1vZHVsZXMgbGlua2Vk
IGluOg0KWyAgICAxLjIxMTEwNl0ga2VybmVsIHRyaWVkIHRvIGV4ZWN1dGUgTlgtcHJvdGVj
dGVkIHBhZ2UgLSBleHBsb2l0IGF0dGVtcHQ/ICh1aWQ6IDApDQpbICAgIDEuMjExMTA2XSBC
VUc6IHVuYWJsZSB0byBoYW5kbGUgcGFnZSBmYXVsdCBmb3IgYWRkcmVzczogZmZmZmZmZmZj
MDAwMGJhYw0KWyAgICAxLjIxMTEwNl0gI1BGOiBzdXBlcnZpc29yIGluc3RydWN0aW9uIGZl
dGNoIGluIGtlcm5lbCBtb2RlDQpbICAgIDEuMjExMTA2XSAjUEY6IGVycm9yX2NvZGUoMHgw
MDExKSAtIHBlcm1pc3Npb25zIHZpb2xhdGlvbg0KWyAgICAxLjIxMTEwNl0gUEdEIDJjNGYw
NjcgUDREIDJjNGYwNjcgUFVEIDJjNTEwNjcgUE1EIDEwMDJlNDA2NyBQVEUgODAxMDAwMDEw
MDJlMzA2Nw0KWyAgICAxLjIxMTEwNl0gT29wczogT29wczogMDAxMSBbIzIwXSBTTVAgTk9Q
VEkNClsgICAgMS4yMTExMDZdIENQVTogMCBVSUQ6IDAgUElEOiAwIENvbW06IHN3YXBwZXIv
MCBOb3QgdGFpbnRlZCA2LjE1LjAtcmM3ICM2OSBQUkVFTVBUKGZ1bGwpIA0KWyAgICAxLjIx
MTEwNl0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoUTM1ICsgSUNIOSwgMjAw
OSksIEJJT1MgMjAyNC4wMi0ydWJ1bnR1MC4xIDEwLzI1LzIwMjQNChtbMkobWzAxOzAxSBtb
PTNoG1syShtbMDE7MDFIG1syShtbMDE7MDFIG1s9M2gbWzJKG1swMTswMUgbWzJKG1swMTsw
MUgbWz0zaBtbMkobWzAxOzAxSEJkc0R4ZTogbG9hZGluZyBCb290MDAwMyAiVWJ1bnR1IiBm
cm9tIEhEKDEsR1BULEU1MDQyNzk4LTFDQTgtNEEwNy1BRkYxLUUwRDA4RENCRDYyOSwweDgw
MCwweDIxOTgwMCkvXEVGSVx1YnVudHVcc2hpbXg2NC5lZmkNCkJkc0R4ZTogc3RhcnRpbmcg
Qm9vdDAwMDMgIlVidW50dSIgZnJvbSBIRCgxLEdQVCxFNTA0Mjc5OC0xQ0E4LTRBMDctQUZG
MS1FMEQwOERDQkQ2MjksMHg4MDAsMHgyMTk4MDApL1xFRklcdWJ1bnR1XHNoaW14NjQuZWZp
DQo=
--------------M7bkM1BZCla9GQwujbzFMt0O--
Return-Path: <linux-kernel+bounces-665107-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1B1A841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:28:16 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 141CD7AE7E4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:26:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7370F262FF8;
Wed, 28 May 2025 08:28:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WEH0pHT0"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 78D252580EC;
Wed, 28 May 2025 08:28:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420886; cv=none; b=EArUe47KnLr+Oq/OQy8uz/dgZRBJNcwHuoB9YHfi+ChQvkXq0u/1mr8vUZgWStzPhX7Yb0O0QpaAO1a6RXWEGMuupZfQdT0mPfp1DVD/nYdeZgC+inp1RZKgQp7yi5bZl75AMQNw5n+E1xY5iZeoYo7GxKg5a2y91n9VhdtMTlU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420886; c=relaxed/simple;
bh=5QawpBClqOpPhhlcu/fH26V+8lDsrsdbWKBN3lHj9ps=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=IoJ/j0nXtsAMfcDM+eJ5T3Pcl/hyAtwYez90OZDuRAGcFlLXjduK7Oujq756RLwMjTtnXQFn5hH+3Rt0KcHSdGs1y2dgZ8JJYVJgv46mmx/6dmabfoFt2cXbvNtCgo1gyRNvq+fERuxoB2K7bRL+zciWoEoZDV4/BAKL1pLNKiM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WEH0pHT0; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F11AFC4CEE7;
Wed, 28 May 2025 08:28:02 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748420885;
bh=5QawpBClqOpPhhlcu/fH26V+8lDsrsdbWKBN3lHj9ps=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=WEH0pHT0tuETHSvRnrp4qQjj1fwRWk2zzFKK+wycleRmcuH5nQCGeW+o0qgaG57Jd
eR94B3SZuLL+SfEDMAcBrdlLZmCO940Q+nTRVzwuinHAtHWaPnKonGukAAeL770WjU
iHaUtN/kabQ6gHr1Cx/5NwFPcEI9jYpfIsFuhF5OHXrkoQiLOY0YDtiFryNHMuMmaZ
zDfjgFxWUmoRYIeF5chbsxdFDHkxNwS+BQyyCXn4sjg88QtKueJVYFfh3z8AmUcl3w
8WbeNX6HdOd9VMsdHf50XH976mZFrcAdy45K/vmyrrxBk/50AsJSaQvfDl7Eyj55CB
AKrKtRQhNI/hQ==
Message-ID: <85866e42-b3d4-462c-8890-e2a354627229@xxxxxxxxxx>
Date: Wed, 28 May 2025 10:28:01 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/9] pinctrl: stm32: Introduce HDP driver
To: =?UTF-8?Q?Cl=C3=A9ment_Le_Goffic?= <clement.legoffic@xxxxxxxxxxx>,
Linus Walleij <linus.walleij@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>,
Bartosz Golaszewski <brgl@xxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
References: <20250523-hdp-upstream-v3-0-bd6ca199466a@xxxxxxxxxxx>
<20250523-hdp-upstream-v3-3-bd6ca199466a@xxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250523-hdp-upstream-v3-3-bd6ca199466a@xxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 23/05/2025 14:38, Clément Le Goffic wrote:
> This patch introduce the driver for the Hardware Debug Port available on
"Add driver...", see submitting patches
> STM32MP platforms. The HDP allows the observation of internal SoC
> signals by using multiplexers. Each HDP port can provide up to 16
> internal signals (one of them can be software controlled as a GPO).
>
> Signed-off-by: Clément Le Goffic <clement.legoffic@xxxxxxxxxxx>
> ---
> drivers/pinctrl/stm32/Kconfig | 14 +
> drivers/pinctrl/stm32/Makefile | 1 +
> drivers/pinctrl/stm32/pinctrl-stm32-hdp.c | 720 ++++++++++++++++++++++++++++++
> 3 files changed, 735 insertions(+)
>
> diff --git a/drivers/pinctrl/stm32/Kconfig b/drivers/pinctrl/stm32/Kconfig
> index 2656d3d3ae40..4b474cfd1f2c 100644
> --- a/drivers/pinctrl/stm32/Kconfig
> +++ b/drivers/pinctrl/stm32/Kconfig
> @@ -57,4 +57,18 @@ config PINCTRL_STM32MP257
> depends on OF && HAS_IOMEM
> default MACH_STM32MP25
> select PINCTRL_STM32
> +
> +config PINCTRL_STM32_HDP
> + tristate "STMicroelectronics STM32 Hardware Debug Port (HDP) pin control"
> + depends on OF && HAS_IOMEM
> + default ARM64 || (ARM && CPU_V7)
I just cleaned this up and I still think this should be default for your
arch, not for every other platform during compile test. See bunch of my
commits "Do not enable by default during compile testing".
> + select PINMUX
> + select GENERIC_PINCONF
> + select GPIOLIB
> + help
> + The Hardware Debug Port allows the observation of internal signals.
> + It uses configurable multiplexer to route signals in a dedicated observation register.
> + This driver also permits the observation of signals on external SoC pins.
> + It permits the observation of up to 16 signals per HDP line.
> +
> endif
> diff --git a/drivers/pinctrl/stm32/Makefile b/drivers/pinctrl/stm32/Makefile
> index 7b17464d8de1..98a1bbc7e16c 100644
> --- a/drivers/pinctrl/stm32/Makefile
> +++ b/drivers/pinctrl/stm32/Makefile
> @@ -11,3 +11,4 @@ obj-$(CONFIG_PINCTRL_STM32H743) += pinctrl-stm32h743.o
> obj-$(CONFIG_PINCTRL_STM32MP135) += pinctrl-stm32mp135.o
> obj-$(CONFIG_PINCTRL_STM32MP157) += pinctrl-stm32mp157.o
> obj-$(CONFIG_PINCTRL_STM32MP257) += pinctrl-stm32mp257.o
> +obj-$(CONFIG_PINCTRL_STM32_HDP) += pinctrl-stm32-hdp.o
> diff --git a/drivers/pinctrl/stm32/pinctrl-stm32-hdp.c b/drivers/pinctrl/stm32/pinctrl-stm32-hdp.c
> new file mode 100644
> index 000000000000..e91442eb566b
> --- /dev/null
> +++ b/drivers/pinctrl/stm32/pinctrl-stm32-hdp.c
> @@ -0,0 +1,720 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright (C) STMicroelectronics 2025 - All Rights Reserved
> + * Author: Clément Le Goffic <clement.legoffic@xxxxxxxxxxx> for STMicroelectronics.
> + */
> +#include <linux/bits.h>
> +#include <linux/clk.h>
> +#include <linux/gpio/driver.h>
> +#include <linux/io.h>
> +#include <linux/of.h>
> +#include <linux/of_device.h>
Not used.
> +#include <linux/pinctrl/consumer.h>
> +#include <linux/pinctrl/pinconf-generic.h>
> +#include <linux/pinctrl/pinctrl.h>
> +#include <linux/pinctrl/pinmux.h>
> +#include <linux/platform_device.h>
> +#include <linux/pm.h>
> +
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665106-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9D3A141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:28:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 78915188AA31
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:28:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 331FB266B46;
Wed, 28 May 2025 08:27:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=sntech.de header.i=@sntech.de header.b="K3IkmPC+"
Received: from gloria.sntech.de (gloria.sntech.de [185.11.138.130])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA64E24678C;
Wed, 28 May 2025 08:27:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.11.138.130
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420863; cv=none; b=ECqP4oCrxw4iIqHeR/5OXamJz2Rr0aaesOHrUUWGHXCMHy7ukNH7qO/zujym4BvIXwSGo91dDB95T50un4NSnnuIMNXGw/m3SvaQ++ibQvxxUETfmCNkaAjAnWtU9Ln2vnNODcauaUII+AeFMRFZLgQVnWYknYaBrzHzKUomLE4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420863; c=relaxed/simple;
bh=qLnZjR5wE3DyZBiN4fnzAvQnOiDhhA+pPzkjxW5NRyY=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=W3hSMGhxgC/3flI+NXuyzLxRtXH7C//DiefYhpzDTrDkCoBk97dURn/6MHv6kC81d9GJ5SOxtZUlV/wiFhk1VVjsmu0y3DDXDZT9yULuhnB7AfhoNcSiCxJO5Cagts5bE1rcso6hqcVRWPThXLESpuQYffq5xPEot38XA8ltv98=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sntech.de; spf=pass smtp.mailfrom=sntech.de; dkim=pass (2048-bit key) header.d=sntech.de header.i=@sntech.de header.b=K3IkmPC+; arc=none smtp.client-ip=185.11.138.130
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sntech.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sntech.de
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sntech.de;
s=gloria202408; h=Content-Type:Content-Transfer-Encoding:MIME-Version:
References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:
Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
Resent-To:Resent-Cc:Resent-Message-ID;
bh=p4GyEZl+mDR1sWV2pSIz0EJuWrr/vpkKFxzXESdLPaQ=; b=K3IkmPC+zp6tbdNaTD+hv7BgP7
sd/kwRnbL+FP54irW/4WRt0zocJHvy9mLWHqWRNLsJlQ5kbRj2sCnYX5tPTFt1nisi7z2OUoyQoS4
EfhsWFL+ofX8EnldVfikRNLiWIFe7nEErqt3+EG/Z64H+zglwyRTbQDGt8W/lNxvgcN3Ke/Ef5xyD
a8s6Utls3q+ituZ5oJV01DoKVevRzJoQkzlcReWKaTAK4esuIoebCRv4x4jkkn3ydP9GUdG3/BY5V
eJMygR9ak1i9+vVusehns8htyZwzh+Rs2vn0wtHO/STN3GkwseZC+8XRCuhlK+2cGCISrB70gy/+O
DgqX4KCA==;
Received: from i53875bdb.versanet.de ([83.135.91.219] helo=diego.localnet)
by gloria.sntech.de with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
(Exim 4.94.2)
(envelope-from <heiko@xxxxxxxxx>)
id 1uKC88-0005bl-T8; Wed, 28 May 2025 10:27:20 +0200
From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= <heiko@xxxxxxxxx>
To: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>,
Simona Vetter <simona.vetter@xxxxxxxx>, dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>,
Intel Graphics <intel-gfx@xxxxxxxxxxxxxxxxxxxxx>,
DRI <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>,
Linux Next Mailing List <linux-next@xxxxxxxxxxxxxxx>,
Damon Ding <damon.ding@xxxxxxxxxxxxxx>
Subject: Re: linux-next: build failure after merge of the drm-misc tree
Date: Wed, 28 May 2025 10:27:19 +0200
Message-ID: <9453742.CDJkKcVGEf@diego>
In-Reply-To: <64499337-fc61-42b0-8c50-7749b2036c54@xxxxxxxxxxxxxx>
References:
<20250528134245.13dc84aa@xxxxxxxxxxxxxxxx>
<64499337-fc61-42b0-8c50-7749b2036c54@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi,
Am Mittwoch, 28. Mai 2025, 09:17:13 Mitteleurop=C3=A4ische Sommerzeit schri=
eb Damon Ding:
> On 2025/5/28 11:42, Stephen Rothwell wrote:
> > Hi all,
> >=20
> > After merging the drm-misc tree, today's linux-next build (arm
> > multi_v7_defconfig) failed like this:
> >=20
> > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c: In function 'analog=
ix_dp_probe':
> > drivers/gpu/drm/bridge/analogix/analogix_dp_core.c:1589:17: error: labe=
l 'err_disable_clk' used but not defined
> > 1589 | goto err_disable_clk;
> > | ^~~~
> >=20
> > Caused by commit
> >=20
> > 6579a03e68ff ("drm/bridge: analogix_dp: Remove the unnecessary calls=
to clk_disable_unprepare() during probing")
> >=20
> > I have used the drm-misc tree from next-20250527 for today.
> >=20
>=20
> Oh, I have found the same compile error after rebasing.
>=20
> I have removed the 'err_disable_clk' flag and made it return=20
> ERR_PTR(ret) in:
> https://lore.kernel.org/all/20250310104114.2608063-7-damon.ding@rock-chip=
s.com/
>=20
> Likely a small merge conflict bug. Will patch it later. ;-)
I have sent in a patch for that issue yesterday, in
https://lore.kernel.org/dri-devel/20250527225120.3361663-1-heiko@xxxxxxxxx/
Heiko
Return-Path: <linux-kernel+bounces-665108-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 37F4241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:29:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 76BF21883910
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:29:30 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A43F1268FE3;
Wed, 28 May 2025 08:29:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=fibocomcorp.onmicrosoft.com header.i=@fibocomcorp.onmicrosoft.com header.b="C51BA6xf"
Received: from SEYPR02CU001.outbound.protection.outlook.com (mail-koreacentralazon11023138.outbound.protection.outlook.com [40.107.44.138])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B026024678C;
Wed, 28 May 2025 08:29:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.44.138
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748420945; cv=fail; b=VkDIp+bJrJS3XTwku7pdonMHAdiT712lV+5lwrsET9hnGok16X8zfm/3vqfkTX+Y9qqPbGPx2RPh2vMWkWHGZZyCvdxaz9p3RU5yvjOW7XanbRtSdsfOhdNaC+KosLpiGREkICDcTOsu9Zm65kgJymkJHVcyLV0f8uhw3rAHs0s=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748420945; c=relaxed/simple;
bh=TCFTh4KtZ1gvS5e00YUf6X5vNCslAG4EuySuVq5iwlU=;
h=From:To:Cc:Subject:Date:Message-Id:Content-Type:MIME-Version; b=FWfoGCQr/AgXeoMb9AxrwRzUwC7Exw4dh6nkVFwQP6GLYZiT/DACVU0VrLIuInJQMlUF6+WVDKxetJZxjMktqSu1AlylNjTkhGf4AItpk6uoxYJXT5JmZavbmP+MDu3fJTCBg7Fd9UopDn568NoWrTL+rtXpwpiBwZTBLoQsZQM=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fibocom.com; spf=pass smtp.mailfrom=fibocom.com; dkim=pass (1024-bit key) header.d=fibocomcorp.onmicrosoft.com header.i=@fibocomcorp.onmicrosoft.com header.b=C51BA6xf; arc=fail smtp.client-ip=40.107.44.138
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fibocom.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fibocom.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Kgsn6kB462Re/keFhokIW4hISDl+2oxabBBh/7EXkuxwVxMNgGCAncVOssgcBQU0w1d7YlZ0X3EuigoYJDHIioLrw/IXsoFzbYV4a+zCCu0ZzXXimC1ZLi4JC1XHuv+pLHEgzAkMwU1YoApukWcwk76axjHfZsPrtBT8D6FK8LCqKXXKYYnkMJ4CEuwCrl+NwjWBt+oIMD361k/RloyZQpMjTkCStgnBs91xcVnSX8eNIHh5QjTxV6GCr6huaJUaNRMM81yUJdR5UWDnsk7Q0RRAORmIkXQLVS5wgRz17SFtthEaFralqFhGkryhirJzOweRbCiZQsvvtPRsNpFw8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=lbnMMLdoVLCQg0WlFmP4cGGGe6/ZGh9T8wNo9YUbNs0=;
b=jwjk8RMJH0ta2bIUbXq/+SG/OzgMBovOWjekpyh46N/ez3yDTmj+CvOGwu3TSTgZSfcepstDysZMWuf/A9W3lEADK8sg8jkB6aL6+bByCdHeMRJdHBRqEH0WSNYmgtqD/uu7+pd4pkQKBsCwrnZe1aZIVdM1/pid9uPUTjIcIg1X2H0NrFtRu3oe0lhfO7Y8SMwqqm26WiV4+ei1NurxAA1GR5pqN5OefihaOY1tQCWSov0iV7kuBXBLbxtSOwCerYXCuKbZcICWYxOmiGExNdLp22nrNzo4cj2UmpOJja1p/RzpMjlBcj4Xb5fRx4N3mfldbpcvLOT/I/Of3wksUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=fibocom.com; dmarc=pass action=none header.from=fibocom.com;
dkim=pass header.d=fibocom.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=fibocomcorp.onmicrosoft.com; s=selector1-fibocomcorp-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=lbnMMLdoVLCQg0WlFmP4cGGGe6/ZGh9T8wNo9YUbNs0=;
b=C51BA6xfmtDuSyBJS1L0hshSxI6sq8QXe2Z4ToPF2WlKy1L3xfy83PXxQS5O87N3kv1z9tVjpx0tJ2NZ19GSbEEl1cJrebMkaQdiuzosLYldZ/3Rhx5o0k2vor+BvuYFD+/K5WD5x7evdhQVew67gFZNfU8+Q9uu7qo3T9Jq7vM=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=fibocom.com;
Received: from SEZPR02MB5782.apcprd02.prod.outlook.com (2603:1096:101:4f::8)
by TY0PR02MB6737.apcprd02.prod.outlook.com (2603:1096:405:19::7) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.24; Wed, 28 May
2025 08:28:53 +0000
Received: from SEZPR02MB5782.apcprd02.prod.outlook.com
([fe80::4843:bf84:bd17:827e]) by SEZPR02MB5782.apcprd02.prod.outlook.com
([fe80::4843:bf84:bd17:827e%4]) with mapi id 15.20.8769.022; Wed, 28 May 2025
08:28:53 +0000
From: Jinjian Song <jinjian.song@xxxxxxxxxxx>
To: chandrashekar.devegowda@xxxxxxxxx,
chiranjeevi.rapolu@xxxxxxxxxxxxxxx,
haijun.liu@xxxxxxxxxxxx,
m.chetan.kumar@xxxxxxxxxxxxxxx,
ricardo.martinez@xxxxxxxxxxxxxxx,
loic.poulain@xxxxxxxxxx,
ryazanov.s.a@xxxxxxxxx,
johannes@xxxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx,
edumazet@xxxxxxxxxx,
kuba@xxxxxxxxxx,
pabeni@xxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx,
linux-doc@xxxxxxxxxxxxxxx,
angelogioacchino.delregno@xxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
matthias.bgg@xxxxxxxxx,
corbet@xxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx,
helgaas@xxxxxxxxxx,
danielwinkler@xxxxxxxxxx,
andrew+netdev@xxxxxxx,
horms@xxxxxxxxxx,
sreehari.kancharla@xxxxxxxxxxxxxxx,
ilpo.jarvinen@xxxxxxxxxxxxxxx,
Jinjian Song <jinjian.song@xxxxxxxxxxx>
Subject: [net v2] net: wwan: t7xx: Fix napi rx poll issue
Date: Wed, 28 May 2025 16:28:27 +0800
Message-Id: <20250528082827.4654-1-jinjian.song@xxxxxxxxxxx>
X-Mailer: git-send-email 2.34.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: SY5P282CA0077.AUSP282.PROD.OUTLOOK.COM
(2603:10c6:10:201::15) To SEZPR02MB5782.apcprd02.prod.outlook.com
(2603:1096:101:4f::8)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SEZPR02MB5782:EE_|TY0PR02MB6737:EE_
X-MS-Office365-Filtering-Correlation-Id: d946f2b2-ab9d-4610-c71f-08dd9dc1ad6c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|52116014|7416014|376014|1800799024|366016|921020|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?TucaBgMo1P4g3V9IETBtPqQdmEFvvgvIqxh5KCWkKrV0H+AIEysr0d1bBdAR?=
=?us-ascii?Q?XHtxbgYPEzjN+Oc9oekxKqebtDhmtMVN34mTsoK/6wWwhTvJy82gzwizOBGr?=
=?us-ascii?Q?B3pA7EcFq8bVsESmGsrJMkBmY3/SGQ5auIbHEJUUL9xNzYPoMDMFVMJfRSHy?=
=?us-ascii?Q?0eaeHBq1e/CCXWY7vtOK75mMBpFT8er54+HF3EbD3esMCefmfriWGdxBClNq?=
=?us-ascii?Q?62hW7kZwVOxjplLOAMqMUNn8Jahr/e2kPikHloi7pkojyWiTYRtNNlKBApO9?=
=?us-ascii?Q?KL2l+TdA1uyA4l45jGpNHIs1TXp3S9SCK9Nmexjm/hjmWXLPHm0TquQpjtZe?=
=?us-ascii?Q?vRgqvOSlnottu7wo+Reo5ZsSQ5RVVftAXmNpLa9K66vfoiah5mlQSS0eF+HO?=
=?us-ascii?Q?tiFhNjsMAdHkspNKC0P/zP+4qiYned5rIdH1WRctIGcJxDLNPKVwFynR/q+v?=
=?us-ascii?Q?mNkuZGtw4A+Z1FgbYekn8/feQbDd9w7zvWG0kOlq24C34PWi6uxhldhmUYdV?=
=?us-ascii?Q?m8xrl7hWUarbHxXLKrPgriGPszFTXbp+Vc62MFVZdncnOy4VpWf/zxIGhb8s?=
=?us-ascii?Q?uCVnNZ0b422oPXDAI1mR/7rq/KI96LSAFKos3dJjP503n0ga/ilS/p4CAhnr?=
=?us-ascii?Q?28SyQv8f+yWX4Lg0V2bi6aX1TZ834sbQYu0zJV+CSOC9mF2W3GH2dRj+MHF/?=
=?us-ascii?Q?5UAZB4kCrrhNRcpX+fZj5rL5eN7KSAuZjRT2dmPQNecGjk0cFBRzE0mwki9I?=
=?us-ascii?Q?CAUQqkDf2WHOjVWJPvAYPpg7dW1h5Zry/mVDcBzLVD3fJgvxlwP4tCd6MKck?=
=?us-ascii?Q?oQi3N8DpnNXVgB+PK+hJfGRtnzD9qJ0OL3luiiIcz37SIwUQ5evxULDRELqM?=
=?us-ascii?Q?PeDb9s/kweySefnDBxkd+PogAQ7HwKZTCYfgvDt9aPQ1DJfrcdaPzIcoFT+K?=
=?us-ascii?Q?DP+zEhwvzWKYuJ2bvaqXp7EuZkpXQSnerRcj3HXA9QKvbi5q3yoMfuBZmsuL?=
=?us-ascii?Q?jiSWulMJFyuldS9DXKDb+hRX2CUEosGOjgWdqABugXk7/nAGI5kvtJMcQdP4?=
=?us-ascii?Q?iFrXwi7Ztw3tCayPTqOqrdRYmdjXk6HXvMggBURliNI2vUz6xlycJUSl7KmH?=
=?us-ascii?Q?hmUcoZpEUdMDddFgK0SIlvIVF3uSXePwj62d2jmtRnOxpCk8Teyj3f4IMKeC?=
=?us-ascii?Q?wJ6kd7ajKmHypP/gRUuwc4yvyKLkPuormr0oHzegTWmKWMq5WaAZAvnKCJ/q?=
=?us-ascii?Q?sAbAtCMfxY00tPAc10nMTjTGdeHBAf284+5WqaBU6cEFj2xc+ccEEhRfa93n?=
=?us-ascii?Q?betQ2ArRV0OQzC2bq7YcKHGfaWKAOLBUR+tJHKOSAZY1PGJpvO9tXWMR3Ilx?=
=?us-ascii?Q?b453k3lTqW0KBZ9Q6cG/zos2pJMVEBweQ+UQUlA0SplT2zgcYS4Ymr1CL7G4?=
=?us-ascii?Q?fWDWPlIa3ZF+iLFZwHMj/MvGH8We81zNPjYpmCB8jOSKtNhCQZqj4gBMsfS4?=
=?us-ascii?Q?i0fuGeqEBznGEjE=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR02MB5782.apcprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(376014)(1800799024)(366016)(921020)(38350700014);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?QJJc7yjoFYWlusw9cUN/4E0Jw155DExvnbvUAS3UPUqmUxRP2nq4uAHjxSL1?=
=?us-ascii?Q?ON3KksIpJpZLoi4sUX1g+Zx62luGHcDugKLBzJJT2ukTDgZrb5/NKUag0Zun?=
=?us-ascii?Q?FH+74NkAXXFDjhBkq4L8rGbvZp7zqjZPT02aDPiO0RrADuy7bn0aJVjr23SO?=
=?us-ascii?Q?MRYD7QFAjHexAqSX27Va2OYwjZqlnTBgc7Ou+mQp++dWgMPBaBpZrEDyYYR5?=
=?us-ascii?Q?cIH/DITam3YvhF6XZULxtb+wMdflQb8PVVdzagWPAiBuUuHlkUvVD2bFOGNS?=
=?us-ascii?Q?/noC1Fvm4EZYVNijy0pdQNd9vb96iOQAF16Qhst/ZImWrH4MH/NEY0AlxKLz?=
=?us-ascii?Q?t15m9ibCHKqPtdrrqzgGk+Yhy4z/sIjsn6PRr1nCrnsWEjfjnmx1f0aDUAmv?=
=?us-ascii?Q?vwjQh2um+H3+Q8C3f5BLUvCHyoBMM8CkSZtbcOppAv2RYPUsYauBNJiivg4h?=
=?us-ascii?Q?VURz2ZHTNQ83rZTJbsuQTsdSIvdxgd36P9QAEa7J6wMYsAvjhcjT3HWELGSv?=
=?us-ascii?Q?CtScVpATu0SJkVjA7iCEKC0HJylj0YexvPfV/iPqwq/wvPefC6IVD3GPCqzI?=
=?us-ascii?Q?wHJgNzW3ERrOuiBSHgs+4A2XCSN75PgcsTe9OJNnJYHD8s7H7wVoDuccte87?=
=?us-ascii?Q?E47GKgcMIECvnHEjo4YSnYaFVbL4a2NqbUYB9SOa+MNYnhhGUtWqG+B0xd+4?=
=?us-ascii?Q?XPzHls4fDZGfUSO7KA4ipdatE/GKCjJWXgG9IhAPGujYpZTsiVuD6K/yQere?=
=?us-ascii?Q?tlEwfOX7TD+LZ38H58k5BetDTJ+7wPZ9CLNOSTS1xBpzZdeP/bQ4h5pIkDVP?=
=?us-ascii?Q?RbHuzUhI1bHiYtDLIUvYiDsiN/BEiwa4owgGevrxPESrhHajWWjW/xk8Metn?=
=?us-ascii?Q?cPYyLP0dZtD+U7RweQOJtA9DlKOj3VuzsPaK4I/oGKS54n3ZIqAcmvF3eGLQ?=
=?us-ascii?Q?5WRt5Ay+eIetYxe58sWbQ6OkL/8tylaKsAptxPa3DBxy3gwuG4y8IoFwaR9d?=
=?us-ascii?Q?lpuW9EadWDU/fHZPamjDHZEtHw4re6Jy/afSNPKKBJR88l6nQss1o8+NWBlU?=
=?us-ascii?Q?ZkSGqsh4JwWsaiXobNA+4VnTgaeF9LOVNKvpqAjLxccMMJu7uyrkKvmLjmKz?=
=?us-ascii?Q?VZf1RS8dao5F0A94WZqPxg9pHHyl/F3tiuqkw7V2SL90me5EltwHYdqs9LFk?=
=?us-ascii?Q?k+VCdA9hoU1Z5ow7tRfcOirF8SBESO0S4miL3fhi51GfjStj5naEdIhmvVVR?=
=?us-ascii?Q?eW0lAwDPShCTW6A0aFNAilx02h/BUzfbdwfzWdPAFqThms20Ld6Lp8txv8Js?=
=?us-ascii?Q?5N+h0DGNPFgj0tHrBC6QlggxYkHMw7WopErimmF9G5pzeR/Vi5F/gtheYsLi?=
=?us-ascii?Q?qMo/XYbK2s5319XDfqlaNe/Xoj5rmZScsjK4axHmx3oPhpzTvZyngDddRrPt?=
=?us-ascii?Q?itHMZyBWzuQslEXuqPQa8x1FPPlqJlc0f7vC/3G5kYUzWItnj9wlA4SdglgJ?=
=?us-ascii?Q?8Zp4ttAx8FFCvppoeldIU/3phxvbFEzUhbN57UmxwglmxuHOF4oyWYDjnWYJ?=
=?us-ascii?Q?2BAT9eEPPJf49JNFdB2wI8f2C8NSF3C7Cch40IOLDNF0VaGvdTH7ttrBArom?=
=?us-ascii?Q?KA=3D=3D?=
X-OriginatorOrg: fibocom.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d946f2b2-ab9d-4610-c71f-08dd9dc1ad6c
X-MS-Exchange-CrossTenant-AuthSource: SEZPR02MB5782.apcprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 08:28:52.8754
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 889bfe61-8c21-436b-bc07-3908050c8236
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jZTqAePmsD7jCRaAcugtiVnEnt0P6TaKFtDCK7txjy5M6FlKPJEFYSpeY4qPsqqUjO148yw3EMnJL+MNy2m21QCTnP2KmRPQ48Zlw5BM4Vo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY0PR02MB6737
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
When driver handles the napi rx polling requests, the netdev might
have been released by the dellink logic triggered by the disconnect
operation on user plane. However, in the logic of processing skb in
polling, an invalid netdev is still being used, which causes a panic.
BUG: kernel NULL pointer dereference, address: 00000000000000f1
Oops: 0000 [#1] PREEMPT SMP NOPTI
RIP: 0010:dev_gro_receive+0x3a/0x620
[...]
Call Trace:
<IRQ>
? __die_body+0x68/0xb0
? page_fault_oops+0x379/0x3e0
? exc_page_fault+0x4f/0xa0
? asm_exc_page_fault+0x22/0x30
? __pfx_t7xx_ccmni_recv_skb+0x10/0x10 [mtk_t7xx (HASH:1400 7)]
? dev_gro_receive+0x3a/0x620
napi_gro_receive+0xad/0x170
t7xx_ccmni_recv_skb+0x48/0x70 [mtk_t7xx (HASH:1400 7)]
t7xx_dpmaif_napi_rx_poll+0x590/0x800 [mtk_t7xx (HASH:1400 7)]
net_rx_action+0x103/0x470
irq_exit_rcu+0x13a/0x310
sysvec_apic_timer_interrupt+0x56/0x90
</IRQ>
Fixes: 5545b7b9f294 ("net: wwan: t7xx: Add NAPI support")
Signed-off-by: Jinjian Song <jinjian.song@xxxxxxxxxxx>
---
drivers/net/wwan/t7xx/t7xx_netdev.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/drivers/net/wwan/t7xx/t7xx_netdev.c b/drivers/net/wwan/t7xx/t7xx_netdev.c
index 91fa082e9cab..48007384c030 100644
--- a/drivers/net/wwan/t7xx/t7xx_netdev.c
+++ b/drivers/net/wwan/t7xx/t7xx_netdev.c
@@ -172,7 +172,7 @@ static void t7xx_ccmni_start(struct t7xx_ccmni_ctrl *ctlb)
int i;
for (i = 0; i < ctlb->nic_dev_num; i++) {
- ccmni = ctlb->ccmni_inst[i];
+ ccmni = READ_ONCE(ctlb->ccmni_inst[i]);
if (!ccmni)
continue;
@@ -192,7 +192,7 @@ static void t7xx_ccmni_pre_stop(struct t7xx_ccmni_ctrl *ctlb)
int i;
for (i = 0; i < ctlb->nic_dev_num; i++) {
- ccmni = ctlb->ccmni_inst[i];
+ ccmni = READ_ONCE(ctlb->ccmni_inst[i]);
if (!ccmni)
continue;
@@ -210,7 +210,7 @@ static void t7xx_ccmni_post_stop(struct t7xx_ccmni_ctrl *ctlb)
t7xx_ccmni_disable_napi(ctlb);
for (i = 0; i < ctlb->nic_dev_num; i++) {
- ccmni = ctlb->ccmni_inst[i];
+ ccmni = READ_ONCE(ctlb->ccmni_inst[i]);
if (!ccmni)
continue;
@@ -302,7 +302,7 @@ static int t7xx_ccmni_wwan_newlink(void *ctxt, struct net_device *dev, u32 if_id
ccmni->ctlb = ctlb;
ccmni->dev = dev;
atomic_set(&ccmni->usage, 0);
- ctlb->ccmni_inst[if_id] = ccmni;
+ WRITE_ONCE(ctlb->ccmni_inst[if_id], ccmni);
ret = register_netdevice(dev);
if (ret)
@@ -321,9 +321,10 @@ static void t7xx_ccmni_wwan_dellink(void *ctxt, struct net_device *dev, struct l
if (if_id >= ARRAY_SIZE(ctlb->ccmni_inst))
return;
- if (WARN_ON(ctlb->ccmni_inst[if_id] != ccmni))
+ if (WARN_ON(READ_ONCE(ctlb->ccmni_inst[if_id]) != ccmni))
return;
+ WRITE_ONCE(ctlb->ccmni_inst[if_id], NULL);
unregister_netdevice(dev);
}
@@ -419,7 +420,7 @@ static void t7xx_ccmni_recv_skb(struct t7xx_ccmni_ctrl *ccmni_ctlb, struct sk_bu
skb_cb = T7XX_SKB_CB(skb);
netif_id = skb_cb->netif_idx;
- ccmni = ccmni_ctlb->ccmni_inst[netif_id];
+ ccmni = READ_ONCE(ccmni_ctlb->ccmni_inst[netif_id]);
if (!ccmni) {
dev_kfree_skb(skb);
return;
@@ -441,7 +442,7 @@ static void t7xx_ccmni_recv_skb(struct t7xx_ccmni_ctrl *ccmni_ctlb, struct sk_bu
static void t7xx_ccmni_queue_tx_irq_notify(struct t7xx_ccmni_ctrl *ctlb, int qno)
{
- struct t7xx_ccmni *ccmni = ctlb->ccmni_inst[0];
+ struct t7xx_ccmni *ccmni = READ_ONCE(ctlb->ccmni_inst[0]);
struct netdev_queue *net_queue;
if (netif_running(ccmni->dev) && atomic_read(&ccmni->usage) > 0) {
@@ -453,7 +454,7 @@ static void t7xx_ccmni_queue_tx_irq_notify(struct t7xx_ccmni_ctrl *ctlb, int qno
static void t7xx_ccmni_queue_tx_full_notify(struct t7xx_ccmni_ctrl *ctlb, int qno)
{
- struct t7xx_ccmni *ccmni = ctlb->ccmni_inst[0];
+ struct t7xx_ccmni *ccmni = READ_ONCE(ctlb->ccmni_inst[0]);
struct netdev_queue *net_queue;
if (atomic_read(&ccmni->usage) > 0) {
@@ -471,7 +472,7 @@ static void t7xx_ccmni_queue_state_notify(struct t7xx_pci_dev *t7xx_dev,
if (ctlb->md_sta != MD_STATE_READY)
return;
- if (!ctlb->ccmni_inst[0]) {
+ if (!READ_ONCE(ctlb->ccmni_inst[0])) {
dev_warn(&t7xx_dev->pdev->dev, "No netdev registered yet\n");
return;
}
--
2.34.1
Return-Path: <linux-kernel+bounces-665109-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1E43941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:30:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1EAC03AD2F5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:29:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 50D642690C4;
Wed, 28 May 2025 08:30:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=canonical.com header.i=@canonical.com header.b="HqzETtbx"
Received: from smtp-relay-canonical-0.canonical.com (smtp-relay-canonical-0.canonical.com [185.125.188.120])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D2DF9268C7F;
Wed, 28 May 2025 08:30:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.125.188.120
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421006; cv=none; b=daP3He3F/l79GbRzv85c6/MVnFvfK+ps2Og4GXqeGqYE8OFUvif+pqsDP6VFMENaNMn/XpIq8ID8DGfUj5ZgFcPdXnwJXzn5AAvvq3f35/aknokrYGRK7Orm17T2Y493eGdf5jjIDmOFPTpJ5KKvAv1nPCPS/HV0YS/7otf0LQM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421006; c=relaxed/simple;
bh=/Ow1PmBI4yy/CopXyfAdNlFq6FA7vnRAq4zgFhQTxKw=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=hGStCR5LNi5yNyQT4PtE7qr+XFd+cGFhiv0tt7kNUhw9sMN25MYQKa8pewlKY6onWKG8CtuXwQLLSU9iijsmgkGNH+JCnQKc0KCEdOjA0MicCMCpcwdnY4FahB3Nwb9lD9i6ZnunyOHfMXySx4v4lByzpYUL/Ch5tWgpG5/8ZUc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canonical.com; spf=pass smtp.mailfrom=canonical.com; dkim=pass (2048-bit key) header.d=canonical.com header.i=@canonical.com header.b=HqzETtbx; arc=none smtp.client-ip=185.125.188.120
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canonical.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=canonical.com
Received: from 2001-b400-e281-d348-7542-b73b-b580-4415.emome-ip6.hinet.net (unknown [10.101.200.229])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by smtp-relay-canonical-0.canonical.com (Postfix) with ESMTPSA id 775C73F796;
Wed, 28 May 2025 08:23:58 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;
s=20210705; t=1748420640;
bh=AstLYq3VMdkE8US+TLkn18adQxf0vcyp/yq783YeBek=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc;
b=HqzETtbxp9eSvSjd4i+6yFEnSZEb1i9MEzQcHtZ7FoLQF476btywbmOYZgbqxhPHh
Lxvb/WY6lVhCBQtUWs+inJsmeQ1835urs+4znbxuqWoQSl8v5Tqr5t2cZFXgwOkzvK
fa30jjEkYkTqJRJteD135smOcUuFk51YVSVzZCs3+skQc7eirzxEqyHkxAwQdYyN9F
pdJuM/SENumq5xo/yFmME1FTQGbvKq8qwvGc7AXDl47ssvH5tlJnVmDpG352kwNinz
mkxP/ZpNxit7Pdp/9fVDHEW0iEJsnTlI7P1tlbbi3VYM8eHMxJ4aRUIaC5NbkS2ggB
H87eJbr6P/Low==
From: "Yo-Jung (Leo) Lin" <leo.lin@xxxxxxxxxxxxx>
Date: Wed, 28 May 2025 16:23:40 +0800
Subject: [PATCH] i2c: i801: Do not instantiate spd5118 under SPD Write
Disable
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-for-upstream-not-instantiate-spd5118-v1-1-8216e2d38918@xxxxxxxxxxxxx>
X-B4-Tracking: v=1; b=H4sIAAvINmgC/x3NwQrCMAyA4VcZORtos7WIryIeOpdpDrYl6UQYe
/cVj9/l/3cwVmGD27CD8ldMSu7wlwGe75RfjLJ0AzkKLlDEtShu1Zpy+mAuDSVbS7lJaoxWl+D
9Fac4EoV5nGJy0FNVeZXff3N/HMcJlOgKb3YAAAA=
To: Jean Delvare <jdelvare@xxxxxxxx>, Andi Shyti <andi.shyti@xxxxxxxxxx>,
Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>,
"Chia-Lin Kao (AceLan)" <acelan.kao@xxxxxxxxxxxxx>,
linux-i2c@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
"Yo-Jung Lin (Leo)" <leo.lin@xxxxxxxxxxxxx>
X-Mailer: b4 0.13.0
X-Developer-Signature: v=1; a=openpgp-sha256; l=3638; i=leo.lin@xxxxxxxxxxxxx;
h=from:subject:message-id; bh=/Ow1PmBI4yy/CopXyfAdNlFq6FA7vnRAq4zgFhQTxKw=;
b=owEBbQKS/ZANAwAKAV8XsZZKKe6GAcsmYgBoNsgdiyPwpuPkoaBHvJPCxpFGouM9JGEIYo+Kx
dhDZaHqswyJAjMEAAEKAB0WIQQzqV4kW+yguuqHrw5fF7GWSinuhgUCaDbIHQAKCRBfF7GWSinu
hjv9D/9ln2uf0BMDipKtSG5gJLMIsM2aDUV2VLoqJkm2bTaI3BIX0EckM7cI/Cpw+zecR2+eo2b
7JWz9I8LjrD+l/BlI1hNXR9Z32XousFTKB0QZX9N6Bt/lhwY1a1uVwuj/Yq//irnPtA2l0zGbBg
ubyyqSPNBGu9TML/BVFRrtWCAL6X37HqqrFhkNBck9Lpxx1husx/+VQRsujad3leL3qaDEAVMKi
QHrL56I6yMfVTuTTyz6Xad6Q4si8ZpLZmkU1CxWY2/5fBrgX48Gnrc95A2n5hB3BGZ8nUGBBE5l
DzHrFA7IE/ReqwyKZTbLcEnGg/4Xq0NGTOkw9TNbXm7/4NrQ9CyzcKvtX/f9/aVfrmIzUC0cGY0
7XMtGH98dexr5gTU2zgLSdIJJgmq5xid8WFFJLpIlk7B5jwHr8AvHqCubBXYWX7X5Mibazr47gg
CS1Yv00UsyJfWIfIAWNpYaEJSFMCwJGD3NMrGNZQtjct1vnLqavLPIWGC4CtAaktyFKdmtgb/pq
BMk7Eha4H3H5Myg/Wc2/Jy34kQ625BO13BAU/Zl4f64TVL6AiJKMMg0zRgGU728K5flvEp/OWan
K4r9Z75wwQYH9CPxCUEfvFjrYqsn9VmZJYLlEw5JtabzY+koEBo5D8SHZQx8SeS+ehkabIjOTjb
CDJPnYLWbAJcXpg==
X-Developer-Key: i=leo.lin@xxxxxxxxxxxxx; a=openpgp;
fpr=33A95E245BECA0BAEA87AF0E5F17B1964A29EE86
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
If SPD Write Disable bit in the SMBus is enabled, writing data to
addresses from 0x50 to 0x57 is forbidden. This may lead to the
following issues for spd5118 devices:
1) Writes to the sensor hwmon sysfs attributes will always result
in ENXIO.
2) During system-wide resume, errors may occur during regcache sync,
resulting in the following error messages:
kernel: spd5118 1-0050: failed to write b = 0: -6
kernel: spd5118 1-0050: pm: dpm_run_callback(): spd5118_resume [spd5118] returns -6
kernel: spd5118 1-0050: pm: failed to resume async: error -6
3) nvmem won't be usable, because writing to the page selector becomes
impossible.
Also, BIOS vendors may choose to set the page to a value != 0 after a board
reset. This will make the sensor not functional unless its MR11 register
can be changed, which is impossible due to writes being disabled.
To address these issues, don't instantiate it at all if the SPD Write Disable
bit is set.
Signed-off-by: Yo-Jung Lin (Leo) <leo.lin@xxxxxxxxxxxxx>
---
This is intended to be the fixed version of the second patch in the
following patch series[1]:
[PATCH v2 0/2] i2c: i801: don't instantiate spd5118 under SPD Write Disable
The original version got reverted due to breaking i386 defconfig build.
However the first patch in that series didn't. To avoid the first patch in
the series being repeatedly sent and applied, this is sent as a separate
patch.
Also not pulling Reviewed-by from Guenter because the patch differs from
what was originally reviewed.
[1] https://lore.kernel.org/all/20250430-for-upstream-i801-spd5118-no-instantiate-v2-0-2f54d91ae2c7@xxxxxxxxxxxxx/
---
drivers/i2c/busses/i2c-i801.c | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
index a7f89946dad4..de17532402b9 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -1157,6 +1157,27 @@ static void dmi_check_onboard_devices(const struct dmi_header *dm, void *adap)
}
}
+static void __i801_register_spd(struct i801_priv *priv)
+{
+ if (priv->original_hstcfg & SMBHSTCFG_SPD_WD)
+ i2c_register_spd_write_disable(&priv->adapter);
+ else
+ i2c_register_spd_write_enable(&priv->adapter);
+}
+
+#ifdef CONFIG_I2C_I801_MUX
+static void i801_register_spd(struct i801_priv *priv)
+{
+ if (!priv->mux_pdev)
+ __i801_register_spd(priv);
+}
+#else
+static void i801_register_spd(struct i801_priv *priv)
+{
+ __i801_register_spd(priv);
+}
+#endif
+
/* Register optional targets */
static void i801_probe_optional_targets(struct i801_priv *priv)
{
@@ -1177,10 +1198,7 @@ static void i801_probe_optional_targets(struct i801_priv *priv)
dmi_walk(dmi_check_onboard_devices, &priv->adapter);
/* Instantiate SPD EEPROMs unless the SMBus is multiplexed */
-#ifdef CONFIG_I2C_I801_MUX
- if (!priv->mux_pdev)
-#endif
- i2c_register_spd_write_enable(&priv->adapter);
+ i801_register_spd(priv);
}
#else
static void __init input_apanel_init(void) {}
@@ -1283,7 +1301,7 @@ static int i801_notifier_call(struct notifier_block *nb, unsigned long action,
return NOTIFY_DONE;
/* Call i2c_register_spd for muxed child segments */
- i2c_register_spd_write_enable(to_i2c_adapter(dev));
+ __i801_register_spd(priv);
return NOTIFY_OK;
}
---
base-commit: 176e917e010cb7dcc605f11d2bc33f304292482b
change-id: 20250526-for-upstream-not-instantiate-spd5118-463225b346a0
Best regards,
--
Yo-Jung (Leo) Lin <leo.lin@xxxxxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665110-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D2F0041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:30:25 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 526C33AD0D3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:30:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BF0942690D9;
Wed, 28 May 2025 08:30:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="P7aRpHv7"
Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 96144268FDD;
Wed, 28 May 2025 08:30:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.194
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421009; cv=none; b=sph9DAvI6B9FnUKPSlxQMH4tq3ZlSzdDwtaD7wQ1le01BpaCGOXAx9aBC+kLD23WxTTPtFPutvdk2LtDHN04kJ6605L43VsAjhRkE7zMY8I4dNzW4TBXrTL0Hluhlyb8eC9ggz6yzKPWw7K/p+Z7qSB8CQuRhogqZInqIVWpDC0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421009; c=relaxed/simple;
bh=T3lD6gZ98QUASETxVSn3qZ/GWqCoVzjcL8V3LnhqE44=;
h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=JEFzmbICbdxNyH5+BVjH85Dv6MeIyWx8wluvgsRtvNrjI21kG7VPWEXNi1MNSVIAU+nX0xs0HrWRFHGYuV2Uzc1Spsxzj10/O6FbHP4cUt8LMx6y0nDTPMolp4kK73piBoG+vMKSMbBDniSIaT9S7zHeiaJepN+1+5cii1fqhZI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=P7aRpHv7; arc=none smtp.client-ip=217.70.183.194
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com
Received: by mail.gandi.net (Postfix) with ESMTPSA id 6A2A743153;
Wed, 28 May 2025 08:29:55 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748420999;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding;
bh=NdtCm4KeLnVfdZbdleEEAwUOA4JSpjcY4XsOVNaCHbA=;
b=P7aRpHv7sMWWrZgOxiKy1icjDjdNKPlrhclj5/VB53qk4dbSNWVQoiwJRhv8erY0AQcw1D
I4VB4G1QvEcmKyuxr9+CNXY/N/IkfahRsO70dhKZIo7AvRTMUHIhlcyrgfsxE+X+N6fvNS
kPWL9uB0+1RclnJDiq/3XiSiGjGivFgDLf7JBujpLMw2zeaLZ99v905KZlEVsdwGMEqrYV
zbFbwyG6IVPGuB9n+FZ4OyM3m0JkCWwLI5gakTFl3bSTTxGg/dd3CesKN5CZy0SihhDSJL
9dskNPfyLFiJtnMcb4DCDmxTZOPtqu+Td0sI/q8V7yBqy7BIATfIn/qW5S5qiw==
From: =?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@xxxxxxxxxxx>
Subject: [PATCH v3 0/2] net: stmmac: prevent div by 0
Date: Wed, 28 May 2025 10:29:49 +0200
Message-Id: <20250528-stmmac_tstamp_div-v3-0-b525ecdfd84c@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-B4-Tracking: v=1; b=H4sIAH3JNmgC/23N0QrCIBTG8VcZXmfocW7VVe8RMdS5dqDNoSLF2
LvnBkHBLv8fnN+ZSbAebSCXYibeJgzoxhziUBDTq/FhKba5CTCQTALQEIdBmSaGqIapaTHRTkr
OoWMVgzPJd5O3Hb4283bP3WOIzr+3F4mv61cTO1rilFNt1ElJJVRZ11ftXHzieDRuIKuX4Neo9
wzIRlUJkFwLLUv4N5Zl+QDThLVm+AAAAA==
X-Change-ID: 20250522-stmmac_tstamp_div-f55112f06029
To: Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>,
Jose Abreu <joabreu@xxxxxxxxxxxx>, Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Richard Cochran <richardcochran@xxxxxxxxx>,
Phil Reid <preid@xxxxxxxxxxxxxxxxx>
Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx>,
Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Jose Abreu <Jose.Abreu@xxxxxxxxxxxx>,
=?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@xxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdejkeculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffufffkgggtgffvvefosehtkeertdertdejnecuhfhrohhmpeetlhgvgihishcunfhothhhohhrrocuoegrlhgvgihishdrlhhothhhohhrvgessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepffefvdelledtfeekudelvdekvdeuffduieevkedviedtgeefueehgfdvuedthfeunecuffhomhgrihhnpehkvghrnhgvlhdrohhrghdpsghoohhtlhhinhdrtghomhenucfkphepledtrdekledrudeifedruddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeltddrkeelrdduieefrdduvdejpdhhvghloheplgduledvrdduieekrddtrddvudgnpdhmrghilhhfrhhomheprghlvgigihhsrdhlohhthhhorhgvsegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedukedprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdgrrhhmqdhkvghrnhgvlheslhhishhtshdrihhnfhhrrgguvggrugdrohhrghdprhgtphhtthhopegrlhgvgihishdrlhhothhhohhrv
gessghoohhtlhhinhdrtghomhdprhgtphhtthhopehmtghoqhhuvghlihhnrdhsthhmfedvsehgmhgrihhlrdgtohhmpdhrtghpthhtoheprghlvgigrghnughrvgdrthhorhhguhgvsehfohhsshdrshhtrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhtmhefvdesshhtqdhmugdqmhgrihhlmhgrnhdrshhtohhrmhhrvghplhihrdgtohhmpdhrtghpthhtohepmhgrgihimhgvrdgthhgvvhgrlhhlihgvrhessghoohhtlhhinhdrtghomhdprhgtphhtthhopegurghvvghmsegurghvvghmlhhofhhtrdhnvght
X-GND-Sasl: alexis.lothore@xxxxxxxxxxx
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello,
this small series aims to fix a small splat I am observing on a STM32MP157
platform at boot (see commit 1) due to a division by 0. This new
revision add the same check in another code path possibly affected by
the same issue, as discussed in v2.
Signed-off-by: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx>
---
Changes in v3:
- remove now duplicate check
- add ptp_rate check in est_configure
- Link to v2: https://lore.kernel.org/r/20250527-stmmac_tstamp_div-v2-1-663251b3b542@xxxxxxxxxxx
Changes in v2:
- Add Fixes tag
- Reword commit message to clarify the triggering cause of the issue
- Link to v1: https://lore.kernel.org/r/20250523-stmmac_tstamp_div-v1-1-bca8a5a3a477@xxxxxxxxxxx
---
Alexis Lothoré (2):
net: stmmac: make sure that ptp_rate is not 0 before configuring timestamping
net: stmmac: make sure that ptp_rate is not 0 before configuring EST
drivers/net/ethernet/stmicro/stmmac/stmmac_est.c | 5 +++++
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 +++++
drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c | 2 +-
3 files changed, 11 insertions(+), 1 deletion(-)
---
base-commit: e0e2f78243385e7188a57fcfceb6a19f723f1dff
change-id: 20250522-stmmac_tstamp_div-f55112f06029
Best regards,
--
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Return-Path: <linux-kernel+bounces-665111-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3DB3841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:30:45 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id D58E817B717
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:30:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E45E3268C7F;
Wed, 28 May 2025 08:30:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="Fmb4isi5"
Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3EC632690E7;
Wed, 28 May 2025 08:30:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.194
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421010; cv=none; b=K3CvoxcBs/kY1ZUCj5g8//fGzhb6QKOqf1EGZFSDhXQSXFyICmAWbNf7e70wp9DYb56rhsdtMO4B1OqghDEYLbfnIm+u5s/1SEnHSyy2HsQqp4+Ckc8hK651RK5Bi9qstM29EWA2p9yKNfm8VRxnILjyIR/kdHVhJdDxJv5Du/A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421010; c=relaxed/simple;
bh=6x3OGJZ4yRjMFAuw7F0Oqu6NwPdKGCaJCRIig+SHvos=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=ddkaTqXEmaeqHyGLWgE5jsR6LXYur6TbonIyFlL0kaR2/WXq2oWI5/9QkMq+DefLkjj3RPhXVkFKT8UebMNF9IQYdMMr+vyAoc6ZnSpb1ry7yF4jfzRyvbxipQ/gtYgE70cSzAKrZzin+NGi/yE9NZiKUWte8x9r44Atz1PeXJI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=Fmb4isi5; arc=none smtp.client-ip=217.70.183.194
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com
Received: by mail.gandi.net (Postfix) with ESMTPSA id 5CC0243181;
Wed, 28 May 2025 08:30:00 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748421001;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=shTq+LjK5kytOL+ZAGqX+p9U+O+5+OqX6NmjbEioOnk=;
b=Fmb4isi5ctT5G4E+PxA6NLD0Xpn3HwwowHzMR32KwsKIs8h/3/Go/bVkp1nRAB4j3AGowP
Sd6nwUDcOGwYPI1XHQIvGONvbWBBjM5cX397cAKYTOcH5JrfnJLEI4lsrAT26qKTUrFytp
Ti4iipv9XjTMmffc//RSLPQF+DKMbrrTXcO9dYxa4R8ZQlGY4JEYiOwtRwui8NyqzjTjIc
jZmpaACJWnfoIMPt43Hzp7buEHV1CgLRSFO7R87xnJbYq7+qBstPmy/5Ya7GW2fyPSWw1l
au2OcxFZOjlE4tQCv/TZBT95gVBILNLC5dfVkO10nFXa3ZHvDhDQXnNl0tO8Hw==
From: =?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@xxxxxxxxxxx>
Date: Wed, 28 May 2025 10:29:51 +0200
Subject: [PATCH v3 2/2] net: stmmac: make sure that ptp_rate is not 0
before configuring EST
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Message-Id: <20250528-stmmac_tstamp_div-v3-2-b525ecdfd84c@xxxxxxxxxxx>
References: <20250528-stmmac_tstamp_div-v3-0-b525ecdfd84c@xxxxxxxxxxx>
In-Reply-To: <20250528-stmmac_tstamp_div-v3-0-b525ecdfd84c@xxxxxxxxxxx>
To: Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>,
Jose Abreu <joabreu@xxxxxxxxxxxx>, Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Richard Cochran <richardcochran@xxxxxxxxx>,
Phil Reid <preid@xxxxxxxxxxxxxxxxx>
Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx>,
Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Jose Abreu <Jose.Abreu@xxxxxxxxxxxx>,
=?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@xxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdejkeculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtkeertdertdejnecuhfhrohhmpeetlhgvgihishcunfhothhhohhrrocuoegrlhgvgihishdrlhhothhhohhrvgessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepgeevgefhteffuefhheekkeelffffvdeugffgveejffdtvdffudehtedtieevteetnecukfhppeeltddrkeelrdduieefrdduvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledtrdekledrudeifedruddvjedphhgvlhhopegludelvddrudeikedrtddrvddungdpmhgrihhlfhhrohhmpegrlhgvgihishdrlhhothhhohhrvgessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepudekpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqrghrmhdqkhgvrhhnvghlsehlihhsthhsrdhinhhfrhgruggvrggurdhorhhgpdhrtghpthhtoheprghlvgigihhsrdhlohhthhhorhgvsegsohhothhlihhnrdgtohhmpdhrtghpthhtohepmhgtohhquhgvlhhin
hdrshhtmhefvdesghhmrghilhdrtghomhdprhgtphhtthhopegrlhgvgigrnhgurhgvrdhtohhrghhuvgesfhhoshhsrdhsthdrtghomhdprhgtphhtthhopehlihhnuhigqdhsthhmfedvsehsthdqmhguqdhmrghilhhmrghnrdhsthhorhhmrhgvphhlhidrtghomhdprhgtphhtthhopehmrgigihhmvgdrtghhvghvrghllhhivghrsegsohhothhlihhnrdgtohhmpdhrtghpthhtohepuggrvhgvmhesuggrvhgvmhhlohhfthdrnhgvth
X-GND-Sasl: alexis.lothore@xxxxxxxxxxx
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
If the ptp_rate recorded earlier in the driver happens to be 0, this
bogus value will propagate up to EST configuration, where it will
trigger a division by 0.
Prevent this division by 0 by adding the corresponding check and error
code.
Suggested-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
Signed-off-by: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx>
Fixes: 8572aec3d0dc ("net: stmmac: Add basic EST support for XGMAC")
---
Changes in v3:
- new patch
---
drivers/net/ethernet/stmicro/stmmac/stmmac_est.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_est.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_est.c
index c9693f77e1f61fe5c92f95f5e544371445626c4d..ac6f2e3a3fcd2f9ae21913845282ff015cd2f7ec 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_est.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_est.c
@@ -32,6 +32,11 @@ static int est_configure(struct stmmac_priv *priv, struct stmmac_est *cfg,
int i, ret = 0;
u32 ctrl;
+ if (!ptp_rate) {
+ netdev_warn(priv->dev, "Invalid PTP rate");
+ return -EINVAL;
+ }
+
ret |= est_write(est_addr, EST_BTR_LOW, cfg->btr[0], false);
ret |= est_write(est_addr, EST_BTR_HIGH, cfg->btr[1], false);
ret |= est_write(est_addr, EST_TER, cfg->ter, false);
--
2.49.0
Return-Path: <linux-kernel+bounces-665112-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 803C141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:30:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 97B8F3B693A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:30:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 17F68269CE8;
Wed, 28 May 2025 08:30:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="Ef1iKOEY"
Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3EBED2690D0;
Wed, 28 May 2025 08:30:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.194
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421010; cv=none; b=mS8/UEFJvaNS7n2w3jq25YkqBpADEnOzwZJULDrxKZr4HXRV2ovz+35M3kt5+Uc8Lck2YOS20+jUfCyjuySNStSIcMwDoJqpqNh/CzaBu9EyKCzmG6+rFqfuoLsqJhGfzC6Kmj0nckUbGxSQv1sDtksZeeQ8q3Ox/fYz8DXUX9g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421010; c=relaxed/simple;
bh=zVMhBykYafqvfCGtnRDyOCKWQDF3UHJ/6B0XGwg+nsU=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=CQ0hP8uqTYlqmDx4RxM16cdWxRmxmnOVZK1yqWpd+3Z+Dr/osIEkJIputkbvDJMIbn1/cXzmxb9T4Wr0l5lGpLjbsoWF2cnWKFN++mriFKH8pMNJ40a2Hoj0BzmuPR46pTOCeKPPsjmrbqtPSgcSymJN0QrtDb93egLzmhtqRvE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=Ef1iKOEY; arc=none smtp.client-ip=217.70.183.194
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com
Received: by mail.gandi.net (Postfix) with ESMTPSA id 86C6943195;
Wed, 28 May 2025 08:29:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748421000;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=q0z9ri+70Fs+CgFUVGQkY1TOdR2du9mAIdijZA8JTVA=;
b=Ef1iKOEYnzY+LmVqROaqkhZPQomDgmIowgIPw82gpaCY/dCccNE+xH9pwLHs0ScQCJLwiv
G2HYScMCC5qvK2A9VIeHPOIAv9eGrARc62IXWDQ9rd4qojVFvXUfshOHr8iGMsf+PMANVK
xiPs5yb1yJCvv2U6Cwo12U4hQXYFbhHMsz2p8lrvuvZI480YbycX14cH/DEuXG8Ty8AwiH
y3NcFuc+i91abPFg6c75HRqGv+5cuqq04nVQC/3PNBK1/Xk9UitVYhUth7cZ9m6vC0BUUX
AGowNvn5lhHy8MEXBh2SEosUYLKVPjYRxyks/+iVtcI2gs/RvJDYKkWOEcMUFw==
From: =?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@xxxxxxxxxxx>
Date: Wed, 28 May 2025 10:29:50 +0200
Subject: [PATCH v3 1/2] net: stmmac: make sure that ptp_rate is not 0
before configuring timestamping
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Message-Id: <20250528-stmmac_tstamp_div-v3-1-b525ecdfd84c@xxxxxxxxxxx>
References: <20250528-stmmac_tstamp_div-v3-0-b525ecdfd84c@xxxxxxxxxxx>
In-Reply-To: <20250528-stmmac_tstamp_div-v3-0-b525ecdfd84c@xxxxxxxxxxx>
To: Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>,
Jose Abreu <joabreu@xxxxxxxxxxxx>, Andrew Lunn <andrew+netdev@xxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Richard Cochran <richardcochran@xxxxxxxxx>,
Phil Reid <preid@xxxxxxxxxxxxxxxxx>
Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx>,
Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Jose Abreu <Jose.Abreu@xxxxxxxxxxxx>,
=?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@xxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdejkeculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtkeertdertdejnecuhfhrohhmpeetlhgvgihishcunfhothhhohhrrocuoegrlhgvgihishdrlhhothhhohhrvgessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepgeevgefhteffuefhheekkeelffffvdeugffgveejffdtvdffudehtedtieevteetnecukfhppeeltddrkeelrdduieefrdduvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledtrdekledrudeifedruddvjedphhgvlhhopegludelvddrudeikedrtddrvddungdpmhgrihhlfhhrohhmpegrlhgvgihishdrlhhothhhohhrvgessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepudekpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqrghrmhdqkhgvrhhnvghlsehlihhsthhsrdhinhhfrhgruggvrggurdhorhhgpdhrtghpthhtoheprghlvgigihhsrdhlohhthhhorhgvsegsohhothhlihhnrdgtohhmpdhrtghpthhtohepmhgtohhquhgvlhhin
hdrshhtmhefvdesghhmrghilhdrtghomhdprhgtphhtthhopegrlhgvgigrnhgurhgvrdhtohhrghhuvgesfhhoshhsrdhsthdrtghomhdprhgtphhtthhopehlihhnuhigqdhsthhmfedvsehsthdqmhguqdhmrghilhhmrghnrdhsthhorhhmrhgvphhlhidrtghomhdprhgtphhtthhopehmrgigihhmvgdrtghhvghvrghllhhivghrsegsohhothhlihhnrdgtohhmpdhrtghpthhtohepuggrvhgvmhesuggrvhgvmhhlohhfthdrnhgvth
X-GND-Sasl: alexis.lothore@xxxxxxxxxxx
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The stmmac platform drivers that do not open-code the clk_ptp_rate value
after having retrieved the default one from the device-tree can end up
with 0 in clk_ptp_rate (as clk_get_rate can return 0). It will
eventually propagate up to PTP initialization when bringing up the
interface, leading to a divide by 0:
Division by zero in kernel.
CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.30-00001-g48313bd5768a #22
Hardware name: STM32 (Device Tree Support)
Call trace:
unwind_backtrace from show_stack+0x18/0x1c
show_stack from dump_stack_lvl+0x6c/0x8c
dump_stack_lvl from Ldiv0_64+0x8/0x18
Ldiv0_64 from stmmac_init_tstamp_counter+0x190/0x1a4
stmmac_init_tstamp_counter from stmmac_hw_setup+0xc1c/0x111c
stmmac_hw_setup from __stmmac_open+0x18c/0x434
__stmmac_open from stmmac_open+0x3c/0xbc
stmmac_open from __dev_open+0xf4/0x1ac
__dev_open from __dev_change_flags+0x1cc/0x224
__dev_change_flags from dev_change_flags+0x24/0x60
dev_change_flags from ip_auto_config+0x2e8/0x11a0
ip_auto_config from do_one_initcall+0x84/0x33c
do_one_initcall from kernel_init_freeable+0x1b8/0x214
kernel_init_freeable from kernel_init+0x24/0x140
kernel_init from ret_from_fork+0x14/0x28
Exception stack(0xe0815fb0 to 0xe0815ff8)
Prevent this division by 0 by adding an explicit check and error log
about the actual issue. While at it, remove the same check from
stmmac_ptp_register, which then becomes duplicate
Fixes: 19d857c9038e ("stmmac: Fix calculations for ptp counters when clock input = 50Mhz.")
Signed-off-by: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx>
---
Changes in v3:
- remove now-duplicate check
- reword commit message
---
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 +++++
drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 918d7f2e8ba992208d7d6521a1e9dba01086058f..f68e3ece919cc88d0bf199a394bc7e44b5dee095 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -835,6 +835,11 @@ int stmmac_init_tstamp_counter(struct stmmac_priv *priv, u32 systime_flags)
if (!(priv->dma_cap.time_stamp || priv->dma_cap.atime_stamp))
return -EOPNOTSUPP;
+ if (!priv->plat->clk_ptp_rate) {
+ netdev_err(priv->dev, "Invalid PTP clock rate");
+ return -EINVAL;
+ }
+
stmmac_config_hw_tstamping(priv, priv->ptpaddr, systime_flags);
priv->systime_flags = systime_flags;
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
index a6b1de9a251dd4fdc083e59717b57ff3b94cefb4..5c85040a1b937ecd1deb701ceaca47df5f3834f3 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
@@ -303,7 +303,7 @@ void stmmac_ptp_register(struct stmmac_priv *priv)
/* Calculate the clock domain crossing (CDC) error if necessary */
priv->plat->cdc_error_adj = 0;
- if (priv->plat->has_gmac4 && priv->plat->clk_ptp_rate)
+ if (priv->plat->has_gmac4)
priv->plat->cdc_error_adj = (2 * NSEC_PER_SEC) / priv->plat->clk_ptp_rate;
stmmac_ptp_clock_ops.n_per_out = priv->dma_cap.pps_out_num;
--
2.49.0
Return-Path: <linux-kernel+bounces-665113-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F3E6041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:34:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id CADA017FFEC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:34:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6DC22268FFF;
Wed, 28 May 2025 08:34:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="S2tjY6dn"
Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9742E1448E3;
Wed, 28 May 2025 08:33:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421239; cv=none; b=RZqjQFUXy4OGDtvGZ8OIRrvz7yHmDeXf7xLAZ/6ZuOSabOCRj5Dhru0wyQAMXyCApDLT8P+gcZEhSaw/YLa8wrlt7qOlJi1sF0YhOVvJN6sbWILiWnm0aRyzA8rJhf/0yOdnaHVvlJTG3gYjsTMuJ5oVFdRufOShfym2VSnKRdM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421239; c=relaxed/simple;
bh=7sPv0uGqgEzHofaHWtN+dLZrGfh1as4fltV8hDUooNI=;
h=Mime-Version:Content-Type:Date:Message-Id:Subject:From:To:Cc:
References:In-Reply-To; b=H6c7d2Wn3c99yDyLo+GpvQ5LV3lRO/xe5ROHO25Cf7+i2fmC35NCFlzecqT5B0OK8YwJbtNryM9gS7H8czO1t3cNS86WUljyMy8CcH++WrV1Fj4FbBXy84HPnkqzHDTUmC3aoFGTc5Gt2ze2j3E5rGCsu2Kl+u4dORzDK2+ygGg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=S2tjY6dn; arc=none smtp.client-ip=217.70.183.197
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com
Received: by mail.gandi.net (Postfix) with ESMTPSA id E62F842EF2;
Wed, 28 May 2025 08:33:46 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748421229;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=ehqDeg13oyew9TLKS5grv38vFykrmlLsB/LhIMhZ56Y=;
b=S2tjY6dnzn6uI6BqR7uuGXs1v0QN/q3+dw5WAfvcPMBbi3o5zTiPQWklaseNVwhYmmWdBC
HrR05Iy36DmnH/Zt50lppYOrfJybzQYti9JSWPkFaa4AZVNaSv0Di17YCfxBOto/8L0ojW
QAdzmUCLWrtb+vHfP1pdM1G2MaPjiVJ+8T6v/jQ8yofbS9S3tw0WEypnDag9Ur3xTXJvbJ
iDjzCfTsbDlzrsFgF1NCQJ8KniHV4cj7hyJEoBlP6oz8ieduUrtAv8uKol2YUf3Eab8vZM
5L1sMy6aIQ8RV+/S8JFcprtZMAqknDFyD9V5nQogY8qeMpN/oPI77iV5yNhAtA==
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 28 May 2025 10:33:46 +0200
Message-Id: <DA7NLJ1CKSFM.3FWBC90NACTRV@xxxxxxxxxxx>
Subject: Re: [PATCH v3 1/2] net: stmmac: make sure that ptp_rate is not 0
before configuring timestamping
From: =?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@xxxxxxxxxxx>
To: =?utf-8?q?Alexis_Lothor=C3=A9?= <alexis.lothore@xxxxxxxxxxx>, "Alexandre
Torgue" <alexandre.torgue@xxxxxxxxxxx>, "Jose Abreu"
<joabreu@xxxxxxxxxxxx>, "Andrew Lunn" <andrew+netdev@xxxxxxx>, "David S.
Miller" <davem@xxxxxxxxxxxxx>, "Eric Dumazet" <edumazet@xxxxxxxxxx>, "Jakub
Kicinski" <kuba@xxxxxxxxxx>, "Paolo Abeni" <pabeni@xxxxxxxxxx>, "Maxime
Coquelin" <mcoquelin.stm32@xxxxxxxxx>, "Richard Cochran"
<richardcochran@xxxxxxxxx>, "Phil Reid" <preid@xxxxxxxxxxxxxxxxx>
Cc: "Thomas Petazzoni" <thomas.petazzoni@xxxxxxxxxxx>, "Maxime Chevallier"
<maxime.chevallier@xxxxxxxxxxx>, <netdev@xxxxxxxxxxxxxxx>,
<linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
"Jose Abreu" <Jose.Abreu@xxxxxxxxxxxx>
X-Mailer: aerc 0.20.1-0-g2ecb8770224a
References: <20250528-stmmac_tstamp_div-v3-0-b525ecdfd84c@xxxxxxxxxxx>
<20250528-stmmac_tstamp_div-v3-1-b525ecdfd84c@xxxxxxxxxxx>
In-Reply-To: <20250528-stmmac_tstamp_div-v3-1-b525ecdfd84c@xxxxxxxxxxx>
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdejleculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepggfgtgffkffuhffvvefofhgjsehtqhertdertdejnecuhfhrohhmpeetlhgvgihishcunfhothhhohhrrocuoegrlhgvgihishdrlhhothhhohhrvgessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnheptedugfevhfevueeggedutefhgfevhfeltefgieejjeeijeejveegtdehgeefkefhnecuffhomhgrihhnpegsohhothhlihhnrdgtohhmnecukfhppeeltddrkeelrdduieefrdduvdejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledtrdekledrudeifedruddvjedphhgvlhhopehlohgtrghlhhhoshhtpdhmrghilhhfrhhomheprghlvgigihhsrdhlohhthhhorhgvsegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedukedprhgtphhtthhopegrlhgvgihishdrlhhothhhohhrvgessghoohhtlhhinhdrtghomhdprhgtphhtthhopegrlhgvgigrnhgurhgvrdhtohhrghhuvgesfhhoshhsrdhsthdrtghomhdprhgtphhtthhopehjohgrsghrvghusehshihnohhpshihshdrtghomhdprhgtphhtthhopegrnhgurhgvfidonhgvt
hguvghvsehluhhnnhdrtghhpdhrtghpthhtohepuggrvhgvmhesuggrvhgvmhhlohhfthdrnhgvthdprhgtphhtthhopegvughumhgriigvthesghhoohhglhgvrdgtohhmpdhrtghpthhtohepkhhusggrsehkvghrnhgvlhdrohhrghdprhgtphhtthhopehprggsvghnihesrhgvughhrghtrdgtohhm
X-GND-Sasl: alexis.lothore@xxxxxxxxxxx
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed May 28, 2025 at 10:29 AM CEST, Alexis Lothor=C3=A9 wrote:
> The stmmac platform drivers that do not open-code the clk_ptp_rate value
> after having retrieved the default one from the device-tree can end up
> with 0 in clk_ptp_rate (as clk_get_rate can return 0). It will
> eventually propagate up to PTP initialization when bringing up the
> interface, leading to a divide by 0:
>
> Division by zero in kernel.
> CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.30-00001-g48313bd5=
768a #22
> Hardware name: STM32 (Device Tree Support)
> Call trace:
> unwind_backtrace from show_stack+0x18/0x1c
> show_stack from dump_stack_lvl+0x6c/0x8c
> dump_stack_lvl from Ldiv0_64+0x8/0x18
> Ldiv0_64 from stmmac_init_tstamp_counter+0x190/0x1a4
> stmmac_init_tstamp_counter from stmmac_hw_setup+0xc1c/0x111c
> stmmac_hw_setup from __stmmac_open+0x18c/0x434
> __stmmac_open from stmmac_open+0x3c/0xbc
> stmmac_open from __dev_open+0xf4/0x1ac
> __dev_open from __dev_change_flags+0x1cc/0x224
> __dev_change_flags from dev_change_flags+0x24/0x60
> dev_change_flags from ip_auto_config+0x2e8/0x11a0
> ip_auto_config from do_one_initcall+0x84/0x33c
> do_one_initcall from kernel_init_freeable+0x1b8/0x214
> kernel_init_freeable from kernel_init+0x24/0x140
> kernel_init from ret_from_fork+0x14/0x28
> Exception stack(0xe0815fb0 to 0xe0815ff8)
>
> Prevent this division by 0 by adding an explicit check and error log
> about the actual issue. While at it, remove the same check from
> stmmac_ptp_register, which then becomes duplicate
>
> Fixes: 19d857c9038e ("stmmac: Fix calculations for ptp counters when cloc=
k input =3D 50Mhz.")
> Signed-off-by: Alexis Lothor=C3=A9 <alexis.lothore@xxxxxxxxxxx>
I realize that I forgot to collect Yanteng's and Maxime's RB on this patch,
and I guess they remain relevant despite the second new patch, my bad. I'll
remember to add them if this needs a new revision.
Alexis
--=20
Alexis Lothor=C3=A9, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Return-Path: <linux-kernel+bounces-665114-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 66BAB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:34:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 6B14D1899C22
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:34:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EFD14268FED;
Wed, 28 May 2025 08:34:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="nXn8IeKw"
Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B869D24A07C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:34:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421263; cv=none; b=grYnU0SWT6ongg5KmJXrkP8cscGFCwa0rV8iIX0Oh5F6Yxagt7xYqVUCBg+JbhM8IGYjzzDOsownPL2wJTlgRsHaIhc/YWF1Sw2giw59ExCTx38ZuRyBqR6F7K/nafNLI3Wer4TNygz5ZPv8Z4zItXBIzUok4wGf53ryrVXeBR8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421263; c=relaxed/simple;
bh=+CCZesIMhNxnvohUDQmsFwus3PXchNmfqBl0as+bi8s=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=DuJhnfRrhaDW7TNNaJyYuvcqpvXlKXH1MiXnsC492LEGscKThuqboKYbGOrD0XvSOq3LbTaG7Fv4+W3ZBSqZLax82LjuWzimTSnuHFELU6hoUQh0FKuUfsMvjXCb6jioSlibu23o4fHIFmjvWr9LSU/24iQ/yErcSHCqlox6f3M=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=nXn8IeKw; arc=none smtp.client-ip=148.163.156.1
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0360083.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S3ugMK004944;
Wed, 28 May 2025 08:34:02 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=pp1; bh=UTM5u1l2n0kAspKjldvPCAwdiqwUnt
i0AqdYXhv4OyY=; b=nXn8IeKwSsnbto93bOvck9BDUzGNMoVQKLpmhRvOMs70e7
gn5qZOr65atsT5YDaENZTgKkIsDMSPykZ16QvPD4bT7OQSfSwvl0ayplxBcZuwqH
VErm3I+28PdEgqXHcvoyhBNsQ0yajpKcWsQpXm8YaJ9VbrJnWZikfIjXqxL7PfHL
MZzwmCB9puEwE1MWUWSQ1TUcik1SNgjRDLZ3H9x2LNyleM2eQSvck3rwO0lEG0ZL
th9q8SJtNy2/NBGwJ0FhKb/tHmGko37E5jNVxJthKIgFuQeY/GojvnXdMrcsktaS
mQuGqw1P03Wo9D4F48dmnm/kePgF8RohzPbPJ9yA==
Received: from pps.reinject (localhost [127.0.0.1])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wgsj3q8d-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 08:34:02 +0000 (GMT)
Received: from m0360083.ppops.net (m0360083.ppops.net [127.0.0.1])
by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 54S8UfvY017974;
Wed, 28 May 2025 08:34:01 GMT
Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wgsj3q8b-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 08:34:01 +0000 (GMT)
Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1])
by ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54S6Y0Vk028983;
Wed, 28 May 2025 08:34:00 GMT
Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229])
by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 46usepxp48-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 08:34:00 +0000
Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100])
by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54S8XwbA50528604
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 08:33:58 GMT
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 1E09220043;
Wed, 28 May 2025 08:33:58 +0000 (GMT)
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 3682B20040;
Wed, 28 May 2025 08:33:56 +0000 (GMT)
Received: from li-e1dea04c-3555-11b2-a85c-f57333552245.ibm.com (unknown [9.39.16.188])
by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTPS;
Wed, 28 May 2025 08:33:56 +0000 (GMT)
Date: Wed, 28 May 2025 14:03:53 +0530
From: Mukesh Kumar Chaurasiya <mchauras@xxxxxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: maddy@xxxxxxxxxxxxx, mpe@xxxxxxxxxxxxxx, npiggin@xxxxxxxxx,
christophe.leroy@xxxxxxxxxx, arnd@xxxxxxxx, jk@xxxxxxxxxx,
segher@xxxxxxxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx
Subject: Re: [PATCH] powerpc: Fixing typo in comment
Message-ID: <e564iytmzbbchj7cxbh6nxysnjh3akd4tixjdg46uvkryl6bnx@njjpjxeppct7>
References: <20250528080051.1351779-2-mchauras@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528080051.1351779-2-mchauras@xxxxxxxxxxxxx>
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=IcmHWXqa c=1 sm=1 tr=0 ts=6836ca7a cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=kj9zAlcOel0A:10 a=dt9VzEwgFbYA:10 a=VnNF1IyMAAAA:8 a=iZhVWIIbJi_2OSwl4MUA:9 a=CjuIK1q_8ugA:10
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA3MyBTYWx0ZWRfXxXUU8eVrSeot B8+g6YU/mgrpkz3setWL/beWZy2ojs1Gy1YiPmoPy6KM/kBNQPcGg0NYm87HC6SQwhLrx9idpil WuBJaPIiemy4UoLlavqtqMhIgaFIo5BqiGsBxi5OGbBYZje2fo+v4I6eA0iw9S6s2DyVBVPjw/j
a52lc7ED0+tiGBdgPprknHowD6a20lJhYOoJCCl5jVr9pmszkCXzk7f68pcvalrWhXRARaCuHBt z5T7jrnMKEZd0zFYigzJ4rXX1DqUMi5JLpamMT5NlKkQ/5O5Zuib+HmbeQrP6dnKv0qk3sKTX3M WWnesbL1icoPH0A3vDMyY09uchaHVfkcc9WjCVfzTrNal/kBgchfKkCup+AbkBvs84vIXPZqVCE
WxJkpVYxkeLVgVwtfdhCugh0gDLdK1r8s8s8kLWfvkVMEY6Dv/khx64z1LyyXDa3Zqkp5r9o
X-Proofpoint-ORIG-GUID: VuMODfVn3SUMOJ3XoRcus3ysqe-89dE9
X-Proofpoint-GUID: lP-Zoj1lNRC1qbOl--l2mxzoRreFgaK3
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0
priorityscore=1501 mlxscore=0 phishscore=0 clxscore=1015
lowpriorityscore=0 suspectscore=0 mlxlogscore=577 adultscore=0
impostorscore=0 bulkscore=0 spamscore=0 classifier=spam authscore=0
authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280073
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 01:30:52PM +0530, Mukesh Kumar Chaurasiya wrote:
> fixing a typo where iff is supposed to be if.
>
I just realized its if and only if. Please ignore.
> Signed-off-by: Mukesh Kumar Chaurasiya <mchauras@xxxxxxxxxxxxx>
> ---
> arch/powerpc/kernel/exceptions-64s.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
> index b7229430ca94..53667dc7fe1a 100644
> --- a/arch/powerpc/kernel/exceptions-64s.S
> +++ b/arch/powerpc/kernel/exceptions-64s.S
> @@ -393,7 +393,7 @@ DEFINE_FIXED_SYMBOL(\name\()_common_real, text)
> .endif
>
> ld r10,PACAKMSR(r13) /* get MSR value for kernel */
> - /* MSR[RI] is clear iff using SRR regs */
> + /* MSR[RI] is clear if using SRR regs */
> .if IHSRR_IF_HVMODE
> BEGIN_FTR_SECTION
> xori r10,r10,MSR_RI
> --
> 2.49.0
>
Return-Path: <linux-kernel+bounces-665115-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C82DE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:34:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 131334A08DE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:34:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6CB5626A086;
Wed, 28 May 2025 08:34:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="fo+EJ2TB"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D3F38268FDD
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:34:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421280; cv=none; b=kahm2591dYbnCDg4Ero5Vccs1376LxqKvw/KePbId2Sf8tQG9ME2d7gLVbfn5N9Rk9wZkYJQ5qT8Yn9VbDe+pHiwMlsBFKLOtKePuXrsJaQ15/PayX9DeTlHMpvDQbNF5/zKqnygqWli+lS223jziQ6Ea/63Amm25Cr2p5dRZwo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421280; c=relaxed/simple;
bh=WuwyUAHqnp7HPv0q9YY9o8U6CvTjARcWIkJ++XQwOv0=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=aNcHrRn1hqnWarPkaNI7CR+BktjJV6aCVfFJUfwktvS7Kotn5/dansJbzj72di69KxKSvK2Yayw4htr8Szwc1xbywVUxsLwfJSkgK4C2Gu+CH+mwgr/chF4O4j+k6NB6eXDiEqee4Go7+f3iCEgZ/AlLc1E+QGX7Qlv1Fl/j7FI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=fo+EJ2TB; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748421277;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding;
bh=U4i+JqyZ/XZ2/PTdI6CeFGM3MJ6lxIFb7tc48utqptU=;
b=fo+EJ2TBzw72F8UTyIa18pQsA2MbPXODZHXL2xMuLFF1BDa/qStO10NDSElNqOqLYabfJj
J+sc1koyYarO6cK17mlKvCkqaRRfpF/hCR1rL8LKj9E9RD6cT4vVqcQaX19IwRqnNr7G40
2S4/fi+ZR3wQhx6b1uQRC8h8NwHMA2A=
Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com
[209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-149-C0hxtqIeM5GTv-0o0Knggg-1; Wed, 28 May 2025 04:34:35 -0400
X-MC-Unique: C0hxtqIeM5GTv-0o0Knggg-1
X-Mimecast-MFC-AGG-ID: C0hxtqIeM5GTv-0o0Knggg_1748421274
Received: by mail-ed1-f72.google.com with SMTP id 4fb4d7f45d1cf-601a4d2913fso4704230a12.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:34:35 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748421273; x=1749026073;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=U4i+JqyZ/XZ2/PTdI6CeFGM3MJ6lxIFb7tc48utqptU=;
b=qm0tYQnTcagGQE4eedMNk8jhQKXNOMK0kgUXTU0NySjOpEqSZZ0x42uyWqT7bKPJAF
duCoe84AzLMdRUjxtVDT5UrAH4rbphvx/0lyD7txiluQYtp+qryy8bB2j5j+OgesOzAf
eM7ReTjrIHY8PG2I4a4cc8AZuaeSdSI5qY5ZKval4bfZc5HPMM9HSLG9+9VFtM/7saii
zaQ+J6bYsoarXQT8q39259WHeQJggTBAFnGp/KiUJeorDDksU/diCccisuIgAbM6JgUP
qnL/MuXeqzC7X1omk3ZSkzTOfrFYfp9AMueebC+hzLd4THhh8usYVLs1M/WJeADVaXUc
VE6w==
X-Gm-Message-State: AOJu0YwLXwU/2rhPFcAeYgbPrhO99CXT4YVYeFKOL9LqEbIspTucht8D
r1qICNudWcuAS9mpS9qQrjuPWhSuLf0UfNpnmlhxf8hcptXiOQCXqrJnGfAYBYimE0RPTKAxWRP
WTXED2HkAtNVxx0HRry2hJ/shULyhOjiXV1CrqFYD4CDxfv7CWvaz4p9VlCk7lqEA+xFk87fcmf
FW/vWPuXrP9eEx9g3Au1It84WsXbXeBPJ6H+uxTvbkwmwM8cctJA==
X-Gm-Gg: ASbGnctn86wJmkNCcnOgEW0y601bta0r+2b3je/u2fmQmMrWKcmwe8JrAm0osgoYpIy
CBHnQsb87L8cLxWVeDgFjebDZnNv0VcapvU4Vi7rjZKRGkRr6kbiBJ/OX4eouIQWd29VyK1wLIR
F9c1HO9oOvmxB470YL9HTp4QYSmwaSE+ktol50wCNqngwmhlqribPjDvZcgFyuHFI0LkPjp03OD
KqHHo5oi4QjEdiImgoN+B9d7a08Ua7V/+cauSRlVVxxJtOT0dl+QI+O3ZSylaPND5MHLgxD8fly
RH4f+p0/4f9rmA==
X-Received: by 2002:a17:907:944c:b0:ad8:9988:44d2 with SMTP id a640c23a62f3a-ad899884717mr339412866b.20.1748421273252;
Wed, 28 May 2025 01:34:33 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IG4e2bHjQQ64E6JdYrHpC7X4lCExyEp/3G8BfrYRE/V4IpI0prysNOJc41oeaxS+qaPAGw0SA==
X-Received: by 2002:a17:907:944c:b0:ad8:9988:44d2 with SMTP id a640c23a62f3a-ad899884717mr339410266b.20.1748421272788;
Wed, 28 May 2025 01:34:32 -0700 (PDT)
Received: from [192.168.122.1] ([151.95.46.79])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a19acd7esm70875766b.11.2025.05.28.01.34.31
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:34:32 -0700 (PDT)
From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx,
kvm@xxxxxxxxxxxxxxx
Cc: rust-for-linux@xxxxxxxxxxxxxxx,
ojeda@xxxxxxxxxx,
Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Subject: [PATCH] rust: add helper for mutex_trylock
Date: Wed, 28 May 2025 10:34:30 +0200
Message-ID: <20250528083431.1875345-1-pbonzini@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
After commit c5b6ababd21a ("locking/mutex: implement mutex_trylock_nested",
currently in the KVM tree) mutex_trylock() will be a macro when lockdep is
enabled. Rust therefore needs the corresponding helper. Just add it and
the rust/bindings/bindings_helpers_generated.rs Makefile rules will do
their thing.
Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
---
Ok to apply to the KVM tree?
rust/helpers/mutex.c | 5 +++++
1 files changed, 5 insertions(+)
diff a/rust/helpers/mutex.c b/rust/helpers/mutex.c
index 06575553eda5,06575553eda5..9ab29104bee1
--- a/rust/helpers/mutex.c
+++ b/rust/helpers/mutex.c
@@ -7,6 +7,11 @@ void rust_helper_mutex_lock(struct mute
mutex_lock(lock);
}
+int rust_helper_mutex_trylock(struct mutex *lock)
+{
+ return mutex_trylock(lock);
+}
+
void rust_helper___mutex_init(struct mutex *mutex, const char *name,
struct lock_class_key *key)
{
Return-Path: <linux-kernel+bounces-665116-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5A57C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:35:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A27674A0816
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:35:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0438F26A08A;
Wed, 28 May 2025 08:35:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b="ey/HoVHv"
Received: from out30-100.freemail.mail.aliyun.com (out30-100.freemail.mail.aliyun.com [115.124.30.100])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C58B0268FFF;
Wed, 28 May 2025 08:35:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.30.100
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421340; cv=none; b=A8cVt5N6JAbMFRtmidgz/GGFwnJDS/o1c03dL94bvF97qDQUtZIoHibmNWJR1ozqpnfiOT6bkaRjBhikPIxdITHukwrn0ALCvLRiubqGNjwxlCbNCY+fIrs+apvy8NFS6lEz4ar2H2lxIT6THqFfki8uRKOsxQq2PSspHPNnrfg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421340; c=relaxed/simple;
bh=rALpFPEiTVr308SndMzrfaKc23oNScVyKdtgmZ2jaZo=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=X4Fa6UsnQz2k/gNaqX8SeUMFiYu+7ocH/By0SVdY7rBZoLTFuP58xkNkO7ALf9V/f7OGR7uC8qxDlFLL/WbFBQ0Cm5pKVytIVivd1OCcomUoO2A31aTBOedS+xqXWdHKQ2Vlc9v8uWz6TAKzSrtQYb8X8w+1NPvbiFnqSl4AzdE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com; spf=pass smtp.mailfrom=linux.alibaba.com; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b=ey/HoVHv; arc=none smtp.client-ip=115.124.30.100
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.alibaba.com
DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linux.alibaba.com; s=default;
t=1748421328; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type;
bh=C1C3naz7hPNUvfz7qjQzQeD+k7g8b1WXlsA41wkU4Fg=;
b=ey/HoVHvaDVT7sf8n102x9de18es3mQ+kRvKPbMNJcJS2Og1tVbh25/qmXLw25PqURFdFDQ6GcfMqllAoBLvQ16BAY1NZJ4Q6cMWNJ7T/sXtGVsZqIa7Y1L7KzP7YeGBDt42fxAgs/UhYa1nubbVFFzyFxEx6QPK4q7HGQSn+uQ=
Received: from 30.221.130.248(mailfrom:hsiangkao@xxxxxxxxxxxxxxxxx fp:SMTPD_---0WcCj5pL_1748421326 cluster:ay36)
by smtp.aliyun-inc.com;
Wed, 28 May 2025 16:35:27 +0800
Message-ID: <d0e08cbf-c6e4-4ecd-bcaf-40c426279c4f@xxxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 16:35:26 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [QUESTION] cachefiles: Recovery concerns with on-demand loading
after unexpected power loss
To: Zizhi Wo <wozizhi@xxxxxxxxxxxxxxx>, netfs@xxxxxxxxxxxxxxx,
dhowells@xxxxxxxxxx, jlayton@xxxxxxxxxx, brauner@xxxxxxxxxx
Cc: jefflexu@xxxxxxxxxxxxxxxxx, zhujia.zj@xxxxxxxxxxxxx,
linux-erofs@xxxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, wozizhi@xxxxxxxxxx, libaokun1@xxxxxxxxxx,
yangerkun@xxxxxxxxxx, houtao1@xxxxxxxxxx, yukuai3@xxxxxxxxxx
References: <20250528080759.105178-1-wozizhi@xxxxxxxxxxxxxxx>
From: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>
In-Reply-To: <20250528080759.105178-1-wozizhi@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-10.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,
USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Zizhi,
On 2025/5/28 16:07, Zizhi Wo wrote:
> Currently, in on-demand loading mode, cachefiles first calls
> cachefiles_create_tmpfile() to generate a tmpfile, and only during the exit
> process does it call cachefiles_commit_object->cachefiles_commit_tmpfile to
> create the actual dentry and making it visible to users.
>
> If the cache write is interrupted unexpectedly (e.g., by system crash or
> power loss), during the next startup process, cachefiles_look_up_object()
> will determine that no corresponding dentry has been generated and will
> recreate the tmpfile and pull the complete data again!
>
> The current implementation mechanism appears to provide per-file atomicity.
> For scenarios involving large image files (where significant amount of
> cache data needs to be written), this re-pulling process after an
> interruption seems considerable overhead?
>
> In previous kernel versions, cache dentry were generated during the
> LOOK_UP_OBJECT process of the object state machine. Even if power was lost
> midway, the next startup process could continue pulling data based on the
> previously downloaded cache data on disk.
>
> What would be the recommended way to handle this situation? Or am I
> thinking about this incorrectly? Would appreciate any feedback and guidance
> from the community.
As you can see, EROFS fscache feature was marked as deprecated
since per-content hooks already support the same use case.
the EROFS fscache support will be removed after I make
per-content hooks work in erofs-utils, which needs some time
because currently I don't have enough time to work on the
community stuff.
Thanks,
Gao Xiang
>
> Thanks,
> Zizhi Wo
Return-Path: <linux-kernel+bounces-665117-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8DE8D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:36:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id BFE854A0DAF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:36:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7EFA026A096;
Wed, 28 May 2025 08:36:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ONqR8pR+"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3AE22269CF5;
Wed, 28 May 2025 08:35:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.13
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421359; cv=none; b=Bnh63DDvT/ggkPAKhuPQXo1OaCOuR84sU/GlqDKd+wi45BALvlqbEepT/zFFEb/cMScH+MX/q1+rpYYA2rVv70hEw+WE37Ja2QuLfIGiNZ2st1ACbjR/dGeq0zRALzz/nGQlIbJYoXj5TvPzVNRwTlLPwt8knznJEPs1cXfgDOg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421359; c=relaxed/simple;
bh=zC6RfVpR24GC2DQDRKbj6v6ZzT4oGsPAyeKR4bvFIM8=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=B3tVWPaWEuZAwagSUCJgAYBs9Z/Crwhe+e9wQzuH0IFqLwJIIUihuc6ZmHOcuF+qtJbec9Kq5a9ZmEEw0P05L8dlBmKZCxhfjpPjnJxYMpH+W4v7oUeYXIM/gVD7q7WZ7rt5/+q7n75dsov9u6vSg8O35/YYtI358hsnnF1hwhs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ONqR8pR+; arc=none smtp.client-ip=192.198.163.13
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748421358; x=1779957358;
h=message-id:date:mime-version:subject:to:cc:references:
from:in-reply-to:content-transfer-encoding;
bh=zC6RfVpR24GC2DQDRKbj6v6ZzT4oGsPAyeKR4bvFIM8=;
b=ONqR8pR+SzPjxsT1JDCpxb6G4g/GiAJhD2PTSA8CgEMfHSjuwPpeo5el
IFUmnEIw1Fr3fP8nNW1dU97gMLzJZTB19fGelr5MZaglMjvvWZfHZpTP0
TqN5x9B5Sey26lQllN9O+UIse6vNI95emImAY6e7dI5xxf9reLQ3ESe2a
gpxdg7vlSPSu3Htcztc995fEwgTBb31FTqW5Q9d37Fewp8YqRgxdmcFcQ
enL4IFo6ZEdykz6lSNiucE5jI1ZRqzv8pbbuPi9sBT5wIGa/Rzmt4kdgt
yyGpq/wlUIFl+UHpzdppzDs3GOkXKCbWlLtehyFGRUZWOiV0KiPz29ZgN
g==;
X-CSE-ConnectionGUID: P30fevplQ3GMzXzE9WKF/w==
X-CSE-MsgGUID: 4gkpNXjLReKiQk3kp7NO0w==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="53062877"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="53062877"
Received: from orviesa008.jf.intel.com ([10.64.159.148])
by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:35:57 -0700
X-CSE-ConnectionGUID: 2X13U/L4S0+UGn5NnIHtXQ==
X-CSE-MsgGUID: +PuLB7i8SQqFwqHf8cSYAg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="144148737"
Received: from xiaoyaol-hp-g830.ccr.corp.intel.com (HELO [10.124.247.1]) ([10.124.247.1])
by orviesa008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:35:56 -0700
Message-ID: <aea0cc02-3b18-4c7e-9108-ab5e923051bf@xxxxxxxxx>
Date: Wed, 28 May 2025 16:35:52 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/4] KVM: x86: Use kvzalloc() to allocate VM struct
To: Sean Christopherson <seanjc@xxxxxxxxxx>,
Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: kvm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Vipin Sharma <vipinsh@xxxxxxxxxx>, James Houghton <jthoughton@xxxxxxxxxx>
References: <20250523001138.3182794-1-seanjc@xxxxxxxxxx>
<20250523001138.3182794-4-seanjc@xxxxxxxxxx>
Content-Language: en-US
From: Xiaoyao Li <xiaoyao.li@xxxxxxxxx>
In-Reply-To: <20250523001138.3182794-4-seanjc@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-2.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,HK_RANDOM_FROM,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/23/2025 8:11 AM, Sean Christopherson wrote:
> Allocate VM structs via kvzalloc(), i.e. try to use a contiguous physical
> allocation before falling back to __vmalloc(), to avoid the overhead of
> establishing the virtual mappings. For non-debug builds, The SVM and VMX
> (and TDX) structures are now just below 7000 bytes in the worst case
> scenario (see below), i.e. are order-1 allocations, and will likely remain
> that way for quite some time.
>
> Add compile-time assertions in vendor code to ensure the size of the
> structures, sans the memslos hash tables, are order-0 allocations, i.e.
s/memslos/memslots
> are less than 4KiB. There's nothing fundamentally wrong with a larger
> kvm_{svm,vmx,tdx} size, but given that the size of the structure (without
> the memslots hash tables) is below 2KiB after 18+ years of existence,
> more than doubling the size would be quite notable.
>
> Add sanity checks on the memslot hash table sizes, partly to ensure they
> aren't resized without accounting for the impact on VM structure size, and
> partly to document that the majority of the size of VM structures comes
> from the memslots.
>
> Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
Reviewed-by: Xiaoyao Li <xiaoyao.li@xxxxxxxxx>
Return-Path: <linux-kernel+bounces-665118-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 52C6841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:36:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 22305189A886
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:36:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 90FF8269D09;
Wed, 28 May 2025 08:36:11 +0000 (UTC)
Received: from mxct.zte.com.cn (mxct.zte.com.cn [183.62.165.209])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0E377269CF1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:36:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=183.62.165.209
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421371; cv=none; b=iDh5fTMJlxpxYeY7olyPTWM99FIvNNtVqm8UTI4zb3HaiSB/En+ahzwQuFQ/aJfgnhxgt9vcVAJwivJgZyjCq16SugIUXW22kEu0D773A8PFwGlAB5zwHig2MS6YpapAS1deMbyssGVXAwv/9at9niiD1JR/79ZjAhqR/T+44vU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421371; c=relaxed/simple;
bh=+juGPqQx2dxxIRe2qNdCPx4owhUmUrZBrz0AU2Mt+1o=;
h=Date:Message-ID:In-Reply-To:References:Mime-Version:From:To:Cc:
Subject:Content-Type; b=pkS/MsZix5mHI8GPfr9dZNG2IhmfnrLEAgeauFMfzBGPthDmllb8TBnmJFS6kqVb6oBtKKrSHVi7eK3JapyDSty6eOnFMe16sk+4rWJVlexbwl0lTxAcnRU//8zqaCufmciixKPSQgWBOlQ7wAJqWULHUC1Lid3gt/qPDd4DeSo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zte.com.cn; spf=pass smtp.mailfrom=zte.com.cn; arc=none smtp.client-ip=183.62.165.209
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zte.com.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zte.com.cn
Received: from mse-fl1.zte.com.cn (unknown [10.5.228.132])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by mxct.zte.com.cn (FangMail) with ESMTPS id 4b6jWc6b90z51SZC;
Wed, 28 May 2025 16:35:56 +0800 (CST)
Received: from szxl2zmapp06.zte.com.cn ([10.1.32.108])
by mse-fl1.zte.com.cn with SMTP id 54S8ZqSF007524;
Wed, 28 May 2025 16:35:52 +0800 (+08)
(envelope-from yang.yang29@xxxxxxxxxx)
Received: from mapi (szxlzmapp02[null])
by mapi (Zmail) with MAPI id mid14;
Wed, 28 May 2025 16:35:55 +0800 (CST)
Date: Wed, 28 May 2025 16:35:55 +0800 (CST)
X-Zmail-TransId: 2b046836caeb06c-f558f
X-Mailer: Zmail v1.0
Message-ID: <202505281635550657WwIZSDv_Pkkfh9PqJSEV@xxxxxxxxxx>
In-Reply-To: <20250521093157668iQrhhcMjA-th5LQf4-A3c@xxxxxxxxxx>
References: 20250521093157668iQrhhcMjA-th5LQf4-A3c@xxxxxxxxxx
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
From: <yang.yang29@xxxxxxxxxx>
To: <jiang.kun2@xxxxxxxxxx>, <wang.yaxin@xxxxxxxxxx>,
<akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: <xu.xin16@xxxxxxxxxx>, <bbonev@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<bsingharora@xxxxxxxxx>, <jiang.kun2@xxxxxxxxxx>
Subject: =?UTF-8?B?UmU6IFtQQVRDSCBsaW51eCBuZXh0IHYzXSBkZWxheWFjY3Q6IHJlbW92ZSByZWR1bmRhbnQgY29kZSBhbmQKIGFkanVzdCBpbmRlbnRhdGlvbg==?=
Content-Type: multipart/mixed;
boundary="=====_001_next====="
X-MAIL:mse-fl1.zte.com.cn 54S8ZqSF007524
X-Fangmail-Anti-Spam-Filtered: true
X-Fangmail-MID-QID: 6836CAEC.001/4b6jWc6b90z51SZC
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--=====_001_next=====
Content-Type: multipart/related;
boundary="=====_002_next====="
--=====_002_next=====
Content-Type: multipart/alternative;
boundary="=====_003_next====="
--=====_003_next=====
Content-Type: text/plain;
charset="UTF-8"
Content-Transfer-Encoding: base64
PiByZW1vdmUgcmVkdW5kYW50IGNvZGUgYW5kIGFkanVzdCBpbmRlbnRhdGlvbiBvZiB4eHhfZGVs
YXlfbWF4L21pbg0KUGxlYXNlIHBheSBhdHRlbnRpb24gdG8gY2FwaXRhbGl6YXRpb24gb2YgdGhl
IGZpcnN0IGxldHRlciBhbmQgcHVuY3R1YXRpb24uDQpUaGlzIHBhdGNoIG1ha2UgdGhlIGNvZGUg
bW9yZSBjb25jaXNlIGFuZCBleHByZXNzaXZlLg0KQWNrLWJ5OiBZYW5nIFlhbmcgPHlhbmcueWFu
ZzI5QHp0ZS5jb20uY24+DQoNCj4gUmVtb3ZlIHJlZHVuZGFudCBjb2RlIGFuZCBhZGp1c3QgaW5k
ZW50YXRpb24gb2YgeHh4X2RlbGF5X21heC9taW4uDQpIaSBNb3J0b24sIHRoaXMgcGF0Y2ggYWZ0
ZXIgeW91IGFkanVzdGVkIGRvZXNuJ3QgaW5jbHVkZSBpbmRlbnRhdGlvbiBmaXgu
--=====_003_next=====
Content-Type: text/html ;
charset="UTF-8"
Content-Transfer-Encoding: base64
PGRpdiBjbGFzcz0iemNvbnRlbnRSb3ciPjxwPiZndDsgcmVtb3ZlIHJlZHVuZGFudCBjb2RlIGFu
ZCBhZGp1c3QgaW5kZW50YXRpb24gb2YgeHh4X2RlbGF5X21heC9taW48L3A+PHA+UGxlYXNlIHBh
eSBhdHRlbnRpb24gdG8gY2FwaXRhbGl6YXRpb24gb2YgdGhlIGZpcnN0IGxldHRlciBhbmQgcHVu
Y3R1YXRpb24uPC9wPjxwPlRoaXMgcGF0Y2ggbWFrZSB0aGUgY29kZSBtb3JlIGNvbmNpc2UgYW5k
IGV4cHJlc3NpdmUuPC9wPjxwPkFjay1ieTombmJzcDtZYW5nIFlhbmcgJmx0O3lhbmcueWFuZzI5
QHp0ZS5jb20uY24mZ3Q7PC9wPjxwPjxicj48L3A+PHA+Jmd0OyZuYnNwO1JlbW92ZSByZWR1bmRh
bnQgY29kZSBhbmQgYWRqdXN0IGluZGVudGF0aW9uIG9mIHh4eF9kZWxheV9tYXgvbWluLjwvcD48
cD5IaSBNb3J0b24sIHRoaXMgcGF0Y2ggYWZ0ZXIgeW91IGFkanVzdGVkIGRvZXNuJ3QgaW5jbHVk
ZSZuYnNwO2luZGVudGF0aW9uIGZpeC48L3A+PC9kaXY+
--=====_003_next=====--
--=====_002_next=====--
--=====_001_next=====--
Return-Path: <linux-kernel+bounces-665119-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F395641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:37:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 9F9811BA022A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:37:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7F09F26A0A8;
Wed, 28 May 2025 08:37:24 +0000 (UTC)
Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2BD3B269D09
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:37:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421444; cv=none; b=XHxNl9XFweEKf2E7WZ2ITHOzoRwBJ1/YzdNesjWzE0wPaqkrriEKLGZP34RU+dM8z04hCrhkhrAxGsonRGjYrL4u15ftCWQnLu4ZkcuiiAUA1rVIYFK2QIz3wHFlrIRalClZItSfRnYWnbMUQeIK+7egzihF3Cz4YEsBX9zo+9A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421444; c=relaxed/simple;
bh=n8L8hSbrqamAiukg5nHCiSPxIBvhPJ1OR8imom1GXko=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=TOupZGIfBWaW1lkke682xWHypw4hJKm9PlWXx4V/v5DWwovvYyq7O6AEeSNKsSPaitz/mE0JhSYcRkNlPlhLp64WGXeE8GdH3AmLGlksHt8FeHXZP8uLtu5ej8UHh+1+4EO3ajbDjDhOolbMp5fJL49oHnCk6myaNf3p3sscaS8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.92)
(envelope-from <mfe@xxxxxxxxxxxxxx>)
id 1uKCHY-0000EX-Uw; Wed, 28 May 2025 10:37:04 +0200
Received: from pty.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::c5])
by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
(Exim 4.96)
(envelope-from <mfe@xxxxxxxxxxxxxx>)
id 1uKCHY-000Yat-1t;
Wed, 28 May 2025 10:37:04 +0200
Received: from mfe by pty.whiteo.stw.pengutronix.de with local (Exim 4.96)
(envelope-from <mfe@xxxxxxxxxxxxxx>)
id 1uKCHY-00ER6A-1T;
Wed, 28 May 2025 10:37:04 +0200
Date: Wed, 28 May 2025 10:37:04 +0200
From: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
To: Shengjiu Wang <shengjiu.wang@xxxxxxx>
Cc: robh@xxxxxxxxxx, krzk+dt@xxxxxxxxxx, conor+dt@xxxxxxxxxx,
shawnguo@xxxxxxxxxx, s.hauer@xxxxxxxxxxxxxx, kernel@xxxxxxxxxxxxxx,
festevam@xxxxxxxxx, devicetree@xxxxxxxxxxxxxxx, imx@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
shengjiu.wang@xxxxxxxxx, carlos.song@xxxxxxx
Subject: Re: [PATCH v2 4/6] arm64: dts: imx943-evk: add sound-wm8962 support
Message-ID: <20250528083704.ne6wyoj6vcmy7azq@xxxxxxxxxxxxxx>
References: <20250528015837.488376-1-shengjiu.wang@xxxxxxx>
<20250528015837.488376-5-shengjiu.wang@xxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528015837.488376-5-shengjiu.wang@xxxxxxx>
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: mfe@xxxxxxxxxxxxxx
X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: linux-kernel@xxxxxxxxxxxxxxx
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi,
On 25-05-28, Shengjiu Wang wrote:
> Add WM8962 codec connected to SAI1 interface.
>
> Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxx>
> Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
> ---
> arch/arm64/boot/dts/freescale/imx943-evk.dts | 79 ++++++++++++++++++++
> 1 file changed, 79 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx943-evk.dts b/arch/arm64/boot/dts/freescale/imx943-evk.dts
> index ff6e9ac5477f..da08aaa95904 100644
> --- a/arch/arm64/boot/dts/freescale/imx943-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx943-evk.dts
> @@ -36,6 +36,15 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
> enable-active-high;
> };
>
> + reg_audio_pwr: regulator-wm8962-pwr {
> + compatible = "regulator-fixed";
> + regulator-max-microvolt = <3300000>;
> + regulator-min-microvolt = <3300000>;
> + regulator-name = "audio-pwr";
> + gpio = <&pcal6416_i2c3_u171 12 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> reserved-memory {
> ranges;
> #address-cells = <2>;
> @@ -50,6 +59,21 @@ linux,cma {
> };
> };
>
> + sound-wm8962 {
> + compatible = "fsl,imx-audio-wm8962";
Out of curiosity did you considered making use of "audio-graph-card2"?
The "fsl,imx-audio-wm8962" seems like a pretty simple sound card which
could be added via the "audio-graph-card2" as well. Don't get me wrong,
it's not wrong what you're doing here but making use of the generic
sound card would be nice because it's very common to just copy'n'paste
the audio integration from the corresponding evk.dts file.
Regards,
Marco
> + audio-codec = <&wm8962>;
> + audio-cpu = <&sai1>;
> + audio-routing = "Headphone Jack", "HPOUTL",
> + "Headphone Jack", "HPOUTR",
> + "Ext Spk", "SPKOUTL",
> + "Ext Spk", "SPKOUTR",
> + "AMIC", "MICBIAS",
> + "IN3R", "AMIC",
> + "IN1R", "AMIC";
> + hp-det-gpio = <&pcal6416_i2c3_u48 14 GPIO_ACTIVE_HIGH>;
> + model = "wm8962-audio";
> + };
> +
> memory@80000000 {
> reg = <0x0 0x80000000 0x0 0x80000000>;
> device_type = "memory";
> @@ -103,6 +127,28 @@ i2c@4 {
> reg = <4>;
> #address-cells = <1>;
> #size-cells = <0>;
> +
> + wm8962: codec@1a {
> + compatible = "wlf,wm8962";
> + reg = <0x1a>;
> + clocks = <&scmi_clk IMX94_CLK_SAI1>;
> + AVDD-supply = <®_audio_pwr>;
> + CPVDD-supply = <®_audio_pwr>;
> + DBVDD-supply = <®_audio_pwr>;
> + DCVDD-supply = <®_audio_pwr>;
> + gpio-cfg = <
> + 0x0000 /* 0:Default */
> + 0x0000 /* 1:Default */
> + 0x0000 /* 2:FN_DMICCLK */
> + 0x0000 /* 3:Default */
> + 0x0000 /* 4:FN_DMICCDAT */
> + 0x0000 /* 5:Default */
> + >;
> + MICVDD-supply = <®_audio_pwr>;
> + PLLVDD-supply = <®_audio_pwr>;
> + SPKVDD1-supply = <®_audio_pwr>;
> + SPKVDD2-supply = <®_audio_pwr>;
> + };
> };
>
> i2c@5 {
> @@ -128,6 +174,12 @@ pcal6416_i2c3_u171: gpio@21 {
> reg = <0x21>;
> #gpio-cells = <2>;
> gpio-controller;
> +
> + audio-pwren-hog {
> + gpios = <12 GPIO_ACTIVE_HIGH>;
> + gpio-hog;
> + output-high;
> + };
> };
> };
>
> @@ -262,6 +314,23 @@ &lpuart1 {
> status = "okay";
> };
>
> +&sai1 {
> + assigned-clocks = <&scmi_clk IMX94_CLK_AUDIOPLL1_VCO>,
> + <&scmi_clk IMX94_CLK_AUDIOPLL2_VCO>,
> + <&scmi_clk IMX94_CLK_AUDIOPLL1>,
> + <&scmi_clk IMX94_CLK_AUDIOPLL2>,
> + <&scmi_clk IMX94_CLK_SAI1>;
> + assigned-clock-parents = <0>, <0>, <0>, <0>,
> + <&scmi_clk IMX94_CLK_AUDIOPLL1>;
> + assigned-clock-rates = <3932160000>,
> + <3612672000>, <393216000>,
> + <361267200>, <12288000>;
> + pinctrl-0 = <&pinctrl_sai1>;
> + pinctrl-names = "default";
> + fsl,sai-mclk-direction-output;
> + status = "okay";
> +};
> +
> &scmi_iomuxc {
>
> pinctrl_ioexpander_int2: ioexpanderint2grp {
> @@ -297,6 +366,16 @@ IMX94_PAD_GPIO_IO28__LPI2C6_SCL 0x40000b9e
> >;
> };
>
> + pinctrl_sai1: sai1grp {
> + fsl,pins = <
> + IMX94_PAD_SAI1_TXFS__SAI1_TX_SYNC 0x31e
> + IMX94_PAD_SAI1_TXC__SAI1_TX_BCLK 0x31e
> + IMX94_PAD_SAI1_TXD0__SAI1_TX_DATA0 0x31e
> + IMX94_PAD_SAI1_RXD0__SAI1_RX_DATA0 0x31e
> + IMX94_PAD_I2C2_SDA__SAI1_MCLK 0x31e
> + >;
> + };
> +
> pinctrl_uart1: uart1grp {
> fsl,pins = <
> IMX94_PAD_UART1_TXD__LPUART1_TX 0x31e
> --
> 2.34.1
>
>
>
Return-Path: <linux-kernel+bounces-665120-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3C2CE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:40:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 2A9981BA08A6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:40:26 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9FD3D26A0AF;
Wed, 28 May 2025 08:40:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="dBo3rgO1"
Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 68223322A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:40:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421605; cv=none; b=PjovdYjuKjxS8j5636nJKCf/Iph/2/xiwKKrWDjRwwKSixTNqqSMo+OkRJmA0eNbE8s6IBMLfRWUF9IwqxK8sCusJCJO7qSWHFfqCILWrJzwfiSKxxyTD0SGhAR0tS2jJ5VwtdtuaX/bJo9WG9tMaGsYiiRSAjyujAf3Abf7IYM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421605; c=relaxed/simple;
bh=7wptbdNgKSJJV6qPKilbbkbtlz1dsIL6cphrC3hoX6s=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=HMYmMJysaCsrWn8xSdZHDrNS60CfkKLsA5/sOLb+bW8Q7q9WfKjC64eEf7PZopLyUzVfQtBJPSdCBBizJEyk8/muNeHG9ACeQF3fhUcCxNEIgb4rgBJsMoiF5WgLe1Atsi1zjIH+vlPIM7fhfKfw1/W/Q1IN/TpFACFqy2QDj38=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=dBo3rgO1; arc=none smtp.client-ip=209.85.128.54
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com
Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-442ccf0e1b3so54794205e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:40:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=suse.com; s=google; t=1748421602; x=1749026402; darn=vger.kernel.org;
h=in-reply-to:autocrypt:from:content-language:references:cc:to
:subject:user-agent:mime-version:date:message-id:from:to:cc:subject
:date:message-id:reply-to;
bh=7wptbdNgKSJJV6qPKilbbkbtlz1dsIL6cphrC3hoX6s=;
b=dBo3rgO1o5Cqw3zwC2EdHoxN/F9tiGIH5ZTwLnPKvcSTuFebE454tQXvPCVs199uIL
yBEs3eIFdDiSx5f2F1EK7Pwrh+bMecJjtLvUkKNmjE3HVMwwo4ft5jNO/RZTNCO0U1/w
3vgOWXTrFs62npuKlDTJx4sTkZnRtepeyipepCZXYrFWjCtS2q8hSk1XQYTNe6/HBtML
F6gVUzptWsKEAE1Xj10w1/mXGd3wmCSCGKd2tt346qWnPt1xV9Q4juQkRCheF3U/Yy/h
FOlu95jLy80Kw/0rLFphIrzV7F4yfA7uMV2E16Puxi/FayU32q/lWErkCpmVMbPw3RZg
wXKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748421602; x=1749026402;
h=in-reply-to:autocrypt:from:content-language:references:cc:to
:subject:user-agent:mime-version:date:message-id:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=7wptbdNgKSJJV6qPKilbbkbtlz1dsIL6cphrC3hoX6s=;
b=Oj7dw3NsAESgjKEYaTMSvCypKFZtt3OHF2zPn7Y92C4xeDB0dTRhG1e5SomnJLsvIF
arhi7hkifVALvK1JwU8qfmYKCI1ltmK1RUOVozDMzgyqoaeE/SWQK4ZvTyveJSlzRWAD
qFJbz9wOzO/QCUlYrZID6JinQ/JNkpwlTL/oYPfCCnETRTCEZi75buicbfAopm9YEtHG
3oP+8+Cg3WDz/dMhOl/JKFEFPmsQkbq/ae3bF/0YgcP0g7uqY9fG1OhYpJ5pzqsL0it2
f5xPYXe5WeBePhL/UyO2zWu7M7CV7thu/Y/nqMQrNAcay+Qj93yzp8JwUJR258gExB2Y
xWTg==
X-Forwarded-Encrypted: i=1; AJvYcCXu9xQ9xrWNt3tj9K+iu2DkjzmyNHKwjzLxgLhDcdtGkftEtiWGppoh7B+OIncHLY7Gc4DAVWdOp/lhYEM=@vger.kernel.org
X-Gm-Message-State: AOJu0Ywha1FPWJeK+BdNKsWLt0Fd1zIrWl8WnzQ2S+wUFXupNLX0KcI9
ukwLbcT/mZ5XCuqRVNB10ihHFd56Ni/bkf4puDo4DcFDw2ujc+crWczTc18oW761fDk=
X-Gm-Gg: ASbGncu9MLkk5MNiu45y34JU9FdwxeGNmmncO7BMGLfscI2wW4HgXv+rdN6Mdj4ys8X
CwsNnBMiv/lAcsLuIq6a7jWxq1lt1NYrww/73y7zv8BhkyyHBiK3+Bfcg59D3+/kie0E3PgX88N
cL8/YDauHutnm1ikowIP/oqTZkng2dEjaJEhsDQAhhXIxBSV/sgYmKA+fliX4xHFyarIt1C8tzt
IoLdhaH4TT0lIJJr6aKFUeu9NDnMterAFkQlBV0Qs+Vx0y3SQ/7sFk53CqYQCj6s4JeYLh810VA
+WUKYXpl9MDtKQtYhHqCBMlxoxHgWWRUXTPGYkbylVWQ7fu7y1WflhOYa0mRtgnnBp7aPAk5Gd5
6l+HMIf8Ku4pTgZ7r93M39XSxb29b87CjlK8vgZdr52KC68l39hs05chQGX9RcUgwKi5MfhO3U6
TwysoeideYbZ4=
X-Google-Smtp-Source: AGHT+IG3Kj8Ha4jt75w0EyyPy6wWEW61ufzy8NCxUv1sGhrOVd3vIEo+p9dkq0Vic8uHLEoP1aZhRg==
X-Received: by 2002:a05:6000:3101:b0:3a4:d2b6:3121 with SMTP id ffacd0b85a97d-3a4d2b63319mr10109883f8f.32.1748421601586;
Wed, 28 May 2025 01:40:01 -0700 (PDT)
Received: from ?IPV6:2003:e5:872a:8800:5c7b:1ac1:4fa0:423b? (p200300e5872a88005c7b1ac14fa0423b.dip0.t-ipconnect.de. [2003:e5:872a:8800:5c7b:1ac1:4fa0:423b])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eace3260sm844580f8f.90.2025.05.28.01.40.00
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 01:40:01 -0700 (PDT)
Message-ID: <d94b8659-3392-478c-b9fa-bc951a687195@xxxxxxxx>
Date: Wed, 28 May 2025 10:39:59 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [Bug Report] Linux v6.15-rc7 boot failure on Xen-4.17
To: Xin Li <xin@xxxxxxxxx>
Cc: Gupta Pawan <pawan.kumar.gupta@xxxxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx,
Zijlstra Peter <peterz@xxxxxxxxxxxxx>,
Hansen Dave <dave.hansen@xxxxxxxxxxxxxxx>, alexandre.chartre@xxxxxxxxxx,
Cooper Andrew <andrew.cooper3@xxxxxxxxxx>, Zhang Tao1 <tao1.zhang@xxxxxxxxx>
References: <607917bc-6788-425a-8051-181a078ddb49@xxxxxxxx>
<C28A8745-02AD-489E-B2F3-6DE81C511783@xxxxxxxxx>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@xxxxxxxx>
Autocrypt: addr=jgross@xxxxxxxx; keydata=
xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <C28A8745-02AD-489E-B2F3-6DE81C511783@xxxxxxxxx>
Content-Type: multipart/signed; micalg=pgp-sha256;
protocol="application/pgp-signature";
boundary="------------ESmoc9CzFBHMfOhHmQeouObk"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ESmoc9CzFBHMfOhHmQeouObk
Content-Type: multipart/mixed; boundary="------------wBRzd9vtDDIuCNCUCXaQnaoM";
protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@xxxxxxxx>
To: Xin Li <xin@xxxxxxxxx>
Cc: Gupta Pawan <pawan.kumar.gupta@xxxxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx,
Zijlstra Peter <peterz@xxxxxxxxxxxxx>,
Hansen Dave <dave.hansen@xxxxxxxxxxxxxxx>, alexandre.chartre@xxxxxxxxxx,
Cooper Andrew <andrew.cooper3@xxxxxxxxxx>, Zhang Tao1 <tao1.zhang@xxxxxxxxx>
Message-ID: <d94b8659-3392-478c-b9fa-bc951a687195@xxxxxxxx>
Subject: Re: [Bug Report] Linux v6.15-rc7 boot failure on Xen-4.17
References: <607917bc-6788-425a-8051-181a078ddb49@xxxxxxxx>
<C28A8745-02AD-489E-B2F3-6DE81C511783@xxxxxxxxx>
In-Reply-To: <C28A8745-02AD-489E-B2F3-6DE81C511783@xxxxxxxxx>
--------------wBRzd9vtDDIuCNCUCXaQnaoM
Content-Type: multipart/mixed; boundary="------------e6my0r2mALzHnFJtqxfoVhkn"
--------------e6my0r2mALzHnFJtqxfoVhkn
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64
T24gMjcuMDUuMjUgMjE6MjEsIFhpbiBMaSB3cm90ZToNCj4gDQo+PiBPbiBNYXkgMjcsIDIw
MjUsIGF0IDExOjM24oCvQU0sIErDvHJnZW4gR3Jvw58gPGpncm9zc0BzdXNlLmNvbT4gd3Jv
dGU6DQo+Pg0KPj4g77u/T24gMjcuMDUuMjUgMTk6NTQsIFhpbiBMaSB3cm90ZToNCj4+PiBP
biA1LzI3LzIwMjUgMTA6NDYgQU0sIFBhd2FuIEd1cHRhIHdyb3RlOg0KPj4+Pj4gQXR0YWNo
ZWQgaXMgdGhlIHNlcmlhbCBjb25zb2xlIGxvZyBhbmQgbXkga2VybmVsIGNvbmZpZy4NCj4+
Pj4gU2VyaWFsIGxvZ3MgYXJlbid0IHRlbGxpbmcgbXVjaC4gSSBkbyBub3QgaGF2ZSBhIFhl
biBzZXR1cCB0byB0ZXN0LCB3aXRob3V0DQo+Pj4+IFhlbiB0aGUgY29uZmlnIHRoYXQgeW91
IHByb3ZpZGVkIGlzIGJvb3RpbmcgYSBLVk0gZ3Vlc3QganVzdCBmaW5lLg0KPj4+IFllYWgs
IGFzIEkgcmVwbGllZCB0byBKdWVyZ2VuLCB0aGUgc2FtZSBrZXJuZWwgYmluYXJ5IGJvb3Rz
IGZpbmUgYXMNCj4+PiAibmF0aXZlIi4NCj4+PiBVbmZvcnR1bmF0ZWx5IHdoZW4gYm9vdGlu
ZyBhcyBkb20wIG9uIFhlbiwgaXQga2VlcHMgcmVib290aW5nIHcvbw0KPj4+IGhlbHBmdWwg
bG9nLg0KPj4NCj4+IFdoYXQgYWJvdXQgYm9vdGluZyBYZW4gb24gYmFyZSBtZXRhbCwgaS5l
LiBubyBLVk0gYmVpbmcgaW52b2x2ZWQ/DQo+IA0KPiBUaGUgc2FtZSBleGFjdCBwcm9ibGVt
IGhhcHBlbnMgb24gSW50ZWwgU2ltaWNzLiAgQW5kIEkgZ290IHRvIHNlZSBpdOKAmXMgYSBO
WCBwYWdlIGZhdWx0IGluIGRvbTAga2VybmVsIGR1cmluZyBhcHBseSBhbHRlcm5hdGl2ZXMu
DQoNCkRvIHlvdSBoYXZlIGEgYmFja3RyYWNlPw0KDQpIaXR0aW5nIGEgTlggcGFnZSBmYXVs
dCBkdXJpbmcgYXBwbHlpbmcgYWx0ZXJuYXRpdmVzIHNvdW5kcyBsaWtlIGNhbGxpbmcNCmlu
dG8gYSBqdXN0IGFsbG9jYXRlZCB0aHVuayB3aGljaCBoYXNuJ3QgYmVlbiBzZXQgdG8gUk9Y
IGFnYWluLg0KDQoNCkp1ZXJnZW4NCg==
--------------e6my0r2mALzHnFJtqxfoVhkn
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----
--------------e6my0r2mALzHnFJtqxfoVhkn--
--------------wBRzd9vtDDIuCNCUCXaQnaoM--
--------------ESmoc9CzFBHMfOhHmQeouObk
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"
-----BEGIN PGP SIGNATURE-----
wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmg2y+AFAwAAAAAACgkQsN6d1ii/Ey8R
Zwf/WpN9ZZeV2c6qLPPJWztZeaS8FQKMHFdCZSsuHznefSmj3sgzZPcEmadIaw/P7CjaV9mUjLwh
TuH/OCAvX4lctSq6SXG3/5XsvoQe+ifHKuIqP2qfGSIBmkRo1AA9YKFSY9jXRKW9pPSHu1sYrLo7
kAtvw//J7YG4pGCR7ulbunzogBqniWD9q2Mr/PCwewlJJFCQT1NyzHvaNv1j1BNFLZRUlb/qyNgO
PLdF8d9oYdmYo3A4DHpMPNKwtVdbYQRMNiksguxspfKHWXGB8aVf505Y/1vYJymTqruQfOGkDg1o
Uh0iUh0t93sGnFJiJLOaDzZBeAKRyx7/ickFIz/wkg==
=LOUE
-----END PGP SIGNATURE-----
--------------ESmoc9CzFBHMfOhHmQeouObk--
Return-Path: <linux-kernel+bounces-665121-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DE7D241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:41:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id DD1013B8F1D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:40:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8BC2C26A0D0;
Wed, 28 May 2025 08:41:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b="DaUJmDRD"
Received: from mail-yb1-f171.google.com (mail-yb1-f171.google.com [209.85.219.171])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B54C1FDA97
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:41:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.171
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421664; cv=none; b=tWBIPxD4ErMBJz0TjtpHYuugg2T1DtePYwcR+oGsgzlHi64z9kPeoqXkZ0a1OX0mnu4VgejF/zIe82tbyLM+T4v8J2xWXtwLv1dEIOLp+5GfVmo1SQ5Zr7Z2Rz+Lbgo99mV+vQ5eU82x5IoOuwgUtUpZR9id2ActbwtGRH1cLQg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421664; c=relaxed/simple;
bh=Fv/TKgh9eTLv763R4ZnHaSsINzNdzmor0qGpi2hMieE=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=BNB6Awqc60oWMJUqzDHpMOM2Ri2r476LPRoYIHIkl6OJ8e57Ww6Y+1rw3FaWaQeu4bdsoT6jySOD6nB3jyy2qTNic/Fhz5e29rWoKD5gwztlsbpGew4+EFrEDPCHpAyGghghmVZY24riPGfEENmMOtG9zMPFCF+3anLCfuiSo0g=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com; spf=pass smtp.mailfrom=amarulasolutions.com; dkim=pass (1024-bit key) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.b=DaUJmDRD; arc=none smtp.client-ip=209.85.219.171
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=amarulasolutions.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=amarulasolutions.com
Received: by mail-yb1-f171.google.com with SMTP id 3f1490d57ef6-e731a56e111so3374496276.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:41:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=amarulasolutions.com; s=google; t=1748421659; x=1749026459; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=UOp9yb1iMfIg8KuNEiZqm2W0TJPYXEB8Jeh6+Rs46M0=;
b=DaUJmDRDWrvEV4oDYiTmiNC8vos+udafwSh3UE7/5upzvfscha2bbKPVp1KO27tlGl
oJbb8IlvqE3SOE19t/SMf+xUoOiwZOtwT2vrhu8Ohw7+onVOgSRaA0N0bTuUWfqal+I9
QTzkYTtnhsD9Xd3RfpwSb5iroQ+ihU9crEN/c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748421659; x=1749026459;
h=content-transfer-encoding:cc:to: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=UOp9yb1iMfIg8KuNEiZqm2W0TJPYXEB8Jeh6+Rs46M0=;
b=iIcV2W6JszgurdZsq8fZJ2p4dYsxiPHDkLEUJKvUGihq006JrHDqWLMVzs7fTuSv/S
CnyI3eGF6wSnNjN7bRfYLhCrRJ8sKq3Au2bL6ptcuJh8Ac2wGfVI/ZM8ptC3ZRlb8+1u
ifV1mKUHr29jtAQKks6DOnU4J5JJqbHHGp09mK9WplbJCofH69VdJF45R+88PFslGQVJ
5UC+prpkxymxrd2j6hC05ob63j6oVJoXzaRRyT1TP5/fQR7l6xYZkD7U+IZMRkbejMsa
AwDzW9sRNL02JISfb9IsnKu9zkhMwqO6R6vIvJLR7tQCfu9Cr5OaxmWUKghTwWUmKRcb
JkqQ==
X-Forwarded-Encrypted: i=1; AJvYcCVZeDZ7hpForHqjMHp1Yk9X7euRWU2w+4klHz0lv6av8S/8mSDZC8we6Y0zd/pKUS6RoIyu63xcOArMchk=@vger.kernel.org
X-Gm-Message-State: AOJu0Ywlrv2hb5ANCqEiqZUfH9A2ElynjkBpYzVc5Y7woF8h9Db8ZQOn
/nc6dB9+3VlzkNlb7ljgn4WZ6zg8Tf1sRboPVOe/+q+gUN8TMxju4ljp2gQPTCo81xX+06hS9jX
cdFKkTfJ/qOs100bKkcUJ9WEyHbhXuAQfuXlNBhkPhQ==
X-Gm-Gg: ASbGnctkH/eqGHhAamdO95YXfpzKh5VmSfxwSNRM84tlW4JX2Ereboap+hCUhBnHQrP
joOHF2u2lVmP5KBmQdAOZKQpGqGwsBp2FgzVbWy9mjE3f8BXjA8h3RVDE7Fs9ei88NrnT11KL1o
aGB2N7nsrOBrEXPXaew/ORB+0xVPYLWtb3DdqJuQOavy6+R5Bv2zkFFF2EJieBrQgI0Q==
X-Google-Smtp-Source: AGHT+IHG+q1O67LcoaeQjuzxx89eFCJ0WIZuOIaFFw6q3mgcHnwnOYXo7QBB9FAQ5+Zaxc+P/C+hqNHKyRIGwe3W7Zo=
X-Received: by 2002:a05:6902:20c8:b0:e7a:c04c:2ee3 with SMTP id
3f1490d57ef6-e7d919abe7amr17767116276.17.1748421659130; Wed, 28 May 2025
01:40:59 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250521092826.1035448-1-dario.binacchi@xxxxxxxxxxxxxxxxxxxx> <174783212340.3233254.8471978099095548477.robh@xxxxxxxxxx>
In-Reply-To: <174783212340.3233254.8471978099095548477.robh@xxxxxxxxxx>
From: Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 10:40:47 +0200
X-Gm-Features: AX0GCFtDKpjeiiYu1B01hFlPhJAzdoSRmyi40A5vNz0OboAoy6_1xKRNydKJu3g
Message-ID: <CABGWkvpV2+Ks5jPjE87Bboubu6x-26tX93mum0Lz1kBSpeUxdg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 0/3] Support i.MX28 Amarula rmm board
To: "Rob Herring (Arm)" <robh@xxxxxxxxxx>
Cc: Michael Walle <mwalle@xxxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, Marek Vasut <marex@xxxxxxx>,
Max Merchel <Max.Merchel@xxxxxxxxxxxxxxx>, Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Frieder Schrempf <frieder.schrempf@xxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>, Peng Fan <peng.fan@xxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>,
Tim Harvey <tharvey@xxxxxxxxxxxxx>, Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxx>, Heiko Schocher <hs@xxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>, imx@xxxxxxxxxxxxxxx,
linux-amarula@xxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
michael@xxxxxxxxxxxxxxxxxxxx, Frank Li <Frank.Li@xxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello Rob,
On Wed, May 21, 2025 at 2:56=E2=80=AFPM Rob Herring (Arm) <robh@xxxxxxxxxx>=
wrote:
>
>
> On Wed, 21 May 2025 11:28:19 +0200, Dario Binacchi wrote:
> > The series adds support for i.MX28 Amarula rmm board.
> >
> > The board includes the following resources:
> > - 256 Mbytes NAND Flash
> > - 256 Mbytes SRAM
> > - LCD-TFT controller
> > - CAN
> > - USB 2.0 high-speed/full-speed
> > - Ethernet MAC
> >
> >
> > Dario Binacchi (3):
> > ARM: dts: imx28: add pwm7 muxing options
> > dt-bindings: arm: fsl: add i.MX28 Amarula rmm board
> > ARM: dts: mxs: support i.MX28 Amarula rmm board
> >
> > .../devicetree/bindings/arm/fsl.yaml | 1 +
> > arch/arm/boot/dts/nxp/mxs/Makefile | 1 +
> > .../boot/dts/nxp/mxs/imx28-amarula-rmm.dts | 302 ++++++++++++++++++
> > arch/arm/boot/dts/nxp/mxs/imx28.dtsi | 10 +
> > 4 files changed, 314 insertions(+)
> > create mode 100644 arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
> >
> > --
> > 2.43.0
> >
> > base-commit: 4a95bc121ccdaee04c4d72f84dbfa6b880a514b6
> > branch: imx28-amarula-rmm
> >
> >
>
>
> My bot found new DTB warnings on the .dts files added or changed in this
> series.
>
> Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
> are fixed by another series.
There are some errors/warnings that need to be fixed in the board's
DTS, but most of them
originate from imx28.dtsi and the lack of data bindings.
By applying the following patches to my series:
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202505221947=
32.493624-1-Frank.Li@xxxxxxx/
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202505222057=
10.502779-1-Frank.Li@xxxxxxx/
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202505222237=
42.516254-1-Frank.Li@xxxxxxx/
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202505231919=
28.563368-1-Frank.Li@xxxxxxx/
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202505231920=
16.563540-1-Frank.Li@xxxxxxx/
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202505231920=
55.563711-1-Frank.Li@xxxxxxx/
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202505232031=
59.570982-1-Frank.Li@xxxxxxx/
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202505232132=
52.582366-1-Frank.Li@xxxxxxx/
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/202505232045=
24.573028-1-Frank.Li@xxxxxxx/
and by adding a new patch for the mxs-lradc.yaml binding to the
series, I managed to reach the following situation,
where almost all warnings/errors have been fixed, but one still remains:
make ARCH=3Darm CROSS_COMPILE=3Darm-linux-gnueabihf- CHECK_DTBS=3Dy dtbs
arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts
DTC [C] arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb
/home/dario/projects/linux/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb:
spi@80010000: $nodename:0: 'spi@80010000' does not match '^mmc(@.*)?$'
from schema $id: http://devicetree.org/schemas/mmc/mxs-mmc.yaml#
/home/dario/projects/linux/arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb:
spi@80010000: Unevaluated properties are not allowed
('#address-cells', '#size-cells', 'broken-cd', 'bus-width', 'clocks'
were unexpected)
from schema $id: http://devicetree.org/schemas/mmc/mxs-mmc.yaml#
make[1]: Nothing to be done for
'arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dts'.
I don=E2=80=99t know how to fix this, and the issue also appears when
compiling other boards.
I=E2=80=99ll send out version 2 with the changes to imx28-amarula-rmm.board=
.
Thanks and regards,
Dario
> Ultimately, it is up to the platform
> maintainer whether these warnings are acceptable or not. No need to reply
> unless the platform maintainer has comments.
>
> If you already ran DT checks and didn't see these error(s), then
> make sure dt-schema is up to date:
>
> pip3 install dtschema --upgrade
>
>
> This patch series was applied (using b4) to base:
> Base: using specified base-commit 4a95bc121ccdaee04c4d72f84dbfa6b880a514=
b6
>
> If this is not the correct base, please add 'base-commit' tag
> (or use b4 which does this automatically)
>
> New warnings running 'make CHECK_DTBS=3Dy for arch/arm/boot/dts/nxp/' for=
20250521092826.1035448-1-dario.binacchi@xxxxxxxxxxxxxxxxxxxx:
>
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: /apb@80000000/apbh-bus@8=
0000000/interrupt-controller@80000000: failed to match any schema with comp=
atible: ['fsl,imx28-icoll', 'fsl,icoll']
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: /apb@80000000/apbh-bus@8=
0000000/interrupt-controller@80000000: failed to match any schema with comp=
atible: ['fsl,imx28-icoll', 'fsl,icoll']
> arch/arm/boot/dts/nxp/mxs/imx28-xea.dtb: spi@80010000 (fsl,imx28-mmc): $n=
odename:0: 'spi@80010000' does not match '^mmc(@.*)?$'
> from schema $id: http://devicetree.org/schemas/mmc/mxs-mmc.yaml#
> arch/arm/boot/dts/nxp/mxs/imx28-duckbill-2-spi.dtb: pinctrl@80018000 (fsl=
,imx28-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0'=
, 'auart2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'a=
uart3-2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'du=
art-4pins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'ho=
g@0', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit=
@0', 'lcdif-24bit@0', 'lcdif-sync@0', 'leds@0', 'mac0-phy-int@0', 'mac0-phy=
-reset@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc=
0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cf=
g@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc=
2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', '=
qca7000@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', =
'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not matc=
h any of the regexes: '^p
> inctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: nand-controller@8000c000=
(fsl,imx28-gpmi-nand): #size-cells: 0 was expected
> from schema $id: http://devicetree.org/schemas/mtd/gpmi-nand.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: nand-controller@8000c000=
(fsl,imx28-gpmi-nand): Unevaluated properties are not allowed ('#address-c=
ells', '#size-cells' were unexpected)
> from schema $id: http://devicetree.org/schemas/mtd/gpmi-nand.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: nand-controller@8000c000=
(fsl,imx28-gpmi-nand): #size-cells: 0 was expected
> from schema $id: http://devicetree.org/schemas/mtd/nand-controlle=
r.yaml#
> arch/arm/boot/dts/nxp/mxs/imx28-cfa10056.dtb: pinctrl@80018000 (fsl,imx28=
-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'aua=
rt2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-=
2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4p=
ins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'i2c0@0',=
'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-10056-pullup@0', 'lcdif-10056@0', 'lc=
dif-16bit@0', 'lcdif-18bit@0', 'lcdif-24bit@0', 'lcdif-sync@0', 'leds-10036=
@0', 'mac0-10037@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bi=
t@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'm=
mc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cf=
g@0', 'mmc2-sck-cfg@1', 'mmc_pwr_cfa10036@0', 'otg-10036@0', 'pwm0@0', 'pwm=
2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@=
0', 'spi2-cfa10056@0', 'spi2@0', 'spi3@0', 'spi3@1', 'ssd1306-10036@0', 'us=
b-10037@0', 'usb0@0', 'us
> b0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match any of t=
he regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: spi@80010000 (fsl,imx28-=
mmc): $nodename:0: 'spi@80010000' does not match '^mmc(@.*)?$'
> from schema $id: http://devicetree.org/schemas/mmc/mxs-mmc.yaml#
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: spi@80010000 (fsl,imx28-=
mmc): Unevaluated properties are not allowed ('#address-cells', '#size-cell=
s', 'broken-cd', 'bus-width', 'clocks' were unexpected)
> from schema $id: http://devicetree.org/schemas/mmc/mxs-mmc.yaml#
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: pinctrl@80018000 (fsl,im=
x28-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', '=
auart2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auar=
t3-2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart=
-4pins@0', 'duart@0', 'duart@1', 'edt-ft5x06-0', 'edt-ft5x06-wake-0', 'fec-=
3v3-enable-0', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog-0', 'i2c0@0', 'i2c0=
@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lcdif-24bit@0',=
'lcdif-sync@0', 'leds-0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mm=
c0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@=
0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-=
sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4=
@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1=
', 'usb0-vbus-enable-0', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1=
-vbus-enable-0', 'usb1@0'
> , 'usb1@1' do not match any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0=
-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: pinctrl@80018000 (fsl,im=
x28-pinctrl): compatible: ['fsl,imx28-pinctrl', 'simple-bus'] is too long
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-xea.dtb: pinctrl@80018000 (fsl,imx28-pinc=
trl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart2-2=
pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2pins=
@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pins@0=
', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', 'hog@=
1', 'hog@2', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdi=
f-18bit@0', 'lcdif-24bit@0', 'lcdif-sync@0', 'mac0@0', 'mac0@1', 'mac1@0', =
'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit=
@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2=
-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0=
', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0',=
'spi3@0', 'spi3@1', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0',=
'usb1@1' do not match any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+=
$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-cfa10037.dtb: pinctrl@80018000 (fsl,imx28=
-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'aua=
rt2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-=
2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4p=
ins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'i2c0@0',=
'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lcdif-24b=
it@0', 'lcdif-sync@0', 'leds-10036@0', 'mac0-10037@0', 'mac0@0', 'mac0@1', =
'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', =
'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit=
@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'mmc_pwr_cfa10036=
@0', 'otg-10036@0', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7=
@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'ssd130=
6-10036@0', 'usb-10037@0', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'us=
b1@0', 'usb1@1' do not ma
> tch any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-apx4devkit.dtb: pinctrl@80018000 (fsl,imx=
28-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'a=
uart2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart=
3-2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-=
4pins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0'=
, 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0',=
'lcdif-24bit@0', 'lcdif-apx4@0', 'lcdif-sync@0', 'mac0@0', 'mac0@1', 'mac1=
@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1=
-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit-apx4@0', 'mmc2-4bit=
@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg-apx4@0', 'mmc2-sck-cfg@0=
', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm=
7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'usb0@=
0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match any =
of the regexes: '^pinctrl
> -[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-btt3-0.dtb: pinctrl@80018000 (fsl,imx28-p=
inctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart=
2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2p=
ins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pin=
s@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', 'h=
og@1', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'keypad-bttc@0', 'lcdif-16bi=
t@0', 'lcdif-18bit@0', 'lcdif-24bit@0', 'lcdif-bttc@0', 'lcdif-bttc@1', 'lc=
dif-sync@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'm=
mc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-=
cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'm=
mc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0',=
'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'ssp1-sdio@=
0', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1', 'wifi-=
en-pin@0' do not match an
> y of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-tx28.dtb: pinctrl@80018000 (fsl,imx28-pin=
ctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart2-=
2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2pin=
s@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pins@=
0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', 'i2c=
0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lcdi=
f-24bit@0', 'lcdif-sync@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'm=
mc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg=
@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2=
-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm=
4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi-gpiogrp@0', 'spi2@0',=
'spi3@0', 'spi3@1', 'tx28-edt-ft5x06-pins@0', 'tx28-flexcan-xcvr-pins@0', =
'tx28-lcdif-23bit@0', 'tx28-lcdif-ctrl@0', 'tx28-mac0-gpio-pins@0', 'tx28-p=
ca9554-pins@0', 'tx28-tsc
> 2007-pins@0', 'tx28-usbphy0-pins@0', 'tx28-usbphy1-pins@0', 'usb0@0', 'u=
sb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match any of the=
regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: /apb@80000000/apbh-bus@8=
0000000/digctl@8001c000: failed to match any schema with compatible: ['fsl,=
imx28-digctl', 'fsl,imx23-digctl']
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: /apb@80000000/apbh-bus@8=
0000000/digctl@8001c000: failed to match any schema with compatible: ['fsl,=
imx28-digctl', 'fsl,imx23-digctl']
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: /apb@80000000/apbx-bus@8=
0040000/lradc@80050000: failed to match any schema with compatible: ['fsl,i=
mx28-lradc']
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: /apb@80000000/apbx-bus@8=
0040000/i2c@80058000/edt-ft5x06@38: failed to match any schema with compati=
ble: ['edt,edt-ft5x06']
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: /apb@80000000/apbx-bus@8=
0040000/timrot@80068000: failed to match any schema with compatible: ['fsl,=
imx28-timrot', 'fsl,timrot']
> arch/arm/boot/dts/nxp/mxs/imx28-amarula-rmm.dtb: /apb@80000000/apbx-bus@8=
0040000/timrot@80068000: failed to match any schema with compatible: ['fsl,=
imx28-timrot', 'fsl,timrot']
> arch/arm/boot/dts/nxp/mxs/imx28-duckbill-2-enocean.dtb: pinctrl@80018000 =
(fsl,imx28-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart=
1@0', 'auart2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0'=
, 'auart3-2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0',=
'duart-4pins@0', 'duart@0', 'duart@1', 'enocean-button@0', 'gpmi-nand@0', =
'gpmi-status-cfg@0', 'hog@0', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdi=
f-16bit@0', 'lcdif-18bit@0', 'lcdif-24bit@0', 'lcdif-sync@0', 'leds@0', 'ma=
c0-phy-int@0', 'mac0-phy-reset@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit=
@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1=
-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0'=
, 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1=
', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0',=
'spi3@1', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' =
do not match any of the r
> egexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-cfa10036.dtb: pinctrl@80018000 (fsl,imx28=
-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'aua=
rt2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-=
2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4p=
ins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'i2c0@0',=
'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lcdif-24b=
it@0', 'lcdif-sync@0', 'leds-10036@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-=
4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', '=
mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cf=
g@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'mmc_pwr_cfa10036@0', 'otg-10036@=
0', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0', =
'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'ssd1306-10036@0', 'usb=
0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match an=
y of the regexes: '^pinct
> rl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-apf28.dtb: pinctrl@80018000 (fsl,imx28-pi=
nctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart2=
-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2pi=
ns@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pins=
@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'i2c0@0', 'i=
2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lcdif-24bit@=
0', 'lcdif-sync@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit=
@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mm=
c1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg=
@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'p=
wm7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'usb=
0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match an=
y of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-duckbill.dtb: pinctrl@80018000 (fsl,imx28=
-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'aua=
rt2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-=
2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4p=
ins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', =
'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', '=
lcdif-24bit@0', 'lcdif-sync@0', 'leds@0', 'mac0-phy-reset@0', 'mac0@0', 'ma=
c0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-c=
fg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mm=
c2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', =
'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'sa=
if1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb=
0id@0', 'usb1@0', 'usb1@1' do not match any of the regexes: '^pinctrl-[0-9]=
+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-cfa10058.dtb: pinctrl@80018000 (fsl,imx28=
-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'aua=
rt2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-=
2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4p=
ins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'i2c0@0',=
'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-10058@0', 'lcdif-16bit@0', 'lcdif-18b=
it@0', 'lcdif-24bit@0', 'lcdif-sync@0', 'leds-10036@0', 'mac0@0', 'mac0@1',=
'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0',=
'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bi=
t@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'mmc_pwr_cfa1003=
6@0', 'otg-10036@0', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm=
7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'ssd13=
06-10036@0', 'usb-10058@0', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'u=
sb1@0', 'usb1@1' do not m
> atch any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-btt3-1.dtb: pinctrl@80018000 (fsl,imx28-p=
inctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart=
2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2p=
ins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pin=
s@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', 'h=
og@1', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'keypad-bttc@0', 'lcdif-16bi=
t@0', 'lcdif-18bit@0', 'lcdif-24bit@0', 'lcdif-bttc@0', 'lcdif-bttc@1', 'lc=
dif-sync@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'm=
mc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-=
cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'm=
mc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0',=
'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'ssp1-sdio@=
0', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1', 'wifi-=
en-pin@0' do not match an
> y of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-eukrea-mbmx283lc.dtb: pinctrl@80018000 (f=
sl,imx28-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@=
0', 'auart2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', =
'auart3-2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', '=
duart-4pins@0', 'duart@0', 'duart@1', 'gpio-button-sw3-mbmx28lc@0', 'gpio-b=
utton-sw4-mbmx28lc@0', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog-cpuimx283@0=
', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcd-3v3-mbmx28lc@0', 'lcdif-16b=
it@0', 'lcdif-18bit@0', 'lcdif-24bit@0', 'lcdif-mbmx28lc@0', 'lcdif-sync@0'=
, 'led-d6-mbmx28lc@0', 'led-d7-mbmx28lc@0', 'mac0@0', 'mac0@1', 'mac1@0', '=
mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@=
0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-=
cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0'=
, 'pwm3@1', 'pwm4@0', 'pwm7@0', 'reg-usb0-vbus-mbmx28lc@0', 'reg-usb1-vbus-=
mbmx28lc@0', 'saif0@0', '
> saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'usb0@0', 'usb0@1', '=
usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match any of the regexes:=
'^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-sps1.dtb: pinctrl@80018000 (fsl,imx28-pin=
ctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart2-=
2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2pin=
s@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pins@=
0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog-gpios@0'=
, 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0',=
'lcdif-24bit@0', 'lcdif-sync@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@=
0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-=
cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0',=
'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1'=
, 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', =
'spi3@1', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' d=
o not match any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-apf28dev.dtb: pinctrl@80018000 (fsl,imx28=
-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'aua=
rt2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-=
2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4p=
ins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', =
'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', '=
lcdif-24bit@0', 'lcdif-apf28dev@0', 'lcdif-sync@0', 'mac0@0', 'mac0@1', 'ma=
c1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mm=
c1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1'=
, 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'otg-apf28dev@0', 'p=
wm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0=
@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'usb0@0', 'usb0@1', 'usb0id1@=
0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match any of the regexes: '^pinct=
rl-[0-9]+$', 'gpio@[0-9]+
> $'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-cfa10055.dtb: pinctrl@80018000 (fsl,imx28=
-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'aua=
rt2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-=
2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4p=
ins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'i2c0@0',=
'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-10055-pullup@0', 'lcdif-16bit@0', 'lc=
dif-18bit@0', 'lcdif-24bit@0', 'lcdif-evk@0', 'lcdif-sync@0', 'leds-10036@0=
', 'mac0-10037@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@=
0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc=
1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@=
0', 'mmc2-sck-cfg@1', 'mmc_pwr_cfa10036@0', 'otg-10036@0', 'pwm0@0', 'pwm2@=
0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@0'=
, 'spi2-cfa10055@0', 'spi2@0', 'spi3@0', 'spi3@1', 'ssd1306-10036@0', 'usb-=
10037@0', 'usb0@0', 'usb0
> @1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match any of the=
regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-cfa10057.dtb: pinctrl@80018000 (fsl,imx28=
-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'aua=
rt2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-=
2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4p=
ins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'i2c0@0',=
'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lcdif-24b=
it@0', 'lcdif-evk@0', 'lcdif-sync@0', 'leds-10036@0', 'mac0@0', 'mac0@1', '=
mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', '=
mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@=
1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'mmc_pwr_cfa10036@=
0', 'otg-10036@0', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@=
0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'ssd1306=
-10036@0', 'usb-10057@0', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb=
1@0', 'usb1@1' do not mat
> ch any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-btt3-2.dtb: pinctrl@80018000 (fsl,imx28-p=
inctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart=
2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2p=
ins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pin=
s@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', 'h=
og@1', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'keypad-bttc@0', 'lcdif-16bi=
t@0', 'lcdif-18bit@0', 'lcdif-24bit@0', 'lcdif-bttc@0', 'lcdif-bttc@1', 'lc=
dif-sync@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'm=
mc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-=
cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'm=
mc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0',=
'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'ssp1-sdio@=
0', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1', 'wifi-=
en-pin@0' do not match an
> y of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-evk.dtb: pinctrl@80018000 (fsl,imx28-pinc=
trl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart2-2=
pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2pins=
@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pins@0=
', 'duart@0', 'duart@1', 'gpmi-nand-evk@0', 'gpmi-nand@0', 'gpmi-status-cfg=
@0', 'hog@0', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcd=
if-18bit@0', 'lcdif-24bit@0', 'lcdif-evk@0', 'lcdif-sync@0', 'led_gpio3_5@0=
', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg=
@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'm=
mc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cf=
g@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0'=
, 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'usb0@0', 'usb0@1', '=
usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match any of the regexes:=
'^pinctrl-[0-9]+$', 'gpi
> o@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-duckbill-2.dtb: pinctrl@80018000 (fsl,imx=
28-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'a=
uart2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart=
3-2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-=
4pins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0'=
, 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0',=
'lcdif-24bit@0', 'lcdif-sync@0', 'leds@0', 'mac0-phy-int@0', 'mac0-phy-res=
et@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd=
-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0'=
, 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sc=
k-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif=
0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'usb0@0', 'usb0@1=
', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match any of the rege=
xes: '^pinctrl-[0-9]+$',
> 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-cfa10049.dtb: pinctrl@80018000 (fsl,imx28=
-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'aua=
rt2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-=
2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4p=
ins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'i2c0@0',=
'i2c0@1', 'i2c1@0', 'i2c1@1', 'i2cmux-10049@0', 'lcdif-10049-pullup@0', 'l=
cdif-16bit@0', 'lcdif-18bit@0', 'lcdif-24bit@0', 'lcdif-evk@0', 'lcdif-sync=
@0', 'leds-10036@0', 'mac0-10049@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4b=
it@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mm=
c1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@=
0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'mmc_pwr_cfa10036@0', 'otg-10036@0'=
, 'pca-10049@0', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0'=
, 'rotary-10049@0', 'rotary-btn-10049@0', 'saif0@0', 'saif0@1', 'saif1@0', =
'spi2-cfa10049@0', 'spi2@
> 0', 'spi3-cfa10049@0', 'spi3@0', 'spi3@1', 'ssd1306-10036@0', 'usb-10049=
@0', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not=
match any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-ts4600.dtb: pinctrl@80018000 (fsl,imx28-p=
inctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart=
2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2p=
ins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pin=
s@0', 'duart@0', 'duart@1', 'en-sd-pwr@0', 'gpmi-nand@0', 'gpmi-status-cfg@=
0', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0=
', 'lcdif-24bit@0', 'lcdif-sync@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bi=
t@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc=
1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0=
', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@=
1', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0'=
, 'spi3@1', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1'=
do not match any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-m28cu3.dtb: pinctrl@80018000 (fsl,imx28-p=
inctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart=
2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2p=
ins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pin=
s@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', 'i=
2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lc=
dif-24bit@0', 'lcdif-m28@0', 'lcdif-sync@0', 'leds-m28@0', 'mac0@0', 'mac0@=
1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@=
0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-=
4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pw=
m2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1=
@0', 'spi2@0', 'spi3@0', 'spi3@1', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id=
@0', 'usb1@0', 'usb1@1' do not match any of the regexes: '^pinctrl-[0-9]+$'=
, 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-m28evk.dtb: pinctrl@80018000 (fsl,imx28-p=
inctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0', 'auart=
2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'auart3-2p=
ins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'duart-4pin=
s@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog@0', 'i=
2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lc=
dif-24bit@0', 'lcdif-m28@0', 'lcdif-sync@0', 'mac0@0', 'mac0@1', 'mac1@0', =
'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit=
@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2=
-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0=
', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0',=
'spi3@0', 'spi3@1', 'usb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0',=
'usb1@1' do not match any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+=
$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-duckbill-2-485.dtb: pinctrl@80018000 (fsl=
,imx28-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@0'=
, 'auart2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', 'a=
uart3-2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', 'du=
art-4pins@0', 'duart@0', 'duart@1', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'ho=
g@0', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcdif-16bit@0', 'lcdif-18bit=
@0', 'lcdif-24bit@0', 'lcdif-sync@0', 'leds@0', 'mac0-phy-int@0', 'mac0-phy=
-reset@0', 'mac0@0', 'mac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc=
0-cd-cfg@0', 'mmc0-sck-cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cf=
g@0', 'mmc2-4bit@0', 'mmc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc=
2-sck-cfg@1', 'pwm0@0', 'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', '=
saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'usb0@0', 'us=
b0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match any of the =
regexes: '^pinctrl-[0-9]+
> $', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/mxs/imx28-eukrea-mbmx287lc.dtb: pinctrl@80018000 (f=
sl,imx28-pinctrl): 'auart0-2pins@0', 'auart0@0', 'auart1-2pins@0', 'auart1@=
0', 'auart2-2pins@0', 'auart2-2pins@1', 'auart2-pins@0', 'auart3-2pins@0', =
'auart3-2pins@1', 'auart3@0', 'auart4@0', 'auart4@1', 'can0@0', 'can1@0', '=
duart-4pins@0', 'duart@0', 'duart@1', 'gpio-button-sw3-mbmx28lc@0', 'gpio-b=
utton-sw4-mbmx28lc@0', 'gpmi-nand@0', 'gpmi-status-cfg@0', 'hog-cpuimx283@0=
', 'hog-cpuimx287@0', 'i2c0@0', 'i2c0@1', 'i2c1@0', 'i2c1@1', 'lcd-3v3-mbmx=
28lc@0', 'lcdif-16bit@0', 'lcdif-18bit@0', 'lcdif-24bit@0', 'lcdif-mbmx28lc=
@0', 'lcdif-sync@0', 'led-d6-mbmx28lc@0', 'led-d7-mbmx28lc@0', 'mac0@0', 'm=
ac0@1', 'mac1@0', 'mmc0-4bit@0', 'mmc0-8bit@0', 'mmc0-cd-cfg@0', 'mmc0-sck-=
cfg@0', 'mmc1-4bit@0', 'mmc1-cd-cfg@0', 'mmc1-sck-cfg@0', 'mmc2-4bit@0', 'm=
mc2-4bit@1', 'mmc2-cd-cfg@0', 'mmc2-sck-cfg@0', 'mmc2-sck-cfg@1', 'pwm0@0',=
'pwm2@0', 'pwm3@0', 'pwm3@1', 'pwm4@0', 'pwm7@0', 'reg-usb0-vbus-mbmx28lc@=
0', 'reg-usb1-vbus-mbmx28
> lc@0', 'saif0@0', 'saif0@1', 'saif1@0', 'spi2@0', 'spi3@0', 'spi3@1', 'u=
sb0@0', 'usb0@1', 'usb0id1@0', 'usb0id@0', 'usb1@0', 'usb1@1' do not match =
any of the regexes: '^pinctrl-[0-9]+$', 'gpio@[0-9]+$'
> from schema $id: http://devicetree.org/schemas/gpio/gpio-mxs.yaml=
#
> arch/arm/boot/dts/nxp/lpc/lpc3250-phy3250.dtb: /ahb/flash@20020000: faile=
d to match any schema with compatible: ['nxp,lpc3220-slc']
>
>
>
>
>
--=20
Dario Binacchi
Senior Embedded Linux Developer
dario.binacchi@xxxxxxxxxxxxxxxxxxxx
__________________________________
Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
info@xxxxxxxxxxxxxxxxxxxx
www.amarulasolutions.com
Return-Path: <linux-kernel+bounces-665122-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E0D2941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:43:01 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E39CF1BA13AC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:43:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F0BE1272E57;
Wed, 28 May 2025 08:42:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="DIENIk0V"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9733926A09A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:42:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421761; cv=none; b=lqBPl/7zDvLy/SExaGLCmmMx57XEedYFDRUVIwIMxyD0S1Bprpi0KNDushRPq3gANEV7qzZN78qCLpvhSlS1OxAiOVldDXsaLAJIrx0rcAIdOrIjkfz6snF7Sy6a9jPsG0h5Ss0RTh4wakdh8hTw6fN/csNzddFbnMTflMlIf4Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421761; c=relaxed/simple;
bh=MQPDWV7r0RHu2w4W96VCQTnKfbdIE83e4A8rM/0jNHk=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=rJGgiz0X+A/uoi/fBItP/jZtZrVZgQeMPdMkXk0WQAywKofNzgpEtdQqZ3Uh7JqH+9D8Vukh80IIkdkRiG/cHf60SVqEouUtwC20Rbrz98sp89eyTG9Q40Bu7zkBfrLqo168b8negMgqqyJZbTkkhOb89UDYfbwOZfZuPWe+oMw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=DIENIk0V; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748421757;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=pHVZFZS1fa9rWPWraBTZ2PRVzHOX2XKsUZnAQXgZ7Iw=;
b=DIENIk0V8PvmvjqZXLktaxs+69t82NSG0Tw+zjb//nCOYGnlhUeeFoE5hBDGJQ18gz7rRu
fCQNC+lJafkoNWLjNh1E58t3dCK2CcGQ7NgKOu9IFCS2oy93C8IjZ8jLd1QqGn3H1cy8QZ
tp+a/s+SAfISkD0uSvpeQybr1jGKkFA=
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
[209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-664-sxDeE-nnMhqxnEremRfVPg-1; Wed, 28 May 2025 04:42:33 -0400
X-MC-Unique: sxDeE-nnMhqxnEremRfVPg-1
X-Mimecast-MFC-AGG-ID: sxDeE-nnMhqxnEremRfVPg_1748421752
Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-43cf44b66f7so25224435e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:42:33 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748421752; x=1749026552;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=pHVZFZS1fa9rWPWraBTZ2PRVzHOX2XKsUZnAQXgZ7Iw=;
b=JHfPpP9hl5DEgrH8w39grHarFx+hYTDSZWMBrglhotB4FQbIhyKiVN3jge2PxeqJTd
rNVvyjpMxPGffBsB8mldjJYaMOSuNupJbcTYN0H3Wt5Bp/KfeQBVSEl7eVmUjH3dzlf7
Wnq3ieHWERvT7Y9iTaPr8EAC5f8pbSFW1HxOjD9Ql3kiHSWywoQAoGOYRnXhGjjOSwPa
WM8bk5C5NWXOgnfIBKKk5gzJ/YMAHTMEwoYsYFKqh8d5SrfnQCPsqZsbVgDjNatTwApt
jNAT5cZEf70HLqjZd7+USjoNo88xm8jN4A+Fu7ixbjKUZWVOrVJ9zQwFpCifbG9nmkrV
V0Nw==
X-Forwarded-Encrypted: i=1; AJvYcCXIaS+Bj/lomcMBYuf8uqDHFt9fw7FLnjKuvom+reoTWuA1LhxZwfjo1BqnYC19b//maiaxgWRLuxTbPCw=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw2+oTmbO//jADgTClYAu357ibfyXQjue4VTWfvqbkTyHSZt6CY
JrXVEKI/9KHxNIpR4ihJvVS6wv3gVjLUP+JRUVBnL5XVlRsNk3eynlwo6d6IGT+ihqsRzmgH2W3
9aM55wGjbNrW4AJMdqOf2COBTVct/x/m2CzL4hy9Nq0/RVIalqezux+00PkTNRO+rZg==
X-Gm-Gg: ASbGncuu68Sys+JWsMCZiDsYQ4vSWT+LW3nTeHcUR1wWQJchMa1aximu0EPWPWPu7v5
E9ONyeeWQ6Nc2RiMq1dAul8Bw42wVpVX7F7gr1dPGGFZzMLiF9WVs8sNkxy6aaVBELtyxo9zAsl
BSWS29I3oKhue4yDIXiRRRdhtitHiYr3EUnytFk3FNhKrASZOShhxZaH0LdvbqbV+0ntkvKDS/D
VdmFmunwyDdjFvopvkcKKvCXk4XM2IODyXsk+sIwx72BmXaR8gF5mhnM+0DjbB9Uf7TqUckez62
DN4RChmSC+faMK2Y8vfY+xFZpI7PDG8j9XG5XYiQPAP9vLYUIU0Fi1bfUD7t
X-Received: by 2002:a05:600c:470b:b0:442:ccf9:e6f2 with SMTP id 5b1f17b1804b1-44c91dceb03mr175213795e9.16.1748421752052;
Wed, 28 May 2025 01:42:32 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHNuCW5HXGwi/4xGSaC2njkJeERkK949nit0Lq8CufwPmLuRJIhGmKIp/EVE+I3+UGcMKBYrw==
X-Received: by 2002:a05:600c:470b:b0:442:ccf9:e6f2 with SMTP id 5b1f17b1804b1-44c91dceb03mr175213255e9.16.1748421751289;
Wed, 28 May 2025 01:42:31 -0700 (PDT)
Received: from sgarzare-redhat (host-82-53-134-35.retail.telecomitalia.it. [82.53.134.35])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-44fcbd61630sm39727565e9.0.2025.05.28.01.42.29
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:42:30 -0700 (PDT)
Date: Wed, 28 May 2025 10:42:23 +0200
From: Stefano Garzarella <sgarzare@xxxxxxxxxx>
To: Bobby Eshleman <bobbyeshleman@xxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>, Shuah Khan <shuah@xxxxxxxxxx>,
kvm@xxxxxxxxxxxxxxx, "David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>,
Paolo Abeni <pabeni@xxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
virtualization@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx
Subject: Re: [PATCH net-next v9] selftests/vsock: add initial vmtest.sh for
vsock
Message-ID: <mti4hxjrs6rzleoijjhby5hdghgcvsegwfytizxngg7bjxs3ds@prhrn3b3o6os>
References: <20250527-vsock-vmtest-v9-1-24eaeec6fa55@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Disposition: inline
In-Reply-To: <20250527-vsock-vmtest-v9-1-24eaeec6fa55@xxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 05:36:54PM -0700, Bobby Eshleman wrote:
>This commit introduces a new vmtest.sh runner for vsock.
>
>It uses virtme-ng/qemu to run tests in a VM. The tests validate G2H,
>H2G, and loopback. The testing tools from tools/testing/vsock/ are
>reused. Currently, only vsock_test is used.
>
>VMCI and hyperv support is included in the config file to be built with
>the -b option, though not used in the tests.
>
>Only tested on x86.
>
>To run:
>
> $ make -C tools/testing/selftests TARGETS=vsock
> $ tools/testing/selftests/vsock/vmtest.sh
>
>or
>
> $ make -C tools/testing/selftests TARGETS=vsock run_tests
>
>Example runs (after make -C tools/testing/selftests TARGETS=vsock):
>
>$ ./tools/testing/selftests/vsock/vmtest.sh
>1..3
>ok 0 vm_server_host_client
>ok 1 vm_client_host_server
>ok 2 vm_loopback
>SUMMARY: PASS=3 SKIP=0 FAIL=0
>Log: /tmp/vsock_vmtest_m7DI.log
>
>$ ./tools/testing/selftests/vsock/vmtest.sh vm_loopback
>1..1
>ok 0 vm_loopback
>SUMMARY: PASS=1 SKIP=0 FAIL=0
>Log: /tmp/vsock_vmtest_a1IO.log
>
>$ mkdir -p ~/scratch
>$ make -C tools/testing/selftests install TARGETS=vsock INSTALL_PATH=~/scratch
> [... omitted ...]
>$ cd ~/scratch
>$ ./run_kselftest.sh
> TAP version 13
> 1..1
> # timeout set to 300
> # selftests: vsock: vmtest.sh
> # 1..3
> # ok 0 vm_server_host_client
> # ok 1 vm_client_host_server
> # ok 2 vm_loopback
> # SUMMARY: PASS=3 SKIP=0 FAIL=0
> # Log: /tmp/vsock_vmtest_svEl.log
> ok 1 selftests: vsock: vmtest.sh
>
>Future work can include vsock_diag_test.
>
>Because vsock requires a VM to test anything other than loopback, this
>patch adds vmtest.sh as a kselftest itself. This is different than other
>systems that have a "vmtest.sh", where it is used as a utility script to
>spin up a VM to run the selftests as a guest (but isn't hooked into
>kselftest).
>
>Signed-off-by: Bobby Eshleman <bobbyeshleman@xxxxxxxxx>
>---
>Changes in v9:
>- make kselftest build target depend on tools/testing/vsock sources (Stefano)
>- add check_vng() for vng version checking (Stefano)
>- add virtme_ssh_channel=tcp to kernel cmdline (Stefano)
>- Link to v8: https://lore.kernel.org/r/20250522-vsock-vmtest-v8-1-367619bef134@xxxxxxxxx
Cool, this
>
>Changes in v8:
>- remove NIPA comment from commit msg
>- remove tap_* functions and TAP_PREFIX
>- add -b for building kernel
>- Link to v7: https://lore.kernel.org/r/20250515-vsock-vmtest-v7-1-ba6fa86d6c2c@xxxxxxxxx
>
>Changes in v7:
>- fix exit code bug when ran is kselftest: use cnt_total instead of KSFT_NUM_TESTS
>- updated commit message with updated output
>- updated commit message with commands for installing/running as
> kselftest
>- Link to v6: https://lore.kernel.org/r/20250515-vsock-vmtest-v6-1-9af1cc023900@xxxxxxxxx
>
>Changes in v6:
>- add make cmd in commit message in vmtest.sh example (Stefano)
>- check nonzero size of QEMU_PIDFILE using -s conditional (Stefano)
>- display log file path after tests so it is easier to find amongst
>other random names
>- cleanup qemu pidfile if qemu is unable to remove it
>- make oops/warning failures more obvious with 'FAIL' prefix in log
> (simply saying 'detected' wasn't clear enough to identify failing
> condition)
>- Link to v5: https://lore.kernel.org/r/20250513-vsock-vmtest-v5-1-4e75c4a45ceb@xxxxxxxxx
>
>Changes in v5:
>- make log file a tmpfile (Paolo)
>- make sure both default and user defined QEMU gets handled by the dependency check (Paolo)
>- increased VM boot up timeout from 1m to 3m for slow hosts (Paolo)
>- rename vm_setup -> vm_start (Paolo)
>- derive wait_for_listener from selftests/net/net_helper.sh to removes ss usage
>- Remove unused 'unset IFS' line (Paolo)
>- leave space after variable declarations (Paolo)
>- make QEMU_PIDFILE a tmp file (Paolo)
>- make everything readonly that is only read (Paolo)
>- source ktap_helpers.sh for KSFT_PASS and friends (Paolo)
>- don't check for timeout util (Paolo)
>- add missing usage string for -q qemu arg
>- add tap prefix to SUMMARY line since it isn't part of TAP protocol
>- exit with the correct status code based on failure/pass counts
>- Link to v4: https://lore.kernel.org/r/20250507-vsock-vmtest-v4-1-6e2a97262cd6@xxxxxxxxx
>
>Changes in v4:
>- do not use special tab delimiter for help string parsing (Stefano + Paolo)
>- fix paths for when installing kselftest and running out-of-tree (Paolo)
>- change vng to using running kernel instead of compiled kernel (Paolo)
>- use multi-line string for QEMU_OPTS (Stefano)
>- change timeout to 300s (Paolo)
>- skip if tools are not found and use kselftests status codes (Paolo)
>- remove build from vmtest.sh (Paolo)
>- change 2222 -> SSH_HOST_PORT (Stefano)
>- add tap-format output
>- add vmtest.log to gitignore
>- check for vsock_test binary and remind user to build it if missing
>- create a proper build in makefile
>- style fixes
>- add ssh, timeout, and pkill to dependency check, just in case
>- fix numerical comparison in conditionals
>- check qemu pidfile exists before proceeding (avoid wasting time waiting for ssh)
>- fix tracking of pass/fail bug
>- fix stderr redirection bug
>- Link to v3: https://lore.kernel.org/r/20250428-vsock-vmtest-v3-1-181af6163f3e@xxxxxxxxx
>
>Changes in v3:
>- use common conditional syntax for checking variables
>- use return value instead of global rc
>- fix typo TEST_HOST_LISTENER_PORT -> TEST_HOST_PORT_LISTENER
>- use SIGTERM instead of SIGKILL on cleanup
>- use peer-cid=1 for loopback
>- change sleep delay times into globals
>- fix test_vm_loopback logging
>- add test selection in arguments
>- make QEMU an argument
>- check that vng binary is on path
>- use QEMU variable
>- change <tab><backslash> to <space><backslash>
>- fix hardcoded file paths
>- add comment in commit msg about script that vmtest.sh was based off of
>- Add tools/testing/selftest/vsock/Makefile for kselftest
>- Link to v2: https://lore.kernel.org/r/20250417-vsock-vmtest-v2-1-3901a27331e8@xxxxxxxxx
>
>Changes in v2:
>- add kernel oops and warnings checker
>- change testname variable to use FUNCNAME
>- fix spacing in test_vm_server_host_client
>- add -s skip build option to vmtest.sh
>- add test_vm_loopback
>- pass port to vm_wait_for_listener
>- fix indentation in vmtest.sh
>- add vmci and hyperv to config
>- changed whitespace from tabs to spaces in help string
>- Link to v1: https://lore.kernel.org/r/20250410-vsock-vmtest-v1-1-f35a81dab98c@xxxxxxxxx
>---
> MAINTAINERS | 1 +
> tools/testing/selftests/vsock/.gitignore | 2 +
> tools/testing/selftests/vsock/Makefile | 17 ++
> tools/testing/selftests/vsock/config | 114 ++++++++
> tools/testing/selftests/vsock/settings | 1 +
> tools/testing/selftests/vsock/vmtest.sh | 487 +++++++++++++++++++++++++++++++
> 6 files changed, 622 insertions(+)
>
>diff --git a/MAINTAINERS b/MAINTAINERS
>index 657a67f9031ef7798c19ac63e6383d4cb18a9e1f..3fbdd7bbfce7196a3cc7db70203317c6bd0e51fd 100644
>--- a/MAINTAINERS
>+++ b/MAINTAINERS
>@@ -25751,6 +25751,7 @@ F: include/uapi/linux/vm_sockets.h
> F: include/uapi/linux/vm_sockets_diag.h
> F: include/uapi/linux/vsockmon.h
> F: net/vmw_vsock/
>+F: tools/testing/selftests/vsock/
> F: tools/testing/vsock/
>
> VMALLOC
>diff --git a/tools/testing/selftests/vsock/.gitignore b/tools/testing/selftests/vsock/.gitignore
>new file mode 100644
>index 0000000000000000000000000000000000000000..9c5bf379480f829a14713d5f5dc7d525bc272e84
>--- /dev/null
>+++ b/tools/testing/selftests/vsock/.gitignore
>@@ -0,0 +1,2 @@
>+vmtest.log
>+vsock_test
>diff --git a/tools/testing/selftests/vsock/Makefile b/tools/testing/selftests/vsock/Makefile
>new file mode 100644
>index 0000000000000000000000000000000000000000..c407c0afd9388ee692d59a95f304182f067596e9
>--- /dev/null
>+++ b/tools/testing/selftests/vsock/Makefile
>@@ -0,0 +1,17 @@
>+# SPDX-License-Identifier: GPL-2.0
>+
>+CURDIR := $(abspath .)
>+TOOLSDIR := $(abspath ../../..)
>+VSOCK_TEST_DIR := $(TOOLSDIR)/testing/vsock
>+VSOCK_TEST_SRCS := $(wildcard $(VSOCK_TEST_DIR)/*.c $(VSOCK_TEST_DIR)/*.h)
>+
>+$(OUTPUT)/vsock_test: $(VSOCK_TEST_DIR)/vsock_test
>+ install -m 755 $< $@
>+
>+$(VSOCK_TEST_DIR)/vsock_test: $(VSOCK_TEST_SRCS)
>+ $(MAKE) -C $(VSOCK_TEST_DIR) vsock_test
>+TEST_PROGS += vmtest.sh
>+TEST_GEN_FILES := vsock_test
>+
>+include ../lib.mk
>+
>diff --git a/tools/testing/selftests/vsock/config b/tools/testing/selftests/vsock/config
>new file mode 100644
>index
>0000000000000000000000000000000000000000..3bffaaf98fff92dc0e3bc1286afa3d8d5d52f4c7
>--- /dev/null
>+++ b/tools/testing/selftests/vsock/config
>@@ -0,0 +1,114 @@
>+CONFIG_BLK_DEV_INITRD=y
>+CONFIG_BPF=y
>+CONFIG_BPF_SYSCALL=y
>+CONFIG_BPF_JIT=y
>+CONFIG_HAVE_EBPF_JIT=y
>+CONFIG_BPF_EVENTS=y
>+CONFIG_FTRACE_SYSCALLS=y
>+CONFIG_FUNCTION_TRACER=y
>+CONFIG_HAVE_DYNAMIC_FTRACE=y
>+CONFIG_DYNAMIC_FTRACE=y
>+CONFIG_HAVE_KPROBES=y
>+CONFIG_KPROBES=y
>+CONFIG_KPROBE_EVENTS=y
>+CONFIG_ARCH_SUPPORTS_UPROBES=y
>+CONFIG_UPROBES=y
>+CONFIG_UPROBE_EVENTS=y
>+CONFIG_DEBUG_FS=y
>+CONFIG_FW_CFG_SYSFS=y
>+CONFIG_FW_CFG_SYSFS_CMDLINE=y
>+CONFIG_DRM=y
>+CONFIG_DRM_VIRTIO_GPU=y
>+CONFIG_DRM_VIRTIO_GPU_KMS=y
>+CONFIG_DRM_BOCHS=y
>+CONFIG_VIRTIO_IOMMU=y
>+CONFIG_SOUND=y
>+CONFIG_SND=y
>+CONFIG_SND_SEQUENCER=y
>+CONFIG_SND_PCI=y
>+CONFIG_SND_INTEL8X0=y
>+CONFIG_SND_HDA_CODEC_REALTEK=y
>+CONFIG_SECURITYFS=y
>+CONFIG_CGROUP_BPF=y
>+CONFIG_SQUASHFS=y
>+CONFIG_SQUASHFS_XZ=y
>+CONFIG_SQUASHFS_ZSTD=y
>+CONFIG_FUSE_FS=y
>+CONFIG_SERIO=y
>+CONFIG_PCI=y
>+CONFIG_INPUT=y
>+CONFIG_INPUT_KEYBOARD=y
>+CONFIG_KEYBOARD_ATKBD=y
>+CONFIG_SERIAL_8250=y
>+CONFIG_SERIAL_8250_CONSOLE=y
>+CONFIG_X86_VERBOSE_BOOTUP=y
>+CONFIG_VGA_CONSOLE=y
>+CONFIG_FB=y
>+CONFIG_FB_VESA=y
>+CONFIG_FRAMEBUFFER_CONSOLE=y
>+CONFIG_RTC_CLASS=y
>+CONFIG_RTC_HCTOSYS=y
>+CONFIG_RTC_DRV_CMOS=y
>+CONFIG_HYPERVISOR_GUEST=y
>+CONFIG_PARAVIRT=y
>+CONFIG_KVM_GUEST=y
>+CONFIG_KVM=y
>+CONFIG_KVM_INTEL=y
>+CONFIG_KVM_AMD=y
>+CONFIG_VSOCKETS=y
>+CONFIG_VSOCKETS_DIAG=y
>+CONFIG_VSOCKETS_LOOPBACK=y
>+CONFIG_VMWARE_VMCI_VSOCKETS=y
>+CONFIG_VIRTIO_VSOCKETS=y
>+CONFIG_VIRTIO_VSOCKETS_COMMON=y
>+CONFIG_HYPERV_VSOCKETS=y
>+CONFIG_VMWARE_VMCI=y
>+CONFIG_VHOST_VSOCK=y
>+CONFIG_HYPERV=y
>+CONFIG_UEVENT_HELPER=n
>+CONFIG_VIRTIO=y
>+CONFIG_VIRTIO_PCI=y
>+CONFIG_VIRTIO_MMIO=y
>+CONFIG_VIRTIO_BALLOON=y
>+CONFIG_NET=y
>+CONFIG_NET_CORE=y
>+CONFIG_NETDEVICES=y
>+CONFIG_NETWORK_FILESYSTEMS=y
>+CONFIG_INET=y
>+CONFIG_NET_9P=y
>+CONFIG_NET_9P_VIRTIO=y
>+CONFIG_9P_FS=y
>+CONFIG_VIRTIO_NET=y
>+CONFIG_CMDLINE_OVERRIDE=n
>+CONFIG_BINFMT_SCRIPT=y
>+CONFIG_SHMEM=y
>+CONFIG_TMPFS=y
>+CONFIG_UNIX=y
>+CONFIG_MODULE_SIG_FORCE=n
>+CONFIG_DEVTMPFS=y
>+CONFIG_TTY=y
>+CONFIG_VT=y
>+CONFIG_UNIX98_PTYS=y
>+CONFIG_EARLY_PRINTK=y
>+CONFIG_INOTIFY_USER=y
>+CONFIG_BLOCK=y
>+CONFIG_SCSI_LOWLEVEL=y
>+CONFIG_SCSI=y
>+CONFIG_SCSI_VIRTIO=y
>+CONFIG_BLK_DEV_SD=y
>+CONFIG_VIRTIO_CONSOLE=y
>+CONFIG_WATCHDOG=y
>+CONFIG_WATCHDOG_CORE=y
>+CONFIG_I6300ESB_WDT=y
>+CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
>+CONFIG_OVERLAY_FS=y
>+CONFIG_DAX=y
>+CONFIG_DAX_DRIVER=y
>+CONFIG_FS_DAX=y
>+CONFIG_MEMORY_HOTPLUG=y
>+CONFIG_MEMORY_HOTREMOVE=y
>+CONFIG_ZONE_DEVICE=y
>+CONFIG_FUSE_FS=y
>+CONFIG_VIRTIO_FS=y
>+CONFIG_VSOCKETS=y
>+CONFIG_VIRTIO_VSOCKETS=y
There are some CONFIG_ duplicated (e.g. CONFIG_VSOCKETS,
CONFIG_VIRTIO_VSOCKETS, CONFIG_FUSE_FS), can we remove them?
The rest LGTM and now it's working on my side!
I think you can send the next version after the merge window.
Thanks,
Stefano
>diff --git a/tools/testing/selftests/vsock/settings b/tools/testing/selftests/vsock/settings
>new file mode 100644
>index 0000000000000000000000000000000000000000..694d70710ff08ac9fc91e9ecb5dbdadcf051f019
>--- /dev/null
>+++ b/tools/testing/selftests/vsock/settings
>@@ -0,0 +1 @@
>+timeout=300
>diff --git a/tools/testing/selftests/vsock/vmtest.sh b/tools/testing/selftests/vsock/vmtest.sh
>new file mode 100755
>index 0000000000000000000000000000000000000000..edacebfc163251eee9cd495eb5e704dc7adc958e
>--- /dev/null
>+++ b/tools/testing/selftests/vsock/vmtest.sh
>@@ -0,0 +1,487 @@
>+#!/bin/bash
>+# SPDX-License-Identifier: GPL-2.0
>+#
>+# Copyright (c) 2025 Meta Platforms, Inc. and affiliates
>+#
>+# Dependencies:
>+# * virtme-ng
>+# * busybox-static (used by virtme-ng)
>+# * qemu (used by virtme-ng)
>+
>+readonly SCRIPT_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
>+readonly KERNEL_CHECKOUT=$(realpath "${SCRIPT_DIR}"/../../../../)
>+
>+source "${SCRIPT_DIR}"/../kselftest/ktap_helpers.sh
>+
>+readonly VSOCK_TEST="${SCRIPT_DIR}"/vsock_test
>+readonly TEST_GUEST_PORT=51000
>+readonly TEST_HOST_PORT=50000
>+readonly TEST_HOST_PORT_LISTENER=50001
>+readonly SSH_GUEST_PORT=22
>+readonly SSH_HOST_PORT=2222
>+readonly VSOCK_CID=1234
>+readonly WAIT_PERIOD=3
>+readonly WAIT_PERIOD_MAX=60
>+readonly WAIT_TOTAL=$(( WAIT_PERIOD * WAIT_PERIOD_MAX ))
>+readonly QEMU_PIDFILE=$(mktemp /tmp/qemu_vsock_vmtest_XXXX.pid)
>+
>+# virtme-ng offers a netdev for ssh when using "--ssh", but we also need a
>+# control port forwarded for vsock_test. Because virtme-ng doesn't support
>+# adding an additional port to forward to the device created from "--ssh" and
>+# virtme-init mistakenly sets identical IPs to the ssh device and additional
>+# devices, we instead opt out of using --ssh, add the device manually, and also
>+# add the kernel cmdline options that virtme-init uses to setup the interface.
>+readonly QEMU_TEST_PORT_FWD="hostfwd=tcp::${TEST_HOST_PORT}-:${TEST_GUEST_PORT}"
>+readonly QEMU_SSH_PORT_FWD="hostfwd=tcp::${SSH_HOST_PORT}-:${SSH_GUEST_PORT}"
>+readonly QEMU_OPTS="\
>+ -netdev user,id=n0,${QEMU_TEST_PORT_FWD},${QEMU_SSH_PORT_FWD} \
>+ -device virtio-net-pci,netdev=n0 \
>+ -device vhost-vsock-pci,guest-cid=${VSOCK_CID} \
>+ --pidfile ${QEMU_PIDFILE} \
>+"
>+readonly KERNEL_CMDLINE="\
>+ virtme.dhcp net.ifnames=0 biosdevname=0 \
>+ virtme.ssh virtme_ssh_channel=tcp virtme_ssh_user=$USER \
>+"
>+readonly LOG=$(mktemp /tmp/vsock_vmtest_XXXX.log)
>+readonly TEST_NAMES=(vm_server_host_client vm_client_host_server vm_loopback)
>+readonly TEST_DESCS=(
>+ "Run vsock_test in server mode on the VM and in client mode on the host."
>+ "Run vsock_test in client mode on the VM and in server mode on the host."
>+ "Run vsock_test using the loopback transport in the VM."
>+)
>+
>+VERBOSE=0
>+
>+usage() {
>+ local name
>+ local desc
>+ local i
>+
>+ echo
>+ echo "$0 [OPTIONS] [TEST]..."
>+ echo "If no TEST argument is given, all tests will be run."
>+ echo
>+ echo "Options"
>+ echo " -b: build the kernel from the current source tree and use it for guest VMs"
>+ echo " -q: set the path to or name of qemu binary"
>+ echo " -v: verbose output"
>+ echo
>+ echo "Available tests"
>+
>+ for ((i = 0; i < ${#TEST_NAMES[@]}; i++)); do
>+ name=${TEST_NAMES[${i}]}
>+ desc=${TEST_DESCS[${i}]}
>+ printf "\t%-35s%-35s\n" "${name}" "${desc}"
>+ done
>+ echo
>+
>+ exit 1
>+}
>+
>+die() {
>+ echo "$*" >&2
>+ exit "${KSFT_FAIL}"
>+}
>+
>+vm_ssh() {
>+ ssh -q -o UserKnownHostsFile=/dev/null -p ${SSH_HOST_PORT} localhost "$@"
>+ return $?
>+}
>+
>+cleanup() {
>+ if [[ -s "${QEMU_PIDFILE}" ]]; then
>+ pkill -SIGTERM -F "${QEMU_PIDFILE}" > /dev/null 2>&1
>+ fi
>+
>+ # If failure occurred during or before qemu start up, then we need
>+ # to clean this up ourselves.
>+ if [[ -e "${QEMU_PIDFILE}" ]]; then
>+ rm "${QEMU_PIDFILE}"
>+ fi
>+}
>+
>+check_args() {
>+ local found
>+
>+ for arg in "$@"; do
>+ found=0
>+ for name in "${TEST_NAMES[@]}"; do
>+ if [[ "${name}" = "${arg}" ]]; then
>+ found=1
>+ break
>+ fi
>+ done
>+
>+ if [[ "${found}" -eq 0 ]]; then
>+ echo "${arg} is not an available test" >&2
>+ usage
>+ fi
>+ done
>+
>+ for arg in "$@"; do
>+ if ! command -v > /dev/null "test_${arg}"; then
>+ echo "Test ${arg} not found" >&2
>+ usage
>+ fi
>+ done
>+}
>+
>+check_deps() {
>+ for dep in vng ${QEMU} busybox pkill ssh; do
>+ if [[ ! -x $(command -v "${dep}") ]]; then
>+ echo -e "skip: dependency ${dep} not found!\n"
>+ exit "${KSFT_SKIP}"
>+ fi
>+ done
>+
>+ if [[ ! -x $(command -v "${VSOCK_TEST}") ]]; then
>+ printf "skip: %s not found!" "${VSOCK_TEST}"
>+ printf " Please build the kselftest vsock target.\n"
>+ exit "${KSFT_SKIP}"
>+ fi
>+}
>+
>+check_vng() {
>+ local tested_versions
>+ local version
>+ local ok
>+
>+ tested_versions=("1.33" "1.36")
>+ version="$(vng --version)"
>+
>+ ok=0
>+ for tv in "${tested_versions[@]}"; do
>+ if [[ "${version}" == *"${tv}"* ]]; then
>+ ok=1
>+ break
>+ fi
>+ done
>+
>+ if [[ ! "${ok}" -eq 1 ]]; then
>+ printf "warning: vng version '%s' has not been tested and may " "${version}" >&2
>+ printf "not function properly.\n\tThe following versions have been tested: " >&2
>+ echo "${tested_versions[@]}" >&2
>+ fi
>+}
>+
>+handle_build() {
>+ if [[ ! "${BUILD}" -eq 1 ]]; then
>+ return
>+ fi
>+
>+ if [[ ! -d "${KERNEL_CHECKOUT}" ]]; then
>+ echo "-b requires vmtest.sh called from the kernel source tree" >&2
>+ exit 1
>+ fi
>+
>+ pushd "${KERNEL_CHECKOUT}" &>/dev/null
>+
>+ if ! vng --kconfig --config "${SCRIPT_DIR}"/config; then
>+ die "failed to generate .config for kernel source tree (${KERNEL_CHECKOUT})"
>+ fi
>+
>+ if ! make -j$(nproc); then
>+ die "failed to build kernel from source tree (${KERNEL_CHECKOUT})"
>+ fi
>+
>+ popd &>/dev/null
>+}
>+
>+vm_start() {
>+ local logfile=/dev/null
>+ local verbose_opt=""
>+ local kernel_opt=""
>+ local qemu
>+
>+ qemu=$(command -v "${QEMU}")
>+
>+ if [[ "${VERBOSE}" -eq 1 ]]; then
>+ verbose_opt="--verbose"
>+ logfile=/dev/stdout
>+ fi
>+
>+ if [[ "${BUILD}" -eq 1 ]]; then
>+ kernel_opt="${KERNEL_CHECKOUT}"
>+ fi
>+
>+ vng \
>+ --run \
>+ ${kernel_opt} \
>+ ${verbose_opt} \
>+ --qemu-opts="${QEMU_OPTS}" \
>+ --qemu="${qemu}" \
>+ --user root \
>+ --append "${KERNEL_CMDLINE}" \
>+ --rw &> ${logfile} &
>+
>+ if ! timeout ${WAIT_TOTAL} \
>+ bash -c 'while [[ ! -s '"${QEMU_PIDFILE}"' ]]; do sleep 1; done; exit 0'; then
>+ die "failed to boot VM"
>+ fi
>+}
>+
>+vm_wait_for_ssh() {
>+ local i
>+
>+ i=0
>+ while true; do
>+ if [[ ${i} -gt ${WAIT_PERIOD_MAX} ]]; then
>+ die "Timed out waiting for guest ssh"
>+ fi
>+ if vm_ssh -- true; then
>+ break
>+ fi
>+ i=$(( i + 1 ))
>+ sleep ${WAIT_PERIOD}
>+ done
>+}
>+
>+# derived from selftests/net/net_helper.sh
>+wait_for_listener()
>+{
>+ local port=$1
>+ local interval=$2
>+ local max_intervals=$3
>+ local protocol=tcp
>+ local pattern
>+ local i
>+
>+ pattern=":$(printf "%04X" "${port}") "
>+
>+ # for tcp protocol additionally check the socket state
>+ [ "${protocol}" = "tcp" ] && pattern="${pattern}0A"
>+ for i in $(seq "${max_intervals}"); do
>+ if awk '{print $2" "$4}' /proc/net/"${protocol}"* | \
>+ grep -q "${pattern}"; then
>+ break
>+ fi
>+ sleep "${interval}"
>+ done
>+}
>+
>+vm_wait_for_listener() {
>+ local port=$1
>+
>+ vm_ssh <<EOF
>+$(declare -f wait_for_listener)
>+wait_for_listener ${port} ${WAIT_PERIOD} ${WAIT_PERIOD_MAX}
>+EOF
>+}
>+
>+host_wait_for_listener() {
>+ wait_for_listener "${TEST_HOST_PORT_LISTENER}" "${WAIT_PERIOD}" "${WAIT_PERIOD_MAX}"
>+}
>+
>+__log_stdin() {
>+ cat | awk '{ printf "%s:\t%s\n","'"${prefix}"'", $0 }'
>+}
>+
>+__log_args() {
>+ echo "$*" | awk '{ printf "%s:\t%s\n","'"${prefix}"'", $0 }'
>+}
>+
>+log() {
>+ local prefix="$1"
>+
>+ shift
>+ local redirect=
>+ if [[ ${VERBOSE} -eq 0 ]]; then
>+ redirect=/dev/null
>+ else
>+ redirect=/dev/stdout
>+ fi
>+
>+ if [[ "$#" -eq 0 ]]; then
>+ __log_stdin | tee -a "${LOG}" > ${redirect}
>+ else
>+ __log_args "$@" | tee -a "${LOG}" > ${redirect}
>+ fi
>+}
>+
>+log_setup() {
>+ log "setup" "$@"
>+}
>+
>+log_host() {
>+ local testname=$1
>+
>+ shift
>+ log "test:${testname}:host" "$@"
>+}
>+
>+log_guest() {
>+ local testname=$1
>+
>+ shift
>+ log "test:${testname}:guest" "$@"
>+}
>+
>+test_vm_server_host_client() {
>+ local testname="${FUNCNAME[0]#test_}"
>+
>+ vm_ssh -- "${VSOCK_TEST}" \
>+ --mode=server \
>+ --control-port="${TEST_GUEST_PORT}" \
>+ --peer-cid=2 \
>+ 2>&1 | log_guest "${testname}" &
>+
>+ vm_wait_for_listener "${TEST_GUEST_PORT}"
>+
>+ ${VSOCK_TEST} \
>+ --mode=client \
>+ --control-host=127.0.0.1 \
>+ --peer-cid="${VSOCK_CID}" \
>+ --control-port="${TEST_HOST_PORT}" 2>&1 | log_host "${testname}"
>+
>+ return $?
>+}
>+
>+test_vm_client_host_server() {
>+ local testname="${FUNCNAME[0]#test_}"
>+
>+ ${VSOCK_TEST} \
>+ --mode "server" \
>+ --control-port "${TEST_HOST_PORT_LISTENER}" \
>+ --peer-cid "${VSOCK_CID}" 2>&1 | log_host "${testname}" &
>+
>+ host_wait_for_listener
>+
>+ vm_ssh -- "${VSOCK_TEST}" \
>+ --mode=client \
>+ --control-host=10.0.2.2 \
>+ --peer-cid=2 \
>+ --control-port="${TEST_HOST_PORT_LISTENER}" 2>&1 | log_guest "${testname}"
>+
>+ return $?
>+}
>+
>+test_vm_loopback() {
>+ local testname="${FUNCNAME[0]#test_}"
>+ local port=60000 # non-forwarded local port
>+
>+ vm_ssh -- "${VSOCK_TEST}" \
>+ --mode=server \
>+ --control-port="${port}" \
>+ --peer-cid=1 2>&1 | log_guest "${testname}" &
>+
>+ vm_wait_for_listener "${port}"
>+
>+ vm_ssh -- "${VSOCK_TEST}" \
>+ --mode=client \
>+ --control-host="127.0.0.1" \
>+ --control-port="${port}" \
>+ --peer-cid=1 2>&1 | log_guest "${testname}"
>+
>+ return $?
>+}
>+
>+run_test() {
>+ local host_oops_cnt_before
>+ local host_warn_cnt_before
>+ local vm_oops_cnt_before
>+ local vm_warn_cnt_before
>+ local host_oops_cnt_after
>+ local host_warn_cnt_after
>+ local vm_oops_cnt_after
>+ local vm_warn_cnt_after
>+ local name
>+ local rc
>+
>+ host_oops_cnt_before=$(dmesg | grep -c -i 'Oops')
>+ host_warn_cnt_before=$(dmesg --level=warn | wc -l)
>+ vm_oops_cnt_before=$(vm_ssh -- dmesg | grep -c -i 'Oops')
>+ vm_warn_cnt_before=$(vm_ssh -- dmesg --level=warn | wc -l)
>+
>+ name=$(echo "${1}" | awk '{ print $1 }')
>+ eval test_"${name}"
>+ rc=$?
>+
>+ host_oops_cnt_after=$(dmesg | grep -i 'Oops' | wc -l)
>+ if [[ ${host_oops_cnt_after} -gt ${host_oops_cnt_before} ]]; then
>+ echo "FAIL: kernel oops detected on host" | log_host "${name}"
>+ rc=$KSFT_FAIL
>+ fi
>+
>+ host_warn_cnt_after=$(dmesg --level=warn | wc -l)
>+ if [[ ${host_warn_cnt_after} -gt ${host_warn_cnt_before} ]]; then
>+ echo "FAIL: kernel warning detected on host" | log_host "${name}"
>+ rc=$KSFT_FAIL
>+ fi
>+
>+ vm_oops_cnt_after=$(vm_ssh -- dmesg | grep -i 'Oops' | wc -l)
>+ if [[ ${vm_oops_cnt_after} -gt ${vm_oops_cnt_before} ]]; then
>+ echo "FAIL: kernel oops detected on vm" | log_host "${name}"
>+ rc=$KSFT_FAIL
>+ fi
>+
>+ vm_warn_cnt_after=$(vm_ssh -- dmesg --level=warn | wc -l)
>+ if [[ ${vm_warn_cnt_after} -gt ${vm_warn_cnt_before} ]]; then
>+ echo "FAIL: kernel warning detected on vm" | log_host "${name}"
>+ rc=$KSFT_FAIL
>+ fi
>+
>+ return "${rc}"
>+}
>+
>+QEMU="qemu-system-$(uname -m)"
>+
>+while getopts :hvsq:b o
>+do
>+ case $o in
>+ v) VERBOSE=1;;
>+ b) BUILD=1;;
>+ q) QEMU=$OPTARG;;
>+ h|*) usage;;
>+ esac
>+done
>+shift $((OPTIND-1))
>+
>+trap cleanup EXIT
>+
>+if [[ ${#} -eq 0 ]]; then
>+ ARGS=("${TEST_NAMES[@]}")
>+else
>+ ARGS=("$@")
>+fi
>+
>+check_args "${ARGS[@]}"
>+check_deps
>+check_vng
>+handle_build
>+
>+echo "1..${#ARGS[@]}"
>+
>+log_setup "Booting up VM"
>+vm_start
>+vm_wait_for_ssh
>+log_setup "VM booted up"
>+
>+cnt_pass=0
>+cnt_fail=0
>+cnt_skip=0
>+cnt_total=0
>+for arg in "${ARGS[@]}"; do
>+ run_test "${arg}"
>+ rc=$?
>+ if [[ ${rc} -eq $KSFT_PASS ]]; then
>+ cnt_pass=$(( cnt_pass + 1 ))
>+ echo "ok ${cnt_total} ${arg}"
>+ elif [[ ${rc} -eq $KSFT_SKIP ]]; then
>+ cnt_skip=$(( cnt_skip + 1 ))
>+ echo "ok ${cnt_total} ${arg} # SKIP"
>+ elif [[ ${rc} -eq $KSFT_FAIL ]]; then
>+ cnt_fail=$(( cnt_fail + 1 ))
>+ echo "not ok ${cnt_total} ${arg} # exit=$rc"
>+ fi
>+ cnt_total=$(( cnt_total + 1 ))
>+done
>+
>+echo "SUMMARY: PASS=${cnt_pass} SKIP=${cnt_skip} FAIL=${cnt_fail}"
>+echo "Log: ${LOG}"
>+
>+if [ $((cnt_pass + cnt_skip)) -eq ${cnt_total} ]; then
>+ exit "$KSFT_PASS"
>+else
>+ exit "$KSFT_FAIL"
>+fi
>
>---
>base-commit: 8066e388be48f1ad62b0449dc1d31a25489fa12a
>change-id: 20250325-vsock-vmtest-b3a21d2102c2
>
>Best regards,
>--
>Bobby Eshleman <bobbyeshleman@xxxxxxxxx>
>
Return-Path: <linux-kernel+bounces-665123-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 72FB741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:43:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id AEF16189D7DC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:43:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 325EF26A0BD;
Wed, 28 May 2025 08:43:01 +0000 (UTC)
Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C22CB26A092;
Wed, 28 May 2025 08:42:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.198
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421780; cv=none; b=Q6wPepQKZG9UlGIuEbIfJSUJGynk7Njovy6FP6g7V0ext9h9OaKkeffIvJH8Vxjjkt0bTfS78rWbyX0Lpf5xNKYoK5LZJqjrgpDn5s/WZXt3u6SnDg30bz2B1QT9SetIzrNsOHLrCvMZkzsvPKgMiqysBkU8IpXXrN0SiwQIOtI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421780; c=relaxed/simple;
bh=3zwfXRlMCmJzAlkW8lMNPC17HbBMhuJcZmRNQOHKhj0=;
h=From:To:Cc:Subject:References:Date:In-Reply-To:Message-ID:
MIME-Version:Content-Type; b=ZWGzBAOVc1GsSDSypI016n3Q4HEMksI9h/Sc9OBtPlSWOfMa1AhFHDdksvIWyuB1Nfqd0NpPYeIkHqMx6RScuY9iRP9BSDh+kRQmR/n5lRU+sxM5QPLs/Q+4tLO4sSKwMOewwZg07kK4tiw5iFukbGhIL5DLU8FC7oyzFu8tXvE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=korsgaard.com; spf=pass smtp.mailfrom=korsgaard.com; arc=none smtp.client-ip=217.70.183.198
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=korsgaard.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=korsgaard.com
Received: by mail.gandi.net (Postfix) with ESMTPSA id E67D943295;
Wed, 28 May 2025 08:42:48 +0000 (UTC)
Received: from peko by dell.be.48ers.dk with local (Exim 4.96)
(envelope-from <peter@xxxxxxxxxxxxx>)
id 1uKCN6-000rwB-0d;
Wed, 28 May 2025 10:42:48 +0200
From: Peter Korsgaard <peter@xxxxxxxxxxxxx>
To: Bram Vlerick <bram.vlerick@xxxxxxxxxxxxxxxxxxxx>
Cc: Kevin Cernekee <cernekee@xxxxxxxxxxxx>, Liam Girdwood
<lgirdwood@xxxxxxxxx>, Mark Brown <broonie@xxxxxxxxxx>, Jaroslav Kysela
<perex@xxxxxxxx>, Takashi Iwai <tiwai@xxxxxxxx>,
linux-sound@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
kamel.bouhara@xxxxxxxxxxx
Subject: Re: [PATCH] ASoC: tas571x: fix tas5733 num_controls
References: <20250528-tas5733-fix-controls-size-v1-1-5c70595accaf@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 10:42:48 +0200
In-Reply-To: <20250528-tas5733-fix-controls-size-v1-1-5c70595accaf@xxxxxxxxxxxxxxxxxxxx>
(Bram Vlerick's message of "Wed, 28 May 2025 10:25:48 +0200")
Message-ID: <87wma1w2gn.fsf@xxxxxxxxxxxxxxxx>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdekudculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufhffjgfkfgggtgesthdttddttdertdenucfhrhhomheprfgvthgvrhcumfhorhhsghgrrghrugcuoehpvghtvghrsehkohhrshhgrggrrhgurdgtohhmqeenucggtffrrghtthgvrhhnpeetgfelveffveehtdevgeefjeeiudduledtffehgefgleekteektedutdfhleeiueenucfkphepkedvrddugeefrdelhedrvddvvdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeekvddrudegfedrleehrddvvddvpdhhvghlohepuggvlhhlrdgsvgdrgeekvghrshdrughkpdhmrghilhhfrhhomhepphgvthgvrheskhhorhhsghgrrghrugdrtghomhdpnhgspghrtghpthhtohepledprhgtphhtthhopegsrhgrmhdrvhhlvghrihgtkhesohhpvghnphhigigvlhhshihsthgvmhhsrdhorhhgpdhrtghpthhtoheptggvrhhnvghkvggvsegthhhrohhmihhumhdrohhrghdprhgtphhtthhopehlghhirhgufihoohgusehgmhgrihhlrdgtohhmpdhrtghpthhtohepsghrohhonhhivgeskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepphgvrhgvgiesphgvrhgvgidrt
giipdhrtghpthhtohepthhifigrihesshhushgvrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhouhhnugesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrgh
X-GND-Sasl: peter@xxxxxxxxxxxxx
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
>>>>> "Bram" == Bram Vlerick <bram.vlerick@xxxxxxxxxxxxxxxxxxxx> writes:
> Commit e3de7984e451 ("ASoC: tas571x: add separate tas5733 controls")
> introduces a separate struct for the tas5733 controls but did not update
> the num_controls with the correct ARRAY_SIZE.
> Fixes: e3de7984e451 ("ASoC: tas571x: add separate tas5733 controls")
> Signed-off-by: Bram Vlerick <bram.vlerick@xxxxxxxxxxxxxxxxxxxx>
Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx>
--
Bye, Peter Korsgaard
Return-Path: <linux-kernel+bounces-665124-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7808241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:43:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id EF1771724D6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:43:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E8F0E26A0BD;
Wed, 28 May 2025 08:43:16 +0000 (UTC)
Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CCDC826A09A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:43:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421796; cv=none; b=omaQ0oKFM6SDYwdskgpylybTsoTGYAg0pNzGBTjvxGg9k5PML1Hr7Q8+M0H6QL6qb7ke2uuoDo7sPvh34P2As1aRF8K5TRy+ZWs2SmWrGW1s8xG8OGNCilpnimIYbBx8aJcb9dT4MsBZcLUrIZdhL2r3/Pwvpw1RRga3YYNFPLM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421796; c=relaxed/simple;
bh=AF42yE5eaiMw9g4IvDqTKH/lawldAZudRQ3yzq7M0X0=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=kQ81ZKUm54uWBj0VXKbsGJbRcA1ga+GIz8PJhmdbDcqT1NlBHhNEc219Xc5Z7tI2N7SBw78wqMYrSWGdaHdNOWrsJ4GRFzPmvbS2LvbUI+7J7Nm7socusqTUpVXLFsnVd/r8ddVPGzRH6uyp98YrQArpUtdp1FAQuQ/4O0cVJYw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de
Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2])
by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.92)
(envelope-from <mfe@xxxxxxxxxxxxxx>)
id 1uKCN9-00033D-JK; Wed, 28 May 2025 10:42:51 +0200
Received: from pty.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::c5])
by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
(Exim 4.96)
(envelope-from <mfe@xxxxxxxxxxxxxx>)
id 1uKCN8-000YbX-0F;
Wed, 28 May 2025 10:42:50 +0200
Received: from mfe by pty.whiteo.stw.pengutronix.de with local (Exim 4.96)
(envelope-from <mfe@xxxxxxxxxxxxxx>)
id 1uKCN7-00ER89-34;
Wed, 28 May 2025 10:42:49 +0200
Date: Wed, 28 May 2025 10:42:49 +0200
From: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
To: Adam Ford <aford173@xxxxxxxxx>
Cc: nicolas.dufresne@xxxxxxxxxxxxx, benjamin.gaignard@xxxxxxxxxxxxx,
p.zabel@xxxxxxxxxxxxxx, mchehab@xxxxxxxxxx, shawnguo@xxxxxxxxxx,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>, kernel@xxxxxxxxxxxxxx,
festevam@xxxxxxxxx, robh@xxxxxxxxxx, krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx, paulk@xxxxxxxxxxx, hverkuil@xxxxxxxxx,
laurent.pinchart@xxxxxxxxxxxxxxxx, sebastian.fricke@xxxxxxxxxxxxx,
ming.qian@xxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-media@xxxxxxxxxxxxxxx, linux-rockchip@xxxxxxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
Subject: Re: [RFC PATCH 07/11] arm64: dts: imx8mp: fix VPU_BUS clock setting
Message-ID: <20250528084249.6qn2mnu2rmrv7xhi@xxxxxxxxxxxxxx>
References: <20250502150513.4169098-1-m.felsch@xxxxxxxxxxxxxx>
<20250502150513.4169098-8-m.felsch@xxxxxxxxxxxxxx>
<CAHCN7x+Lu9momgX3Vwp+Yu+Tet5Q=k2vCL83SMLuad24SDchEg@xxxxxxxxxxxxxx>
<20250502165535.aeb2osq2vnxsudmq@xxxxxxxxxxxxxx>
<CAHCN7xLecU12XtXFuwfNP+eee+9RLCSB9iErNmk7VFV+WrozJA@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAHCN7xLecU12XtXFuwfNP+eee+9RLCSB9iErNmk7VFV+WrozJA@xxxxxxxxxxxxxx>
X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2
X-SA-Exim-Mail-From: mfe@xxxxxxxxxxxxxx
X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false
X-PTX-Original-Recipient: linux-kernel@xxxxxxxxxxxxxxx
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Adam,
thanks for testing.
On 25-05-27, Adam Ford wrote:
> On Fri, May 2, 2025 at 11:55â?¯AM Marco Felsch <m.felsch@xxxxxxxxxxxxxx> wrote:
> >
> > On 25-05-02, Adam Ford wrote:
> > > On Fri, May 2, 2025 at 10:10â?¯AM Marco Felsch <m.felsch@xxxxxxxxxxxxxx> wrote:
> > > >
> > > > The VPU_PLL clock must be set before the VPU_BUS clock which is derived
> > > > from the VPU_PLL clock else the VPU_BUS clock is 300MHz and not 600MHz.
>
> I did verify the current clock rate ends up at 300MHz instead of the
> desired 600 or 800MHz, so we should do something.
>
> > > >
> > > > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
> > > > ---
> > > > arch/arm64/boot/dts/freescale/imx8mp.dtsi | 4 ++--
> > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > > > index 97b09b647ec7..7f4bdefb3480 100644
> > > > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > > > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> > > > @@ -2289,8 +2289,8 @@ vpumix_blk_ctrl: blk-ctrl@38330000 {
> > > > <&clk IMX8MP_CLK_VPU_G2_ROOT>,
> > > > <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>;
> > > > clock-names = "g1", "g2", "vc8000e";
> > > > - assigned-clocks = <&clk IMX8MP_CLK_VPU_BUS>, <&clk IMX8MP_VPU_PLL>;
> > > > - assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>;
> > > > + assigned-clocks = <&clk IMX8MP_VPU_PLL>, <&clk IMX8MP_CLK_VPU_BUS>;
> > > > + assigned-clock-parents = <0>, <&clk IMX8MP_VPU_PLL_OUT>;
> > > > assigned-clock-rates = <600000000>, <600000000>;
> > >
> > > I think there was a move to make the default be overdrive [1] and [2]
> > > and use a 'nominal' device tree for those who are not in overdrive
> > > mode. According to the TRM, the VPU_BUS_CLK_ROOT, the nominal is
> > > 600MHz and the overdrive is 800MHz. Based on that, I wonder if the
> > > values here should be 800MHz and if we should add the nominal values
> > > of 600MHz to the imx8m-nominal.dtsi file.
> >
> > You're right, Ahamd and Lucas did change this. I will adapt it later on.
>
> I updated my device tree to run in overdrive mode and ran fluster at
> the higher rates:
> VPU_G1 - 800MHz,
> VPU-G2 - 700MHz
> VPU-Bus - 800MHz
>
> ./fluster.py run -d GStreamer-VP8-V4L2SL-Gst1.0
> Ran 57/61 tests successfully in 5.922 secs
> (vs 7.059 secs at nominal speed)
>
> ./fluster.py run -dGStreamer-H.264-V4L2SL-Gst1.0
> Ran 129/135 tests successfully in 40.107 secs
> (vs 45.741 secs at nominal speed)
>
> If you want, I can submit the clock updates I have for overdrive or
> send them to you to save you some time.
Sure, you can pick-up my patches or add new ones. Either way you're
right, the clock fixes can go in separately.
Regards,
Marco
>
> adam
>
> >
> > Regards,
> > Marco
>
Return-Path: <linux-kernel+bounces-665125-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E424141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:43:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 78DC29E4E53
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:43:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DAC492741CB;
Wed, 28 May 2025 08:43:18 +0000 (UTC)
Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 63F711F0992;
Wed, 28 May 2025 08:43:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748421798; cv=none; b=GrUJn16wkQjFMU0p7Wq2vzLh6go5C3veKIyp0u4bJ0ytCGiGIHKbXrlGL7KUMR8Y2F7sjZ4o+vkcbb42QLhA8jjVACNDKL5VjgEKfoxDLWZNfRahV1ESCORYg2qBfdZzlT8gTxEIg0u1gAvE87dhzyron16eL4F2gb7RxI7wDKc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748421798; c=relaxed/simple;
bh=MxnGdClLFWl1jY7LIi7McbBUXxSTG4DC87SB7p2eWgQ=;
h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version:
In-Reply-To:Content-Type; b=lY3nA3Mp8Ag9XYsCAoZvyt0+opDoRItqrUE1uIpmZEtN3fl08DO0r1ZRzIC49/E1REJw4Uojg+fsTw5QS6h+tAK3PS4t+1fHj/jhbHBKJ+abEONXNQGanArFrfB3Lu4E5mAB1+wpOpPR1FoZHYr9FURphtp3QaUjIQ9M/LXix5g=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn
Received: from loongson.cn (unknown [10.20.42.164])
by gateway (Coremail) with SMTP id _____8AxnOKdzDZokNP_AA--.49136S3;
Wed, 28 May 2025 16:43:09 +0800 (CST)
Received: from [10.20.42.164] (unknown [10.20.42.164])
by front1 (Coremail) with SMTP id qMiowMCxLBuWzDZonpz3AA--.26840S2;
Wed, 28 May 2025 16:43:04 +0800 (CST)
Subject: Re: [PATCH v10 4/5] tpm: Add a driver for Loongson TPM device
To: Stefano Garzarella <sgarzare@xxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx,
jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx,
Yinggang Gu <guyinggang@xxxxxxxxxxx>, Huacai Chen <chenhuacai@xxxxxxxxxxx>
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx>
<20250528065944.4511-5-zhaoqunqin@xxxxxxxxxxx>
<7ifsmhpubkedbiivcnfrxlrhriti5ksb4lbgrdwhwfxtp5ledc@z2jf6sz4vdgd>
From: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Message-ID: <afaeb91a-afb4-428a-2c17-3ea5f098da22@xxxxxxxxxxx>
Date: Wed, 28 May 2025 16:42:05 +0800
User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:68.0) Gecko/20100101
Thunderbird/68.7.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
In-Reply-To: <7ifsmhpubkedbiivcnfrxlrhriti5ksb4lbgrdwhwfxtp5ledc@z2jf6sz4vdgd>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-CM-TRANSID:qMiowMCxLBuWzDZonpz3AA--.26840S2
X-CM-SenderInfo: 52kd01pxqtx0o6or00hjvr0hdfq/
X-Coremail-Antispam: 1Uk129KBj9xXoW7XF13Cr1kXF18CF17KFy8JFc_yoWDtrX_Ka
y5WF1rua4UCr4DJa1DCr4fuF17K3y2qF1IyayUtrWIyryDJan5AFs5J395Kr1fGa18CrZ8
Cr9Ig3Z3Zw13XosvyTuYvTs0mTUanT9S1TB71UUUUjDqnTZGkaVYY2UrUUUUj1kv1TuYvT
s0mT0YCTnIWjqI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUI
cSsGvfJTRUUUbDAYFVCjjxCrM7AC8VAFwI0_Jr0_Gr1l1xkIjI8I6I8E6xAIw20EY4v20x
vaj40_Wr0E3s1l1IIY67AEw4v_Jrv_JF1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxS
w2x7M28EF7xvwVC0I7IYx2IY67AKxVW5JVW7JwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxV
W8JVWxJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0
oVCq3wAaw2AFwI0_JF0_Jw1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqjxCEc2xF0cIa02
0Ex4CE44I27wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_JF0_Jw1l
Yx0Ex4A2jsIE14v26r4j6F4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvEwIxGrwCYjI
0SjxkI62AI1cAE67vIY487MxkF7I0En4kS14v26r126r1DMxAIw28IcxkI7VAKI48JMxC2
0s026xCaFVCjc4AY6r1j6r4UMxCIbckI1I0E14v26r1q6r43MI8I3I0E5I8CrVAFwI0_Jr
0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x0E
wIxGrwCI42IY6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJV
W8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Cr0_Gr1UMIIF
0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x07jFApnUUUUU=
X-Spam-Status: No, score=-5.9 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
å?¨ 2025/5/28 ä¸?å??3:57, Stefano Garzarella å??é??:
>> +Â Â Â chip = tpmm_chip_alloc(dev, &tpm_loongson_ops);
>> +Â Â Â if (IS_ERR(chip))
>> +Â Â Â Â Â Â Â return PTR_ERR(chip);
>> +Â Â Â chip->flags = TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_IRQ;
>
> Why setting TPM_CHIP_FLAG_IRQ?
When tpm_engine completes TPM_CC* command,
the hardware will indeed trigger an interrupt to the kernel.
>
> IIUC this driver is similar to ftpm and svsm where the send is
> synchronous so having .status, .cancel, etc. set to 0 should be enough
> to call .recv() just after send() in tpm_try_transmit(). See commit
> 980a573621ea ("tpm: Make chip->{status,cancel,req_canceled} opt")
The send callback would wait until the TPM_CC* command complete. We
don't need a poll.
Thanks,
Qunqin.
>
> BTW, I think I should touch also this driver in the next version of my
> series that I'll send after the merge window:
> https://lore.kernel.org/linux-integrity/20250514134630.137621-1-sgarzare@xxxxxxxxxx/
>
>
> The rest LGTM!
>
> Thanks,
> Stefano
Return-Path: <linux-kernel+bounces-665126-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 75E0141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:47:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A75C2188F86D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:47:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B1571272E44;
Wed, 28 May 2025 08:46:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="NYX8fy24"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 554A626A1BE
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:46:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422012; cv=none; b=ExglQy111qJTH+P1n6to7FMIpvrx4lCuIo/fZ16eTlq/qweCSgvMzwHzCYtQkxEHqtAS8nHe00anherl6P5h0s51A1vYcIXHlRZVfZJNsjGqR9luHGnpgGa4ZgIUpafdAen0ANn6KmzRi0ts+yJce8p+D4aagvtkHAW4XpvpXaI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422012; c=relaxed/simple;
bh=Fi+QiGSJC8uF2K0X5kt8vPGp5bckmVAYGE46xxU1R40=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ZllrtDp/kLV6P7wcW+70kuJJENKyam1cBHwS8JQK7X9iINIp4AkRIbW2sQhbrlk1WaqQEqT4ILk7WTcCozHByEm1eTx3GKBbaC/+Wgz8rgLUsk1pKGelTm68J1FxtvESUrmtclib5MoO5RtFQAh8g6Da+Z1dRyPe9ilXfPxzqdM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=NYX8fy24; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279870.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S7nc30027040
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:46:50 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=DRzWkDK3ft+iwkKji/GjVMzB
ocQDwCbSuP5DIc/EUys=; b=NYX8fy24OEESH86jLxZM9FLzbN+nsk41j6+K93rW
ueBNg7KgmhdpslFMbhhc4lTXjuX2liHHDZxYeQ/+t5uz9RssxOwPIu4W9c2tZM+J
CGtb5ziTFEhYj5WTXFiQn5KrflxgZV78v52nlevTu5N0Jjc4c+qYaCk8LOv+Tn+X
X9OkFAJ3pBEtSkNYly3WQ2nZCCsEO0I5MNBO/kIJSpabr4MU67xuXpVyT/mgYo2N
NHHOxlvQLJOx7rtO0uWJ3xj2jV7gU37aeb1yVu/1aXV7A4de+16hUocYKszCct8r
MsQgCFogJEUBfWNdmeQitrcpH8XZeyPrbMesdFQBdkqzXA==
Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u66whv6f-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:46:49 +0000 (GMT)
Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-6faad1f2b69so41041066d6.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:46:49 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748422009; x=1749026809;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=DRzWkDK3ft+iwkKji/GjVMzBocQDwCbSuP5DIc/EUys=;
b=MH7Rfdrr4fJ4MtnyUa67Kc1LKxvHRg1nkAHu1kojLBAl5F8oA5fTq+rl+nQCOnxb5E
oGOcZOJoAbR84nOFFQSd4zL78j1nwJ2EScmJOAucD2U733KyNEA+lhhoyhLf+tzobYJo
B92Aq3Q6bd9tAc4KmzhPF5cGlIgd1LsL9SYQC0TNg401s9IV2+5//PVOq3uTnD9oJIJq
rSXRqTLNn1urZE7ZkFegoYBXcmPVGbDYcU48XsXOUG4UT2RxNUsi75LhrGi+64gmognd
ZOP0C/fYDzBT237u3bjDiIKAr/ma8dmKuZ2lwWoGVQkvTFi3Tuh9Ug40qpdw2Nx3LpGM
IOAw==
X-Forwarded-Encrypted: i=1; AJvYcCWtBfrwbg/XE/foC0qOCuGya9dWvpYiENdl0woeWGP2mjgQ1BluKVihzQMo5lHaJFmmVNiLTNBP5YnwV10=@vger.kernel.org
X-Gm-Message-State: AOJu0YzYAmBSs5NJrOO7q5OvdJj/KSfsRtpFFLYPxzcI4V7gnDjie/+S
YWMVSw4ddKtq7lPR2On4dzB5QqZvGlapq5s2yFc6+F4dWJjEYWyneeasyiDEnPVdlWsIFuoLt50
IpfjyT/n99axCkgHxxSjFqd3/bOom0LUFONbXhgeEkNiivJGLyXiyiJvsNcF4emqCD9c=
X-Gm-Gg: ASbGncvzhblSqy3O4+Sz72T4DLOXV1j9exID1A10aj1tndsNH72N94BtWcIhg1GUEw1
RDuqgCcAF2s328ZlFIKMtUwOlsujDNpHQ81KocAg9tkPUQab11IRUxyZ9fMioaO51DS1AcuGiMf
SjXLXbCUp2+AD2mJB5o4MvRzTrm6u4/WnaZWPXlbjx0wCnC/IKlqvSzx1hm4OE0VaXWdZh/DvF0
yibOhpm8Zr8xlCqZ+ItxPho6sRjMaRSfmH/vYZfYD7N+yBTIbpA+kWjmQhmhRP9PXUl6BIa4Iiu
DDJv+TnUiQTijudB4PU9DTR+noK1TXawvDY926x6FIXdmAhDwyMrXpDMbOnyl7IcLjJHNmiRY6E
=
X-Received: by 2002:ad4:5b81:0:b0:6f8:e367:8440 with SMTP id 6a1803df08f44-6fa9d0330admr302008676d6.23.1748422008962;
Wed, 28 May 2025 01:46:48 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGo9qqoQrF01ykPGF/17EjYHoPs6gmbavsSE2zy6sawKd53Clq0hMx0BlOXLpAzfgtNG6M5ag==
X-Received: by 2002:ad4:5b81:0:b0:6f8:e367:8440 with SMTP id 6a1803df08f44-6fa9d0330admr302008336d6.23.1748422008535;
Wed, 28 May 2025 01:46:48 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5532f6b3e3asm182752e87.234.2025.05.28.01.46.47
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:46:47 -0700 (PDT)
Date: Wed, 28 May 2025 11:46:45 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Ai Chao <aichao@xxxxxxxxxx>
Cc: perex@xxxxxxxx, tiwai@xxxxxxxx, johannes@xxxxxxxxxxxxxxxx,
kuninori.morimoto.gx@xxxxxxxxxxx, lgirdwood@xxxxxxxxx,
broonie@xxxxxxxxxx, jbrunet@xxxxxxxxxxxx, neil.armstrong@xxxxxxxxxx,
khilman@xxxxxxxxxxxx, martin.blumenstingl@xxxxxxxxxxxxxx,
shengjiu.wang@xxxxxxxxx, Xiubo.Lee@xxxxxxxxx, festevam@xxxxxxxxx,
nicoleotsuka@xxxxxxxxx, shawnguo@xxxxxxxxxx, s.hauer@xxxxxxxxxxxxxx,
srinivas.kandagatla@xxxxxxxxxx, linux-sound@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx,
linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-amlogic@xxxxxxxxxxxxxxxxxxx, imx@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v3 6/6] ASoC: qcom: Use helper function
for_each_child_of_node_scoped()
Message-ID: <vjtgxpbpaowlz7ftryudf44f35jyaislvkckuzrzlpj25z25cf@vytjvui65gec>
References: <20250527082446.2265500-1-aichao@xxxxxxxxxx>
<20250527082446.2265500-7-aichao@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250527082446.2265500-7-aichao@xxxxxxxxxx>
X-Authority-Analysis: v=2.4 cv=aYJhnQot c=1 sm=1 tr=0 ts=6836cd79 cx=c_pps
a=oc9J++0uMp73DTRD5QyR2A==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=dt9VzEwgFbYA:10 a=uJ6pKfArofpzZCl0i4YA:9 a=CjuIK1q_8ugA:10
a=iYH6xdkBrDN1Jqds4HTS:22
X-Proofpoint-ORIG-GUID: 7ONW1uhHAdPlWREQCznDEFg3P0uJn4FE
X-Proofpoint-GUID: 7ONW1uhHAdPlWREQCznDEFg3P0uJn4FE
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA3NCBTYWx0ZWRfX080PfmgyWC92
592IM6ot2V2u/2qZHiHzwaC/kdYOcurwuQE7ZGFFohwRal4VtEBv9Q/seuFyjXiSn2XjT7gFf21
XjdT3UCFbtv+KIU4uh6eFv21v2zhEuZbAYRlICamh6Vn+RodD1TU+pu2HTH8MYxKLDWXpBXiCa9
JORdcjbVry/7+epUWKj29K3fTWgVXKWz6X6IemVl5mY5Wgkw6D+xV6wpvBRw9OVnkgd56EmfcE2
aw+WFVE4Gk5kirAyvOOcXU105LzNOeXnXWRdp7Ld/7oRvDkjIzsN0XRPugsgC7hnKnvi/v1WCHq
0PQTRwa3Fg+sFu8g6F4AH7sKtnAP29yC/GhZC5LkLUiSUo24/51TCaZX/wEt7ES221HZbYoJCWV
xY5aigM0v7VfatuCGuFLRjKPNkgT/hgNmYnyNFxJdAWEGXOovSvycO89Qwm++nTeL0t9IuRs
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
priorityscore=1501 suspectscore=0 impostorscore=0 adultscore=0
mlxlogscore=478 lowpriorityscore=0 malwarescore=0 mlxscore=0 spamscore=0
clxscore=1015 bulkscore=0 phishscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280074
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 04:24:46PM +0800, Ai Chao wrote:
> The for_each_child_of_node_scoped() helper provides a scope-based
> clean-up functionality to put the device_node automatically.
There are no calls to put the node. In the patched files the nodes are
already automatically put by the looping macro, there is nothing to
cleanup. Please stop sending this patch.
>
> Signed-off-by: Ai Chao <aichao@xxxxxxxxxx>
> ---
> sound/soc/qcom/lpass-cpu.c | 3 +--
> sound/soc/qcom/qdsp6/q6afe-dai.c | 3 +--
> sound/soc/qcom/qdsp6/q6asm-dai.c | 4 +---
> 3 files changed, 3 insertions(+), 7 deletions(-)
>
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665127-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 45C6441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:50:43 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 1E92E4A47ED
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:50:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0F1B02741C0;
Wed, 28 May 2025 08:50:36 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D6C47265CD0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:50:32 +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=1748422235; cv=none; b=qUQKRJkwgtA0LuSiiLY49Dcq9Pp115qmsFTSatk824iVSrxeDm+N6V8GM3QTykHOuH39NhbKzjz0KbppWyTbMufBZ5QLEPEk9p+MqJTwKhKoiL3B1czRQemWKRredMYxFml5FnZTuL/faFnibz1RA7NlbV99+2nz9qoY9zbmz1o=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422235; c=relaxed/simple;
bh=CTCmkJfFk7XyUxkYM9v8GC2VE7hvAnktyg6nV7O53l4=;
h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To; b=Set0zJiJP/DkzRWEB/eJjY4DIMrYjd2ayvafUGuae87Fh2FRw+KjQfDSvWdbz58dOpAmr5QxXyEDw4cz3yo1mph5FXE264aEtzFaIxuOuMlHWgu65iHnRv8IuDj151tGL5C+EiSVjB6Amz9+Q/WNpOys6tHgY4GPDMdWwBxMo/o=
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 AA5B51FC7;
Wed, 28 May 2025 01:50:09 -0700 (PDT)
Received: from e133711.arm.com (e133711.arm.com [10.1.196.55])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 191FC3F673;
Wed, 28 May 2025 01:50:24 -0700 (PDT)
From: Sudeep Holla <sudeep.holla@xxxxxxx>
Subject: [PATCH 0/3] firmware: arm_ffa: Fixes for FF-A notification
handling
Date: Wed, 28 May 2025 09:49:40 +0100
Message-Id: <20250528-ffa_notif_fix-v1-0-5ed7bc7f8437@xxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIACbONmgC/x2MQQqAMAzAviI9O6iVgfoVkTG11V6mbCKC7O8Oj
wkkLySOygmG6oXItyY9QoGmrmDZfdjY6FoYCMmipc6IeBeOS8WJPkZ67LH1xCvOUJozctH/b5x
y/gBWLYp+XwAAAA==
X-Change-ID: 20250528-ffa_notif_fix-f90903a2ed0b
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Sudeep Holla <sudeep.holla@xxxxxxx>,
Jens Wiklander <jens.wiklander@xxxxxxxxxx>,
=?utf-8?q?J=C3=A9r=C3=B4me_Forissier?= <jerome.forissier@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This patch series improves the arm_ffa notification callback handling by
addressing safety and memory issues. It replaces a mutex with an rwlock
to prevent sleeping in atomic context, resolving kernel warnings. Memory
allocation is moved outside the lock to support this transition safely.
Additionally, a memory leak in the notifier unregistration path is fixed
by properly freeing the callback node.
Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
---
Sudeep Holla (3):
firmware: arm_ffa: Fix memory leak by freeing notifier callback node
firmware: arm_ffa: Move memory allocation outside the mutex locking
firmware: arm_ffa: Replace mutex with rwlock to avoid sleep in atomic context
drivers/firmware/arm_ffa/driver.c | 71 ++++++++++++++++++++-------------------
1 file changed, 36 insertions(+), 35 deletions(-)
---
base-commit: 0ff41df1cb268fc69e703a08a57ee14ae967d0ca
change-id: 20250528-ffa_notif_fix-f90903a2ed0b
--
Regards,
Sudeep
Return-Path: <linux-kernel+bounces-665128-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3BE6E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:50:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1A71C1894E6D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:50:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0EE6E2741B6;
Wed, 28 May 2025 08:50:36 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B7D1326F45D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:50:33 +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=1748422235; cv=none; b=peWei6M04E3+CFwmRsTVeKt7diw1574lkuM7NT+Ad91TH9ItVhS3Ov4cmCeyWEe8RS1BsNjxJfHA5C3G+4LjNkUv25fFa/UINakHs/mBgH8wTf+elMFfJRAokpriYi6WxX8859ZlTH5dHTw6MlhQMWN88QcZwh/wsMQIWW5HXAY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422235; c=relaxed/simple;
bh=5isr1KMvKIol+JfAyILNZwX7BWeoRuMsLFNTNLOqo6U=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To; b=QT27ZvqAL/9c2+/GzM03fdxoImGE7JznY97lUuue/T936wdbrlulmjuUBSp6wpjSnNg9S4DGWocECPzBktYDC97jIqBD7TFQKYQQyxqjyVLvbHgOW3Q/SNxoZc0GueAomcY3bBBkEesqqYTeAaAE6+oJqsk/mZ3vrwmmc8tf+0c=
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 D3CF422FC;
Wed, 28 May 2025 01:50:10 -0700 (PDT)
Received: from e133711.arm.com (e133711.arm.com [10.1.196.55])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 448213F673;
Wed, 28 May 2025 01:50:26 -0700 (PDT)
From: Sudeep Holla <sudeep.holla@xxxxxxx>
Date: Wed, 28 May 2025 09:49:41 +0100
Subject: [PATCH 1/3] firmware: arm_ffa: Fix memory leak by freeing notifier
callback node
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-ffa_notif_fix-v1-1-5ed7bc7f8437@xxxxxxx>
References: <20250528-ffa_notif_fix-v1-0-5ed7bc7f8437@xxxxxxx>
In-Reply-To: <20250528-ffa_notif_fix-v1-0-5ed7bc7f8437@xxxxxxx>
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Sudeep Holla <sudeep.holla@xxxxxxx>,
Jens Wiklander <jens.wiklander@xxxxxxxxxx>,
=?utf-8?q?J=C3=A9r=C3=B4me_Forissier?= <jerome.forissier@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Commit e0573444edbf ("firmware: arm_ffa: Add interfaces to request
notification callbacks") adds support for notifier callbacks by allocating
and inserting a callback node into a hashtable during registration of
notifiers. However, during unregistration, the code only removes the
node from the hashtable without freeing the associated memory, resulting
in a memory leak.
Resolve the memory leak issue by ensuring the allocated notifier callback
node is properly freed after it is removed from the hashtable entry.
Fixes: e0573444edbf ("firmware: arm_ffa: Add interfaces to request notification callbacks")
Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
---
drivers/firmware/arm_ffa/driver.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c
index fe55613a8ea993378474671d3c5756309da34fbc..6f75cdf29720993b1cd95eb7d3a36d01b0fdd1de 100644
--- a/drivers/firmware/arm_ffa/driver.c
+++ b/drivers/firmware/arm_ffa/driver.c
@@ -1284,6 +1284,7 @@ update_notifier_cb(struct ffa_device *dev, int notify_id, void *cb,
hash_add(drv_info->notifier_hash, &cb_info->hnode, notify_id);
} else {
hash_del(&cb_info->hnode);
+ kfree(cb_info);
}
return 0;
--
2.34.1
Return-Path: <linux-kernel+bounces-665129-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 622C441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:51:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CEBD81BA2553
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:51:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 071532749C5;
Wed, 28 May 2025 08:50:38 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9521D272E44
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:50:34 +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=1748422237; cv=none; b=PZbO0hPbmcsHJpkaNELxXmJCTaakStcB0LlmGpHGPdN+dcjvoQE5xxMm3m+M1G3NCKjvGuRuZBvu9ffw/W/tOJJlcPb704YD2huuvx/4b6WMn+6Ddky11ogyHrmdMiKy8KdP+CS0fyUdg2uspX/VKS/O2X7GPfQKcoJJemv7hmQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422237; c=relaxed/simple;
bh=pCCYAvYNoODYZFFhTywbk2w+TCIsXMVU5Q7VyOHhfZM=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To; b=t3g3/+1l37cUGShToepozYdHpflaya1SfD2I/wmfxoOu5Naz7SKremRTQ7XOLqr0vwV35fPNwpbKLGzsbdeEYMCuImn59T4LncVfCK7Po5vuD/k6AGORlYlOInMb8C3VQrEcjFqfRFMnkOzL7eFerpVh9tU7VcohzFd0x1ZgKWk=
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 0A7052308;
Wed, 28 May 2025 01:50:12 -0700 (PDT)
Received: from e133711.arm.com (e133711.arm.com [10.1.196.55])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6FBB43F673;
Wed, 28 May 2025 01:50:27 -0700 (PDT)
From: Sudeep Holla <sudeep.holla@xxxxxxx>
Date: Wed, 28 May 2025 09:49:42 +0100
Subject: [PATCH 2/3] firmware: arm_ffa: Move memory allocation outside the
mutex locking
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-ffa_notif_fix-v1-2-5ed7bc7f8437@xxxxxxx>
References: <20250528-ffa_notif_fix-v1-0-5ed7bc7f8437@xxxxxxx>
In-Reply-To: <20250528-ffa_notif_fix-v1-0-5ed7bc7f8437@xxxxxxx>
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Sudeep Holla <sudeep.holla@xxxxxxx>,
Jens Wiklander <jens.wiklander@xxxxxxxxxx>,
=?utf-8?q?J=C3=A9r=C3=B4me_Forissier?= <jerome.forissier@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The notifier callback node allocation is currently done while holding
the notify_lock mutex. While this is safe even if memory allocation may
sleep, we need to move the allocation outside the locked region in
preparation to move from using muxtes to rwlocks.
Move the memory allocation to avoid potential sleeping in atomic context
once the locks are moved from mutex to rwlocks.
Fixes: e0573444edbf ("firmware: arm_ffa: Add interfaces to request notification callbacks")
Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
---
drivers/firmware/arm_ffa/driver.c | 48 +++++++++++++++++++--------------------
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c
index 6f75cdf29720993b1cd95eb7d3a36d01b0fdd1de..44eecb786e67b205161e2d48602e1f1b53533360 100644
--- a/drivers/firmware/arm_ffa/driver.c
+++ b/drivers/firmware/arm_ffa/driver.c
@@ -1250,13 +1250,12 @@ notifier_hnode_get_by_type(u16 notify_id, enum notify_type type)
return NULL;
}
-static int
-update_notifier_cb(struct ffa_device *dev, int notify_id, void *cb,
- void *cb_data, bool is_registration, bool is_framework)
+static int update_notifier_cb(struct ffa_device *dev, int notify_id,
+ struct notifier_cb_info *cb, bool is_framework)
{
struct notifier_cb_info *cb_info = NULL;
enum notify_type type = ffa_notify_type_get(dev->vm_id);
- bool cb_found;
+ bool cb_found, is_registration = !!cb;
if (is_framework)
cb_info = notifier_hnode_get_by_vmid_uuid(notify_id, dev->vm_id,
@@ -1270,18 +1269,7 @@ update_notifier_cb(struct ffa_device *dev, int notify_id, void *cb,
return -EINVAL;
if (is_registration) {
- cb_info = kzalloc(sizeof(*cb_info), GFP_KERNEL);
- if (!cb_info)
- return -ENOMEM;
-
- cb_info->dev = dev;
- cb_info->cb_data = cb_data;
- if (is_framework)
- cb_info->fwk_cb = cb;
- else
- cb_info->cb = cb;
-
- hash_add(drv_info->notifier_hash, &cb_info->hnode, notify_id);
+ hash_add(drv_info->notifier_hash, &cb->hnode, notify_id);
} else {
hash_del(&cb_info->hnode);
kfree(cb_info);
@@ -1303,8 +1291,7 @@ static int __ffa_notify_relinquish(struct ffa_device *dev, int notify_id,
mutex_lock(&drv_info->notify_lock);
- rc = update_notifier_cb(dev, notify_id, NULL, NULL, false,
- is_framework);
+ rc = update_notifier_cb(dev, notify_id, NULL, is_framework);
if (rc) {
pr_err("Could not unregister notification callback\n");
mutex_unlock(&drv_info->notify_lock);
@@ -1335,6 +1322,7 @@ static int __ffa_notify_request(struct ffa_device *dev, bool is_per_vcpu,
{
int rc;
u32 flags = 0;
+ struct notifier_cb_info *cb_info = NULL;
if (ffa_notifications_disabled())
return -EOPNOTSUPP;
@@ -1342,6 +1330,17 @@ static int __ffa_notify_request(struct ffa_device *dev, bool is_per_vcpu,
if (notify_id >= FFA_MAX_NOTIFICATIONS)
return -EINVAL;
+ cb_info = kzalloc(sizeof(*cb_info), GFP_KERNEL);
+ if (!cb_info)
+ return -ENOMEM;
+
+ cb_info->dev = dev;
+ cb_info->cb_data = cb_data;
+ if (is_framework)
+ cb_info->fwk_cb = cb;
+ else
+ cb_info->cb = cb;
+
mutex_lock(&drv_info->notify_lock);
if (!is_framework) {
@@ -1349,21 +1348,22 @@ static int __ffa_notify_request(struct ffa_device *dev, bool is_per_vcpu,
flags = PER_VCPU_NOTIFICATION_FLAG;
rc = ffa_notification_bind(dev->vm_id, BIT(notify_id), flags);
- if (rc) {
- mutex_unlock(&drv_info->notify_lock);
- return rc;
- }
+ if (rc)
+ goto out_unlock_free;
}
- rc = update_notifier_cb(dev, notify_id, cb, cb_data, true,
- is_framework);
+ rc = update_notifier_cb(dev, notify_id, cb_info, is_framework);
if (rc) {
pr_err("Failed to register callback for %d - %d\n",
notify_id, rc);
if (!is_framework)
ffa_notification_unbind(dev->vm_id, BIT(notify_id));
}
+
+out_unlock_free:
mutex_unlock(&drv_info->notify_lock);
+ if (rc)
+ kfree(cb_info);
return rc;
}
--
2.34.1
Return-Path: <linux-kernel+bounces-665130-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E031941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:51:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9F2134A61DB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:51:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 22AF22749E9;
Wed, 28 May 2025 08:50:39 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 95283272E57
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:50:35 +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=1748422238; cv=none; b=K/8zxnGaHxZKCpQHgiPgsW7wnVwGRg5ke8GapZPce/9Oe+bmr+RdX99aXAwcQz3WiBxlDRRY9GA5NDp5iQwJ9Qscq5tYps0VFXFezT+Q8hk91turmr4m16dJgmp8jB6xh2ZvJ0UmqUM0dRgr11Q7phxR/AuIQUbrl46TIYfuKY4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422238; c=relaxed/simple;
bh=srC6b53sTsamx9er80sImDaUipaqbkwyTPJzfq2MthI=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To; b=lMfNEZOTUiRPsn7FbICY2l47qDGzxLOYq9C2JDNMwCOwCfiPuY5lWQqLStGoJZ190FS9WhMVfx1O4saXVeFO0bcX/HtR1kMV/AEUQu4voT5wfgpZi/4XTnWGCEEIy2plAO8Wt93XwVvq72e1UA6x/SFvxeku4vmOdICmqJkP+gI=
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 362902309;
Wed, 28 May 2025 01:50:13 -0700 (PDT)
Received: from e133711.arm.com (e133711.arm.com [10.1.196.55])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9AECF3F673;
Wed, 28 May 2025 01:50:28 -0700 (PDT)
From: Sudeep Holla <sudeep.holla@xxxxxxx>
Date: Wed, 28 May 2025 09:49:43 +0100
Subject: [PATCH 3/3] firmware: arm_ffa: Replace mutex with rwlock to avoid
sleep in atomic context
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Message-Id: <20250528-ffa_notif_fix-v1-3-5ed7bc7f8437@xxxxxxx>
References: <20250528-ffa_notif_fix-v1-0-5ed7bc7f8437@xxxxxxx>
In-Reply-To: <20250528-ffa_notif_fix-v1-0-5ed7bc7f8437@xxxxxxx>
To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Sudeep Holla <sudeep.holla@xxxxxxx>,
Jens Wiklander <jens.wiklander@xxxxxxxxxx>,
=?utf-8?q?J=C3=A9r=C3=B4me_Forissier?= <jerome.forissier@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The current use of a mutex to protect the notifier hashtable accesses
can lead to issues in the atomic context. It results in the below
kernel warnings:
| BUG: sleeping function called from invalid context at kernel/locking/mutex.c:258
| in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 9, name: kworker/0:0
| preempt_count: 1, expected: 0
| RCU nest depth: 0, expected: 0
| CPU: 0 UID: 0 PID: 9 Comm: kworker/0:0 Not tainted 6.14.0 #4
| Workqueue: ffa_pcpu_irq_notification notif_pcpu_irq_work_fn
| Call trace:
| show_stack+0x18/0x24 (C)
| dump_stack_lvl+0x78/0x90
| dump_stack+0x18/0x24
| __might_resched+0x114/0x170
| __might_sleep+0x48/0x98
| mutex_lock+0x24/0x80
| handle_notif_callbacks+0x54/0xe0
| notif_get_and_handle+0x40/0x88
| generic_exec_single+0x80/0xc0
| smp_call_function_single+0xfc/0x1a0
| notif_pcpu_irq_work_fn+0x2c/0x38
| process_one_work+0x14c/0x2b4
| worker_thread+0x2e4/0x3e0
| kthread+0x13c/0x210
| ret_from_fork+0x10/0x20
To address this, replace the mutex with an rwlock to protect the notifier
hashtable accesses. This ensures that read-side locking does not sleep and
multiple readers can acquire the lock concurrently, avoiding unnecessary
contention and potential deadlocks. Writer access remains exclusive,
preserving correctness.
This change resolves warnings from lockdep about potential sleep in
atomic context.
Cc: Jens Wiklander <jens.wiklander@xxxxxxxxxx>
Reported-by: Jérôme Forissier <jerome.forissier@xxxxxxxxxx>
Closes: https://github.com/OP-TEE/optee_os/issues/7394
Fixes: e0573444edbf ("firmware: arm_ffa: Add interfaces to request notification callbacks")
Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
---
drivers/firmware/arm_ffa/driver.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c
index 44eecb786e67b205161e2d48602e1f1b53533360..37eb2e6c2f9f4d30831b7bf6ce5142a39a19f50c 100644
--- a/drivers/firmware/arm_ffa/driver.c
+++ b/drivers/firmware/arm_ffa/driver.c
@@ -110,7 +110,7 @@ struct ffa_drv_info {
struct work_struct sched_recv_irq_work;
struct xarray partition_info;
DECLARE_HASHTABLE(notifier_hash, ilog2(FFA_MAX_NOTIFICATIONS));
- struct mutex notify_lock; /* lock to protect notifier hashtable */
+ rwlock_t notify_lock; /* lock to protect notifier hashtable */
};
static struct ffa_drv_info *drv_info;
@@ -1289,19 +1289,19 @@ static int __ffa_notify_relinquish(struct ffa_device *dev, int notify_id,
if (notify_id >= FFA_MAX_NOTIFICATIONS)
return -EINVAL;
- mutex_lock(&drv_info->notify_lock);
+ write_lock(&drv_info->notify_lock);
rc = update_notifier_cb(dev, notify_id, NULL, is_framework);
if (rc) {
pr_err("Could not unregister notification callback\n");
- mutex_unlock(&drv_info->notify_lock);
+ write_unlock(&drv_info->notify_lock);
return rc;
}
if (!is_framework)
rc = ffa_notification_unbind(dev->vm_id, BIT(notify_id));
- mutex_unlock(&drv_info->notify_lock);
+ write_unlock(&drv_info->notify_lock);
return rc;
}
@@ -1341,7 +1341,7 @@ static int __ffa_notify_request(struct ffa_device *dev, bool is_per_vcpu,
else
cb_info->cb = cb;
- mutex_lock(&drv_info->notify_lock);
+ write_lock(&drv_info->notify_lock);
if (!is_framework) {
if (is_per_vcpu)
@@ -1361,7 +1361,7 @@ static int __ffa_notify_request(struct ffa_device *dev, bool is_per_vcpu,
}
out_unlock_free:
- mutex_unlock(&drv_info->notify_lock);
+ write_unlock(&drv_info->notify_lock);
if (rc)
kfree(cb_info);
@@ -1407,9 +1407,9 @@ static void handle_notif_callbacks(u64 bitmap, enum notify_type type)
if (!(bitmap & 1))
continue;
- mutex_lock(&drv_info->notify_lock);
+ read_lock(&drv_info->notify_lock);
cb_info = notifier_hnode_get_by_type(notify_id, type);
- mutex_unlock(&drv_info->notify_lock);
+ read_unlock(&drv_info->notify_lock);
if (cb_info && cb_info->cb)
cb_info->cb(notify_id, cb_info->cb_data);
@@ -1447,9 +1447,9 @@ static void handle_fwk_notif_callbacks(u32 bitmap)
ffa_rx_release();
- mutex_lock(&drv_info->notify_lock);
+ read_lock(&drv_info->notify_lock);
cb_info = notifier_hnode_get_by_vmid_uuid(notify_id, target, &uuid);
- mutex_unlock(&drv_info->notify_lock);
+ read_unlock(&drv_info->notify_lock);
if (cb_info && cb_info->fwk_cb)
cb_info->fwk_cb(notify_id, cb_info->cb_data, buf);
@@ -1974,7 +1974,7 @@ static void ffa_notifications_setup(void)
goto cleanup;
hash_init(drv_info->notifier_hash);
- mutex_init(&drv_info->notify_lock);
+ rwlock_init(&drv_info->notify_lock);
drv_info->notif_enabled = true;
return;
--
2.34.1
Return-Path: <linux-kernel+bounces-665131-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7787641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:51:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 60EE89E6436
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:50:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A65072741C0;
Wed, 28 May 2025 08:50:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (1024-bit key) header.d=163.com header.i=@163.com header.b="NnWYVRPS"
Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.3])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E8D6C2749FE;
Wed, 28 May 2025 08:50:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.3
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422244; cv=none; b=FOqhYyk0pKqNCt7kC9C9k105OKhnCbEXpKshFPVGM3wkhMd43YbvBjKXfA0eu+yL6ZLr9+rC5aFygbZCd1k/lqqAtWos0VJFj/AO9C1N9/uCAU001smYc7KsQ187n4IvCtadO+I62R3sQWNyl9C4Apnmn43z4UOqvijTbg30rCU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422244; c=relaxed/simple;
bh=oGI3YIv5COewLp59/u1LKJ9iLFWVW3C7cV+6fuUVsMw=;
h=Date:From:To:Cc:Subject:In-Reply-To:References:Content-Type:
MIME-Version:Message-ID; b=ZqWseK2g2ybWLH1MZ4v3Hyb1pKDr26fVGA3+j5P7pfsdFqMAP+ugtsBNVD7VVSDE80nmn3RRuoS/tntXHvQhORBhtlsUEEjaa5/hJP7uRCgV95JSaisx8K4C6P3UK7isuV2McQbC6Kp0vXnOuEmIp7XFUgLjMbvW50MS/iATaQE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=fail (1024-bit key) header.d=163.com header.i=@163.com header.b=NnWYVRPS reason="signature verification failed"; arc=none smtp.client-ip=117.135.210.3
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
s=s110527; h=Date:From:To:Subject:Content-Type:MIME-Version:
Message-ID; bh=Q/Kz/3SM6qMlxK4FSVI0nwRtn+UkFkCaBDdk8+T5tYc=; b=N
nWYVRPSt9m92/Gn7VY4ZUuEqbwwnAbRw5+pW4GB/CSIO17d6Vc552qtDu3a+gIhj
9P+v0CQDqArbn4Kfi3dtJWthUkg2hD9IQb/fp38ECY8pAivdDz3Ojw765MK4ktP1
PG5QLZ0pP+vc7b93D9xERUOsExTTf0UWuc/c87L+fU=
Received: from andyshrk$163.com ( [58.22.7.114] ) by
ajax-webmail-wmsvr-40-128 (Coremail) ; Wed, 28 May 2025 16:49:53 +0800
(CST)
Date: Wed, 28 May 2025 16:49:53 +0800 (CST)
From: "Andy Yan" <andyshrk@xxxxxxx>
To: "Nicolas Frattaroli" <nicolas.frattaroli@xxxxxxxxxxxxx>
Cc: heiko@xxxxxxxxx, linux-rockchip@xxxxxxxxxxxxxxxxxxx, simic@xxxxxxxxxxx,
krzk+dt@xxxxxxxxxx, robh@xxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
conor+dt@xxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, algea.cao@xxxxxxxxxxxxxx,
"Andy Yan" <andy.yan@xxxxxxxxxxxxxx>
Subject: Re:Re: [PATCH v2] arm64: dts: rockchip: Adjust the HDMI DDC IO
driver strength for rk3588
X-Priority: 3
X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20240801(9da12a7b)
Copyright (c) 2002-2025 www.mailtech.cn 163com
In-Reply-To: <3704844.aeNJFYEL58@workhorse>
References: <20250522020537.1884771-1-andyshrk@xxxxxxx>
<3704844.aeNJFYEL58@workhorse>
X-NTES-SC: AL_Qu2fCviZvUki5SKQZukfmkcVgOw9UcO5v/Qk3oZXOJF8jA7p4wscQHpOAWbq0cyIMRyRnBWaVRtWyPRTR6hlT6sb/yONQoqn4Ld8lYww2OFEbg==
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset=UTF-8
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Message-ID: <9ffd480.852d.19716157087.Coremail.andyshrk@xxxxxxx>
X-Coremail-Locale: zh_CN
X-CM-TRANSID:gCgvCgD3X+UxzjZopHQPAA--.35457W
X-CM-SenderInfo: 5dqg52xkunqiywtou0bp/xtbBkAJbXmg2ya2jJQABsq
X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU==
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
CkhlbGxvIE5pY29sYXMsCgpBdCAyMDI1LTA1LTI3IDE5OjUzOjU2LCAiTmljb2xhcyBGcmF0dGFy
b2xpIiA8bmljb2xhcy5mcmF0dGFyb2xpQGNvbGxhYm9yYS5jb20+IHdyb3RlOgo+T24gVGh1cnNk
YXksIDIyIE1heSAyMDI1IDA0OjA1OjI0IENlbnRyYWwgRXVyb3BlYW4gU3VtbWVyIFRpbWUgQW5k
eSBZYW4gd3JvdGU6Cj4+IEZyb206IEFuZHkgWWFuIDxhbmR5LnlhbkByb2NrLWNoaXBzLmNvbT4K
Pj4gCj4+IEZvciB0aGUgUkszNTg4IEhETUkgY29udHJvbGxlciwgdGhlIGZhbGxpbmcgZWRnZSBv
ZiBEREMgU0RBIGFuZCBTQ0wKPj4gYWxtb3N0IGNvaW5jaWRlIGFuZCBjYW5ub3QgYmUgYWRqdXN0
ZWQgYnkgSERNSSByZWdpc3RyZXIsIHJlc3VsdGluZwo+PiBpbiBwb29yIGNvbXBhdGliaWxpdHkg
b2YgRERDIGNvbW11bmljYXRpb24uCj4+IAo+PiBBbiBpbXByb3ZlbWVudCBvZiB0aGUgY29tcGF0
aWJpbGl0eSBvZiBEREMgY2FuIGJlIGRvbmUgYnkgaW5jcmVhc2luZwo+PiB0aGUgZHJpdmVyIHN0
cmVuZ3RoIG9mIFNDTCBhbmQgZGVjcmVhc2luZyB0aGUgZHJpdmVyIHN0cmVuZ3RoIG9mIFNEQQo+
PiB0byBpbmNyZWFzZSB0aGUgc2xvcGUgb2YgdGhlIGZhbGxpbmcgZWRnZS4KPj4gCj4+IEl0IHNo
b3VsZCBiZSBub3RlZCB0aGF0IHRoZSBtYXhpbXVtIGRyaXZpbmcgc3RyZW5ndGggb2YgaGRtaW0w
X3R4MV9zY2wKPj4gaXMgb25seSAzLCB3aGljaCBpcyBkaWZmZXJlbnQgZnJvbSB0aGF0IG9mIHRo
ZSBvdGhlciBJT3MuCj4+IAo+PiBTaWduZWQtb2ZmLWJ5OiBBbmR5IFlhbiA8YW5keS55YW5Acm9j
ay1jaGlwcy5jb20+Cj4+IAo+PiAtLS0KPj4gCj4+IENoYW5nZXMgaW4gdjI6Cj4+IC0gQ29ycmVj
dCB0aGUgbWF4IGRyaXZlIGxldmVsIG9mIGhkbWltMF90eDFfc2NsLgo+PiAKPj4gIC4uLi9kdHMv
cm9ja2NoaXAvcmszNTg4LWJhc2UtcGluY3RybC5kdHNpICAgICB8IDIwICsrKysrLS0tLS0tCj4+
ICAuLi4vZHRzL3JvY2tjaGlwL3JrMzU4OC1leHRyYS1waW5jdHJsLmR0c2kgICAgfCAgNSArLS0K
Pj4gIC4uLi9ib290L2R0cy9yb2NrY2hpcC9yb2NrY2hpcC1waW5jb25mLmR0c2kgICB8IDM1ICsr
KysrKysrKysrKysrKysrKysKPj4gIDMgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwg
MTIgZGVsZXRpb25zKC0pCj4+IAo+Cj5UZXN0ZWQtYnk6IE5pY29sYXMgRnJhdHRhcm9saSA8bmlj
b2xhcy5mcmF0dGFyb2xpQGNvbGxhYm9yYS5jb20+Cj4KPlF1aWNrbHkgdGVzdGVkIHRoaXMgb24g
Ym90aCBIRE1JIHBvcnRzIG9mIGEgUk9DSyA1VCB3aXRoIGFuIEhETUkgY2FwdHVyZQo+Y2FyZCBv
biB0aGUgb3RoZXIgZW5kLiBXaGlsZSBJIGRpZG4ndCBvcmlnaW5hbGx5IGhhdmUgYW55IGlzc3Vl
cyB0byBiZWdpbgo+d2l0aCwgdGhpcyBwYXRjaCBkb2VzIG5vdCBpbnRyb2R1Y2UgYW55IG5ldyBv
bmVzLCBzbyBzZWVtcyBnb29kIHRvIG1lLgoKClRoYW5rcyBmb3IgeW91dCB0ZXN0LgoKSSBzZW50
IHRoaXMgcGF0Y2ggYmVjYXVzZSBzb21lb25lIGZyb20gdGhlIGNvbW11bml0eSByZXBvcnRlZCB0
byBtZSB0aGF0IGhpcyBib2FyZApjb3VsZG4ndCBzdWNjZXNzZnVsbHkgZXN0YWJsaXNoIGRkYyBj
b21tdW5pY2F0aW9uIHdoZW4gcnVubmluZyB0aGUgbWFpbmxpbmUga2VybmVsLgpBZnRlciBjb25k
dWN0aW5nIGV4dGVuc2l2ZSBjb21wYXJpc29ucywgaXQgd2FzIGRpc2NvdmVyZWQgdGhhdCB0aGVy
ZSB3ZXJlIGRpZmZlcmVuY2VzCmluIHRoZSBJTyBkcml2ZSBzdHJlbmd0aCBjb25maWd1cmF0aW9u
IGJldHdlZW4gbWFpbmxpbmUgY29kZSBhbmQgdGhlIGRvd25zdHJlYW0gY29kZS4gClRoZW4sIEkg
cmVjYWxsZWQgdGhhdCBkdXJpbmcgdGhlIGNoaXAgYnJpbmd1cCBwcm9jZXNzIGFuZCB3aGVuIGNv
bmR1Y3RpbmcgdGhlIFNJIHRlc3QsIAp3ZSBoYWQgZW5jb3VudGVyZWQgdGhpcyBwcm9ibGVtIGJl
Zm9yZSwgYW5kIHdlIGRpZCB0aGUgZml4IGJ5IGFkanVzdGluZyBEREMgSU8gZHJpdmUgc3RyZW5n
dGguCj4K
Return-Path: <linux-kernel+bounces-665132-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 37F6041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:51:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A66629E6434
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:51:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 51D66274665;
Wed, 28 May 2025 08:51:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="W3LzV6U3"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 882362741D5;
Wed, 28 May 2025 08:51:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422266; cv=none; b=AAqSadmoFfP1eQ5tAxG4FGquzCRlpsZXQleKm6FC/FQlDRxwZoi/cFNKtsGzrH7RoKZUrJULwnAGIMMxZHvKkEbdGLbTtZsAITtCv22Pxmj5U86HteQgiahbKtg+FyHn5pRA5wd+8QzDr6OihrpnGb28hr2lmfArtws/C/dXNow=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422266; c=relaxed/simple;
bh=EgXIIRGlSGhAQOZPk7fOq6DPzV0ZVomQadDk0R5AnRk=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=f/cbWER7ORHLxOw3E8YmqYrg3TrxgoWPJZ4A3YXXqvrgOPKMwFZ7iEReJtkRgv8ecOaNIX63T6XIokPns0JHuGDlXdvgBS2nJddQp/gP7y2fcCVtQbdZ/eCTqV5Vtt4KQ2StYTjZstg3ebC7FN7ig04nx7xWFyqbE87IJPjGAgs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=W3LzV6U3; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 013F7C4CEE7;
Wed, 28 May 2025 08:51:05 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748422266;
bh=EgXIIRGlSGhAQOZPk7fOq6DPzV0ZVomQadDk0R5AnRk=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=W3LzV6U3gyZMghCydLxdhwhcnKNqjEFY4KwOQAQK60hmPOAgQ2AOoBccMP1KBptNI
/tS6bv6n6ryuMt+6EGNEY7czlrJRjgiO1+68PF/cbLuLGntnVFv/a5rUeK8jQP4uSa
TfhO75RPbbDruEnM9wuAGoW+MhrcFB+UgeOlFN+RsHuvvvVQ3ygNpdrdGlZql19lG5
rHJEtPc6wkrShYEi4YwsNJ9eVkndFtZ1E9oHKcOE89vuCO3N6gpE+N1SIY8G4UpJvN
GUQGhqc4FQVfF+vbtfbpx6CYDU9m+pkoXc17Tdnz1YqSvIku04E+YRASe6c78p/F43
MCeOhwiw/VkNA==
Received: from johan by xi.lan with local (Exim 4.97.1)
(envelope-from <johan@xxxxxxxxxx>)
id 1uKCVA-000000003AL-1ygP;
Wed, 28 May 2025 10:51:09 +0200
Date: Wed, 28 May 2025 10:51:08 +0200
From: Johan Hovold <johan@xxxxxxxxxx>
To: Konrad Dybcio <konradybcio@xxxxxxxxxx>
Cc: Bjorn Andersson <andersson@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Sibi Sankar <quic_sibis@xxxxxxxxxxx>,
Rajendra Nayak <quic_rjendra@xxxxxxxxxxx>,
Abel Vesa <abel.vesa@xxxxxxxxxx>,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Subject: Re: [PATCH] arm64: dts: qcom: x1e80100: Add interconnect to primary
USB3 controller
Message-ID: <aDbOfKl3uiBYfBlp@xxxxxxxxxxxxxxxxxxxx>
References: <20250527-topic-x1e_usb_icc-v1-1-43b604cb0609@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250527-topic-x1e_usb_icc-v1-1-43b604cb0609@xxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 09:26:17PM +0200, Konrad Dybcio wrote:
> From: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
>
> This seems to have been omitted during the initial bringup.
>
> Fixes: 4af46b7bd66f ("arm64: dts: qcom: x1e80100: Add USB nodes")
> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
NAK
This breaks suspend as I've mentioned multiple times in our meetings.
IIUC, this may even have been the reason why it was not included in the
first place.
Specifically, adding this interconnect triggers a reset by the
hypervisor on resume, presumably as something is not described properly
and depends on a vote not going away.
I have not had time to track it down, and I have even less time now, but
since you have access to the internal Qualcomm tools you may be able to
make some progress on this (e.g. by capturing and analysing a
crashdump).
Johan
Return-Path: <linux-kernel+bounces-665133-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8433041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:52:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 79CED168BA9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:52:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 159F8272E7E;
Wed, 28 May 2025 08:52:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="V+IJMmF7"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 167FF26A0BF;
Wed, 28 May 2025 08:52:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422357; cv=none; b=dCxE6zCVX7RUwYy/tAiWORiamv94eIpn8WLTTdTEPA+g6+6NEZdS7vw9GkkN9wuMdwhoBcmsIC4zYxhd65+zWaqJCNhaiOPE0rdALkvc7X8eNUbATGCWWzJuWqda8yOgKfSmCcFISO/616ScCVrMKIOKgoXuLk+Dv/tGpsdVg0Y=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422357; c=relaxed/simple;
bh=BmYME872G2HKJBR/wdLI4h4RnelU/w385HSGJ/Nngpg=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=rmM7beHYHsy1Tegwa2TM0ePuiERwfEBHqxaETkjEz1NiihG/48MIsOaDPYwVueW+Gu2Y/9nHzxevbKynd/jEQFg+LUiFEQprwCM6UUJ4oXX0TRZImXIZwggaQbUVOFrNAg13bwSoCAUsGRDuvjZwB2pvrRVYjoscvmO9D/E9ZUU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=V+IJMmF7; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8B18C4CEED;
Wed, 28 May 2025 08:52:35 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
s=korg; t=1748422356;
bh=BmYME872G2HKJBR/wdLI4h4RnelU/w385HSGJ/Nngpg=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=V+IJMmF7A9LPOcBmCxMUAACufm6xiV1ZyHyycFYXdgE0lWfb5gG6zjebdjGlk8wSG
YzcJTlmtH7nWSId+lwsWhxNY3pMgO7X6/Qlfn+R2zocZOLyc05Rooj67UP9n8oyq3e
195jqT4JP5wo63S+2nq0DOj6NiIO48+Bu7kRr3y0=
Date: Wed, 28 May 2025 10:50:42 +0200
From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
To: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, torvalds@xxxxxxxxxxxxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, linux@xxxxxxxxxxxx, shuah@xxxxxxxxxx,
patches@xxxxxxxxxxxx, lkft-triage@xxxxxxxxxxxxxxxx, pavel@xxxxxxx,
jonathanh@xxxxxxxxxx, f.fainelli@xxxxxxxxx,
sudipm.mukherjee@xxxxxxxxx, srw@xxxxxxxxxxxxxxxx, rwarsow@xxxxxx,
conor@xxxxxxxxxx, hargar@xxxxxxxxxxxxx, broonie@xxxxxxxxxx,
Arnd Bergmann <arnd@xxxxxxxx>, linux-s390@xxxxxxxxxxxxxxx,
Linux trace kernel <linux-trace-kernel@xxxxxxxxxxxxxxx>,
Dan Carpenter <dan.carpenter@xxxxxxxxxx>,
Anders Roxell <anders.roxell@xxxxxxxxxx>,
Akihiko Odaki <akihiko.odaki@xxxxxxxxxx>
Subject: Re: [PATCH 6.14 000/783] 6.14.9-rc1 review
Message-ID: <2025052824-turret-crank-48ee@gregkh>
References: <20250527162513.035720581@xxxxxxxxxxxxxxxxxxx>
<CA+G9fYsvuqySTdV0Yqi3i-cyBh6j4Rw2_ze46RSUPrz0sbA2Xg@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CA+G9fYsvuqySTdV0Yqi3i-cyBh6j4Rw2_ze46RSUPrz0sbA2Xg@xxxxxxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 12:40:10AM +0530, Naresh Kamboju wrote:
> On Tue, 27 May 2025 at 22:48, Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > This is the start of the stable review cycle for the 6.14.9 release.
> > There are 783 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Thu, 29 May 2025 16:22:51 +0000.
> > Anything received after that time might be too late.
> >
> > The whole patch series can be found in one patch at:
> > https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.14.9-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.14.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
> Regressions on S390 defconfig builds failing with gcc-13, gcc-8 and
> clang-20 and clang-nightly tool chains on 6.14.9-rc1.
>
> Regression Analysis:
> - New regression? Yes
> - Reproducible? Yes
>
> Build regression: S390 defconfig crash_dump.c use of undeclared
> identifier 'NN_PRSTATUS'
>
> Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
>
>
> Build log:
> ---------
> arch/s390/kernel/crash_dump.c:312:8: error: use of undeclared
> identifier 'NN_PRFPREG'
> 312 | ptr = nt_init(ptr, PRFPREG, nt_fpregset);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/s390/kernel/crash_dump.c:274:56: note: expanded from macro 'nt_init'
> 274 | nt_init_name(buf, NT_ ## type, &(desc), sizeof(desc),
> NN_ ## type)
> |
> ^~~~~~~~~~~
> <scratch space>:85:1: note: expanded from here
> 85 | NN_PRFPREG
> | ^~~~~~~~~~
> arch/s390/kernel/crash_dump.c:313:8: error: use of undeclared
> identifier 'NN_S390_TIMER'
> 313 | ptr = nt_init(ptr, S390_TIMER, sa->timer);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/s390/kernel/crash_dump.c:274:56: note: expanded from macro 'nt_init'
> 274 | nt_init_name(buf, NT_ ## type, &(desc), sizeof(desc),
> NN_ ## type)
> |
> ^~~~~~~~~~~
> <scratch space>:87:1: note: expanded from here
> 87 | NN_S390_TIMER
> | ^~~~~~~~~~~~~
> arch/s390/kernel/crash_dump.c:314:8: error: use of undeclared
> identifier 'NN_S390_TODCMP'
> 314 | ptr = nt_init(ptr, S390_TODCMP, sa->todcmp);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/s390/kernel/crash_dump.c:274:56: note: expanded from macro 'nt_init'
> 274 | nt_init_name(buf, NT_ ## type, &(desc), sizeof(desc),
> NN_ ## type)
> |
> ^~~~~~~~~~~
> <scratch space>:89:1: note: expanded from here
> 89 | NN_S390_TODCMP
> | ^~~~~~~~~~~~~~
> arch/s390/kernel/crash_dump.c:315:8: error: use of undeclared
> identifier 'NN_S390_TODPREG'
> 315 | ptr = nt_init(ptr, S390_TODPREG, sa->todpreg);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/s390/kernel/crash_dump.c:274:56: note: expanded from macro 'nt_init'
> 274 | nt_init_name(buf, NT_ ## type, &(desc), sizeof(desc),
> NN_ ## type)
> |
> ^~~~~~~~~~~
> <scratch space>:91:1: note: expanded from here
> 91 | NN_S390_TODPREG
> | ^~~~~~~~~~~~~~~
> arch/s390/kernel/crash_dump.c:316:8: error: use of undeclared
> identifier 'NN_S390_CTRS'
> 316 | ptr = nt_init(ptr, S390_CTRS, sa->ctrs);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/s390/kernel/crash_dump.c:274:56: note: expanded from macro 'nt_init'
> 274 | nt_init_name(buf, NT_ ## type, &(desc), sizeof(desc),
> NN_ ## type)
> |
> ^~~~~~~~~~~
>
> ## Source
> * kernel version: 6.14.9-rc1
> * git tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> * git sha: 10804dbee7fa8cfb895bbffcc7be97d8221748b6
> * git describe: v6.14.8-784-g10804dbee7fa
> * project details:
> https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.14.y/build/v6.14.8-784-g10804dbee7fa/
> * architecture: S390
> * toolchain: gcc-8, gcc-13, clang-20, clang-nightly
> * config : defconfig
> * Build config:
> https://storage.tuxsuite.com/public/linaro/lkft/builds/2xgl51jcJfVGQZw8dKSuEJNFtd4/config
> * Build: https://storage.tuxsuite.com/public/linaro/lkft/builds/2xgl51jcJfVGQZw8dKSuEJNFtd4/
>
> ## Boot log
> * Build log: https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.14.y/build/v6.14.8-784-g10804dbee7fa/testrun/28574235/suite/build/test/gcc-13-defconfig/log
> * Build details:
> https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.14.y/build/v6.14.8-784-g10804dbee7fa/testrun/28574235/suite/build/test/gcc-13-defconfig/details/
> * Build history:
> https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.14.y/build/v6.14.8-784-g10804dbee7fa/testrun/28574235/suite/build/test/gcc-13-defconfig/history/
>
> ## Steps to reproduce
> - tuxmake --runtime podman --target-arch s390 --toolchain gcc-13
> --kconfig defconfig
Thanks, offending patch is now removed.
greg k-h
Return-Path: <linux-kernel+bounces-665134-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B38F941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:53:01 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2E50C9E04F3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:52:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4EEF82741CD;
Wed, 28 May 2025 08:52:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Hnau/7mq"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BADAE2741CB
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:52:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422359; cv=none; b=UL0sXyxHaK32TMMubVSS5ptvOvC6Be+9xO5ref3igzK7l2xzlo9GWyUaPykxJQ4Ul3UHHlcoEs/CEvYoxYyPnGpVXLtdN9ejfgM4njI5uNhFxjy0vjEF2oDurZIsvC4EF3zWzqBN6xN2fuShjxeCW/cWlsTVHzjj7onYprdVE0I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422359; c=relaxed/simple;
bh=VS1YaQxjzWGKR2linUA2fdWDK/V9RwaTCLlCddwHcGY=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=E5VY5udLuCLnb0a9EvP0J/JL6RH9fBH6y/O5veNapI/IR0zfTLFuGfEuI2RJAmbl6MYSGedEsbbm6RYX7T0IOHW74Ta6OWbHR9uTwhPw/k+sl2v7nTh6AQzuHCNAJNqPNnWzpYeY3IyVC+STWJdJgJeRXT8RCsSI6SIgEojNPng=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Hnau/7mq; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279863.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S5jlpN028987
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:52:31 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=zjY+tolbRpC1WCpfxzU4Em6y
SlDLudFcmo1sJ1gl3Tk=; b=Hnau/7mqap/VbnG9tpq4s414rF8bv3QUyksN7dya
pHZZrUkxSjQBMgYlYJfsvGF2dKL0o2kOMdsq0QzCB//dRHGtwGUgW2ZxXO7OzFqS
jeysqUuayT3thtYuemt9C+R6NiiKFDAGlowTKU9zZo40DHJ2Z2W1wRs5zZSn9ORr
Le7qlSI9N9gDtDo+GrfAT/ui62q9wY5o2jsOKWsjhFvzPmxKg7/gsx5MEQBZHgKP
e7H+/hNJJLkB+O6fI4hJtwce1tNjvHjRGkvzn79UNwQW9VnRfvvLXe4ihbozm96o
yJLF/exG5WnIrJGXvF9qH1LhL8LAjlbKltCZWM623KOa+A==
Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46whuf20ve-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:52:30 +0000 (GMT)
Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c543ab40d3so601343185a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:52:30 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748422349; x=1749027149;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=zjY+tolbRpC1WCpfxzU4Em6ySlDLudFcmo1sJ1gl3Tk=;
b=D2Vv49CF3HT93rpdz8LOLS5516C84VUc29dgHycclWroLAZ27bdBG3bUNDv5Dj6/yB
AIQzdo9clvtJw+9mmisXereXlaPKBT+HQ1vAmnpuYqBoF2hvZwqj0dL/EaR8FXAwoqP9
BN3SyyLcap2ctGG1tVzdnGEjsIEyzvyuzxM2ECTw4Wc3Kma+V/We1A4/rNchd1vXVZ2y
5dYn3FFMemiJMRxfylftqFVpLxsn4MvZdj00xQyAiMvgJzCGreHr35FOvnwGw+gEiwRM
RdNkYFFQxrC/xdCrDv9ruPe/7fY+FXGsEWJ4GILMeXpuqHxB7QNertnlqAqkzKKF6Zg3
BSnQ==
X-Forwarded-Encrypted: i=1; AJvYcCWfv7Y6o+gO7JuQfbnEOOO1WpFwrpZ2zYYCp74N40pG5c5p5RwCWL385FRvWFwMQH06C0FiKfLw856xrbc=@vger.kernel.org
X-Gm-Message-State: AOJu0Yybe6gIBfQjoTq52TF47ZRNiSp2heuDJcRwDejf1AKZtBJgFK6T
9UqpGWUnJD9IfhlO7FZze4HVIJwrR4DFd91DP1WfcfMgwK96jb69Ov2HFkh4FFCxUUq8DyYEpVh
XZ1x9idarwD1qPm6CGMNYDljnW3mffG85gyROkT5bLebNN30siFjSDmUm6IW7AU0dmQQ=
X-Gm-Gg: ASbGncu3VFlg0Pj503Y0BvO4ak5NoHal2oPfbRk2puMXEZ3JPLJZx4l8GeSX0FirwFL
Utm5LmXc9uuTvYyJ4UXzLx77pab2VDi1BQTgdVV48p1mJ3/fn8Wmg20rPl7jrvZ37C3jPFWR1rI
pGmsWIXj/06UcDNUzjki1uN1FEu6zybF0mr7CcCU6AyoaKh0g6Ht1LHQl8KkYxyr5LFd+GZ8NMs
BUBULwtQEC4LnP4qpfDdT2Wam6p9jjZe1fUtenK82hhyexxGb9Qd37Bvxiuy8RyVoBe3MQ3QcVp
wl9Pwbc/Vumd5A9gHsr0dha8n22AopmWwRb2aoMyJbIPTt9UE0dQY7ehNpHo36t1ZZLQ2N4o4zw
=
X-Received: by 2002:a05:620a:2987:b0:7ca:f65c:2032 with SMTP id af79cd13be357-7ceecb6fb2fmr2414459785a.5.1748422349595;
Wed, 28 May 2025 01:52:29 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGocp7uTKkFG2D9UdXN34dHKFQ1I2EskkbQ4JFUqEXWZMh4qwL8V76qp3zCN3NhbzVXMQqHcw==
X-Received: by 2002:a05:620a:2987:b0:7ca:f65c:2032 with SMTP id af79cd13be357-7ceecb6fb2fmr2414457285a.5.1748422349110;
Wed, 28 May 2025 01:52:29 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32a79e9a5e2sm1557121fa.18.2025.05.28.01.52.27
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:52:27 -0700 (PDT)
Date: Wed, 28 May 2025 11:52:25 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Alexey Klimov <alexey.klimov@xxxxxxxxxx>
Cc: robdclark@xxxxxxxxx, will@xxxxxxxxxx, robin.murphy@xxxxxxx,
linux-arm-msm@xxxxxxxxxxxxxxx, joro@xxxxxxxxxx, iommu@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
stable@xxxxxxxxxxxxxxx, andersson@xxxxxxxxxx
Subject: Re: [PATCH] iommu/arm-smmu-qcom: Add SM6115 MDSS compatible
Message-ID: <ehriorde5zbfoo6b7rzemnzegnwqfdobzwyjra755ynk2me2g6@om6g57n26zbp>
References: <20250528003118.214093-1-alexey.klimov@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528003118.214093-1-alexey.klimov@xxxxxxxxxx>
X-Authority-Analysis: v=2.4 cv=OslPyz/t c=1 sm=1 tr=0 ts=6836cece cx=c_pps
a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8
a=8fDSzOnEAZO3B2cnlLcA:9 a=CjuIK1q_8ugA:10 a=bTQJ7kPSJx9SKPbeHEYW:22
a=cvBusfyB2V15izCimMoJ:22
X-Proofpoint-ORIG-GUID: 00jS-l8vNOW7_OSZ0CjotR_ocmCoTAWK
X-Proofpoint-GUID: 00jS-l8vNOW7_OSZ0CjotR_ocmCoTAWK
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA3NiBTYWx0ZWRfXzLZAMPpaQnM4
lTncVsNBB3FRDGDYivIRtWT9PL0QKShzSVPdNAZzC/U9q0/QYDLoCcXHY5dBO8KlH2k3aqwvuvN
jZDRmi6W94CfRUit0HQBijnXHYOsb39vg94Xjz4vI08xoEyNIJvugDqGO+DvbTuvO0KegvObXXf
E5GqtizhL+ddXIyPKnlOC/b+bNi2AQEPXB3S5V1JqzZ0nbiflI1ZlpssesDeoEogwzCfSJTnhMv
Y0RyC7p0OpOt5YG2/Pt3uOF3ryvOueQ1Fi5BWQDKEOCFWbP/Kr9CHgrRsPraDb0/DcLV+b6pmLV
/zTa1FwEKqd32jlytR5hJLfjcJy+KInDbRxra6eZwXC/mblH53hxa6r1pHQLqMoxj8Pb+vpBx0p
SKgEnYoYDlEmwma6WsYdmkphnABeTqL9lGTHia3KCp6Thp9Cwp9+brZ91K7trMmhn20Ui0tu
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
impostorscore=0 phishscore=0 mlxlogscore=999 adultscore=0 malwarescore=0
bulkscore=0 priorityscore=1501 clxscore=1015 mlxscore=0 lowpriorityscore=0
spamscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280076
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 01:31:18AM +0100, Alexey Klimov wrote:
> Add the SM6115 MDSS compatible to clients compatible list, as it also
> needs that workaround.
> Without this workaround, for example, QRB4210 RB2 which is based on
> SM4250/SM6115 generates a lot of smmu unhandled context faults during
> boot:
>
> arm_smmu_context_fault: 116854 callbacks suppressed
> arm-smmu c600000.iommu: Unhandled context fault: fsr=0x402,
> iova=0x5c0ec600, fsynr=0x320021, cbfrsynra=0x420, cb=5
> arm-smmu c600000.iommu: FSR = 00000402 [Format=2 TF], SID=0x420
> arm-smmu c600000.iommu: FSYNR0 = 00320021 [S1CBNDX=50 PNU PLVL=1]
> arm-smmu c600000.iommu: Unhandled context fault: fsr=0x402,
> iova=0x5c0d7800, fsynr=0x320021, cbfrsynra=0x420, cb=5
> arm-smmu c600000.iommu: FSR = 00000402 [Format=2 TF], SID=0x420
>
> and also leads to failed initialisation of lontium lt9611uxc driver
> and gpu afterwards:
Nit: there is nothing failing the lt9611uxc on its own. binding all MDSS
components (triggered by lt9611uxc attaching to the DSI bus) produces
the failure.
>
> ------------[ cut here ]------------
> !aspace
> WARNING: CPU: 6 PID: 324 at drivers/gpu/drm/msm/msm_gem_vma.c:130 msm_gem_vma_init+0x150/0x18c [msm]
> Modules linked in: ... (long list of modules)
> CPU: 6 UID: 0 PID: 324 Comm: (udev-worker) Not tainted 6.15.0-03037-gaacc73ceeb8b #4 PREEMPT
> Hardware name: Qualcomm Technologies, Inc. QRB4210 RB2 (DT)
> pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> pc : msm_gem_vma_init+0x150/0x18c [msm]
> lr : msm_gem_vma_init+0x150/0x18c [msm]
> sp : ffff80008144b280
> ...
> Call trace:
> msm_gem_vma_init+0x150/0x18c [msm] (P)
> get_vma_locked+0xc0/0x194 [msm]
> msm_gem_get_and_pin_iova_range+0x4c/0xdc [msm]
> msm_gem_kernel_new+0x48/0x160 [msm]
> msm_gpu_init+0x34c/0x53c [msm]
> adreno_gpu_init+0x1b0/0x2d8 [msm]
> a6xx_gpu_init+0x1e8/0x9e0 [msm]
> adreno_bind+0x2b8/0x348 [msm]
> component_bind_all+0x100/0x230
> msm_drm_bind+0x13c/0x3d0 [msm]
> try_to_bring_up_aggregate_device+0x164/0x1d0
> __component_add+0xa4/0x174
> component_add+0x14/0x20
> dsi_dev_attach+0x20/0x34 [msm]
> dsi_host_attach+0x58/0x98 [msm]
> devm_mipi_dsi_attach+0x34/0x90
> lt9611uxc_attach_dsi.isra.0+0x94/0x124 [lontium_lt9611uxc]
> lt9611uxc_probe+0x540/0x5fc [lontium_lt9611uxc]
> i2c_device_probe+0x148/0x2a8
> really_probe+0xbc/0x2c0
> __driver_probe_device+0x78/0x120
> driver_probe_device+0x3c/0x154
> __driver_attach+0x90/0x1a0
> bus_for_each_dev+0x68/0xb8
> driver_attach+0x24/0x30
> bus_add_driver+0xe4/0x208
> driver_register+0x68/0x124
> i2c_register_driver+0x48/0xcc
> lt9611uxc_driver_init+0x20/0x1000 [lontium_lt9611uxc]
> do_one_initcall+0x60/0x1d4
> do_init_module+0x54/0x1fc
> load_module+0x1748/0x1c8c
> init_module_from_file+0x74/0xa0
> __arm64_sys_finit_module+0x130/0x2f8
> invoke_syscall+0x48/0x104
> el0_svc_common.constprop.0+0xc0/0xe0
> do_el0_svc+0x1c/0x28
> el0_svc+0x2c/0x80
> el0t_64_sync_handler+0x10c/0x138
> el0t_64_sync+0x198/0x19c
> ---[ end trace 0000000000000000 ]---
> msm_dpu 5e01000.display-controller: [drm:msm_gpu_init [msm]] *ERROR* could not allocate memptrs: -22
> msm_dpu 5e01000.display-controller: failed to load adreno gpu
> platform a400000.remoteproc:glink-edge:apr:service@7:dais: Adding to iommu group 19
> msm_dpu 5e01000.display-controller: failed to bind 5900000.gpu (ops a3xx_ops [msm]): -22
> msm_dpu 5e01000.display-controller: adev bind failed: -22
> lt9611uxc 0-002b: failed to attach dsi to host
> lt9611uxc 0-002b: probe with driver lt9611uxc failed with error -22
>
> Suggested-by: Bjorn Andersson <andersson@xxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx>
> ---
> drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 1 +
> 1 file changed, 1 insertion(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
I'd also propose:
Fixes: 3581b7062cec ("drm/msm/disp/dpu1: add support for display on SM6115")
This way this is going to be fixed for all platforms using display on
SM6115.
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665137-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D709241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:53:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A888F189F1EC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:53:26 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 229B62749E7;
Wed, 28 May 2025 08:52:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="cS4r3ONy"
Received: from mx08-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9863A2741CB;
Wed, 28 May 2025 08:52:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.207.212.93
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422368; cv=none; b=Cx9Aqz+pjeovAOyiRvZCLiLAuzmgAMdrBMG1xZjHh8jEnVP44m87I3i6XHWMDCxNWmCeyd54tzxCxYdLiDsV5InJygiiklw+eoagVh/bD1TMhTYGTJGfxwpfeiz30XgEZzFFrjrNyVn7i86MjjXZVtKGieeTgsr7f6tcAjFtMtY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422368; c=relaxed/simple;
bh=Lq6l31yiSMMK/xdjQj1gbpL696ZQySei7rEcLc6UYxY=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References:
In-Reply-To:To:CC; b=Jg1ifmVEnouDnIo8GusICzN0YV6X3KLbddcfpFifrnWh4ihpfal47IB8PbOy763x2DSXUeSLmQNhCWe+N+jXwRw6kd8uo9NGqEF9Sb+Bjwa1hnyiVvgltXkllIEQlFhOM5Himkhoydti7P0NRoGNtKvv9W5NvrWy7ZlBwyAKNa4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=cS4r3ONy; arc=none smtp.client-ip=91.207.212.93
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com
Received: from pps.filterd (m0369457.ppops.net [127.0.0.1])
by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S7QF2Y009472;
Wed, 28 May 2025 10:52:35 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=selector1; bh=
1q8t38OgoK6y/zM/IA/ohu5Xp9gm8cLA+K2Vfs233T8=; b=cS4r3ONym/e0p/Td
2dcite+5KsLUKLqa7c1X9V/Y4MgD5nMJROPUoxOati3bIXxJO2M7DgECsP7f98Fn
LFPw09FYECs+4cgvwhCvRqL8g94wVzjU5h1DdZjuFuKGen0dwBLCeL1FgTq67ZLe
F7SRjnyUHVBF4wNFa9nVFxZT/xNLRTu0D4DIpMg67QExBftjlnwPkjCM1ndBrCxt
UdUno1qqECEieH4wqjorcbul8r1vqzIh/5jWyaLH3h8taTO5wa595Q6of9zQRvXz
E1mndoLcYjpaQ7wX6y3iBE72/i3FlJ7ES43QbcGl1iXWY9i+PBWc1jWEbcVd6qUt
y+F0+Q==
Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35])
by mx07-00178001.pphosted.com (PPS) with ESMTPS id 46w54hpk50-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 10:52:35 +0200 (MEST)
Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20])
by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id 82E2840058;
Wed, 28 May 2025 10:51:37 +0200 (CEST)
Received: from Webmail-eu.st.com (shfdag1node1.st.com [10.75.129.69])
by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id B5E56B5CB48;
Wed, 28 May 2025 10:50:29 +0200 (CEST)
Received: from localhost (10.48.87.141) by SHFDAG1NODE1.st.com (10.75.129.69)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 28 May
2025 10:50:29 +0200
From: Gatien Chevallier <gatien.chevallier@xxxxxxxxxxx>
Date: Wed, 28 May 2025 10:50:22 +0200
Subject: [PATCH v2 2/2] Input: gpio-keys - fix possible concurrent access
in gpio_keys_irq_timer()
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-ID: <20250528-gpio_keys_preempt_rt-v2-2-3fc55a9c3619@xxxxxxxxxxx>
References: <20250528-gpio_keys_preempt_rt-v2-0-3fc55a9c3619@xxxxxxxxxxx>
In-Reply-To: <20250528-gpio_keys_preempt_rt-v2-0-3fc55a9c3619@xxxxxxxxxxx>
To: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>,
Sebastian Andrzej Siewior
<bigeasy@xxxxxxxxxxxxx>,
Clark Williams <clrkwllms@xxxxxxxxxx>,
Steven
Rostedt <rostedt@xxxxxxxxxxx>,
Paul Cercueil <paul@xxxxxxxxxxxxxxx>
CC: <linux-input@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-rt-devel@xxxxxxxxxxxxxxx>,
Gatien Chevallier
<gatien.chevallier@xxxxxxxxxxx>,
<fabrice.gasnier@xxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1038;
i=gatien.chevallier@xxxxxxxxxxx; h=from:subject:message-id;
bh=Lq6l31yiSMMK/xdjQj1gbpL696ZQySei7rEcLc6UYxY=;
b=owEB7QES/pANAwAKAar3Rq6G8cMoAcsmYgBoNs5T4Vq1P8ueyaGWzJlUYoXPnFIJkgY0WeH7v
CH+bKFd6UmJAbMEAAEKAB0WIQRuDsu+jpEBc9gaoV2q90auhvHDKAUCaDbOUwAKCRCq90auhvHD
KHCUDAC50vawQKeXvCRGZprN5RXqhIWQ9otbid3yqHqCkTF5gflpnjlgE6cVgdLNerDsXMV1TpP
UH+f8gW9peFNbnb0Kb20n4uQLfpg0KUU437HOcYF9PT0QbD/89k7mqqMeEHl44NAhe37iQs/9eY
ct7NacXxqtA//vRZmu51Yr4LumaX2Ku8ghbKP8xsFcpZHnBRwADEPaMMlcDBDCXDOmu50oD4ay4
6jgaB174PviS9ToQ5X72r4aE9SnsDREOTY4ko2e43sSIGjZk45currgZt72yxlvPEDZ1nxQij99
E1zp6W6FF2A34OVW0iX/1G4Mjp9gkGIUZ53gK/JewYQyyphzjJTp6rB8HgLO1sPtLYQGl1jidJU
KeRCUYYZt4tDTeokOTpsv9Q54CkBw/5wvUp4AgPnTpUNIJGhp4OKPXGkoKsQ2mRIq94HPcKVBhy
u3+s2+IZllX6D7CRPNxNNgs1N2wfr5uofbGeZo5fl0PctFfcDF16OvP4pmcjd349z7WUM=
X-Developer-Key: i=gatien.chevallier@xxxxxxxxxxx; a=openpgp;
fpr=6E0ECBBE8E910173D81AA15DAAF746AE86F1C328
X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To SHFDAG1NODE1.st.com
(10.75.129.69)
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
gpio_keys_irq_isr() and gpio_keys_irq_timer() access the same resources.
There could be a concurrent access if a GPIO interrupt occurs in parallel
of a HR timer interrupt.
Guard back those resources with a spinlock.
Fixes: 019002f20cb5 ("Input: gpio-keys - use hrtimer for release timer")
Signed-off-by: Gatien Chevallier <gatien.chevallier@xxxxxxxxxxx>
---
drivers/input/keyboard/gpio_keys.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index d884538107c9654d21e37fa20e0b3b6cd9a25ee4..f9db86da0818b24d3b6611b4d4e23c96846dbf18 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -449,6 +449,8 @@ static enum hrtimer_restart gpio_keys_irq_timer(struct hrtimer *t)
release_timer);
struct input_dev *input = bdata->input;
+ guard(spinlock_irqsave)(&bdata->lock);
+
if (bdata->key_pressed) {
input_report_key(input, *bdata->code, 0);
input_sync(input);
--
2.25.1
Return-Path: <linux-kernel+bounces-665135-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 65D4341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:53:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A20264E0FFC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:53:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AFA822749D3;
Wed, 28 May 2025 08:52:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="J2foIemk"
Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F3532741A2;
Wed, 28 May 2025 08:52:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.207.212.93
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422368; cv=none; b=SVYCYO1XLkWS9ENGeFZ/0rVXTLD7WXo0iHJgOIeZX1l5a4xmF+9EzT8PzIJYlTbTJeiDxWWddO0x+SAdtmh0faqqrCpdNm/OXx08ICXd7ZXE6BT7Z7qjXGpuad9yvMpBoXSFrwJAwH/0uXMADy8CvBEws2sVDORhLkPwrT66aB4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422368; c=relaxed/simple;
bh=exNm3ds/4nIxDzCSPGFXgLVMXTUU+G8UpRm8CZJCc2U=;
h=From:Subject:Date:Message-ID:MIME-Version:Content-Type:To:CC; b=uVt/U5XoOx0jZc0NKs3aFzF8C3DwpRtIj3esPKtDXvC55tZf1Mkj1oFaHTpSa1UaFKV+/NnJ0FMZCfufIoDC1AC4acAoqGnAv4alLxrHdcKyxOSuQI4+dRIX07U5u/Pw5snpOVmga1Cr1P1u9PKGA+vo1n9ELOClh4NbzaSwA7Q=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=J2foIemk; arc=none smtp.client-ip=91.207.212.93
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com
Received: from pps.filterd (m0046661.ppops.net [127.0.0.1])
by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S89dxr002921;
Wed, 28 May 2025 10:52:35 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=
cc:content-transfer-encoding:content-type:date:from:message-id
:mime-version:subject:to; s=selector1; bh=3mNjT694Hvo8StpF+UfB54
MIj+kX6xlfG4Q/V4jrFIk=; b=J2foIemk8syyUJaDaMec0ubkoX+X8zz45jpE0b
pMO8bGFKYQCgWeHOyr1G6yTxw9fvMFI/JDWuCNwyyttcFpfK436rEAdRhpVQRxST
5juqk0h+8BCVqpYuwjzCXt3RWVCHPoAf0jDQqEbAQWpPStjQ59uQkQcK9UKMRnXC
63nPApvu0o1T+LJRtG9Gxqq68x1ncAXr2PMWSS3fa1hzWlOtBCkdOL4dkAFddZwi
JC2uv1CFAucqvmoeeyW389HrRfN0W7wsvg0PdU9DEqi3fkGMBrYcuumq/EAYweHH
ObhwuSi1tX9bvzmGsEhPY/G0Nq8LYbpL7/9rNN52TKLS9THA==
Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35])
by mx07-00178001.pphosted.com (PPS) with ESMTPS id 46u50gqst1-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 10:52:35 +0200 (MEST)
Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20])
by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id 8BE6140047;
Wed, 28 May 2025 10:51:34 +0200 (CEST)
Received: from Webmail-eu.st.com (shfdag1node1.st.com [10.75.129.69])
by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 55949B5CB7C;
Wed, 28 May 2025 10:50:28 +0200 (CEST)
Received: from localhost (10.48.87.141) by SHFDAG1NODE1.st.com (10.75.129.69)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 28 May
2025 10:50:28 +0200
From: Gatien Chevallier <gatien.chevallier@xxxxxxxxxxx>
Subject: [PATCH v2 0/2] Input: gpio-keys - Fixes for interrupt callbacks
Date: Wed, 28 May 2025 10:50:20 +0200
Message-ID: <20250528-gpio_keys_preempt_rt-v2-0-3fc55a9c3619@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIAEzONmgC/4WNUQqDMBBEryL73Ug2oJh+9R5FRMxGl6KRbBBFv
HtTL9DPN8O8OUEoMgk8ixMibSwclgzmUcAw9ctIil1mMNpUujK1GlcO3YcO6dZINK+pi0mhrtE
Oje8t1pCnufK839p3m3liSSEe98uGv/SPcEOFSlvneucbQutePoiUksohzNBe1/UF+UoeuboAA
AA=
X-Change-ID: 20250526-gpio_keys_preempt_rt-10619c8fa916
To: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>,
Sebastian Andrzej Siewior
<bigeasy@xxxxxxxxxxxxx>,
Clark Williams <clrkwllms@xxxxxxxxxx>,
Steven
Rostedt <rostedt@xxxxxxxxxxx>,
Paul Cercueil <paul@xxxxxxxxxxxxxxx>
CC: <linux-input@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-rt-devel@xxxxxxxxxxxxxxx>,
Gatien Chevallier
<gatien.chevallier@xxxxxxxxxxx>,
<fabrice.gasnier@xxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=966;
i=gatien.chevallier@xxxxxxxxxxx; h=from:subject:message-id;
bh=exNm3ds/4nIxDzCSPGFXgLVMXTUU+G8UpRm8CZJCc2U=;
b=owEB7QES/pANAwAKAar3Rq6G8cMoAcsmYgBoNs5SbXib7J3tn6EMfVqRRGFDoOYQOGk11aBCx
pI9t+YZBbeJAbMEAAEKAB0WIQRuDsu+jpEBc9gaoV2q90auhvHDKAUCaDbOUgAKCRCq90auhvHD
KFGzC/kB+oiXfvUnB55lfmVSozHo2XnS7CI3njAKjytz2rbJxaCLsZe+7v1tALeAQg8yDJBzRAc
sPNxFeoLU1y6nO4HSvYPBVqZOF/jmjVdwpMD1WXD2Ua4yo3BakBAN5ME+tAVKux0K8CJnbUREo4
QqnphVmAgsgTH3ygxWfBr2f3N4JZpTTDHlenvg/n3z5jysBU7l/M3ksZE3l8yXMQophrUVk3qwn
u5pcQX9EThRosMZ9ntNJzdFjLbNtuk1hmEEIC6aLxVSZvqDwlQMTDSiQolpb6EqOoyoMH5opvu3
8sA4uKIFOIxjYdYYp+fRo88SjrVV7zcnAszgGVwy+MCNaBZi/pizfsLKBgbGEZfysFD0Zk03qxB
NdDjVpxmEX7C9Z0NPXoj5BxFsqiwfFkDgkJwYM1CC7+pHKg3QI/JERLZcGVGvcUJjnlELt6xmTU
rWQR5fQ5NHIJNhCdiMBJb0OvXXRCGzFreVbfGSFAvtANU74laK5sn6AoA7CnjHS27df6I=
X-Developer-Key: i=gatien.chevallier@xxxxxxxxxxx; a=openpgp;
fpr=6E0ECBBE8E910173D81AA15DAAF746AE86F1C328
X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To SHFDAG1NODE1.st.com
(10.75.129.69)
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This patchset fixes a "BUG: sleeping function called from invalid
context" when CFG_PREEMPT_RT is enabled and a possible concurrent access
on button data between gpio_keys_irq_timer() and gpio_keys_irq_isr().
Signed-off-by: Gatien Chevallier <gatien.chevallier@xxxxxxxxxxx>
---
Changes in v2:
- Split fixes into two commits
- Use guard() macro to handle spinlock
- Link to v1: https://lore.kernel.org/r/20250526-gpio_keys_preempt_rt-v1-1-09ddadf8e19d@xxxxxxxxxxx
---
Fabrice Gasnier (1):
Input: gpio-keys - fix a sleep while atomic with PREEMPT_RT
Gatien Chevallier (1):
Input: gpio-keys - fix possible concurrent access in gpio_keys_irq_timer()
drivers/input/keyboard/gpio_keys.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
---
base-commit: 0ff41df1cb268fc69e703a08a57ee14ae967d0ca
change-id: 20250526-gpio_keys_preempt_rt-10619c8fa916
Best regards,
--
Gatien Chevallier <gatien.chevallier@xxxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665136-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B5AAE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:53:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id DBE989E6D37
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:52:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D0E112749D8;
Wed, 28 May 2025 08:52:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="S5KkmpbJ"
Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F2AC272E7E;
Wed, 28 May 2025 08:52:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.207.212.93
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422368; cv=none; b=hvO/sVse0Bkkf830t3wI98QWpX0Rhv4v3DgspriNuWFd96lEtpaK6udW4sCi7IGnr7Aowu3MgWeVx50569l6aa5ncBxERCItJ8FZEOaiQdrVZ5Xh9YbugCK/5CSHQtkB1XpLmcJqASx0LGLRuBu7Om3MOZPJHq03laDiM0LNFSU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422368; c=relaxed/simple;
bh=iNuDCgdNpKdPmqPYhFmyCAmzVB8ms7l5crL7ZLtQg6s=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References:
In-Reply-To:To:CC; b=J2OIkofQI+oIL7FtC/EpX0eqVkHclT+a0r+C4vTPKwoB92qH2gXNXvE9+N6yL0EsVClb6gpfBdK5zPsOHprND9gnlXguuYIX8QKrKWxKDFD/cVl5osAO6k/xSyjIvxIeiqwcBXRSyDa7FakZzeIXlXwVUehMKd8/hqj4XvUejWk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=S5KkmpbJ; arc=none smtp.client-ip=91.207.212.93
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com
Received: from pps.filterd (m0046661.ppops.net [127.0.0.1])
by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S7RYFo027457;
Wed, 28 May 2025 10:52:35 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=selector1; bh=
lTTfT+AvJq2S9ZuvxQeGBH9435gx0UEYPeUpGsj4dNk=; b=S5KkmpbJ2g0zh2J8
HtDGt++y0+Fstv99TJqzpvyxZEDvDpNQu2fcxfrRD55qafMwDtb+sKrbjV8KztA2
p4QtdbHW5MlaTS3xaBuZeCwc4Z4y6qIvwMvtWVfTeYiNFDETmj9N3azWkKiyV51C
m9YMIV+7lEDSkPxtvHbWC7/DO+txG+XStDACGYCwJALQoMEtHp93gWhwKAcJU3qQ
YTbEZsVr4Jpke1kMJT/wdQw0fTL8R0EIxxBAsTfhON0O/ohxtD7C5QrwvOJZWOft
LT8qFDVEfrWfFW2U7+gWNBUiYKS3dERBcOHHhNQnmsR71V2glVfvWijgvMZ4Aeb1
SROg7A==
Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35])
by mx07-00178001.pphosted.com (PPS) with ESMTPS id 46u50gqst2-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 10:52:35 +0200 (MEST)
Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20])
by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id 8EC464004B;
Wed, 28 May 2025 10:51:34 +0200 (CEST)
Received: from Webmail-eu.st.com (shfdag1node1.st.com [10.75.129.69])
by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 0B4DBB5CB70;
Wed, 28 May 2025 10:50:29 +0200 (CEST)
Received: from localhost (10.48.87.141) by SHFDAG1NODE1.st.com (10.75.129.69)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 28 May
2025 10:50:28 +0200
From: Gatien Chevallier <gatien.chevallier@xxxxxxxxxxx>
Date: Wed, 28 May 2025 10:50:21 +0200
Subject: [PATCH v2 1/2] Input: gpio-keys - fix a sleep while atomic with
PREEMPT_RT
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-ID: <20250528-gpio_keys_preempt_rt-v2-1-3fc55a9c3619@xxxxxxxxxxx>
References: <20250528-gpio_keys_preempt_rt-v2-0-3fc55a9c3619@xxxxxxxxxxx>
In-Reply-To: <20250528-gpio_keys_preempt_rt-v2-0-3fc55a9c3619@xxxxxxxxxxx>
To: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>,
Sebastian Andrzej Siewior
<bigeasy@xxxxxxxxxxxxx>,
Clark Williams <clrkwllms@xxxxxxxxxx>,
Steven
Rostedt <rostedt@xxxxxxxxxxx>,
Paul Cercueil <paul@xxxxxxxxxxxxxxx>
CC: <linux-input@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-rt-devel@xxxxxxxxxxxxxxx>,
Gatien Chevallier
<gatien.chevallier@xxxxxxxxxxx>,
<fabrice.gasnier@xxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2425;
i=gatien.chevallier@xxxxxxxxxxx; h=from:subject:message-id;
bh=anvCVpjchmsJmzpQJTuf9KtYZcnMN3OHoJ+A9QMxREo=;
b=owEB7QES/pANAwAKAar3Rq6G8cMoAcsmYgBoNs5SvM/KGKU3rCuFKlMRz7WEpXZvb9cUosXKr
mcx4AAdbfGJAbMEAAEKAB0WIQRuDsu+jpEBc9gaoV2q90auhvHDKAUCaDbOUgAKCRCq90auhvHD
KO8PDACk/JvDAr24U6695cWBWCrPtKeVde9+hJxY56i0EdVkFUVUulVv8t2UQHSUQlZsEqAx/1t
HZbixrBYJBwx+CrT+BfVX2nOmbNDclXr2usJHnMHiLaPiwRlNT6gSRc4vCgF9TBJojP7ZJFyMJu
1qoxHVUbz6dylKJij6yuATwJQb8RjWyte3zPm/MeguCT32D4ypA7K8BgWQGIFdxrk46mxIo2aig
jhP78/ajC4fdQn39H4jIisr5ojDSdExtLQdoVHeApJKoi72gEFCV2gj2wiV6FWXG6oWbOZYna7I
2TcH/iZh7HAsNdHBDWoVpyWWM1yo7KAaapZ53387K8OvxcRtGI4LBYk5x+UJ/abKrlkjHOJr5PE
XSDx3BlaE/IXxeHYeu4/+FQC4Ck2s0rhg7yOg1Q3P6NlgmJ9wn0rBoIQNXokDcJhkbv5S0aS/Nq
9eaOe0ykNzVo7N+btHFCvSPTAORokHBhuU3bs4pF8wllpaxXDp9MXFiB1Mc/WZT9ZYkfA=
X-Developer-Key: i=gatien.chevallier@xxxxxxxxxxx; a=openpgp;
fpr=6E0ECBBE8E910173D81AA15DAAF746AE86F1C328
X-ClientProxiedBy: SHFCAS1NODE1.st.com (10.75.129.72) To SHFDAG1NODE1.st.com
(10.75.129.69)
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
From: Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx>
When enabling PREEMPT_RT, the gpio_keys_irq_timer() callback runs in
hard irq context, but the input_event() takes a spin_lock, which isn't
allowed there as it is converted to a rt_spin_lock().
[ 4054.289999] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48
[ 4054.290028] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/0
...
[ 4054.290195] __might_resched+0x13c/0x1f4
[ 4054.290209] rt_spin_lock+0x54/0x11c
[ 4054.290219] input_event+0x48/0x80
[ 4054.290230] gpio_keys_irq_timer+0x4c/0x78
[ 4054.290243] __hrtimer_run_queues+0x1a4/0x438
[ 4054.290257] hrtimer_interrupt+0xe4/0x240
[ 4054.290269] arch_timer_handler_phys+0x2c/0x44
[ 4054.290283] handle_percpu_devid_irq+0x8c/0x14c
[ 4054.290297] handle_irq_desc+0x40/0x58
[ 4054.290307] generic_handle_domain_irq+0x1c/0x28
[ 4054.290316] gic_handle_irq+0x44/0xcc
Considering the gpio_keys_irq_isr() can run in any context, e.g. it can
be threaded, it seems there's no point in requesting the timer isr to
run in hard irq context.
Relax the hrtimer not to use the hard context.
Fixes: 019002f20cb5 ("Input: gpio-keys - use hrtimer for release timer")
Suggested-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx>
Signed-off-by: Gatien Chevallier <gatien.chevallier@xxxxxxxxxxx>
---
drivers/input/keyboard/gpio_keys.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index 5c39a217b94c8ad03a8542380eed741fccdca5da..d884538107c9654d21e37fa20e0b3b6cd9a25ee4 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -486,7 +486,7 @@ static irqreturn_t gpio_keys_irq_isr(int irq, void *dev_id)
if (bdata->release_delay)
hrtimer_start(&bdata->release_timer,
ms_to_ktime(bdata->release_delay),
- HRTIMER_MODE_REL_HARD);
+ HRTIMER_MODE_REL);
out:
return IRQ_HANDLED;
}
@@ -628,7 +628,7 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
bdata->release_delay = button->debounce_interval;
hrtimer_setup(&bdata->release_timer, gpio_keys_irq_timer,
- CLOCK_REALTIME, HRTIMER_MODE_REL_HARD);
+ CLOCK_REALTIME, HRTIMER_MODE_REL);
isr = gpio_keys_irq_isr;
irqflags = 0;
--
2.25.1
Return-Path: <linux-kernel+bounces-665138-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D84B641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:54:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 83BC89E71D6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:53:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C9BC62741D5;
Wed, 28 May 2025 08:53:22 +0000 (UTC)
Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 458DE2741A1;
Wed, 28 May 2025 08:53:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.56
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422402; cv=none; b=YLXiEXJswgvAAlFwr+vG6XIrWzGxMyBBkAeVWVOs16RS4gJJpNJFg2ONf/TKSWqyZ73C7MRCNow8wINw3uI0QpsN0PUy6gbNKrNmxTOn4v3aaB4RmkMxEURR4XgIPmmJB0lM1kwGFIBUJZUEb7TkhfHEDaj9sK76kCiBSfj0tt8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422402; c=relaxed/simple;
bh=yr+rQ5aWKC/egFb1TRG5obKOEortLDCSq545ScIw1ck=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=MoZGaBpHig0fRqTEi/b5pBYgePEidtK5UjjWuX730H+WReWJ4IqQ5ltDgKT9g+tJz+HmYxgP7vKH0V2dn8F+wpWriAFieLJvI2Lx55bqINbDYxLw4gE9n95gZfhzYfuk0dXWlyeqV+yRMLPkmiiREMpG/lI9F38E3J4K1uNiJWk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=huaweicloud.com; spf=pass smtp.mailfrom=huaweicloud.com; arc=none smtp.client-ip=45.249.212.56
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=huaweicloud.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huaweicloud.com
Received: from mail.maildlp.com (unknown [172.19.93.142])
by dggsgout12.his.huawei.com (SkyGuard) with ESMTPS id 4b6jvV5KRDzKHMls;
Wed, 28 May 2025 16:53:10 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.128])
by mail.maildlp.com (Postfix) with ESMTP id 2ED4B1A0359;
Wed, 28 May 2025 16:53:09 +0800 (CST)
Received: from [10.174.176.88] (unknown [10.174.176.88])
by APP4 (Coremail) with SMTP id gCh0CgBXu1_yzjZoQc0JNw--.57278S3;
Wed, 28 May 2025 16:53:08 +0800 (CST)
Message-ID: <f177a0e4-c2da-40b7-9d47-8968f3c2bc50@xxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 16:53:06 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [QUESTION] cachefiles: Recovery concerns with on-demand loading
after unexpected power loss
To: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>,
Zizhi Wo <wozizhi@xxxxxxxxxxxxxxx>, netfs@xxxxxxxxxxxxxxx,
dhowells@xxxxxxxxxx, jlayton@xxxxxxxxxx, brauner@xxxxxxxxxx
Cc: jefflexu@xxxxxxxxxxxxxxxxx, zhujia.zj@xxxxxxxxxxxxx,
linux-erofs@xxxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, libaokun1@xxxxxxxxxx, yangerkun@xxxxxxxxxx,
houtao1@xxxxxxxxxx, yukuai3@xxxxxxxxxx
References: <20250528080759.105178-1-wozizhi@xxxxxxxxxxxxxxx>
<d0e08cbf-c6e4-4ecd-bcaf-40c426279c4f@xxxxxxxxxxxxxxxxx>
From: Zizhi Wo <wozizhi@xxxxxxxxxxxxxxx>
In-Reply-To: <d0e08cbf-c6e4-4ecd-bcaf-40c426279c4f@xxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:gCh0CgBXu1_yzjZoQc0JNw--.57278S3
X-Coremail-Antispam: 1UD129KBjvJXoW7Cw1UJFWUGw18JFWkCr43GFg_yoW8uw47pF
WrCw1UK3ykJ3Z7KrZ7ZF4xuFyrt3s3XF45Jw1YqrWktrs8CF1IgrWaqr15KFWDurn7W3y2
q34jv3srAwnxAFJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDU0xBIdaVrnRJUUUvE14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
1l84ACjcxK6xIIjxv20xvE14v26w1j6s0DM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U
JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc
CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E
2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV
W8JwACjcxG0xvEwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka
0xkIwI1lc7CjxVAaw2AFwI0_Jw0_GFyl42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7
v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF
1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIx
AIcVC0I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI
42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWI
evJa73UjIFyTuYvjfUonmRUUUUU
X-CM-SenderInfo: pzr2x6tkl6x35dzhxuhorxvhhfrp/
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
å?¨ 2025/5/28 16:35, Gao Xiang å??é??:
> Hi Zizhi,
>
> On 2025/5/28 16:07, Zizhi Wo wrote:
>> Currently, in on-demand loading mode, cachefiles first calls
>> cachefiles_create_tmpfile() to generate a tmpfile, and only during the
>> exit
>> process does it call
>> cachefiles_commit_object->cachefiles_commit_tmpfile to
>> create the actual dentry and making it visible to users.
>>
>> If the cache write is interrupted unexpectedly (e.g., by system crash or
>> power loss), during the next startup process, cachefiles_look_up_object()
>> will determine that no corresponding dentry has been generated and will
>> recreate the tmpfile and pull the complete data again!
>>
>> The current implementation mechanism appears to provide per-file
>> atomicity.
>> For scenarios involving large image files (where significant amount of
>> cache data needs to be written), this re-pulling process after an
>> interruption seems considerable overhead?
>>
>> In previous kernel versions, cache dentry were generated during the
>> LOOK_UP_OBJECT process of the object state machine. Even if power was
>> lost
>> midway, the next startup process could continue pulling data based on the
>> previously downloaded cache data on disk.
>>
>> What would be the recommended way to handle this situation? Or am I
>> thinking about this incorrectly? Would appreciate any feedback and
>> guidance
>> from the community.
>
> As you can see, EROFS fscache feature was marked as deprecated
> since per-content hooks already support the same use case.
>
> the EROFS fscache support will be removed after I make
> per-content hooks work in erofs-utils, which needs some time
> because currently I don't have enough time to work on the
> community stuff.
>
> Thanks,
> Gao Xiang
Thanks for your reply.
Indeed, the subsequent implementations have moved to using fanotify.
Moreover, based on evaluation, this approach could indeed lead to
performance improvements.
However, in our current use case, we are still working with a kernel
version that only supports the fscache-based approach, so this issue
still exists for us. :(
Thanks,
Zizhi Wo
>
>>
>> Thanks,
>> Zizhi Wo
>
Return-Path: <linux-kernel+bounces-665139-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5E99C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:54:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 23C60189F1A9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EF5982741B6;
Wed, 28 May 2025 08:54:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="RiB73NK/"
Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010062.outbound.protection.outlook.com [52.101.69.62])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A8E741FDA97;
Wed, 28 May 2025 08:54:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.62
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422479; cv=fail; b=hxXHuGDOCD7Zvbt9z33E1W0cki9FUzmqGLX/22JryS7CfUmZSekbADrpm4VzgARI1cF++heBdnROqMtBT9vRsi+KueaYkN7JkIxVq91gLmQV4YYBPIWm7awQzlWSyn/ZBLzXVO4sRiLetHBP+NmybX8gMyj8rV4dZri4zjV2ASs=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422479; c=relaxed/simple;
bh=fZjlfyYxtYHYoFRxKlqaXC3hFlA5KNeJSt+SPxDAX4I=;
h=From:To:Cc:Subject:Date:Message-Id:Content-Type:MIME-Version; b=W9SVobK5enuUQrhDjuR+6OP4IoXhPGs/ZFzJvrnkdSAeDa89ONExS23nuHJXaUGefJHb25h1aWEdIFlFyrBS9FLT+tcL1pGG0xRmc33n5mL25N+khXqFPDHi5DHW06j5hNWghZkDlWw+pf+Ap5ioaHwaWOYSCuLrF+PNu3NW2NM=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=RiB73NK/; arc=fail smtp.client-ip=52.101.69.62
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=neX9ANvrSIuXDT1uLGdiET4cBegQ8OPctCCcnqY8iCILuPxhqkGHo+tbyHBPtuZsn5sxIzMb+vkfkz4O0ph7g1jTJP+VKk8YOabHlBukpS1v4keB8AMqfw1MW/2VsAceZWesRfkW4qLIMrabp1B9RTcMOC0+RSEFN0/ywBrMa3vHgaG8ylfWULJL2iCQCxsBykEfGH/maLHWpkvD5SevYhM0GXiDkXrwQfCzch+XnuyZuVfp/h9OvS5JSCZCR3BKeCTWFu3O97AitB9crTmt+w4c2usw3pVjPXTM8kvnRdz53pJhZewG73DYz+/llnLVGCh0UMuUrQLH7oLbBcI4Pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=nv35wmBFFWGjNnhY+W3jWEIqulBHmw2d55oRdcomZGI=;
b=qHoTDuBR7TG9VAzo3MTQqH6yU+j2gEGLHPs20Hf46ka0Wf4uxDKZhTf/LTtAjjKPQzPDDxc1gFFJDOp0U14CgR8FWPc1AB1OL1D3bozJNZhKnZRYpA3bJhRbVKhSh0eH8MaY9hrybFOxxJdf2w4TiMWJBGOrEelurS2XA/FTuhoFUempjv4FBhgrZkQZkbRedMi6bfzMg51oM5v0uLMSG2OO+NfF0R+3XusMmBE/kQJOMEXbVkcKuQNL7FccDAGCjA6jZIT1wViMgFMrjSbHlDlLJea8a1YmUNPJJf3bBDlZNMWB1k9KWaR7Wv52VqkjwYg4CNAdSjT5HGCnBQVdXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass
header.d=nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=nv35wmBFFWGjNnhY+W3jWEIqulBHmw2d55oRdcomZGI=;
b=RiB73NK/PojrvsT7RM91ao/201E1WFRZD2EGWSD5lY6J3HMx+zY2hNOPIFnBM4Isu4GL89bwi9U0r4ayClIKmelwMXFvUGtvKsF6JPZLca5F3jlPilxzvuxlUxrRoJecTN8UeIF7utdHC/MIYg0QN/mPWYjilHLO2bO55FQ51yAHAcYV3ozQDTi0itrdFyPvgG/SDQT3kHqmUyDGn/3DbqGvxuKqnWAIruQiCOi7ah5S+txPNK7eU3b0JitbPPBecEtDl5/QoeQFJ7Dh70GkwkEWYBgOSZR4f5NWoIO2Gqt4wrkwmkF0jcKhadztXl7XdOuWywa/Nf0Ne19qxcZmIw==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nxp.com;
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com (2603:10a6:102:211::7)
by DUZPR04MB9948.eurprd04.prod.outlook.com (2603:10a6:10:4dd::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Wed, 28 May
2025 08:54:34 +0000
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db]) by PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db%5]) with mapi id 15.20.8769.025; Wed, 28 May 2025
08:54:34 +0000
From: Wei Fang <wei.fang@xxxxxxx>
To: robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx,
shawnguo@xxxxxxxxxx,
s.hauer@xxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxx,
festevam@xxxxxxxxx,
Frank.Li@xxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH 0/3] update NETC node of i.MX95
Date: Wed, 28 May 2025 16:34:30 +0800
Message-Id: <20250528083433.3861625-1-wei.fang@xxxxxxx>
X-Mailer: git-send-email 2.34.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: SI2PR01CA0026.apcprd01.prod.exchangelabs.com
(2603:1096:4:192::16) To PAXPR04MB8510.eurprd04.prod.outlook.com
(2603:10a6:102:211::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8510:EE_|DUZPR04MB9948:EE_
X-MS-Office365-Filtering-Correlation-Id: 81d72cc3-8d33-4b4f-6bf2-08dd9dc54499
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|376014|7416014|1800799024|52116014|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?+aNFjZyp/m3b01+CTjvt3zLIG9/t1aNH0kJ/33dJTkVoQEFHLTQuN66lmgAt?=
=?us-ascii?Q?SZrXQj/DqyJvPmi/Xe6a8azJjYa2foK7zfRbvq/xwKr4yNt43gow6lsDdIkh?=
=?us-ascii?Q?sgJfJ8fsgb8x8OeWjoYXIb+wCf4MH+eCNybyCJxhfnHDKyq6qIwNpM0Xa407?=
=?us-ascii?Q?vI0FtwvltNfa6Ji0KUh/pBMhwJewAmAStabakfNuN4JQCbtPS7SrH3VTIoA8?=
=?us-ascii?Q?Qu0z49+FYSBimAZS8q9jzCtzXqoGZSqeK4E+l6JAHyazQskgk5sOIKiVL7dT?=
=?us-ascii?Q?xg2SsMvtJDPxE228UfI8Kpn2oW5QYQQzQjNS/hFtGqrDma3aEkZzHU987lIS?=
=?us-ascii?Q?LHKUxRl1P9wOScNKBR02n4fJ4WTIcLPykYrZvPXYIU663tewBEilGPFhJOry?=
=?us-ascii?Q?odhN3PIw7flBGvc02PcSy9yH+RtZZFSwRyyPTy2lDMAkD26arp9nno5IlG0q?=
=?us-ascii?Q?nX3sphdXItYwKIOBqgburoTlEt6jeLqSwJKhtkCbccogHP2rHDS/CpjZXaU8?=
=?us-ascii?Q?pW7No7IABqSZc7xBUIPcoEfjzKydlERpbFn7eeKQhHMhxYPyieor5y4jutRT?=
=?us-ascii?Q?ujq1iNAPDOSJ8fDoub6K/1JHVgwZugtsvJI8kXcY8uPSHfo+aSZUT2WhOCSK?=
=?us-ascii?Q?Lz9RTf2stYN/4ryN2ZYYlvqEc+fslSJNxMWVTe6YHh5Y2dqqG09+aDOKBz1G?=
=?us-ascii?Q?zwLCb9rSMGkgv9eCu19iPFrFIjWASkNd4OmeH/Zv01yffF8+J5uN/mrFVZqU?=
=?us-ascii?Q?2fOp+ZmWABkVFdNboJkJo7t184yi+T6TdBKoRM78fRL5YZ4EGyL4RY+l82Fm?=
=?us-ascii?Q?TuHcVnuF+iGeBNj3oVvEMkU/fopsPFuG3WGHs8sbXOeHj2176Z0dcyEHKlq+?=
=?us-ascii?Q?WTxEiSMdGYw2rfLfnUZZPzLJjAt92HJ1fFaLlgfxf0UMaL5rh1zLKUJbRmNn?=
=?us-ascii?Q?S5t1PAo7ovr6lqxzr430evRZodCrW5xtMMNO2anDSgniAGzoCIlfyqef2gC8?=
=?us-ascii?Q?yIakty+zI3iKK1LK6Rm61gUcFK+iWzO2H49KSAZy2PI9F0XKMyveH43jVnwk?=
=?us-ascii?Q?62vTDNVkNow0mIODROandPrfX0rJfQiHBawMrBTxxQmEGdaDs9v0DPSLRsAp?=
=?us-ascii?Q?W0HsMocXLrsE6x6ymjwRvbb6MfVLc2NofdrvDtSL59DnwHRMtka924M4TgfU?=
=?us-ascii?Q?0Peka4ZSexw0rTxhjbMOVdtkChtd2gOOFUYDl4rGJIp0xKFH/t8/UqZ7GoT+?=
=?us-ascii?Q?iDTIuaW2f7KVAlcrUl3spL6//KxBEZlFWWi7e+Qpux6Bfd6gAadJF0jqxl0P?=
=?us-ascii?Q?uPmaT0RFTq+9B380PpV06NYgvtpGrJMwtwcrUiCsthoIqQinzAKMlB4nlw61?=
=?us-ascii?Q?tEQmXVGPzHw2O7H33lTObMDTMncHozUGHkRPwr28YMQBwhASPiO5gHRGepnt?=
=?us-ascii?Q?NehEf0siz4e8SD9dF9HJxktbRHJPuVLCsGciuBpSGHePkNKgdDKGgw=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8510.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?jcAKiH8+EpH2V2xb6g76cgwW1D3gW9dO1J7b8MJyOjhz+g2QSm/PF58juX37?=
=?us-ascii?Q?8/Wd/2esXGAaKho5wRAOXx5G/Xdta5E4uUwiYTsW5JKxwMypbrFdvlDvFCVa?=
=?us-ascii?Q?3j9mq9NKqqfKqqMuKE/pN2zKE5PDxeFfAYvdUSP26ZcOjA2jUMqc/husFPsL?=
=?us-ascii?Q?HUiYfhdPz/kNdF1vAjqLt88sMvfQrFiYf2Rq7ueSqJC7769sJJxNaAHZ4V9Q?=
=?us-ascii?Q?mp4ZP/U7YETjMzGafje1qegJO8cYcNy9Jt08LRhrey2ODza/PA8yVB53BFaO?=
=?us-ascii?Q?h3a0lobzvy8k7mIPZ34HEEJVpo8J3juOz4b7GDDwCUQ6JHYpdQLxN8hse1eX?=
=?us-ascii?Q?ZvkXKaNrEeSv4GVu+83UnmfQ7U8NnSmIGDEMafZ/ayJDpBWBV4NdheW1bJZ6?=
=?us-ascii?Q?Ao7B+OIu6Ivj/WLv2NuMfl5bWq4rw5rYt7SVnmlHvVVkEzILYiCZqKeoVQQC?=
=?us-ascii?Q?CyBkriX3MCyInuKCEByUz3Cl92/Xd28hyiW5G9VltACEaa9K/OJ0oUxy9bt3?=
=?us-ascii?Q?7NkkmV0EzNeq48S5OTvjEhYIjrM7qOX0jo+exqSTWd/sBBQQ/KWkZO2UcYvX?=
=?us-ascii?Q?cY+IGFOTB9KegbNuZt/QspSeOY3jBD5CnXRf3JX/Q141sEb5KNmyti/V5lbf?=
=?us-ascii?Q?EfhbtAA3rfYH9oKEAb0KCDmjC0KVvImF5EEseE7dKxz/+aB8GzIcTJSUW9Iz?=
=?us-ascii?Q?7Q9dV3Y8pgnYwOTSb2LX26hey905hENiZ45cIh+ONH9+iv46y8IQifd9PjVm?=
=?us-ascii?Q?WjUt6Ez63nAfXVdiDs3Culfn8Ax2sKoj3liztD+7CbXavPR70um2X4LzLYNC?=
=?us-ascii?Q?RqDqAgFtYi1RAx6WuepgF+DHUpYUNYTEnZj6F2/3V1mD4q1bZjB5DfZgf7PI?=
=?us-ascii?Q?r57q/DEImgy5m0M55FuCn/PMNi2BBaShnYgyHw+lklrgOXCYEFshewDIjphp?=
=?us-ascii?Q?jXd8Gf8OXWtSeZ9hl5JJ947txm7UDDynIPZ2Nh2+wJxcDjRRLVOl0nmjv6R4?=
=?us-ascii?Q?KXoacuFbLqxPwpnClu0bpE2o0jk0mOYNeExKgGMqneS7wikAKXhMHMWbST00?=
=?us-ascii?Q?tZPflqqjaq4PeFSmXQs/OdJJBrHouePF75aHeHzeUao/rR/sIdvrRu3HK+7V?=
=?us-ascii?Q?G0/vMbw3PfBQ1wwzgsAiapMX0y/6S4ElP0RHTuPI3jmKnswTy+Te9AQXTsqu?=
=?us-ascii?Q?AuUVoIOR7b8Wzrp2JlOHg7LqlLKJjz/VE6jQKsDRz1WywLipHCCMk6Io93Gq?=
=?us-ascii?Q?bbi980UvvpBTcC7TURUB3CzJEWF7dlrD46mm7Q9GqvOwZxYjPbzw2zp6L9GZ?=
=?us-ascii?Q?E5EIcxnAhaSiroIz2e7tWilWgT0YrkVIulETAot9p8R70Et7kfVesQNGon68?=
=?us-ascii?Q?5z3kijkASiMcCrieOKZPsWt16jKj89oZ97AqdtRrqB/gLydZIYRnYkWfdaPW?=
=?us-ascii?Q?NVD0l7S/IWQyZARn/4XbUqh+Y1gtHVZW5WbeWdjMbFxTdMj7VQ5wFVcCpq1l?=
=?us-ascii?Q?jUs39cjZlU6BLjnbKLemGNDLVoMhVuR+hcYbdGhO3aAyzvnLFeFvLHGtZVSf?=
=?us-ascii?Q?SgF3IKDh6VaKmKCydiQcydm6CFcMO48tuJxltLMW?=
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 81d72cc3-8d33-4b4f-6bf2-08dd9dc54499
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8510.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 08:54:34.4846
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JOEED21ghTkeVqDqH1/3AX86dkOB8P4oG3GkLwSOQ/Dyo7Lkk5kgErrUFh3fe9Qsl86U+idCbFZRlz/a8wmHhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9948
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
We found that NETC has an overshoot issue, so the drive strength of the
related pins needs to be reduced. The first two patches are used to fix
this issue. The third patch adds SMMU support for NETC.
Wei Fang (3):
arm64: dts: imx95-19x19-evk: fix the overshoot issue of NETC
arm64: dts: imx95-15x15-evk: fix the overshoot issue of NETC
arm64: dts: imx95: add SMMU support for NETC
.../boot/dts/freescale/imx95-15x15-evk.dts | 28 ++++++++++++-------
.../boot/dts/freescale/imx95-19x19-evk.dts | 12 ++++----
arch/arm64/boot/dts/freescale/imx95.dtsi | 8 ++++++
3 files changed, 32 insertions(+), 16 deletions(-)
--
2.34.1
Return-Path: <linux-kernel+bounces-665140-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9F79E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:54:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 715723BAF60
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:54:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4536A2741AC;
Wed, 28 May 2025 08:54:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="M7EzFrqx"
Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012033.outbound.protection.outlook.com [52.101.66.33])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5711427464A;
Wed, 28 May 2025 08:54:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.33
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422485; cv=fail; b=EXIZnfkwStBAtm83SLoK9/XCLhHpph8PjXQ/6wgQnuo5d3Q/+XaJ54YY46f2+j7TUUpTrETWBrN4DfUDl5WLte2v1GKLkJKS5q3JUxrfu49oSkwA039LghG4JCprqmPl3v4c3iKKeAux5vcERfhYCeu8Bb3jnnmBbulQ7gUct4U=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422485; c=relaxed/simple;
bh=lNoOkMjkDCl4f0Mq4ZQSA6dGXMWaFFsGhmUJiwPnHhs=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
Content-Type:MIME-Version; b=lkPAMT7BSDPKOpQTk/o937SXQRBDxgLdSb56v2xBYT+Bm2QYYwA3H4oUFUUiQ4RdrSjsOp8UsrH5ULT/hay58fN1ZLlA40mKRMpiiJNKLQ0fErWTqixdMBYaHFuOifOFvUQwCmV18RZRd7z3fYpJqdhR+oZu3/UjkhW1sU1klnA=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=M7EzFrqx; arc=fail smtp.client-ip=52.101.66.33
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=VirjKwNP5xuuZ1UbWzxM/EQ3c9kiLEn5TI1wjG0sk0LZPaj391pB0b8EJ3DgM6c7nyQYux5VyUv28w6D5WGMWqg+w7h6DAvN+ZA8WmF7ElV+95tPi4oX4CK90PnVuTA8BqaOzMduwG8wK/U066lGnYVbP8l2wTKXmlP4LxM12cmXaqOLdz8p2rml0hMMYFf9ccfhouR4CVN1MsrWoM4vIfpxyp7z38ELASTHQK4gAtGwHFh+UTUf5zFnqq3ps92Fmd1EV8ZYvlkIeaCR/ioDKDA/lmaTjoJsPUrokPrT13R+cT45nWbGreQDJKn+TbLAXl+o5QzVIxNOp4qO7fwboQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=7VFwmLtb3S3AadcEXOz34LCU0G0WJ/sA1WUpmJhM/hA=;
b=h0i6mkav3OQes7NdSce4iLC7iUlmt4QddB8cWaKT+vkT+jyOfoSiYAVlNrHo3kcv5r7S8vTZcwl5hA8tNQqZid923g/ANB1xzzIUeFYkFrV4y9S1w9JqeqAsfUto3sz6g1+a+AXp9SGk62Rc78nfgEAUr2xASY8R6Z5GbRUQbuJtGZ4PviN7jrRO7/vA5xeIAbVbHNGnunJUE+XY8u30vBf8UJLSXaVyy5+V4T2ibP4p2BIMtUvmzU5nnqXD3dtLu9mecr5aJlsqwGCRVCB3mp7ThZm1GhMp2ddz/vj0WGWGZsWbX2dEsojcZQLM0c0D6riMuIRxNC89g4P3Rs1cTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass
header.d=nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=7VFwmLtb3S3AadcEXOz34LCU0G0WJ/sA1WUpmJhM/hA=;
b=M7EzFrqxEWlXrn7j9QoKXtDLszGBrpVRfKXrE+D0W7lAE88T5z4eZyxl3WSmIp5sIALb/8sYKdPu8LiBFVtgHV0MZipzqktaAOQlunquTuO35VvoJSpruZIxru6fPphMuWwT+UIgEIH3VZmuAnrtSZ6Mav1nHLzfkJhJUxWtDUdNDOAJfHIb1fSt77S5iEDGTbJR5zQw1KzU5sxK1DBLfqL2ALl4mRnLlKCyVBsL5ugqxirX194pat2s7yYrT2w+WCXmw341I3kz6V0yoyHzcsqUmLq+KSyRc9VfUZ2F+qf2xvP/fG8Qqq0t8VkC6eguD0fqjp5D/2eTB9kkOjmzsQ==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nxp.com;
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com (2603:10a6:102:211::7)
by VI1PR04MB7166.eurprd04.prod.outlook.com (2603:10a6:800:121::11) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Wed, 28 May
2025 08:54:38 +0000
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db]) by PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db%5]) with mapi id 15.20.8769.025; Wed, 28 May 2025
08:54:38 +0000
From: Wei Fang <wei.fang@xxxxxxx>
To: robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx,
shawnguo@xxxxxxxxxx,
s.hauer@xxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxx,
festevam@xxxxxxxxx,
Frank.Li@xxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH 1/3] arm64: dts: imx95-19x19-evk: fix the overshoot issue of NETC
Date: Wed, 28 May 2025 16:34:31 +0800
Message-Id: <20250528083433.3861625-2-wei.fang@xxxxxxx>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250528083433.3861625-1-wei.fang@xxxxxxx>
References: <20250528083433.3861625-1-wei.fang@xxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: SI2PR01CA0026.apcprd01.prod.exchangelabs.com
(2603:1096:4:192::16) To PAXPR04MB8510.eurprd04.prod.outlook.com
(2603:10a6:102:211::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8510:EE_|VI1PR04MB7166:EE_
X-MS-Office365-Filtering-Correlation-Id: ab368ada-8b5a-467c-4f98-08dd9dc546f7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|376014|1800799024|366016|52116014|7416014|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?6kH8L3dl++hF8qHqQFD1r6dcDXnD2L+AuW0ULGaXfy7hfb7omO5hwf32LWy0?=
=?us-ascii?Q?0ZssdK1ZnCXTYjPNMBrkAO9G+1196KnhG1INyWjY4JvNy6s3ll+cml3c74gT?=
=?us-ascii?Q?dmknVsTS/fx+KgOQkOuy7IEj4yKgHw2yai0TPR8MsFtFanUb06v31ByIu2g6?=
=?us-ascii?Q?TqLzVx3KN3VF/Cn9KDze5ojIaWRs3f6IvM5iaC83p0ZGxVXXwxiWVxeL5/G+?=
=?us-ascii?Q?CI8C8Lj1QJL8C7YJAsE88F3cThfa5bW+w1F0yS4u5NP6OpNduj2VbW8j3Cxq?=
=?us-ascii?Q?nn2g41EkYRJ3jPXfeu7LEcXshiKa8o8WWUrMX6WFxz506A2SOlnbkffW2wcX?=
=?us-ascii?Q?DTdFh99WW+K41vNPmBFeNUhVNUBrUGV2YAJqhJZ6sMd/MNC91PSdYkodcyty?=
=?us-ascii?Q?ioj+CHS5ma2zGowu3cbyzIyq0/zeU2wbvRUONyWPb+ISp3jD5eumdijS15YO?=
=?us-ascii?Q?+ooN3v50tKxeO3vK+4c4RPY/XCrAVkYitD7Uc4oSSAxdaUdXiJyLFijVA3Gt?=
=?us-ascii?Q?XzHb3QSgiYbZ93mv4niqiD8MxWh9dsKCXkMWPGVKXy1Amc79ILYz/OBmdFiT?=
=?us-ascii?Q?XY90wpiWtdxfpaKG+jF1h6/U1mI3YaltE0iMlGNtLaiEsKG9EUbQexOdh/jn?=
=?us-ascii?Q?p8ZIusRrIOOqevKVkn6y6ouqfyZx+98HyApzqQ7/gujHXa372Mc6RjaiMGA4?=
=?us-ascii?Q?XjlwmTpHewgk98sFc5oeQv/coPo8YTnt3RWqLrLq1GpwaRkq0W1TibWGdO0w?=
=?us-ascii?Q?DQP545xp+yJ5MfXnRq3gMi54TaGiDr0OOoO/V8kytsJ3EbgMhySQIoaOYmVb?=
=?us-ascii?Q?5MS3CFFIJGbynV5NU4Pgt8FBOHRc2zsoM4dQSOx6Ajme7z8okuMM/DpvdiZB?=
=?us-ascii?Q?3kKkkDlODXgNZujHwBb3HfdevKaNrRzDXTACWVpz3x4tOM/tFhJ9cTgS0+CA?=
=?us-ascii?Q?fW2/YfDGjaPL8sPJqmHQrPrU4lMvLSMYUJV52Sw0NuioFIZqJlk9qpbPT/a8?=
=?us-ascii?Q?YHW4upgOjwXkWlsxGjDk3tKsdtA59MSqqbK+/9iEm0tSyRTrZ6ku8iLKFbet?=
=?us-ascii?Q?EAleQHe34p/t9kD/Bp8DNnuHre7o00eFV4zeGwIxFV1Yec+mdIkZYqnmzCzU?=
=?us-ascii?Q?WQdDYe5XJ3KMujColmC+drB5OOFejamoiJ1wmi1fHwQcJ9uscwvbV1Ir88Gf?=
=?us-ascii?Q?kRISp8DrmoRP17J0UeGHSuN6l014n12ser5Y+zW3snIGQYre5S8Ku0MJ+f1l?=
=?us-ascii?Q?aWogZTy2NF+BFTHUzx7zYw2CONXRhAVQvgDvXw2aiJ3gBlNlb0Tbgx6KnYvj?=
=?us-ascii?Q?g5HrsZYNWoOgSKeBfD8mt2crzhpA4UaQuGV92zdnKN+dI7ncfqY6LNOv0wIg?=
=?us-ascii?Q?a1IDdxVc/H4Yw8AE0KePRuyCYuYlcjYue3uF5eGBsSbyB1uxw9UDrjD5HlmX?=
=?us-ascii?Q?tU+MCZ+XL/x2rSXqVYhMXdrfGeIPai5MNjx1M5P815Uc0KE7jMsK9g=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8510.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(52116014)(7416014)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?D4dT1jGU3Q9cFreuQCmlIorU0JMjIzpwkPRW2DgRnAD7gMBE9S6yg1/20mmS?=
=?us-ascii?Q?M2qQ2I0fgOZzI0aN1DufPZXZBEoZs9/TVQYHYklY/b8jr8LMcCs3HB6d/Iu3?=
=?us-ascii?Q?u3GCk4vqc+pngEvXUux850caAV2hEtMbwgQFeSEQvIjKN2zJV8LJirbW3w4v?=
=?us-ascii?Q?PLgawMe5pqXaaXOcFu9iX7gGvSGm6c5n7WkwEI7t4RNdCXdh/K6HQj2F9GQT?=
=?us-ascii?Q?tntcYVd5YlbzzQyE9+/qzoUwl+ANkh8MyQsKSpGhHbXat6A+kwKZU9Wj1CVL?=
=?us-ascii?Q?uy4baiQnj+EevnCUJXDfYPKX2nq9Z002em8MuOoJ93nkq6C38WDDaJmW4tf1?=
=?us-ascii?Q?kSv+XQ+RKCipMyJxdUoJA5U0eRlloKpyaiBb4y0CVOLkMddQIRB6o9anOI3G?=
=?us-ascii?Q?+b29hfUXpumGJh7zWH+k5ZAnvmwwnMfZJ26R1x1NM9lga5e471pxGAe4g5Oc?=
=?us-ascii?Q?lH2Rn1I952LXfzn2mvb2pfJNduSIvGxN0z3AWYxkLa322wIhG0n1meobaXBq?=
=?us-ascii?Q?52LAiDJXlW9giowm8Ir41uwRBul8xRg7qVGfP23SJY9Gly4W20+01zmoUrLk?=
=?us-ascii?Q?DszRv0Owkh2vrzQPboyHpiDm9embzs4CYUxrwz1TMQ6ev8FpGKOngVwDoYal?=
=?us-ascii?Q?eGYvCkW7A6xtbhc2ZxhmTJYW5kZLYlUB9dPdyyx03z1Vws+6kyr7zjeaSNJy?=
=?us-ascii?Q?7ijnuvFTMy59Z8Z65j1gtGncP7lb6W4M28FuEfV02Z4I6HRRIkYyKUmZzyfo?=
=?us-ascii?Q?lozQksykbLGHXd1jqpkEpEjeu+E3Wg8oWjypI8OU87nuNG6ENq/vM1JIqPdl?=
=?us-ascii?Q?M9l5G4gCJ6zF4rKbz+pOrYfPLdLZOSeClqvZsHBYrYxLOaZX7S4HvzmJGrHR?=
=?us-ascii?Q?j+lS654bbMoeK+B8h/eUSPC+ecB/G9qzw6sQs6LKgJ3HXNcOlxZE9XB7OP+w?=
=?us-ascii?Q?Bln2Vh6gzmeumj5cVgLjamCqotxvJPWu/0Y0TnmlOgGqaex03AGSeO/Dz5hh?=
=?us-ascii?Q?L73lTQ+b/oQFf37bIo2fpuUk54ITxJRyQABOBcrZK6TRz8k+058liPoz900Q?=
=?us-ascii?Q?sO7/pw8ACP/COH63+csmjivQYGje+P/O1Nf/9ALd8OvggkC1N6Nmv0Z19zZX?=
=?us-ascii?Q?2bK0pdPnOj9Ms3Lzqksa8OkLR1IxfKhtZkKnyYSbZfNLscvwAFZkoj0sLQk2?=
=?us-ascii?Q?5TM4iNLSmbH8ckJ6sX0DTDVW79DCuXad82yXPmx4BikIPxY3q8eIA2DZysJ9?=
=?us-ascii?Q?KacS3GZyIlhfa8mjhAk7S+lOZMx1YNaD/rBkftc1JgeyrxHMw4OePK/+ffFH?=
=?us-ascii?Q?XWrvJCRHJj09Bz3kBzrTklkF72AvnCkmNTt+nRw3HQxY8IlnhRItHEAkV+2E?=
=?us-ascii?Q?tWAw41AsMhQFXrNQnn5B0M9FQWJ6j+K2aZOmyOsa9XS++df4IdImMSUyi2tM?=
=?us-ascii?Q?jJrkyFa5H9A+m1eKNwZEtWIb7IHQeFXxA/Uw4kStBo3bQc5zGULsTxV9A4R/?=
=?us-ascii?Q?idycNGwGS0iNesA3yqjkzoyQXs4Q5wpylF9Y+mn6FBC/2JRRyitFQ60IghfI?=
=?us-ascii?Q?Dfzz9LLkqEyXTY7uzO8UpwgfHORvwAYxdk8TKj2A?=
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab368ada-8b5a-467c-4f98-08dd9dc546f7
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8510.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 08:54:38.3819
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fAKee269C0Ov98m2G1jlOI8asNYIGkdgEOzWJ+4sNvy3a4MoMXLCyJWc1I86h4xoYx5DEgkAFf7HScQ9OpYGrw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7166
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The overshoot of MDIO, MDC and ENET1_TDx is too high, so reduce the drive
strength these pins.
Fixes: 025cf78938c2 ("arm64: dts: imx95-19x19-evk: add ENETC 0 support")
Signed-off-by: Wei Fang <wei.fang@xxxxxxx>
---
arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
index 6886ea766655..d7d845231312 100644
--- a/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts
@@ -566,17 +566,17 @@ &wdog3 {
&scmi_iomuxc {
pinctrl_emdio: emdiogrp{
fsl,pins = <
- IMX95_PAD_ENET1_MDC__NETCMIX_TOP_NETC_MDC 0x57e
- IMX95_PAD_ENET1_MDIO__NETCMIX_TOP_NETC_MDIO 0x97e
+ IMX95_PAD_ENET1_MDC__NETCMIX_TOP_NETC_MDC 0x50e
+ IMX95_PAD_ENET1_MDIO__NETCMIX_TOP_NETC_MDIO 0x90e
>;
};
pinctrl_enetc0: enetc0grp {
fsl,pins = <
- IMX95_PAD_ENET1_TD3__NETCMIX_TOP_ETH0_RGMII_TD3 0x57e
- IMX95_PAD_ENET1_TD2__NETCMIX_TOP_ETH0_RGMII_TD2 0x57e
- IMX95_PAD_ENET1_TD1__NETCMIX_TOP_ETH0_RGMII_TD1 0x57e
- IMX95_PAD_ENET1_TD0__NETCMIX_TOP_ETH0_RGMII_TD0 0x57e
+ IMX95_PAD_ENET1_TD3__NETCMIX_TOP_ETH0_RGMII_TD3 0x50e
+ IMX95_PAD_ENET1_TD2__NETCMIX_TOP_ETH0_RGMII_TD2 0x50e
+ IMX95_PAD_ENET1_TD1__NETCMIX_TOP_ETH0_RGMII_TD1 0x50e
+ IMX95_PAD_ENET1_TD0__NETCMIX_TOP_ETH0_RGMII_TD0 0x50e
IMX95_PAD_ENET1_TX_CTL__NETCMIX_TOP_ETH0_RGMII_TX_CTL 0x57e
IMX95_PAD_ENET1_TXC__NETCMIX_TOP_ETH0_RGMII_TX_CLK 0x58e
IMX95_PAD_ENET1_RX_CTL__NETCMIX_TOP_ETH0_RGMII_RX_CTL 0x57e
--
2.34.1
Return-Path: <linux-kernel+bounces-665141-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4AF1341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:55:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 103C0189F6DF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AA16B2749CB;
Wed, 28 May 2025 08:54:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="E2oJjMQw"
Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011033.outbound.protection.outlook.com [40.107.130.33])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BAEB42741A2;
Wed, 28 May 2025 08:54:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.33
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422487; cv=fail; b=kEUlVn481VjfYd/O803DqYTl3JjGuECUfHO7hBhP+fFZ1ttxBZiW8+c/NJ+XJRYw2Rxp5XyLtTTY6aBBUb1QY9y7VzAW6yZu+YjBifMGllohoglkkvQ5GjSaVbQoA95G18rcswK0wwUa+BowH3tW3/8yqqawSkSct2Qdwz9eiww=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422487; c=relaxed/simple;
bh=gzscK+bkcNUhMSGfqRJxwGEDmjn446sdyjrqf91+zi8=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
Content-Type:MIME-Version; b=CtHTG+Uf93wQaS7RnwHlxvq44L6/wluFeXwqSFcy9eIOv/R4vn0AX7Bve7t99WgeZGLBuBWWpCrzDwRKuHeANtQE0YXm+7AQ9PcnNlsYDIr5cklijhNNIHujeposjew3aCMWt9QT1vampmMEt18i1oCEN4tQYQxFvho3j59c5TU=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=E2oJjMQw; arc=fail smtp.client-ip=40.107.130.33
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=DjLGvZpwaVSimGSjNejJF9sjS3PwCUaQgtdT5NZRdk2Tw9LLo6mPhEBhdeKMhQ8xJomHc4Vz96X23L43Uz7z5YOFF6t9AXRAhMy6NXXm2PpSgRerXKO6oi0mbfwih4pgagLi7FfO5GBl0xJQEw9Yf5rH4JH1RJ2j7d8xeBj3COixOFdzM9Cmre8shhSWXtUAbCo9R16Ift+QIjJKwsbxSISbNSqn+u/MfPG1YCpOuPuEVtj/mGTge5DyKQTq0g4hNiFiY/EMiu2W2NT+hExaxISZ+E+PEBZC50afhZxCHL9Y/7jIVttz6bWUCj3vNVrbUmEdG4FKH2NIuqjqIFdbZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=5OfEQy9CAuUDmwdNnE6mni3ZXagwk2dCBRyxgz0Fby8=;
b=aT2HOOfe8OQtQcl0KlPy8Y2b/tcOtK7WdmE/UcyqyRPOD+MBZXnH9LRkp3uPEb7aZaavtBQVtd5lqDQk1aEuYYMSjx0hqso36G+/DORAToMIvXaNpY5OXo8NPWWnMVaEQfexhZO+BLKKhjWUJcKHHXIrfSvEK/0q2Fu6mmVS952fMvefyq+v8VZyYqI19/bKgxEJfIrWYtxG+EdhEA17kh919oTlXC71SDLXyUmhBfVpStVB/WC4Zmvl0PS/BpzfC3UQ66USmZx8MCmPD6icMPLCA45RoXn22MuHFN905E96QZxUYMixMi6TdeQhMde2kuFnpCl63EBIi7JprJGDzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass
header.d=nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=5OfEQy9CAuUDmwdNnE6mni3ZXagwk2dCBRyxgz0Fby8=;
b=E2oJjMQwVGeklc0VG7qkk/vhBw+UnAgUMQlCuggPn7RmyhaOf84+W6r1A9BGmBvEeHuyhi2dDJfXIF0zsio8noAohjzaS9wgq8LvJboVd85aeFbWb+TRIvvFYOi7vgRpZOkWc2Zro08S5eODSqgAK54rxkvSbx416RksWieedWQn5bMCFpIZE28ezpLgXEhl3+OQYK8dKDx41Xo1ZXIVkVzcz5EfHNJvPbf+Ydf4Tjb2OhKz1gSFugzAwBcmy+xfH2pu9eN3Jr+liQhFkIwFLKwfF09JK/R7vLLvjm3cWMgawI7UdBtomJk9330YlVHutXlaJ4NnwYCNFEonra59bw==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nxp.com;
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com (2603:10a6:102:211::7)
by DUZPR04MB9948.eurprd04.prod.outlook.com (2603:10a6:10:4dd::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Wed, 28 May
2025 08:54:42 +0000
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db]) by PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db%5]) with mapi id 15.20.8769.025; Wed, 28 May 2025
08:54:42 +0000
From: Wei Fang <wei.fang@xxxxxxx>
To: robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx,
shawnguo@xxxxxxxxxx,
s.hauer@xxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxx,
festevam@xxxxxxxxx,
Frank.Li@xxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH 2/3] arm64: dts: imx95-15x15-evk: fix the overshoot issue of NETC
Date: Wed, 28 May 2025 16:34:32 +0800
Message-Id: <20250528083433.3861625-3-wei.fang@xxxxxxx>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250528083433.3861625-1-wei.fang@xxxxxxx>
References: <20250528083433.3861625-1-wei.fang@xxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: SI2PR01CA0026.apcprd01.prod.exchangelabs.com
(2603:1096:4:192::16) To PAXPR04MB8510.eurprd04.prod.outlook.com
(2603:10a6:102:211::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8510:EE_|DUZPR04MB9948:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b3cedf1-bf2e-43ce-efba-08dd9dc54947
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|376014|7416014|1800799024|52116014|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?kB3Vza/UkH06gjqWQkQ4Vl3sdhlLR4NJrjp9WfkN/PMBSzzjjEfDbyNoTz0f?=
=?us-ascii?Q?QWsg86HCIwbBqWxn7dBYZALtbxe8rQNWt+4ODQH+KWka5dh7grJmI7/xmwIg?=
=?us-ascii?Q?KPzECJC1R0rWEw1s8Rn8Wup00m0Y07ATb4e9Hu1ZsLOggUxWQhlktVepIlit?=
=?us-ascii?Q?VSgSmcKjwcUyZqmjOFo1JodFO2xfCwkEN8HFu7ocILzPWrhG4imlSuNbslrm?=
=?us-ascii?Q?MDJ/8/F4o1Xj54V5dAx8UKbaGKiiOfPedgBhBom0MlE1joN6jeVpA7tyVzTM?=
=?us-ascii?Q?6Kbvh9TNS7vxJCruB+NtpFPdktDvz4UcYICY9YFefQ8jmPkTV/UerJsrbJsD?=
=?us-ascii?Q?LpMn2n+YQw6d0tnm3WP1sOBVUdtNdmzW2KS0ixLf4lVedjfDu1Xe54hx2PFj?=
=?us-ascii?Q?V1ct9AJTJawEFOH3/xVy4MYsnGK7P1bMLjOiQWkK+l+KbOMyFlDtTMQPuZlx?=
=?us-ascii?Q?yxZWB1TlR/91VhpQ1Z3WitGgjmlkFOcV0XaeAf9zXRL9jUJhK41WXOK6ym7H?=
=?us-ascii?Q?Ejd40ODerigp7rMCssJt9n2YVxJaII22IBowBaCxWG3WrPEXzbAv+5fWX5la?=
=?us-ascii?Q?P7gncKNO3W3/ZUXOlXMQbgHH5Ndi+ny+sBKBnV4WxfWx4vQTfBbNU/6nqjIt?=
=?us-ascii?Q?4PHs19ZQyTMvvPE4TQDtQCD5FKwVWln8goFspMfpoGCQSgRA30cCYLdj+7/j?=
=?us-ascii?Q?Ksa7OBBCr6GRXfZAuOxp54p260zc+aTPGmzrx/qfnO9z8nGnqx8bdBklTO36?=
=?us-ascii?Q?j4tyAj2ntqYedgfy80pvgxVwJ6k2OxtPIGnfOvVsDmOkwVEZqLpHpEUMOCh9?=
=?us-ascii?Q?GQBJTjwaymJlVSv1O2ki2BI9xbzrcAtlIyWrAZsDHNw/QQvu+b7CpgI+c1yO?=
=?us-ascii?Q?hUd0Fq+P3Rv+QDH+8Jb2nPSp8ni3I88p8Nebzdig1A5l9YQIP1eJ2HtrgDBK?=
=?us-ascii?Q?vtMu/b2F8kcipAbIidczNE5JirVZtf5JCXKE15f1TE+p18nNj3T26ZI2KcBu?=
=?us-ascii?Q?2ANRqxH49lgA7fcNox9y+mPw4i2fOxkYOO8wcrRten/BPLfKMiQtE/sI9cmw?=
=?us-ascii?Q?R3h+kPqf1gF32cZfo6iqq1eUdpiA0i1CNXBQnpMqz2HWGrDIWk6nclecgbbq?=
=?us-ascii?Q?3+HxvOMqzu2J3Aty1nvBVH/B+KVLYCkF8mmuZIaFphG/1QeY5QH0T/fXA0tn?=
=?us-ascii?Q?2s1TCUqpaPvmd+IrxrUWDS072y9Zr9c8MUnOnMy67aWzaaxa3xcRpm876b+M?=
=?us-ascii?Q?dwtmP75NjTVXNyf1vFrMWoMqFuSdbacW6rUU2KAerYXzuY8DdCLzsPzQtjVj?=
=?us-ascii?Q?VBtB9q1bUuncrYe0QzgPmcKKBEuuGCIv55XfVkzeJyGoLhGS1ht+Td4XSKuH?=
=?us-ascii?Q?jnIF2ORiEGLGJqUxuOrZ2IXE+liHXPpKHkywNeO07I8JHHcutBcnPMHNRQcr?=
=?us-ascii?Q?nVTRzHC2PXnu5PRoEwMjnatZCx9oF+OeqBTVDe/Kf5YJNW6BXsP+dg=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8510.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?p3VjsqiTu4h865TJHcIw+ef8KvOWGn+d3FSFzPkRKAYPcETUVjC6xEZYCgCG?=
=?us-ascii?Q?0k+pGoKJpO2rwV5KmvhQad42TMTQYTI4UnpOvViRnvpQMnw4UuojIVkIac9s?=
=?us-ascii?Q?DsVfrlSByKeT2S95swW+zD6g+VFEyslm4cgnRx0aKkOKt11/90tquKEZVz9H?=
=?us-ascii?Q?0XPygIqtneB8jvRFyhvEPtWdIbhx4JzXXVKJ15vnFPO7kB6Wte7EWrIVd6Y8?=
=?us-ascii?Q?uMqQbOfGobTwUirWr8vKmkTU4Ij3rcoqT4Sa/WulzvD1afMxEjonXMBS6w+S?=
=?us-ascii?Q?yh1E55qcTqpvFZLIFLwhQ3hXQvu42/R8TgmETOBxMqZZrPr3Yfcvh/Kt0j90?=
=?us-ascii?Q?jl1JSwCeW2aDfb+HsV/ypzRWSb1IoTvdtHGzFf8YSVSQBP8iurENSQrXQS80?=
=?us-ascii?Q?bLGclUbC1NjJY1eWkKJhNwClppBb1B/wuyeZ6OFuGZbUdf1qGTtIOU+mQw9g?=
=?us-ascii?Q?HKE6nvXdoFL2aNq3pEkbdGMdXZ20Vdph+T3Roz1MEQDuSiwBf2Py4arSmlz1?=
=?us-ascii?Q?HYAE82a+uwKP9zM89tBRpPx7cyT18e9rIixeZ44lGJePS7lDZud/bcuU8+rJ?=
=?us-ascii?Q?fn0Gkz9WU9ey7LSGjo6R6DNdD60fbH6gWG7JWCEFmAaJ3iqcsU7d0/ujaC+a?=
=?us-ascii?Q?DQjoscLMOUecQmIuXWsnA1SYyyCAkMksr3jYwBiXH/df2Wb0XBCkpz1R7lr2?=
=?us-ascii?Q?dznoe17GGzEklK4DcBctzekfIi+BmKTAYRgdImRG2MKHrFQeExNWuV9NCMiI?=
=?us-ascii?Q?C4ca+8pht2+KLzGug0/V+hGo6tSDW4xLp1duIp30XWJKAs0K4Yuqy/VGA8Hp?=
=?us-ascii?Q?WGRQTaYQ7qCmB8s8c6mnGL1Ety2j9pvvNdyDM+BUVtXleGK6iDrxtXyMEJm5?=
=?us-ascii?Q?mlFCOMUq0RvNi2GZRl9oNAW5TPLX+o/zBH1GH9awN2x+EaVZJP+NFhO3LTF/?=
=?us-ascii?Q?cX3iRenj3KltMYzd6rCxdI4RDRE09+HHYi/iF2YcHyar5jzL52sv0icgIu8K?=
=?us-ascii?Q?/GjRgOHOPPPPXl6g6lJZec4abgEXCAp2Jpk8hQUWYvkqgy7XSmPdaDZZ8FFv?=
=?us-ascii?Q?IpGQCUDHJbaHKSx3ENmNqcIpKmCXCaecVFcoyT5mK1gklQ7J84QjSkh6oruy?=
=?us-ascii?Q?jyjlGdIJplumb+MEVAl6+l9PMT8IErGMWwJezBxDsRDTxJYa7/5+kCzTQ/5S?=
=?us-ascii?Q?4yAkOF7IDOZ7URgoXu0Qli18LDuPqL9lGB30d+uy6xzemYh47cb6dxhFrB2f?=
=?us-ascii?Q?e4LupZDPU1COO2KoqJrdt9RVjoWMPIpcxQHSpXPM51ePFf/8LfEFWmxe9bB0?=
=?us-ascii?Q?Q0hhcCTjsxS60UyAcrzVRYZF6TLjjkhBAIDmlWIusZwod9TAntwuuzM/e9TL?=
=?us-ascii?Q?Y0XM26gg8ZypAm5lokSYPA4yMK49u9dKe2ELCnPX3IHSrc0yxdZjwZ5Yu9Ff?=
=?us-ascii?Q?IHsupvtHRAzWoEUartlgxLSDWgGiz0opo0rC9+RqaVZQYX3InGuiZalXehU2?=
=?us-ascii?Q?UuuZrvWPWX2mfBSerPzgQMcYyTUtq/D/NQAc76TFSnJSKn73kxcHxGtnbBFD?=
=?us-ascii?Q?gbVUUC2lkqP1YwT/DtNNsd192ZYLipTl/oDuGpma?=
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b3cedf1-bf2e-43ce-efba-08dd9dc54947
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8510.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 08:54:42.2692
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bkZQ/YNZuLTjzKaMjxjbDrHfccI7Obs1hk/KpK4jvTtmExqZpufUnlewr2pUHYrFIb2oizC0LpneR//lGnsEQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9948
X-Spam-Status: No, score=-2.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The overshoot of MDIO, MDC, ENET1_TDx and ENET2_TDx is too high, so
reduce the drive strength of these pins.
Fixes: e3e8b199aff8 ("arm64: dts: imx95: Add imx95-15x15-evk support")
Signed-off-by: Wei Fang <wei.fang@xxxxxxx>
---
.../boot/dts/freescale/imx95-15x15-evk.dts | 20 +++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
index 6c47f4b47356..9f4d0899a94d 100644
--- a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
@@ -574,17 +574,17 @@ &sai3 {
&scmi_iomuxc {
pinctrl_emdio: emdiogrp {
fsl,pins = <
- IMX95_PAD_ENET2_MDC__NETCMIX_TOP_NETC_MDC 0x57e
- IMX95_PAD_ENET2_MDIO__NETCMIX_TOP_NETC_MDIO 0x97e
+ IMX95_PAD_ENET2_MDC__NETCMIX_TOP_NETC_MDC 0x50e
+ IMX95_PAD_ENET2_MDIO__NETCMIX_TOP_NETC_MDIO 0x90e
>;
};
pinctrl_enetc0: enetc0grp {
fsl,pins = <
- IMX95_PAD_ENET1_TD3__NETCMIX_TOP_ETH0_RGMII_TD3 0x57e
- IMX95_PAD_ENET1_TD2__NETCMIX_TOP_ETH0_RGMII_TD2 0x57e
- IMX95_PAD_ENET1_TD1__NETCMIX_TOP_ETH0_RGMII_TD1 0x57e
- IMX95_PAD_ENET1_TD0__NETCMIX_TOP_ETH0_RGMII_TD0 0x57e
+ IMX95_PAD_ENET1_TD3__NETCMIX_TOP_ETH0_RGMII_TD3 0x50e
+ IMX95_PAD_ENET1_TD2__NETCMIX_TOP_ETH0_RGMII_TD2 0x50e
+ IMX95_PAD_ENET1_TD1__NETCMIX_TOP_ETH0_RGMII_TD1 0x50e
+ IMX95_PAD_ENET1_TD0__NETCMIX_TOP_ETH0_RGMII_TD0 0x50e
IMX95_PAD_ENET1_TX_CTL__NETCMIX_TOP_ETH0_RGMII_TX_CTL 0x57e
IMX95_PAD_ENET1_TXC__NETCMIX_TOP_ETH0_RGMII_TX_CLK 0x58e
IMX95_PAD_ENET1_RX_CTL__NETCMIX_TOP_ETH0_RGMII_RX_CTL 0x57e
@@ -598,10 +598,10 @@ IMX95_PAD_ENET1_RD3__NETCMIX_TOP_ETH0_RGMII_RD3 0x57e
pinctrl_enetc1: enetc1grp {
fsl,pins = <
- IMX95_PAD_ENET2_TD3__NETCMIX_TOP_ETH1_RGMII_TD3 0x57e
- IMX95_PAD_ENET2_TD2__NETCMIX_TOP_ETH1_RGMII_TD2 0x57e
- IMX95_PAD_ENET2_TD1__NETCMIX_TOP_ETH1_RGMII_TD1 0x57e
- IMX95_PAD_ENET2_TD0__NETCMIX_TOP_ETH1_RGMII_TD0 0x57e
+ IMX95_PAD_ENET2_TD3__NETCMIX_TOP_ETH1_RGMII_TD3 0x50e
+ IMX95_PAD_ENET2_TD2__NETCMIX_TOP_ETH1_RGMII_TD2 0x50e
+ IMX95_PAD_ENET2_TD1__NETCMIX_TOP_ETH1_RGMII_TD1 0x50e
+ IMX95_PAD_ENET2_TD0__NETCMIX_TOP_ETH1_RGMII_TD0 0x50e
IMX95_PAD_ENET2_TX_CTL__NETCMIX_TOP_ETH1_RGMII_TX_CTL 0x57e
IMX95_PAD_ENET2_TXC__NETCMIX_TOP_ETH1_RGMII_TX_CLK 0x58e
IMX95_PAD_ENET2_RX_CTL__NETCMIX_TOP_ETH1_RGMII_RX_CTL 0x57e
--
2.34.1
Return-Path: <linux-kernel+bounces-665142-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E119141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:55:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id ED9CF1BA2823
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C36162741DF;
Wed, 28 May 2025 08:54:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="jwnS+ldv"
Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011033.outbound.protection.outlook.com [40.107.130.33])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF449274666;
Wed, 28 May 2025 08:54:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.33
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422490; cv=fail; b=Pu5lsMbVacIUBB7463flEUua46gd6lXXdJabGTjyho5Njhbdd0URxJfw4vM+iWWJ0zPngKTH8E6raRKIjlPlP++2N+axkZtoKljELJbp/VTYWUZDXCzL9jiBpOjjbtKP1tAUp/cjn/Q1PkcG2/+J3UF6Yrl0Wo1sAXN+KQyTklY=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422490; c=relaxed/simple;
bh=sW/W/7hdC+nGLAfGPqgi2gadU9GYtHRcuJ7I55B0EvY=;
h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:
Content-Type:MIME-Version; b=nd2h48z+xnfdbi00WP5zii90Vwx8pp+85E9AkVdZmBMdA6wCM1483drIQfPJBY5JI+F0RhPBXYr0eUPgBOCmzrkqNHuc2+Q/s7iUS3bs8qWAzKPTEPe65uqA0Rntm0ecxV4r9BxXZNataGe63ksVfc9RtnlIkpJXQdVAn3Or01I=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=jwnS+ldv; arc=fail smtp.client-ip=40.107.130.33
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=OZXztnUfUBcYgbMWT/u6Tw4QNprlSMuuhlDxLJ12biitPsCs/f3WuieGJNFYdmpJAN43Jl+5gBLUi3j4c7NkzxhLZRe7mvudrnlniOge1f4KZi5coMP7dcio82cQZ+1dVtEYBSYZq/bF/aKU1qo6swBfhhmuqsi3QhpOIC1LwExAogT0Gk6p7g+i+G4qqjusJupCvAsLo9XWhoLJWazvI3BGp/Xb0Y9bEnYaLECfCduK4jm1geIm8XnZRIE0zTOeVeWw7rb3q74DJzGEd508qo1kxcQQTJeIh5LL7Kr2ptrnjzxBfDP1b0clPa6vSv7PMSQb03+bZiqhIHsNQKquDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=HVJvr8eCWPOP6qr4fEsePeYan88C7WzzuYUDCqIyodw=;
b=biGW49FsIFARbv5DCy1wWWP/b7FWibyEZ3AULQJ5L/O6k44UAU+d7DNi2+aAHLcdQkE8DoUi8B8dUTJN9yuK5bhd3B9JYB0DJhquZTqhRuXV4lXH6DySKorvhEyUcu1CuEoxL9KzsM7Zu+mSrFuDrQqoNEK8nXU7PUuNB5p+zXjloVEIlXH0KJMtPF8LLk+Ezvb5uWuY+8qeytknSDqJwRHbwwx+eKfWscmnRfoh6GWOXTErtbtpGKo2GcumBKajh504GDWB7uYZgOGxRUcRKCbh0ZrVT3ygM0HoKgdtSxQVs8YpIetL9u5gY55NczTDL4FZhbzE5gXC7QOZeQWdGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass
header.d=nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=HVJvr8eCWPOP6qr4fEsePeYan88C7WzzuYUDCqIyodw=;
b=jwnS+ldvbKLoqGIHwBRjTUVoWTM8jFcAniXPr5EJbcfyzVUB0ZJwFnY9Qe7XQUc5Byt4dsEPLB8t0SIMGBifZEQWpHP/39Wngh1hmqmbX63g7AQ6BSXwJLVJTAmHiiiVhhRJOSYMP8tHfXEP3aL5Gc2AAYdSyz3/8XoBSguIggxlGq2qM96+TR94WeUn7bTAkY4zBV5SeoeHV/MNg7iX2RnLIEqf55MvD0OlWiMrCPQgluLBme5fiQiOOpnpw7EHcp4CWStuZpcJfb082pQJ4y9CeAdH8kj4iry+7HabNSaST//1AQbvzOq/jJkmoKgu/KeqH7zxA+9dkoPL7KEmsA==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nxp.com;
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com (2603:10a6:102:211::7)
by DUZPR04MB9948.eurprd04.prod.outlook.com (2603:10a6:10:4dd::16) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Wed, 28 May
2025 08:54:46 +0000
Received: from PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db]) by PAXPR04MB8510.eurprd04.prod.outlook.com
([fe80::a7c2:e2fa:8e04:40db%5]) with mapi id 15.20.8769.025; Wed, 28 May 2025
08:54:46 +0000
From: Wei Fang <wei.fang@xxxxxxx>
To: robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx,
conor+dt@xxxxxxxxxx,
shawnguo@xxxxxxxxxx,
s.hauer@xxxxxxxxxxxxxx,
kernel@xxxxxxxxxxxxxx,
festevam@xxxxxxxxx,
Frank.Li@xxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH 3/3] arm64: dts: imx95: add SMMU support for NETC
Date: Wed, 28 May 2025 16:34:33 +0800
Message-Id: <20250528083433.3861625-4-wei.fang@xxxxxxx>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20250528083433.3861625-1-wei.fang@xxxxxxx>
References: <20250528083433.3861625-1-wei.fang@xxxxxxx>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: SI2PR01CA0026.apcprd01.prod.exchangelabs.com
(2603:1096:4:192::16) To PAXPR04MB8510.eurprd04.prod.outlook.com
(2603:10a6:102:211::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8510:EE_|DUZPR04MB9948:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d1927e0-4286-4d8a-809b-08dd9dc54b90
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|376014|7416014|1800799024|52116014|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?LufMgMXbqDa97nT6y7vdXHixvFbPrs5QGhmL2BmupO73/QaRUz0RZZornTiW?=
=?us-ascii?Q?P9EwCt/Rb7brhFlzO0AWUQWDXwhF6sTGmOfgYsjRvlfJLl8aI13KRN8DK5lb?=
=?us-ascii?Q?F6eDisV5yObS3hmvODmrrb9xTw8X8WByzqC9AuA5qE37y5mLIkG6e1BDcfSH?=
=?us-ascii?Q?Bwple4pme9SOg0w3wkci/JG2MyKs5F8iGsGPAvid8mYLwoS4nutB+DNATPVP?=
=?us-ascii?Q?/ohyuiJbICsbPDLkul1mDgSGYZyGdGQHlnBks3ocAyOTJhhvRenQ5/JOyj9s?=
=?us-ascii?Q?mZpGGZnd50HR11xK8/YrAyq2uWybT8Y6DMR36zIDdAFmUst3hhvhPkJMLdWQ?=
=?us-ascii?Q?2qlJUtit2GOtTvPMdvQmXeuX4/VFEz7MOgN4zk8CMPYYmDpdkH5/8VLlI3s3?=
=?us-ascii?Q?l0iFRq7quzd7f/orp374nSbYS+/ZqnymA8+Lb31paNIfa0D3x5p+ixOYufPD?=
=?us-ascii?Q?5GH4dzx2PAa1tihLb2MC21nb4qmXWr5Xx2lm2+clcdz12dyn2qphquNGA1Ca?=
=?us-ascii?Q?agd2X/+RBcFrL2ViWqiTBYTTsNoVA/U/JKYXlqeAxyf/t6jjV3kLDBgy6hff?=
=?us-ascii?Q?/hRg9Oxc/4ctaZSkgc36DB3PfSEdQc7qttsqHt2/r44hHxhVNQsTL13cbzoo?=
=?us-ascii?Q?bob+vKOgdO9v28f7F7w06aYoBIbKUx6h/nlxaOh7odaYTMDbvw16MJytaYNI?=
=?us-ascii?Q?7tvFzfDpSDpHZuCypKOCyhZSD+Yd87wXr0PMY8FwL8ngLCAq/xO2lK00iisx?=
=?us-ascii?Q?nmy/E3xA1LVYD1dGDoecnNORUHXYhU9Yq0hRMYG40iEQqqQp8ZrD3xYCctfR?=
=?us-ascii?Q?5N+MzwddgWsl7TFHKI4lbC2ZKPGxR8v+Aal2sqHgZfsaFZ01OEDtEbh0rIt4?=
=?us-ascii?Q?m+sEBBcXCGhLRF7MuktzrH/jWQZes4V/E6NrqDeULOTP1XPmX9Jmt2Lepl1l?=
=?us-ascii?Q?BRedS+hW36SLg7U0StQXp4NmA4br4a2EPCK60Rxz7BjSuA20hg2jAS91zjmo?=
=?us-ascii?Q?qgBFzHSCZBcydkUkTDFeRZU2dcJNLBKi1UpCsuNIEl0hnlyl2wLf+BAi1JVM?=
=?us-ascii?Q?c999VNRXK++Q4wNWc67D3z7M903pfaQEGVViNIL+vioFnBUIH3xbRdSDcB+y?=
=?us-ascii?Q?whVgZmJBm8Ua7X4FhynM55H2sXQKi6GWTay9qm2U/nHBGHsO+paeBveecpOR?=
=?us-ascii?Q?ishRqrSLtT6nEwSKqCmt/JPGyYy1DpJM5WLZsEZecFl7DgxrzanxonOXfDx4?=
=?us-ascii?Q?/Ew930Nh6vwCcDVtFsnUxC+irf/+TUMx1lbQyg5vLsrF4Us7rlWA7BabVDy7?=
=?us-ascii?Q?K3lXFXJYYy1H9INictgLtGK9qC+pRIZU2sQvPsIK0/ZlFXFS4hXXqSAriraR?=
=?us-ascii?Q?qFaShyGBQNo2JJ5Jz3DCsGnX4BRt9GLQ7zOQsSGpJCH4IVuNMqModgAWWRvv?=
=?us-ascii?Q?NgSkzDK9DRUsnqoBzmndMdn41l3OXivDmC2Xu+upV5aMbuNCfuyyNg=3D=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8510.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?5GqjNh/sSkk57IG21ojxgqTGxfi5I8tkK786CXPRcvnJgizlWBAhJ34wttx/?=
=?us-ascii?Q?j33W5LO218jgixspTmwKQrNkg9EF1HhloQS0o2rOFSD/ZMDqHRI5+ENbSUdD?=
=?us-ascii?Q?PPYJollR3Y78kGdkbyb/Ws0P87OvW4Obp0iO2XttcTzGObQuqhuVLR3b1ha2?=
=?us-ascii?Q?FvKbI403oC1m2/u5hNTVYzItiMoespl0/c+NySZMhtRg8qjGPSyr8IV7wbnw?=
=?us-ascii?Q?Dg8dePCH32CmuPIv/DbfaoxQvdoggd/bXQfpk7wHc1Q9DSUZOfdNDk+8786x?=
=?us-ascii?Q?eFv+KiGDWBxtFqh0/L7FIrP6wGrq8Bp0BQ95fAdZhwtAjdunc2s2lrxU++WF?=
=?us-ascii?Q?UVlBeCRVhnn7x0n0Wgf+aC5wAM2izPiVuqYZWtU8hKPqeQt3xFDJf2cXT3D7?=
=?us-ascii?Q?1IrnNFGzzKGk5PasWUAIeitbE4g6ZBfzWxSCVFR85yVX9fHXvlvBDSf0tJh9?=
=?us-ascii?Q?bxFHm4VIibple+uuoj7NwvjSc5Vfb8CxxIraEffLJiBVJ+i+g9K52HYRgHXk?=
=?us-ascii?Q?o/IpJPSErk+ud+oKEYB2yk3Q25ZVKe9mJxGwxBlh4tVWOmvJ/cKqptyMJ5kb?=
=?us-ascii?Q?idlGwm+TE3UiQ+ZupYh4dM9l04aL24i7CKheCByTycDElxW3B5Xt7IiBAVVp?=
=?us-ascii?Q?Zrm6j3oZiGSrOBVI08U/ZfPLeppTwPC0LNOpPUUKPC00Yzjk4Sv/ML6kHYJv?=
=?us-ascii?Q?nu3Xr7ke6bEY/ZlIosmR8pepv3iVdEmQASuONsDDUjmW1K2GN6hXc94sgGd6?=
=?us-ascii?Q?Td8bUlN0dFUb0Ftes9va/vz2kYEhfzRS5zvUZiCZHmqeR5WAdMHEKbJzRMSe?=
=?us-ascii?Q?nmGxf9IT1jYnKx5MUFwtE2TII/UtEx/862zVEke2AMVsM3dCS46KYuLro5Wt?=
=?us-ascii?Q?Vb6UFtbdZD7SY4xbWYV7/DELI/bRYVQ20ZlGf1GnTCYv1W+fTDtemGq5GIVC?=
=?us-ascii?Q?Jg/Zk2xdrN0dOZMQ1UztUEPaiXRQrcskW5G4xKovcy0Tx160PjcHDlHULAba?=
=?us-ascii?Q?XokF9xIbxaqbCZs7wBUQE6osEy6NvApOPWwAmqvdwt1GfpLKX6tETD0zupC8?=
=?us-ascii?Q?39ok/X9NyTFbWxiCBmPi8yOA+TG+y1dfK8a/pwAFlwVCMcdcYJUaSNbJ/+nG?=
=?us-ascii?Q?czXuog9rAI7O801oO3gSM3DfV2KDRg3F6xuSnXLoilYbKnBqYFZ/4YlLg332?=
=?us-ascii?Q?nhTdMw1ZbmjZReUVmOAqQYhxK7YU0Q3Ql6ria5uAtnHaTsI1crgU8+mWm188?=
=?us-ascii?Q?3qL9ldOxj8O1Iq4T/Z9Kd+2u87cjZA1cA7nbMlWpAFbt2bkLJsWNtrCS6bau?=
=?us-ascii?Q?kO67FEUhJ6cvv4o/f/Z1Lko3E/Nfql0Wq2YkUYhyFAzscLaZR6J6dQqRaXiu?=
=?us-ascii?Q?NOta2I9kEid6/RxjqXg/Nh7PO3UU40srriiVPUlvE0iflJyHpXx3q/eDk01P?=
=?us-ascii?Q?FK6iCFS6KhDGqQB+nGP/Wx3a66njaw4NKxEuguURDTJlvQPVRlQpW1SHfQnH?=
=?us-ascii?Q?Z8wiwu+7haYNzLzLeptvin1rZ4sqGS9WeVlct01q1bZ+eDk2kKH7B4oTdE3Y?=
=?us-ascii?Q?mIMItehbe2Be7O/4q07oqPUJ/BEwa3UyQGdCcXSu?=
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d1927e0-4286-4d8a-809b-08dd9dc54b90
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8510.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 08:54:46.2292
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QX2lo4eL0WSA9a04vdgulJePRBEWz4TTuA7Z6i3VCf+vcTBzzTbWGH52kyfwCVONCgix4nB3SMa3o+d8Q9bfZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9948
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The i.MX95 NETC supports SMMU, so add SMMU support.
Signed-off-by: Wei Fang <wei.fang@xxxxxxx>
---
arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts | 8 ++++++++
arch/arm64/boot/dts/freescale/imx95.dtsi | 8 ++++++++
2 files changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
index 9f4d0899a94d..e9a5fb36f5d0 100644
--- a/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts
@@ -494,6 +494,14 @@ &netc_bus0 {
<0x60 &its 0x66 0x1>, //ENETC1 VF1
<0x80 &its 0x64 0x1>, //ENETC2 PF
<0xc0 &its 0x67 0x1>;
+ iommu-map = <0x0 &smmu 0x20 0x1>,
+ <0x10 &smmu 0x21 0x1>,
+ <0x20 &smmu 0x22 0x1>,
+ <0x40 &smmu 0x23 0x1>,
+ <0x50 &smmu 0x25 0x1>,
+ <0x60 &smmu 0x26 0x1>,
+ <0x80 &smmu 0x24 0x1>,
+ <0xc0 &smmu 0x27 0x1>;
};
&netc_emdio {
diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
index 632631a29112..32a91d7b51e5 100644
--- a/arch/arm64/boot/dts/freescale/imx95.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
@@ -1861,6 +1861,14 @@ netc_bus0: pcie@4ca00000 {
<0x90 &its 0x65 0x1>, //ENETC2 VF0
<0xa0 &its 0x66 0x1>, //ENETC2 VF1
<0xc0 &its 0x67 0x1>; //NETC Timer
+ iommu-map = <0x0 &smmu 0x20 0x1>,
+ <0x10 &smmu 0x21 0x1>,
+ <0x20 &smmu 0x22 0x1>,
+ <0x40 &smmu 0x23 0x1>,
+ <0x80 &smmu 0x24 0x1>,
+ <0x90 &smmu 0x25 0x1>,
+ <0xa0 &smmu 0x26 0x1>,
+ <0xc0 &smmu 0x27 0x1>;
/* ENETC0~2 and Timer BAR0 - non-prefetchable memory */
ranges = <0x82000000 0x0 0x4cc00000 0x0 0x4cc00000 0x0 0xe0000
/* Timer BAR2 - prefetchable memory */
--
2.34.1
Return-Path: <linux-kernel+bounces-665143-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C7CB041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:55:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 090A41BA2BF2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 82014274FDE;
Wed, 28 May 2025 08:55:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="bAE0mei3"
Received: from mail-m21470.qiye.163.com (mail-m21470.qiye.163.com [117.135.214.70])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 259BA265CD0;
Wed, 28 May 2025 08:54:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.214.70
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422499; cv=none; b=nS8JWQ+dOjV8lGdZIsybhkuoA+aKO6PGQgMPCowusISBLDZyWK6ZkcPilXMPmXV2foSly+T68nKJXpTKd+0fR1Mt8kTr1XF/AXi+2aqH7FqNFEcg3C9RE236q/XcyjGNgON3bBp7eyVYLGn1Px7OQJhsjD9CcP6HgZSeJPr3gfE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422499; c=relaxed/simple;
bh=6OrfkisRggUmUjJtD20gSVGc6+cKde6EW/sKfoA/v2Y=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=jG2KIKqlg0CT0L8eF3FvAefOD3ScUU6V1HYN8FhosipqAreLDVxcn8LMPO40UkDLiYiu9LxxLPtptN265ECIQfX7I3vCFX2PrKm0bIqB0ZMl5DYjfUtMlAwWqivXDAlMn/xK5RnIyuUqKhAjIPYiLxjH3IFW2VrKzi4/xRI9fBQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=bAE0mei3; arc=none smtp.client-ip=117.135.214.70
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b15a60d;
Wed, 28 May 2025 16:54:52 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Ulf Hansson <ulf.hansson@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>
Cc: BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-mmc@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
Subject: [PATCH v1 4/9] dt-bindings: mmc: add binding for BST DWCMSHC SDHCI controller
Date: Wed, 28 May 2025 16:54:51 +0800
Message-Id: <20250528085451.481267-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVkaTB0ZVksdSUNITR1DTxgeGVYVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSU9PT0hVSk
tLVUpCS0tZBg++
X-HM-Tid: 0a97161a016709cckunm4606c7f3397dab
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6Mxw6LCo6PjE#PkgKLg5COTIR
LEkKCUJVSlVKTE9DT0lJT0JITUJKVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQU9MSUk3Bg++
DKIM-Signature:a=rsa-sha256;
b=bAE0mei3mJMwcZJl4gdhGUEj8pKxMfbikNhy9hrQxxV+RXQM3X6pjhUaT4rl1GO7WzNyaAXsEWIteJjFR37b6ZNSu+XH1aiXTsJlNfuGgHMrtkSALTXadz7fKJfSCk1BtkKd8LiveB4cailNM1bioJtJRmLqqgez7ULqVmeKLqg=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=Vb4BX0UJyLUvKF4fET6nq/FFfA6w/RMSx8v+7CHMEsA=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add device tree binding documentation for the Black Sesame Technologies
(BST) DWCMSHC SDHCI controller.
This binding describes the required and optional properties for the
bst,dwcmshc-sdhci compatible controller, including register layout,
interrupts, bus width, clock configuration, and other controller-specific
features.
Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
---
.../bindings/mmc/bst,dwcmshc-sdhci.yaml | 115 ++++++++++++++++++
1 file changed, 115 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml
diff --git a/Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml
new file mode 100644
index 000000000000..429e7f50cdec
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml
@@ -0,0 +1,115 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mmc/bst,dwcmshc-sdhci.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Black Sesame Technologies DWCMSHC SDHCI Controller
+
+maintainers:
+ - Ge Gordon <gordon.ge@xxxxxx>
+
+description: |
+ The BST DWCMSHC SDHCI controller is a Synopsys DesignWare Mobile Storage Host
+ Controller IP integrated in BST SoCs.
+
+ This documents the differences between the core properties in mmc.yaml and the
+ properties used by the sdhci-bst driver.
+
+properties:
+ compatible:
+ const: bst,dwcmshc-sdhci
+
+ reg-names:
+ const: base
+ description: Specify the register name
+
+ reg:
+ maxItems: 1
+ description: Host controller base address
+
+ interrupts:
+ maxItems: 1
+ description: One MMC interrupt should be described here
+
+ interrupt-names:
+ items:
+ - const: IRQDWMMC0
+
+ non-removable:
+ type: boolean
+ description: Non-removable slot (like eMMC)
+
+ bus-width:
+ description: Number of data lines
+ enum: [1, 4, 8]
+
+ clock-frequency:
+ description: Base clock frequency in Hz
+
+ max-frequency:
+ description: Maximum clock frequency in Hz
+
+ fifo-depth:
+ description: |
+ FIFO depth in bytes. If this property is not specified, the default value
+ of the fifo size is determined from the controller registers.
+
+ mmc_crm_base:
+ description: Base address of MMC CRM registers
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ mmc_crm_size:
+ description: Size of MMC CRM registers
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ memory-region:
+ maxItems: 1
+ description: Specify the MMC DMA buffer range
+
+ sdhci,auto-cmd12:
+ type: boolean
+ description: Enable auto CMD12 support
+
+ dma-coherent:
+ type: boolean
+ description: Enable coherent DMA operations
+
+required:
+ - compatible
+ - reg-names
+ - reg
+ - interrupts
+ - interrupt-names
+ - non-removable
+ - bus-width
+ - clock-frequency
+ - max-frequency
+ - fifo-depth
+ - mmc_crm_base
+ - mmc_crm_size
+
+examples:
+ - |
+ dwmmc0@22200000 {
+ status = "okay";
+ compatible = "bst,dwcmshc-sdhci";
+ reg-names = "base";
+ reg = <0x0 0x22200000 0x0 0x1000>;
+ interrupts = <0x0 0x90 0x4>;
+ interrupt-names = "IRQDWMMC0";
+ #address-cells = <0x2>;
+ #size-cells = <0x0>;
+ clock-frequency = <200000000>;
+ max-frequency = <200000000>;
+ mmc_crm_base = <0x23006000>;
+ mmc_crm_size = <0x1000>;
+ fifo-depth = <0x400>;
+ bus-width = <8>;
+ non-removable;
+ sdhci,auto-cmd12;
+ dma-coherent;
+ memory-region = <&mmc_dma_buf>;
+ };
+
+additionalProperties: true
\ No newline at end of file
--
2.25.1
Return-Path: <linux-kernel+bounces-665144-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 68CEB41E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:55:35 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 112BE1744C5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9444E274FDF;
Wed, 28 May 2025 08:55:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="ZslRBfNd"
Received: from mail-m49232.qiye.163.com (mail-m49232.qiye.163.com [45.254.49.232])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 260A727465B;
Wed, 28 May 2025 08:54:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.254.49.232
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422499; cv=none; b=Nexx9+ir81LUNTPbDFNKkvKj+n7h8giIKmJBeG+NnCWt0oEci1IkYv1WUooP5zCHTKuKha+ms/ITXFqDWMcLZfyErh3/O9T/Vq1m8PNPiQpGcJ/vEWcZ2TyVpmoa2iRY+HODJtd+fCOOPg/SGyYPufj41EoqU13qvisznR2YkV0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422499; c=relaxed/simple;
bh=3SGc/VP4sDTxxeisGrvVH8yGTEp4dzsvju6BchTm+zQ=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=h5H4QXzUn16RURCHWOtQxO1+b/T/DzaUNqkYmlFglMwnBssm3aU1aaUPRMj2CnkYQcAsLUm9D8vFZ3hHzKfj02rzzFe1cUMgl+54Ken2Czz4O3uZfBo8ta183DiAzB2L7lpvCoREOBP748O1348JJQjhYkpDlmWF4s7zLusZKi8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=ZslRBfNd; arc=none smtp.client-ip=45.254.49.232
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b15a5f5;
Wed, 28 May 2025 16:54:47 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>
Cc: BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
Subject: [PATCH v1 2/9] dt-bindings: arm: add Black Sesame Technologies (bst) SoC
Date: Wed, 28 May 2025 16:54:44 +0800
Message-Id: <20250528085444.481163-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVlCHkIZVklNGUtIGU4dQ0hISFYVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSU9PT0hVSk
tLVUpCS0tZBg++
X-HM-Tid: 0a971619ed6109cckunma4140f57397d08
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6NT46USo4CTE*PkgZUQ9KOTMt
QxowCy5VSlVKTE9DT0lJT0NDTkxKVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQUlITE03Bg++
DKIM-Signature:a=rsa-sha256;
b=ZslRBfNdnW2bRPoB7+povFOwSwa1nMCumeKBGMgQd7JE+W8YOSPbGR0q4PmtMDcVlHAqhDT//rOdOPiIhvzMYIZCXixAsTNQEWXnYjk90GVBqxAV/tGRyaNSDOQ2lDmoFtDB6a/NzLj6Wwz5LFK5J9nCzF/alj6tZJKaSbperRE=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=5aDsGHATrYbvgalCsJgPhzB/hTqSH/AkFDrxYsFVCvs=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add device tree bindings for Black Sesame Technologies Arm SoC,
it consists several SoC models like C1200, etc.
Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
---
.../devicetree/bindings/arm/bst.yaml | 34 +++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/bst.yaml
diff --git a/Documentation/devicetree/bindings/arm/bst.yaml b/Documentation/devicetree/bindings/arm/bst.yaml
new file mode 100644
index 000000000000..e21a37130cef
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/bst.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/bst.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: BST platforms
+
+description: |
+ Black Sesame Technologies (BST) is a semiconductor company that produces
+ automotive-grade system-on-chips (SoCs) for intelligent driving, focusing
+ on computer vision and AI capabilities. The BST C1200 family includes SoCs
+ for ADAS (Advanced Driver Assistance Systems) and autonomous driving applications.
+
+maintainers:
+ - Ge Gordon <gordon.ge@xxxxxx>
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+ - description: BST C1200 family platforms
+ items:
+ - const: bst,c1200
+
+ - description: BST C1200 CDCU1.0 ADAS 4C2G board
+ items:
+ - const: bst,c1200-cdcu1.0-adas
+ - const: bst,c1200
+
+additionalProperties: true
+
+...
--
2.25.1
Return-Path: <linux-kernel+bounces-665145-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 820BA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:55:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 393F9177458
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6B91727467E;
Wed, 28 May 2025 08:55:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OZwMkE3w"
Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D9E81274FE5;
Wed, 28 May 2025 08:55:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422502; cv=none; b=AjdqUBt0/qr2GdXCOpCdDRGzDTlvFA9JQ9e8UV7cA0Sfa0bxuGteQqsbvswySdaVXaEnKQp0LnMpX2FhLP7TUUoulRHCDUWJDStQwNHVVY2VPn3Hek+oWVo6u9j++Ddrn4uQqBRn2eqcNBxbtmG1CfTHNs/+RAgkkjtwCrRFa38=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422502; c=relaxed/simple;
bh=UVux7hP9bMnrn8D/4/hQlg1HOvWZ0FYr+0n+VvHDd6g=;
h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=D70w4foxOKUbANuQeU3BpN2gh8ekDDpfbkioTEjN2pBNmUhjuIJ9+knK83V6n3CfjEfuGuAL6jMjg426uz5YLYdhATD1qc9x+hQ79zoj6SC7TUY6lYXSO4793hpGWWIJfVlPmdVi63lGv9v2wBTIcKXmVDCeyKXA4n4V5HnTDYY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OZwMkE3w; arc=none smtp.client-ip=209.85.128.48
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-442fda876a6so39920375e9.0;
Wed, 28 May 2025 01:55:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748422499; x=1749027299; darn=vger.kernel.org;
h=in-reply-to:content-disposition:mime-version:references:subject:cc
:to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
bh=X4jr0jEwV3YNS8f7iVKb2L3Icr+a8dnf2UQtf6f1As8=;
b=OZwMkE3w5p3YquP5bfzqj05sMAwlSZE8M6Ng46nz4dMYnFhGl2QieMKnSAYB/x8N4P
xN3kbMRbMiKMo8N66gxbLfWRlXgVcnn3BsJttC0FBBNyDIgx8o4YDbkrjJ7j7Mf6aYXn
XSrrY/1vLZc4HQhs4oLKiWCEX2T2IMq2ryiWxMEOoqjPJ845XvZ7ppyOqC1/qFjNG5Pp
tssh/QiRIiyXSuKmTjQUiRJKzhMJ+zATY/SKRcEYEGTQnVIc8wwQLdNWmwpKl1hkDDm6
MBXoO9hJ22lDhBgROwmRaAST2I5e79ZcDOHs4JbmbqhKGwHDRRc6pzHqEiCrUDTlDaeH
l85Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748422499; x=1749027299;
h=in-reply-to:content-disposition:mime-version:references:subject:cc
:to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=X4jr0jEwV3YNS8f7iVKb2L3Icr+a8dnf2UQtf6f1As8=;
b=JG3kDHDvarRFDkQKGdEb0MMtGzmxe5U8VfN/7kFbXB2zgo9FZCGMcp4O/6VQw15dv5
MeOZAomXorIF0vC99Pc1Xg3OZlquRQhExozAUBEdndDk0us0rQLJFNSaa+OqFEwZsN3u
1tFCOqSa5+JulYprgoxoGDZjXBUCL0lk5uxU8bU7hVS/0m7YjAwbltOQ52rWg9LVqCXz
uA2mdmUkIuK0VCj3UQZS3I5MKcs/oOsdQn4BiVdG8mLSczIAnU/fMXNvGSLTV+ZXjska
/I8hOyt/1a2kXW0eVk994haJD+T1N6ZOqCUFtNfrPu0vvAU6y+FzjFvvdvggtUXHP/MX
kg4Q==
X-Forwarded-Encrypted: i=1; AJvYcCUvD8yfp3M6xbBkmIyHPw7ieDz9rf6ttHf2POUjIphl6392WZCEh+svp55uL9q/RRrBt91uesLv4HKdN6nW@xxxxxxxxxxxxxxx, AJvYcCW4nZ+PV1cpT4/DmcZVGyDdEgXvTPzE7478xhLRTPooX7Qmihbwm+tbGf0lMsoC9PJoutrh/9jIJhl0@xxxxxxxxxxxxxxx, AJvYcCXIjQcI3I2bOoKTEnQqZJ40iyjXcRguR6nOj0EyvCaPBSq6biiexVkB3X6CHbhtqqK+LAZ1qo2RMDb3@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YwMTIuy+tC++VQzkHgynsk4s6MHs0kKnXp1ZcnnH+9KCF4+lxGf
Sp6sdaGK+fU6g0WIBaaI8KMdA99PM1gKCiZQASNXyEwo45nFogTrB4XS
X-Gm-Gg: ASbGncurlSckx7Elp+9oAxDMOoKPMcz7tCye37ICOe0iZJ39P3UObhnG6FkFgKIvUjX
R+D39VbZGEAyEtS0JqaoDkRrtC3XnTvbCu5+/5w1C1hz+JdFUyBHtY4E0+8r5/+KjrpEAXej176
hp9eDjQecezMsEWzKF/6l38V4VRW6jJTKSrZfw1cvLKrEroH8ccADRZdh/kCNQpbiVNyuinclul
GWVStNZy2WJtCM0ZWRq93tXVFrkG6qkuJoXOr6jPDJnjwGzYulhgi0shWViYbYNv7cbs/onAKRL
HhHNWv2B+1QzBdgfRw6Z2ra/NUVzJpR9ZRivKwJEQXtyVdITJ9AFDu6pk8iOd0LrETkDkIwVnD7
0eJjk/K8=
X-Google-Smtp-Source: AGHT+IHzDXo4DKV7NuIB2FHat2ZLCgGieMqt3tp4PCcFaDmAJxHMEYrCP10nDJxLNZ8k0RrjjTbMcg==
X-Received: by 2002:a05:600c:511d:b0:442:cab1:e092 with SMTP id 5b1f17b1804b1-44c91cc5591mr137161785e9.11.1748422498857;
Wed, 28 May 2025 01:54:58 -0700 (PDT)
Received: from Ansuel-XPS. (93-34-88-225.ip49.fastwebnet.it. [93.34.88.225])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eacd6e8asm865113f8f.70.2025.05.28.01.54.57
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:54:58 -0700 (PDT)
Message-ID: <6836cf62.5d0a0220.35d0aa.2025@xxxxxxxxxxxxx>
X-Google-Original-Message-ID: <aDbPYDACfIkaZMLj@Ansuel-XPS.>
Date: Wed, 28 May 2025 10:54:56 +0200
From: Christian Marangi <ansuelsmth@xxxxxxxxx>
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Cc: Michael Turquette <mturquette@xxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>,
Felix Fietkau <nbd@xxxxxxxx>, linux-clk@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH 4/5] dt-bindings: clock: airoha: Document support for
AN7583 clock
References: <20250528004924.19970-1-ansuelsmth@xxxxxxxxx>
<20250528004924.19970-5-ansuelsmth@xxxxxxxxx>
<f9aebfb8-6312-45db-be12-94580ad412cb@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f9aebfb8-6312-45db-be12-94580ad412cb@xxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 09:30:37AM +0200, Krzysztof Kozlowski wrote:
> On 28/05/2025 02:49, Christian Marangi wrote:
> > - if:
> > properties:
> > compatible:
> > @@ -75,6 +78,17 @@ allOf:
> > reg:
> > maxItems: 1
> >
> > + required:
> > + - reg
> > +
> > + - if:
> > + properties:
> > + compatible:
> > + const: airoha,an7583-clock
> > + then:
> > + properties:
> > + reg: false
>
>
> No resources here, so this should be part of parent node.
>
Ok hope you can help here. This is another case of "MFD" thing.
I was with the idea that it was O.K. to use this with very different
devices. (current scenario Clock controller and MDIO controller)
The node structure I had in mind was
system-controller@1fa20000 {
compatible = "airoha,an7583-scu", "syscon", "simple-mfd";
reg = <0x0 0x1fb00000 0x0 0x970>;
scuclk: scuclk {
compatible = "airoha,an7583-clock";
#clock-cells = <1>;
#reset-cells = <1>;
};
mdio {
compatible = "airoha,an7583-mdio";
#address-cells = <1>;
#size-cells = <0>;
mdio_0: bus@0 {
reg = <0>;
resets = <&scuclk AN7583_MDIO0>;
};
mdio_1: bus@1 {
reg = <1>;
resets = <&scuclk AN7583_MDIO1>;
};
};
};
But you want
system-controller@1fa20000 {
compatible = "airoha,an7583-scu", "syscon";
reg = <0x0 0x1fb00000 0x0 0x970>;
#clock-cells = <1>;
#reset-cells = <1>;
mdio_0: bus@0 {
reg = <0>;
resets = <&scuclk AN7583_MDIO0>;
};
mdio_1: bus@1 {
reg = <1>;
resets = <&scuclk AN7583_MDIO1>;
};
};
Again sorry if this question keeps coming around and I can totally
understand if you are getting annoyed by this. The reason I always ask
this is because it's a total PAIN to implement this with the driver
structure due to the old "simple-mfd" model.
(as again putting everything in a single node conflicts with the OF
principle of autoprobing stuff with compatible property)
--
Ansuel
Return-Path: <linux-kernel+bounces-665146-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AB4DE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:56:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id E0A767A9ADF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:54:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6ACDD275852;
Wed, 28 May 2025 08:55:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="GxGhZHqZ"
Received: from mail-m1973179.qiye.163.com (mail-m1973179.qiye.163.com [220.197.31.79])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 927C62459D9;
Wed, 28 May 2025 08:54:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.79
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422505; cv=none; b=eV5cOaBlG9BsYr+zSWej5IUT6AhUOp7l1YpI4SND4zoakFrXKwAxUiSv5TYeszPAKyNUlCJjvt5KS1/onvkm7i358bd3jSETOP00TVQ4pHaquf63yhV31iBsT9JK2FSrpDoMezuq2cRjt+m7NjLxXWw82KRZg1R23XtJ4w4vBxM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422505; c=relaxed/simple;
bh=MLBp24wcbgKRPnlptSWQ8hziXhIacRpYpei9LwVTpGU=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=fhkCoXBX/y6c9KV8Bn4bMJF3kSk9h5EE4VgxC2gK39LAuMbiB4TIVwCF94gqOF2GCKh64ACfv0Mvm25nU55D8A0VAz3wPThigyU0r+EgEMIQYSlqVWrLxe5f6QQ5dVumKLgVtw1rZBd/PGHimltbfmOsAMBzrlXwvEhvamMvWu0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=GxGhZHqZ; arc=none smtp.client-ip=220.197.31.79
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b15a620;
Wed, 28 May 2025 16:54:55 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Ulf Hansson <ulf.hansson@xxxxxxxxxx>,
Adrian Hunter <adrian.hunter@xxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>
Cc: BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
linux-mmc@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
Victor Shih <victor.shih@xxxxxxxxxxxxxxxxxxx>,
Shan-Chun Hung <shanchun1218@xxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Peter Robinson <pbrobinson@xxxxxxxxx>,
Ben Chuang <ben.chuang@xxxxxxxxxxxxxxxxxxx>,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
Subject: [PATCH v1 5/9] mmc: sdhci: add Black Sesame Technologies BST C1200 controller driver
Date: Wed, 28 May 2025 16:54:53 +0800
Message-Id: <20250528085453.481320-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVkaHh1DVkpOS0JNHktNQk4fQlYVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSUJDQ01VSk
tLVUtZBg++
X-HM-Tid: 0a97161a0bf009cckunma9364565397e19
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6K006Iyo4ATE3CEgNLg8YOR0M
PBYwFBhVSlVKTE9DT0lJT0JNQ05IVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQUhLTUpNNwY+
DKIM-Signature:a=rsa-sha256;
b=GxGhZHqZBB73a8Va6JfjYP/K3dNSI7VrjYB4kl0I3r+MM/AxrK0gyLUAOX02DXpi+5xcxqLV7FZEP76shajhDUh5jAhYg28Rl3VpgbEhdC9+3h9w/0BUjPqyNNGW5LkT22HysYjdARE0ETWRwIXkziOLh1mlriJTV9XKv41eG+U=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=M0KDY3dFlDrx1D5rACr2ExWBLZteeZvGd5a8LSlK7CQ=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add a driver for the DesignWare Mobile Storage Host Controller (DWCMSHC)
SDHCI controller found in Black Sesame Technologies C1200 SoCs.
The driver provides specialized clock configuration, tuning, voltage
switching, and power management for the BST DWCMSHC controller. It also
includes support for eMMC boot and memory-mapped I/O for CRM registers.
Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
---
drivers/mmc/host/Kconfig | 11 +
drivers/mmc/host/Makefile | 1 +
drivers/mmc/host/sdhci-of-bst-c1200.c | 920 ++++++++++++++++++++++++++
3 files changed, 932 insertions(+)
create mode 100644 drivers/mmc/host/sdhci-of-bst-c1200.c
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index 264e11fa58ea..a5b3c0beeb78 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -1112,3 +1112,14 @@ config MMC_LITEX
module will be called litex_mmc.
If unsure, say N.
+
+config MMC_SDHCI_BST
+ tristate "SDHCI OF support for the BST DWC MSHC"
+ depends on MMC_SDHCI_PLTFM
+ depends on OF
+ depends on COMMON_CLK
+ help
+ This selects Synopsys DesignWare Cores Mobile Storage Controller
+ support.
+ If you have a controller with this interface, say Y or M here.
+ If unsure, say N.
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
index 5147467ec825..08a281009d1d 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -13,6 +13,7 @@ obj-$(CONFIG_MMC_MXS) += mxs-mmc.o
obj-$(CONFIG_MMC_SDHCI) += sdhci.o
obj-$(CONFIG_MMC_SDHCI_UHS2) += sdhci-uhs2.o
obj-$(CONFIG_MMC_SDHCI_PCI) += sdhci-pci.o
+obj-$(CONFIG_MMC_SDHCI_BST) += sdhci-of-bst-c1200.o
sdhci-pci-y += sdhci-pci-core.o sdhci-pci-o2micro.o sdhci-pci-arasan.o \
sdhci-pci-dwc-mshc.o sdhci-pci-gli.o
obj-$(CONFIG_MMC_SDHCI_ACPI) += sdhci-acpi.o
diff --git a/drivers/mmc/host/sdhci-of-bst-c1200.c b/drivers/mmc/host/sdhci-of-bst-c1200.c
new file mode 100644
index 000000000000..c6d2e6273e96
--- /dev/null
+++ b/drivers/mmc/host/sdhci-of-bst-c1200.c
@@ -0,0 +1,920 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Black Sesame Technologies SDHCI driver
+ *
+ * Copyright (C) 2024 Black Sesame Technologies. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#include <linux/clk.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/delay.h>
+#include <linux/ktime.h>
+#include <linux/dmaengine.h>
+#include <linux/dma-mapping.h>
+#include <linux/of_reserved_mem.h>
+#include <linux/regulator/consumer.h>
+#include "sdhci.h"
+#include "sdhci-pltfm.h"
+
+struct dwcmshc_priv {
+ u32 phy_crm_reg_base;
+ u32 phy_crm_reg_size;
+};
+
+#define SDHCI_CLOCK_PLL_EN 0x0008
+#define SDHCI_TUNING_COUNT 0x20
+#define SDHCI_VENDOR_PTR_R 0xE8
+#define MBIU_CTRL 0x510
+#define BURST_INCR16_EN BIT(3)
+#define BURST_INCR8_EN BIT(2)
+#define BURST_INCR4_EN BIT(1)
+#define BURST_EN (BURST_INCR16_EN | BURST_INCR8_EN | BURST_INCR4_EN)
+
+/* Synopsys vendor specific registers */
+#define reg_offset_addr_vendor (sdhci_readw(host, SDHCI_VENDOR_PTR_R))
+#define SDHC_MHSC_VER_ID_R (reg_offset_addr_vendor)
+#define SDHC_MHSC_VER_TPYE_R (reg_offset_addr_vendor + 0x4)
+#define SDHC_MHSC_CTRL_R (reg_offset_addr_vendor + 0x8)
+#define SDHC_MBIU_CTRL_R (reg_offset_addr_vendor + 0x10)
+#define SDHC_EMMC_CTRL_R (reg_offset_addr_vendor + 0x2C)
+#define SDHC_BOOT_CTRL_R (reg_offset_addr_vendor + 0x2E)
+#define SDHC_GP_IN_R (reg_offset_addr_vendor + 0x30)
+#define SDHC_GP_OUT_R (reg_offset_addr_vendor + 0x34)
+#define SDHC_AT_CTRL_R (reg_offset_addr_vendor + 0x40)
+#define SDHC_AT_STAT_R (reg_offset_addr_vendor + 0x44)
+
+#define SDEMMC_CRM_BCLK_DIV_CTRL 0x08
+#define SDEMMC_CRM_RX_CLK_CTRL 0x14
+#define SDEMMC_CRM_TIMER_DIV_CTRL 0x0C
+#define SDEMMC_CRM_VOL_CTRL 0x1C
+#define DRIVER_NAME "sdhci_bst"
+#define BST_VOL_STABLE_ON (0x1 << 7)
+#define SDHCI_DUMP_BST(f, x...) \
+ pr_info("%s: " DRIVER_NAME ": " f, mmc_hostname(host->mmc), ##x)
+#define SD_3_3V 0
+#define SD_1_8V 1
+#define default_max_freq 200000ul
+
+void sdhci_bst_print_vendor(struct sdhci_host *host)
+{
+ SDHCI_DUMP_BST("============ SDHCI VENDOR REGISTER DUMP ===========\n");
+
+ SDHCI_DUMP_BST("VER_ID: 0x%08x | VER_TPYE: 0x%08x\n",
+ sdhci_readl(host, SDHC_MHSC_VER_ID_R),
+ sdhci_readl(host, SDHC_MHSC_VER_TPYE_R));
+ SDHCI_DUMP_BST("MHSC_CTRL: 0x%08x | MBIU_CTRL: 0x%08x\n",
+ sdhci_readw(host, SDHC_MHSC_CTRL_R),
+ sdhci_readw(host, SDHC_MBIU_CTRL_R));
+ SDHCI_DUMP_BST("EMMC_CTRL: 0x%08x | BOOT_CTRL: 0x%08x\n",
+ sdhci_readl(host, SDHC_EMMC_CTRL_R),
+ sdhci_readw(host, SDHC_BOOT_CTRL_R));
+ SDHCI_DUMP_BST("GP_IN: 0x%08x | GP_OUT: 0x%08x\n",
+ sdhci_readl(host, SDHC_GP_IN_R),
+ sdhci_readb(host, SDHC_GP_OUT_R));
+ SDHCI_DUMP_BST("AT_CTRL: 0x%08x | AT_STAT: 0x%08x\n",
+ sdhci_readb(host, SDHC_AT_CTRL_R),
+ sdhci_readb(host, SDHC_AT_STAT_R));
+}
+EXPORT_SYMBOL_GPL(sdhci_bst_print_vendor);
+
+static u32 bst_read_phys_bst(u32 phys_addr)
+{
+ u32 phys_addr_page = phys_addr & 0xFFFFE000;
+ u32 phys_offset = phys_addr & 0x00001FFF;
+ u32 map_size = phys_offset + sizeof(u32);
+ u32 ret = 0xDEADBEEF;
+ void *mem_mapped = ioremap(phys_addr_page, map_size);
+
+ if (mem_mapped) {
+ ret = (u32)ioread32(((u8 *)mem_mapped) + phys_offset);
+ iounmap(mem_mapped);
+ }
+
+ return ret;
+}
+
+static void bst_write_phys_bst(u32 phys_addr, u32 value)
+{
+ u32 phys_addr_page = phys_addr & 0xFFFFE000;
+ u32 phys_offset = phys_addr & 0x00001FFF;
+ u32 map_size = phys_offset + sizeof(u32);
+ void *mem_mapped = ioremap(phys_addr_page, map_size);
+
+ if (mem_mapped) {
+ iowrite32(value, ((u8 *)mem_mapped) + phys_offset);
+ iounmap(mem_mapped);
+ }
+}
+
+static unsigned int bst_get_max_clock(struct sdhci_host *host)
+{
+ return host->mmc->f_max;
+}
+
+static unsigned int bst_get_min_clock(struct sdhci_host *host)
+{
+ return host->mmc->f_min;
+}
+
+struct rx_ctrl {
+ struct {
+ u32 rx_revert:1;
+ u32 rx_clk_sel_sec:1;
+ u32 rx_clk_div:4;
+ u32 rx_clk_phase_inner:2;
+ u32 rx_clk_sel_first:1;
+ u32 rx_clk_phase_out:2;
+ u32 rx_clk_en:1;
+ u32 res0:20;
+ } bit;
+ u32 reg;
+};
+
+struct sdmmc_iocfg {
+ struct {
+ u32 res0:16;
+ u32 SC_SDMMC0_PVDD18POCSD0:2;
+ u32 SC_SDMMC0_PVDD18POCSD1:2;
+ u32 SC_SDMMC0_PVDD18POCSD2:2;
+ u32 SC_SDMMC1_PVDD18POCSD0:2;
+ u32 SC_SDMMC1_PVDD18POCSD1:2;
+ u32 SC_SDMMC1_PVDD18POCSD2:2;
+ u32 res1:4;
+ } bit;
+ u32 reg;
+};
+
+void sdhci_enable_bst_clk(struct sdhci_host *host, unsigned int clk)
+{
+ struct sdhci_pltfm_host *pltfm_host;
+ struct dwcmshc_priv *priv;
+ unsigned int div;
+ u32 val;
+ struct rx_ctrl rx_reg;
+
+ pltfm_host = sdhci_priv(host);
+ priv = sdhci_pltfm_priv(pltfm_host);
+ if (clk == 0) {
+ div = clk;
+ } else if (clk > default_max_freq) {
+ div = clk / 1000;
+ div = default_max_freq / div;
+ } else if (clk < 1500) {
+ div = clk;
+ } else {
+ div = default_max_freq * 100;
+ div = div / clk;
+ div /= 100;
+ }
+
+ clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL);
+ clk &= ~SDHCI_CLOCK_CARD_EN;
+ sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
+
+ clk &= ~SDHCI_CLOCK_PLL_EN;
+ sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
+
+ val = bst_read_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_TIMER_DIV_CTRL);
+ val &= ~(1 << 8);
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_TIMER_DIV_CTRL, val);
+
+ val = bst_read_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_TIMER_DIV_CTRL);
+ val &= ~(0xff);
+ val |= 0x20;
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_TIMER_DIV_CTRL, val);
+
+ val = bst_read_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_TIMER_DIV_CTRL);
+ val |= 1 << 8;
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_TIMER_DIV_CTRL, val);
+
+ val = bst_read_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_RX_CLK_CTRL);
+ val &= ~(1 << 11);
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_RX_CLK_CTRL, val);
+
+ rx_reg.reg = bst_read_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_RX_CLK_CTRL);
+
+ rx_reg.bit.rx_revert = 0;
+ rx_reg.bit.rx_clk_sel_sec = 1;
+ rx_reg.bit.rx_clk_div = 4;
+ rx_reg.bit.rx_clk_phase_inner = 2;
+ rx_reg.bit.rx_clk_sel_first = 0;
+ rx_reg.bit.rx_clk_phase_out = 2;
+
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_RX_CLK_CTRL, rx_reg.reg);
+
+ val = bst_read_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_RX_CLK_CTRL);
+ val |= 1 << 11;
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_RX_CLK_CTRL, val);
+
+ /* Disable clock first */
+ val = bst_read_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_BCLK_DIV_CTRL);
+ val &= ~0x0400;
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_BCLK_DIV_CTRL, val);
+
+ /* Setup clock divider */
+ val = bst_read_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_BCLK_DIV_CTRL);
+ val &= ~0x03ff;
+ val |= div;
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_BCLK_DIV_CTRL, val);
+
+ /* Enable clock */
+ val = bst_read_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_BCLK_DIV_CTRL);
+ val |= 0x0400;
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_BCLK_DIV_CTRL, val);
+
+ sdhci_writew(host, (div & 0xff) << 8, SDHCI_CLOCK_CONTROL);
+
+ sdhci_writew(host, (div & 0xff) << 8, SDHCI_CLOCK_CONTROL);
+ clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL);
+ clk |= SDHCI_CLOCK_PLL_EN;
+ sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
+
+ clk |= SDHCI_CLOCK_CARD_EN;
+ sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
+
+ clk |= SDHCI_CLOCK_INT_EN;
+ sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
+}
+
+void sdhci_set_bst_clock(struct sdhci_host *host, unsigned int clock)
+{
+ if (clock == 0)
+ return;
+ sdhci_enable_bst_clk(host, clock);
+}
+
+/**
+ * sdhci_bst_reset - Reset the SDHCI host controller
+ * @host: SDHCI host controller
+ * @mask: Reset mask
+ *
+ * Performs a reset of the SDHCI host controller with special handling for eMMC.
+ */
+static void sdhci_bst_reset(struct sdhci_host *host, u8 mask)
+{
+ if (host->mmc->caps2 & MMC_CAP2_NO_SD) {
+ sdhci_writew(host,
+ sdhci_readw(host, SDHC_EMMC_CTRL_R) & (~BIT(2)),
+ SDHC_EMMC_CTRL_R);
+ sdhci_reset(host, mask);
+ usleep_range(10, 20);
+ sdhci_writew(host,
+ sdhci_readw(host, SDHC_EMMC_CTRL_R) | BIT(2),
+ SDHC_EMMC_CTRL_R);
+ } else {
+ sdhci_reset(host, mask);
+ }
+}
+
+/**
+ * sdhci_bst_timeout - Set timeout value for commands
+ * @host: SDHCI host controller
+ * @cmd: MMC command
+ *
+ * Sets the timeout control register to maximum value (0xE).
+ */
+static void sdhci_bst_timeout(struct sdhci_host *host, struct mmc_command *cmd)
+{
+ sdhci_writeb(host, 0xE, SDHCI_TIMEOUT_CONTROL);
+}
+
+/**
+ * sdhci_bst_set_power - Set power mode and voltage
+ * @host: SDHCI host controller
+ * @mode: Power mode to set
+ * @vdd: Voltage to set
+ *
+ * Sets power mode and voltage, also configures MBIU control register.
+ */
+static void sdhci_bst_set_power(struct sdhci_host *host, unsigned char mode,
+ unsigned short vdd)
+{
+ sdhci_set_power(host, mode, vdd);
+ sdhci_writeb(host, 0xF, SDHCI_POWER_CONTROL);
+ sdhci_writew(host,
+ (sdhci_readw(host, MBIU_CTRL) & (~0xf)) | BURST_EN,
+ MBIU_CTRL);
+}
+
+/**
+ * bst_sdhci_execute_tuning - Execute tuning procedure
+ * @host: SDHCI host controller
+ * @opcode: Opcode to use for tuning
+ *
+ * Performs tuning procedure by trying different values and selecting the best one.
+ *
+ * Return: 0 on success, negative errno on failure
+ */
+static int bst_sdhci_execute_tuning(struct sdhci_host *host, u32 opcode)
+{
+ struct sdhci_pltfm_host *pltfm_host;
+ struct dwcmshc_priv *priv;
+ unsigned int clk = 0, timeout;
+ int ret = 0, error;
+ int start0 = -1, end0 = -1, best = 0;
+ int start1 = -1, end1 = -1, flag = 0;
+ int i;
+ u32 val;
+
+ pltfm_host = sdhci_priv(host);
+ priv = sdhci_pltfm_priv(pltfm_host);
+
+ for (i = 0; i < SDHCI_TUNING_COUNT; i++) {
+ /* Protected write */
+ bst_write_phys_bst(priv->phy_crm_reg_base + 0x88, 0x1234abcd);
+ /* Write tuning value */
+ bst_write_phys_bst(priv->phy_crm_reg_base + 0x94,
+ (1ul << i) - 1);
+
+ timeout = 20;
+ while (!((clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL)) &
+ SDHCI_CLOCK_INT_STABLE)) {
+ if (timeout == 0) {
+ pr_err("%s: Internal clock never stabilised.\n",
+ __func__);
+ return -EBUSY;
+ }
+ timeout--;
+ usleep_range(1000, 1100);
+ }
+
+ ret = mmc_send_tuning(host->mmc, opcode, &error);
+ if (ret != 0) {
+ flag = 1;
+ } else {
+ if (flag == 0) {
+ if (start0 == -1)
+ start0 = i;
+ end0 = i;
+ } else {
+ if (start1 == -1)
+ start1 = i;
+ end1 = i;
+ }
+ }
+ }
+
+ /* Calculate best tuning value */
+ if (end0 - start0 >= end1 - start1)
+ best = ((end0 - start0) >> 1) + start0;
+ else
+ best = ((end1 - start1) >> 1) + start1;
+
+ if (best < 0)
+ best = 0;
+
+ bst_write_phys_bst(priv->phy_crm_reg_base + 0x94, (1ul << best) - 1);
+ timeout = 20;
+
+ while (!((clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL)) &
+ SDHCI_CLOCK_INT_STABLE)) {
+ if (timeout == 0) {
+ pr_err("%s: Internal clock never stabilised.\n",
+ __func__);
+ return -EBUSY;
+ }
+ timeout--;
+ usleep_range(1000, 1100);
+ }
+
+ return 0;
+}
+
+/**
+ * sdhci_bst_voltage_switch - Perform voltage switch
+ * @host: SDHCI host controller
+ *
+ * Enables voltage stable power.
+ */
+static void sdhci_bst_voltage_switch(struct sdhci_host *host)
+{
+ struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
+ struct dwcmshc_priv *priv = sdhci_pltfm_priv(pltfm_host);
+
+ /* vol stable power on */
+ bst_write_phys_bst(priv->phy_crm_reg_base + SDEMMC_CRM_VOL_CTRL,
+ BST_VOL_STABLE_ON);
+}
+
+static const struct sdhci_ops sdhci_dwcmshc_ops = {
+ .set_clock = sdhci_set_bst_clock,
+ .set_bus_width = sdhci_set_bus_width,
+ .set_uhs_signaling = sdhci_set_uhs_signaling,
+ .get_min_clock = bst_get_min_clock,
+ .get_max_clock = bst_get_max_clock,
+ .reset = sdhci_bst_reset,
+ .set_power = sdhci_bst_set_power,
+ .set_timeout = sdhci_bst_timeout,
+ .platform_execute_tuning = bst_sdhci_execute_tuning,
+ .voltage_switch = sdhci_bst_voltage_switch,
+};
+
+static const struct sdhci_pltfm_data sdhci_dwcmshc_pdata = {
+ .ops = &sdhci_dwcmshc_ops,
+ .quirks = SDHCI_QUIRK_DELAY_AFTER_POWER |
+ SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
+ SDHCI_QUIRK_INVERTED_WRITE_PROTECT,
+ .quirks2 = SDHCI_QUIRK2_BROKEN_DDR50 |
+ SDHCI_QUIRK2_TUNING_WORK_AROUND |
+ SDHCI_QUIRK2_ACMD23_BROKEN,
+};
+
+static void bst_sdhci_allocate_bounce_buffer(struct sdhci_host *host)
+{
+ struct mmc_host *mmc = host->mmc;
+ unsigned int max_blocks;
+ unsigned int bounce_size;
+ int ret;
+
+ /*
+ * Cap the bounce buffer at 64KB. Using a bigger bounce buffer
+ * has diminishing returns, this is probably because SD/MMC
+ * cards are usually optimized to handle this size of requests.
+ */
+ bounce_size = SZ_32K;
+ /*
+ * Adjust downwards to maximum request size if this is less
+ * than our segment size, else hammer down the maximum
+ * request size to the maximum buffer size.
+ */
+ if (mmc->max_req_size < bounce_size)
+ bounce_size = mmc->max_req_size;
+ max_blocks = bounce_size / 512;
+
+ ret = of_reserved_mem_device_init_by_idx(mmc_dev(mmc), mmc_dev(mmc)->of_node, 0);
+ if (ret) {
+ dev_err(mmc_dev(mmc), "of_reserved_mem_device_init error\n");
+ return;
+ }
+ host->bounce_buffer = dma_alloc_coherent(mmc_dev(mmc), bounce_size,
+ &host->bounce_addr, GFP_KERNEL);
+
+ ret = dma_mapping_error(mmc_dev(mmc), host->bounce_addr);
+ if (ret) {
+ devm_kfree(mmc_dev(mmc), host->bounce_buffer);
+ host->bounce_buffer = NULL;
+ /* Again fall back to max_segs == 1 */
+ return;
+ }
+
+ host->bounce_buffer_size = bounce_size;
+
+ /* Lie about this since we're bouncing */
+ mmc->max_segs = max_blocks;
+ mmc->max_seg_size = bounce_size;
+ mmc->max_req_size = bounce_size;
+
+ pr_info("BST reallocate %s bounce up to %u segments into one, max segment size %u bytes\n",
+ mmc_hostname(mmc), max_blocks, bounce_size);
+}
+
+static int bst_sdhci_set_dma_mask(struct sdhci_host *host)
+{
+ struct mmc_host *mmc = host->mmc;
+ struct device *dev = mmc_dev(mmc);
+ int ret = -EINVAL;
+
+ if (host->quirks2 & SDHCI_QUIRK2_BROKEN_64_BIT_DMA)
+ host->flags &= ~SDHCI_USE_64_BIT_DMA;
+
+ /* Try 64-bit mask if hardware is capable of it */
+ if (host->flags & SDHCI_USE_64_BIT_DMA) {
+ ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64));
+ if (ret) {
+ pr_warn("%s: Failed to set 64-bit DMA mask.\n",
+ mmc_hostname(mmc));
+ host->flags &= ~SDHCI_USE_64_BIT_DMA;
+ }
+ }
+
+ /* 32-bit mask as default & fallback */
+ if (ret) {
+ ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32));
+ if (ret)
+ pr_warn("%s: Failed to set 32-bit DMA mask.\n",
+ mmc_hostname(mmc));
+ }
+
+ return ret;
+}
+
+int bst_sdhci_setup_host(struct sdhci_host *host)
+{
+ struct mmc_host *mmc;
+ u32 max_current_caps;
+ unsigned int ocr_avail;
+ unsigned int override_timeout_clk;
+ u32 max_clk;
+ int ret = 0;
+ bool enable_vqmmc = false;
+
+ WARN_ON(!host);
+ if (!host)
+ return -EINVAL;
+
+ mmc = host->mmc;
+
+ /*
+ * If there are external regulators, get them. Note this must be done
+ * early before resetting the host and reading the capabilities so that
+ * the host can take the appropriate action if regulators are not
+ * available.
+ */
+ if (!mmc->supply.vqmmc) {
+ ret = mmc_regulator_get_supply(mmc);
+ if (ret)
+ return ret;
+ enable_vqmmc = true;
+ }
+
+ pr_info("Version: 0x%08x | Present: 0x%08x\n",
+ sdhci_readw(host, SDHCI_HOST_VERSION),
+ sdhci_readl(host, SDHCI_PRESENT_STATE));
+ pr_info("Caps: 0x%08x | Caps_1: 0x%08x\n",
+ sdhci_readl(host, SDHCI_CAPABILITIES),
+ sdhci_readl(host, SDHCI_CAPABILITIES_1));
+
+ sdhci_read_caps(host);
+
+ override_timeout_clk = host->timeout_clk;
+
+ host->flags |= SDHCI_USE_SDMA;
+
+ if (host->flags & (SDHCI_USE_SDMA | SDHCI_USE_ADMA)) {
+ if (host->ops->set_dma_mask)
+ ret = host->ops->set_dma_mask(host);
+ else
+ ret = bst_sdhci_set_dma_mask(host);
+
+ if (!ret && host->ops->enable_dma)
+ ret = host->ops->enable_dma(host);
+
+ if (ret) {
+ pr_warn("%s: No suitable DMA available - falling back to PIO\n",
+ mmc_hostname(mmc));
+ host->flags &= ~(SDHCI_USE_SDMA | SDHCI_USE_ADMA);
+
+ ret = 0;
+ }
+ }
+
+ if (host->flags & SDHCI_USE_ADMA) {
+ dma_addr_t dma;
+ void *buf;
+
+ if (!(host->flags & SDHCI_USE_64_BIT_DMA))
+ host->alloc_desc_sz = SDHCI_ADMA2_32_DESC_SZ;
+ else if (!host->alloc_desc_sz)
+ host->alloc_desc_sz = SDHCI_ADMA2_64_DESC_SZ(host);
+
+ host->desc_sz = host->alloc_desc_sz;
+ host->adma_table_sz = host->adma_table_cnt * host->desc_sz;
+
+ host->align_buffer_sz = SDHCI_MAX_SEGS * SDHCI_ADMA2_ALIGN;
+ /*
+ * Use zalloc to zero the reserved high 32-bits of 128-bit
+ * descriptors so that they never need to be written.
+ */
+ buf = dma_alloc_coherent(mmc_dev(mmc),
+ host->align_buffer_sz + host->adma_table_sz,
+ &dma, GFP_KERNEL);
+ if (!buf) {
+ pr_warn("%s: Unable to allocate ADMA buffers - falling back to standard DMA\n",
+ mmc_hostname(mmc));
+ host->flags &= ~SDHCI_USE_ADMA;
+ } else if ((dma + host->align_buffer_sz) &
+ (SDHCI_ADMA2_DESC_ALIGN - 1)) {
+ pr_warn("%s: unable to allocate aligned ADMA descriptor\n",
+ mmc_hostname(mmc));
+ host->flags &= ~SDHCI_USE_ADMA;
+ dma_free_coherent(mmc_dev(mmc), host->align_buffer_sz +
+ host->adma_table_sz, buf, dma);
+ } else {
+ host->align_buffer = buf;
+ host->align_addr = dma;
+
+ host->adma_table = buf + host->align_buffer_sz;
+ host->adma_addr = dma + host->align_buffer_sz;
+ }
+ }
+
+ host->max_clk = FIELD_GET(SDHCI_CLOCK_V3_BASE_MASK, host->caps);
+
+ host->max_clk *= 1000000;
+ if (host->max_clk == 0 || host->quirks &
+ SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN) {
+ if (!host->ops->get_max_clock) {
+ pr_err("%s: Hardware doesn't specify base clock frequency.\n",
+ mmc_hostname(mmc));
+ ret = -ENODEV;
+ goto undma;
+ }
+ host->max_clk = host->ops->get_max_clock(host);
+ }
+
+ /*
+ * Set host parameters.
+ */
+ max_clk = host->max_clk;
+
+ if (host->ops->get_min_clock)
+ mmc->f_min = host->ops->get_min_clock(host);
+
+ if (!(host->quirks & SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK)) {
+ host->timeout_clk = FIELD_GET(SDHCI_TIMEOUT_CLK_MASK, host->caps);
+
+ if (host->caps & SDHCI_TIMEOUT_CLK_UNIT)
+ host->timeout_clk *= 1000;
+
+ if (host->timeout_clk == 0) {
+ if (!host->ops->get_timeout_clock) {
+ pr_err("%s: Hardware doesn't specify timeout clock frequency.\n",
+ mmc_hostname(mmc));
+ ret = -ENODEV;
+ goto undma;
+ }
+
+ host->timeout_clk =
+ DIV_ROUND_UP(host->ops->get_timeout_clock(host),
+ 1000);
+ }
+
+ if (override_timeout_clk)
+ host->timeout_clk = override_timeout_clk;
+
+ mmc->max_busy_timeout = host->ops->get_max_timeout_count ?
+ host->ops->get_max_timeout_count(host) : 1 << 27;
+ mmc->max_busy_timeout /= host->timeout_clk;
+ }
+
+ mmc->caps |= MMC_CAP_SDIO_IRQ | MMC_CAP_CMD23;
+ mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD;
+
+ if (host->quirks & SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12)
+ host->flags |= SDHCI_AUTO_CMD12;
+
+ /*
+ * A controller may support 8-bit width, but the board itself
+ * might not have the pins brought out. Boards that support
+ * 8-bit width must set "mmc->caps |= MMC_CAP_8_BIT_DATA;" in
+ * their platform code before calling sdhci_add_host(), and we
+ * won't assume 8-bit width for hosts without that CAP.
+ */
+ if (!(host->quirks & SDHCI_QUIRK_FORCE_1_BIT_DATA))
+ mmc->caps |= MMC_CAP_4_BIT_DATA;
+
+ if (host->quirks2 & SDHCI_QUIRK2_HOST_NO_CMD23)
+ mmc->caps &= ~MMC_CAP_CMD23;
+
+ if (host->caps & SDHCI_CAN_DO_HISPD)
+ mmc->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED;
+
+ /* Any UHS-I mode in caps implies SDR12 and SDR25 support. */
+ if (host->caps1 & (SDHCI_SUPPORT_SDR104 | SDHCI_SUPPORT_SDR50 |
+ SDHCI_SUPPORT_DDR50))
+ mmc->caps |= MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25;
+
+ /* SDR104 supports also implies SDR50 support */
+ if (host->caps1 & SDHCI_SUPPORT_SDR104) {
+ mmc->caps |= MMC_CAP_UHS_SDR104 | MMC_CAP_UHS_SDR50;
+ /* SD3.0: SDR104 is supported so (for eMMC) the caps2
+ * field can be promoted to support HS200.
+ */
+ if (!(host->quirks2 & SDHCI_QUIRK2_BROKEN_HS200))
+ mmc->caps2 |= MMC_CAP2_HS200;
+ }
+
+ if ((mmc->caps2 & MMC_CAP2_HSX00_1_2V) &&
+ (IS_ERR(mmc->supply.vqmmc) ||
+ !regulator_is_supported_voltage(mmc->supply.vqmmc, 1100000,
+ 1300000)))
+ mmc->caps2 &= ~MMC_CAP2_HSX00_1_2V;
+
+ /* Does the host need tuning for SDR50? */
+ if (host->caps1 & SDHCI_USE_SDR50_TUNING)
+ host->flags |= SDHCI_SDR50_NEEDS_TUNING;
+
+ /* Driver Type(s) (A, C, D) supported by the host */
+ if (host->caps1 & SDHCI_DRIVER_TYPE_A)
+ mmc->caps |= MMC_CAP_DRIVER_TYPE_A;
+ if (host->caps1 & SDHCI_DRIVER_TYPE_C)
+ mmc->caps |= MMC_CAP_DRIVER_TYPE_C;
+ if (host->caps1 & SDHCI_DRIVER_TYPE_D)
+ mmc->caps |= MMC_CAP_DRIVER_TYPE_D;
+
+ /* Initial value for re-tuning timer count */
+ host->tuning_count = FIELD_GET(SDHCI_RETUNING_TIMER_COUNT_MASK,
+ host->caps1);
+
+ /*
+ * In case Re-tuning Timer is not disabled, the actual value of
+ * re-tuning timer will be 2 ^ (n - 1).
+ */
+ if (host->tuning_count)
+ host->tuning_count = 1 << (host->tuning_count - 1);
+
+ /* Re-tuning mode supported by the Host Controller */
+ host->tuning_mode = FIELD_GET(SDHCI_RETUNING_MODE_MASK, host->caps1);
+
+ ocr_avail = 0;
+
+ if (host->caps & SDHCI_CAN_VDD_330) {
+ ocr_avail |= MMC_VDD_32_33 | MMC_VDD_33_34;
+
+ mmc->max_current_330 = FIELD_GET(SDHCI_MAX_CURRENT_330_MASK,
+ max_current_caps) *
+ SDHCI_MAX_CURRENT_MULTIPLIER;
+ }
+ if (host->caps & SDHCI_CAN_VDD_300) {
+ ocr_avail |= MMC_VDD_29_30 | MMC_VDD_30_31;
+
+ mmc->max_current_300 = FIELD_GET(SDHCI_MAX_CURRENT_300_MASK,
+ max_current_caps) *
+ SDHCI_MAX_CURRENT_MULTIPLIER;
+ }
+ if (host->caps & SDHCI_CAN_VDD_180) {
+ ocr_avail |= MMC_VDD_165_195;
+
+ mmc->max_current_180 = FIELD_GET(SDHCI_MAX_CURRENT_180_MASK,
+ max_current_caps) *
+ SDHCI_MAX_CURRENT_MULTIPLIER;
+ }
+
+ /* If OCR set by host, use it instead. */
+ if (host->ocr_mask)
+ ocr_avail = host->ocr_mask;
+
+ /* If OCR set by external regulators, give it highest prio. */
+ if (mmc->ocr_avail)
+ ocr_avail = mmc->ocr_avail;
+
+ mmc->ocr_avail = ocr_avail;
+ mmc->ocr_avail_sdio = ocr_avail;
+ if (host->ocr_avail_sdio)
+ mmc->ocr_avail_sdio &= host->ocr_avail_sdio;
+ mmc->ocr_avail_sd = ocr_avail;
+ if (host->ocr_avail_sd)
+ mmc->ocr_avail_sd &= host->ocr_avail_sd;
+ else /* normal SD controllers don't support 1.8V */
+ mmc->ocr_avail_sd &= ~MMC_VDD_165_195;
+ mmc->ocr_avail_mmc = ocr_avail;
+ if (host->ocr_avail_mmc)
+ mmc->ocr_avail_mmc &= host->ocr_avail_mmc;
+
+ if ((mmc->caps & (MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25 |
+ MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR104 |
+ MMC_CAP_UHS_DDR50 | MMC_CAP_1_8V_DDR)) ||
+ (mmc->caps2 & (MMC_CAP2_HS200_1_8V_SDR | MMC_CAP2_HS400_1_8V)))
+ host->flags |= SDHCI_SIGNALING_180;
+
+ spin_lock_init(&host->lock);
+
+ /*
+ * Maximum number of sectors in one transfer. Limited by SDMA boundary
+ * size (512KiB). Note some tuning modes impose a 4MiB limit, but this
+ * is less anyway.
+ */
+ mmc->max_req_size = 524288;
+ /*
+ * Maximum number of segments. Depends on if the hardware
+ * can do scatter/gather or not.
+ */
+ mmc->max_segs = 1;
+ mmc->max_req_size = min_t(size_t, mmc->max_req_size,
+ dma_max_mapping_size(mmc_dev(mmc)));
+
+ mmc->max_seg_size = mmc->max_req_size;
+
+ mmc->max_blk_size = (host->caps & SDHCI_MAX_BLOCK_MASK) >>
+ SDHCI_MAX_BLOCK_SHIFT;
+
+ mmc->max_blk_size = 512 << mmc->max_blk_size;
+
+ /*
+ * Maximum block count.
+ */
+ mmc->max_blk_count = (host->quirks & SDHCI_QUIRK_NO_MULTIBLOCK) ? 1 : 65535;
+
+ if (mmc->max_segs == 1)
+ /* This may alter mmc->*_blk_* parameters */
+ // bst sdhci must reallocate bounce buffer
+ bst_sdhci_allocate_bounce_buffer(host);
+
+ return 0;
+
+undma:
+ if (host->align_buffer)
+ dma_free_coherent(mmc_dev(mmc), host->align_buffer_sz +
+ host->adma_table_sz, host->align_buffer,
+ host->align_addr);
+ host->adma_table = NULL;
+ host->align_buffer = NULL;
+
+ return ret;
+}
+
+static int bst_sdhci_add_host(struct sdhci_host *host)
+{
+ int ret;
+
+ ret = bst_sdhci_setup_host(host);
+ if (ret)
+ return ret;
+
+ ret = __sdhci_add_host(host);
+ if (ret)
+ goto cleanup;
+
+ return 0;
+
+cleanup:
+ sdhci_cleanup_host(host);
+
+ return ret;
+}
+
+/**
+ * dwcmshc_probe - Platform driver probe
+ * @pdev: Platform device
+ *
+ * Initializes the SDHCI host controller and registers it.
+ *
+ * Return: 0 on success, negative errno on failure
+ */
+static int dwcmshc_probe(struct platform_device *pdev)
+{
+ struct sdhci_pltfm_host *pltfm_host;
+ struct sdhci_host *host;
+ struct dwcmshc_priv *priv;
+ int err;
+
+ host = sdhci_pltfm_init(pdev, &sdhci_dwcmshc_pdata,
+ sizeof(struct dwcmshc_priv));
+ if (IS_ERR(host))
+ return PTR_ERR(host);
+
+ pltfm_host = sdhci_priv(host);
+ priv = sdhci_pltfm_priv(pltfm_host);
+
+ err = mmc_of_parse(host->mmc);
+ if (err)
+ goto err_clk;
+
+ sdhci_get_of_property(pdev);
+ device_property_read_u32(&pdev->dev, "mmc_crm_base",
+ &priv->phy_crm_reg_base);
+ device_property_read_u32(&pdev->dev, "mmc_crm_size",
+ &priv->phy_crm_reg_size);
+
+ err = bst_sdhci_add_host(host);
+ if (err)
+ goto err_clk;
+
+ return 0;
+
+err_clk:
+ sdhci_pltfm_free(pdev);
+ return err;
+}
+
+/**
+ * dwcmshc_remove - Platform driver remove
+ * @pdev: Platform device
+ *
+ * Removes the SDHCI host controller.
+ *
+ * Return: 0 on success
+ */
+static void dwcmshc_remove(struct platform_device *pdev)
+{
+ struct sdhci_host *host = platform_get_drvdata(pdev);
+
+ sdhci_remove_host(host, 0);
+ sdhci_pltfm_free(pdev);
+}
+
+static const struct of_device_id sdhci_dwcmshc_dt_ids[] = {
+ { .compatible = "bst,dwcmshc-sdhci" },
+ {}
+};
+MODULE_DEVICE_TABLE(of, sdhci_dwcmshc_dt_ids);
+
+static struct platform_driver sdhci_dwcmshc_driver = {
+ .driver = {
+ .name = "sdhci-dwcmshc",
+ .of_match_table = sdhci_dwcmshc_dt_ids,
+ },
+ .probe = dwcmshc_probe,
+ .remove = dwcmshc_remove,
+};
+module_platform_driver(sdhci_dwcmshc_driver);
+
+MODULE_DESCRIPTION("SDHCI platform driver for BST DWC MSHC");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("BST Ltd.");
--
2.25.1
Return-Path: <linux-kernel+bounces-665147-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6733141E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:56:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 157794A4C5D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:56:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E24032741CB;
Wed, 28 May 2025 08:55:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="e8d1bcyY"
Received: from mail-m19731103.qiye.163.com (mail-m19731103.qiye.163.com [220.197.31.103])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 058922750F9
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.103
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422507; cv=none; b=XDTANxa+CA0SBS4LL4hU24xNQHTrfk8p4D3TJJobSCPvQr97I3aQSWRUMNT7MxPc/tB1GnCtN9nxO3abxAiVnle+H/RbDMm7B4Das0PIFarcBMGIafP5uQQ3rU8P7P4QS5Mg+ke02RqNMRMmJGS+GgMakMAoJyGEpPoutqUwGBU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422507; c=relaxed/simple;
bh=DzqbbUNKUcXJFkF6VPHwioabnK2NZAslUMivfzk5AFc=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=h17QQO0ApApQ0hfcGSqMVUg4ncFgR/71xu0cM/93/pew/avWKVKXI6Pi4NlsJr/w2zE7pdmAwHgwkwivmGBDdfjqxIcwSeGizSoDK/mBW8GjKZfq9dn1864g3zedJzt81H5hSyEokDNJJ3zupqlSrleuikpUW7cPAhBR3ndMShA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=e8d1bcyY; arc=none smtp.client-ip=220.197.31.103
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b15a642;
Wed, 28 May 2025 16:55:01 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Catalin Marinas <catalin.marinas@xxxxxxx>,
Will Deacon <will@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>
Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxxxx>,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
Dmitry Baryshkov <lumag@xxxxxxxxxx>,
Vignesh Raghavendra <vigneshr@xxxxxx>,
=?UTF-8?q?N=C3=ADcolas=20F=20=2E=20R=20=2E=20A=20=2E=20Prado?= <nfraprado@xxxxxxxxxxxxx>,
Taniya Das <quic_tdas@xxxxxxxxxxx>,
Eric Biggers <ebiggers@xxxxxxxxxx>,
Ross Burton <ross.burton@xxxxxxx>,
Elinor Montmasson <elinor.montmasson@xxxxxxxxxxxxxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>
Subject: [PATCH v1 7/9] arm64: defconfig: Enable BST SoC
Date: Wed, 28 May 2025 16:54:59 +0800
Message-Id: <20250528085459.481424-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVkZSk8aVhkfQkpOS0kdTB9IGVYVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSUJDQ01VSk
tLVUtZBg++
X-HM-Tid: 0a97161a225c09cckunmb0655d34397ebd
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6OjY6Dhw6MzErIkhNLg0COSI9
HjlPCi1VSlVKTE9DT0lJTktJT0NJVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQUpMTE83Bg++
DKIM-Signature:a=rsa-sha256;
b=e8d1bcyYgMfcqFBcfcKCbu8/3vbHRzSzf5RSyZnxz4MgvfCDqEOywydTOFxg7XSH1np/n+zEKwn5LiDGvWelykoXnCLRydhcf9ZmjKq+6huVrXyasFGjDwJSma/6mgnS+RF1TxdtUzQNbb6Ux12ypC/ks3b7epluQ9nt91e4brE=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=FvQqVbQ2+SqL/kfE6tpmwT7tqLXppZmdY3mZKZt7Fhk=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Enable BST C1200 SoC support at ARM64 defconfig
Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
---
arch/arm64/configs/defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 5bb8f09422a2..9f072028fb72 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -45,6 +45,8 @@ CONFIG_ARCH_BCMBCA=y
CONFIG_ARCH_BRCMSTB=y
CONFIG_ARCH_BERLIN=y
CONFIG_ARCH_BLAIZE=y
+CONFIG_ARCH_BST=y
+CONFIG_ARCH_BSTC1200=y
CONFIG_ARCH_EXYNOS=y
CONFIG_ARCH_SPARX5=y
CONFIG_ARCH_K3=y
--
2.25.1
Return-Path: <linux-kernel+bounces-665149-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F19D941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:56:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id E05CF4A50E7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:56:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A7817274FCB;
Wed, 28 May 2025 08:55:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="cLiEK62g";
dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="pQBcE1Ln"
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E9992741D5
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422528; cv=none; b=RDoPwz7WJ5+/+IxU7ZBmBO8LEbNufS7T/RdP7kvnZnhYq2OMKQcCVEFsZsuAliL8daEqTNeE0bIYf1zqIjgFah83E55oQTQMi2hlkaT05mXpq4JvBYeVh6O+D35OMsNOuJe02F1Ayc/Wod7Qob5t7dztlo3wGMVGOVwLX/0BNbo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422528; c=relaxed/simple;
bh=HtELk90LA0L/aE4oz8Fm3MhpHiBMfmMzvrlqm3b+VVw=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=HAqPwRzNzgeycc+g6ZlBJ75qt65hU4eiIu5n+cybN5mFrSesTp2x24Skn4Ee+ztUgmLNX4rQq0xfwcqpbXqu5UolaamKNUqHdoxmYc44129aGY5Yi/aOw7IMG3P4p6f6O0RRavUl9OEdKDSuCgUavbZb6DuDmrdf+klddnnhEyU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=cLiEK62g; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=pQBcE1Ln; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020; t=1748422525;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding;
bh=vesH8GfaJYBN1Vl/67VRjZcPODCDdnqQI3NREZ27DTc=;
b=cLiEK62gpqattIJ5OH5DMo2/9+RciI5gs1hm/XE9tqJEbY25nHJReTzjI2eUhlpSHFfaKk
a61aJP2KAaZDAQLFkyve4ph23JCYvxtQ9H0xKepdkbrEA5ua9KDNoPB93001EsK6vIJUTw
kv4n0uBEtvXtUlmSB6C+57ufgiHf1nicsSfSRUsNn8yWyjk1ZEYBjj/+UMzyRcQJG+Knee
1QpfKoStaA1fqaUc9qBV0iI3mASP37Qhb9ZDoz01VweWWagD8e0Q3a6jlcEDMgCHfhqTIR
vHdzJjZgfwOUcQm8QmbFCJHxWV7yAgafwH7+vY7zgWLNhTNFBF7HOB0raeDulQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020e; t=1748422525;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding;
bh=vesH8GfaJYBN1Vl/67VRjZcPODCDdnqQI3NREZ27DTc=;
b=pQBcE1LnmLJJ/ZpO7EBqymrxGfINzsIhIzG7FevdSzyER9hA0573CrlTgpNWrS6StLmoTU
Ik9DN18St7FUbDAQ==
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@xxxxxxxxxx>,
Darren Hart <dvhart@xxxxxxxxxxxxx>,
Davidlohr Bueso <dave@xxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Waiman Long <longman@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Subject: [PATCH 0/3] futex: Fixups for the testsuite and FUTEX_NUMA
Date: Wed, 28 May 2025 10:55:18 +0200
Message-ID: <20250528085521.1938355-1-bigeasy@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This is a collection of random fixes related to the recent private
futex/ NUMA addition:
- Some of the test fail on ARM due bad command line parsing.
- The MPOL test fails because the home node was never set.
- The syzbot used a negative NODE number which was not tested for.
Peter Zijlstra (1):
futex: Handle invalid node numbers supplied by user
Sebastian Andrzej Siewior (2):
selftests/futex: getopt() requires int as return value.
selftests/futex: Set the home_node in futex_numa_mpol
kernel/futex/core.c | 4 ++--
.../selftests/futex/functional/futex_numa_mpol.c | 10 +++++++---
.../selftests/futex/functional/futex_priv_hash.c | 2 +-
3 files changed, 10 insertions(+), 6 deletions(-)
--=20
2.49.0
Return-Path: <linux-kernel+bounces-665148-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4481641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:56:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 852784A4278
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:56:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D6AB427587C;
Wed, 28 May 2025 08:55:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Kb9z1b/B"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 003112459D9;
Wed, 28 May 2025 08:55:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422528; cv=none; b=ExnoOR+00L4zicL/K+Na8eElHW4+sam2dHpgIEN1XCY1mPLKeRWqjnReNe8s9m0SYJEChnjPTEAp853c3S6ZbNNh/w3aokZEAGUdEfoz+KBRt65FI/4osVqhfN1AEI0dZmfvl2NxSACAa9VlsjfuwKngcYonDMNp0EIXbXvYdjM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422528; c=relaxed/simple;
bh=o/IBf/bL4uUQfqfko7CVRmw6Pl3VESZqBWXrtTbKLHg=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=f6bVmoaG2Zue6EhVB61zFqqS0E/GRoiUml8PprsByYg7twoFp890DFjNaHebvCPXaQ6kpzvh0ScgnklL1FHdpyhIecxga72PD03ACGF9tFiAVyirC35f6YAHNR/dHvk71h5fgiNc2hlaOY1GEV3d8SMJ3/LDLPGqLC9+x805Mi0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Kb9z1b/B; arc=none smtp.client-ip=192.198.163.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748422527; x=1779958527;
h=message-id:date:mime-version:subject:to:cc:references:
from:in-reply-to:content-transfer-encoding;
bh=o/IBf/bL4uUQfqfko7CVRmw6Pl3VESZqBWXrtTbKLHg=;
b=Kb9z1b/Be7vgBgT3nxMLgZpNH8w24y1kZKjH8ruWxRf9AM7HXq2Anijl
sVkd8YQY7m6eX7a4HKw7bmtdJd3gyIUSpBClWkOpvyNkJyApu1Mp6NVqt
C9dJU+NHnyH2n+LBY2OGveyuDtLF14bfLZU/34FmTY8p+Woi2f/ix8Xzg
LCUNaF8hLATTy3X1KYrW+vJPm6kTu6CsAt/JrigfPbrXBiDYZeL4yinOl
mmyy3GxTcgVS7uPwIR+YosvI5eutfl4NH10WHiKc5gWUuzQh3yJS2Y9r0
dkZqYmZgAI8ic8vGwSEAdmszwirTE6Ma7RARTCGF2adOTEmX+7Xk3xDfc
Q==;
X-CSE-ConnectionGUID: TqxAGj1wSda+VGBajRT0aQ==
X-CSE-MsgGUID: 5b9Wh10cQtOTLPyMz/GCyA==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="61098598"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="61098598"
Received: from fmviesa002.fm.intel.com ([10.60.135.142])
by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:55:26 -0700
X-CSE-ConnectionGUID: 1yTLA9bhTNGc1WfrftagLg==
X-CSE-MsgGUID: YJGTweprTPmbgT0LpLaE6Q==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="166357521"
Received: from unknown (HELO [10.238.3.95]) ([10.238.3.95])
by fmviesa002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 01:55:08 -0700
Message-ID: <ad77da83-0e6e-47a1-abe7-8cfdfce8b254@xxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 16:55:05 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2 16/51] mm: hugetlb: Consolidate interpretation of
gbl_chg within alloc_hugetlb_folio()
To: Ackerley Tng <ackerleytng@xxxxxxxxxx>
Cc: kvm@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
x86@xxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, aik@xxxxxxx,
ajones@xxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, amoorthy@xxxxxxxxxx,
anthony.yznaga@xxxxxxxxxx, anup@xxxxxxxxxxxxxx, aou@xxxxxxxxxxxxxxxxx,
bfoster@xxxxxxxxxx, brauner@xxxxxxxxxx, catalin.marinas@xxxxxxx,
chao.p.peng@xxxxxxxxx, chenhuacai@xxxxxxxxxx, dave.hansen@xxxxxxxxx,
david@xxxxxxxxxx, dmatlack@xxxxxxxxxx, dwmw@xxxxxxxxxxxx,
erdemaktas@xxxxxxxxxx, fan.du@xxxxxxxxx, fvdl@xxxxxxxxxx, graf@xxxxxxxxxx,
haibo1.xu@xxxxxxxxx, hch@xxxxxxxxxxxxx, hughd@xxxxxxxxxx,
ira.weiny@xxxxxxxxx, isaku.yamahata@xxxxxxxxx, jack@xxxxxxx,
james.morse@xxxxxxx, jarkko@xxxxxxxxxx, jgg@xxxxxxxx, jgowans@xxxxxxxxxx,
jhubbard@xxxxxxxxxx, jroedel@xxxxxxx, jthoughton@xxxxxxxxxx,
jun.miao@xxxxxxxxx, kai.huang@xxxxxxxxx, keirf@xxxxxxxxxx,
kent.overstreet@xxxxxxxxx, kirill.shutemov@xxxxxxxxx,
liam.merwick@xxxxxxxxxx, maciej.wieczor-retman@xxxxxxxxx,
mail@xxxxxxxxxxxxxxxxxxxxx, maz@xxxxxxxxxx, mic@xxxxxxxxxxx,
michael.roth@xxxxxxx, mpe@xxxxxxxxxxxxxx, muchun.song@xxxxxxxxx,
nikunj@xxxxxxx, nsaenz@xxxxxxxxx, oliver.upton@xxxxxxxxx,
palmer@xxxxxxxxxxx, pankaj.gupta@xxxxxxx, paul.walmsley@xxxxxxxxxx,
pbonzini@xxxxxxxxxx, pdurrant@xxxxxxxxxxxx, peterx@xxxxxxxxxx,
pgonda@xxxxxxxxxx, pvorel@xxxxxxx, qperret@xxxxxxxxxx,
quic_cvanscha@xxxxxxxxxxx, quic_eberman@xxxxxxxxxxx,
quic_mnalajal@xxxxxxxxxxx, quic_pderrin@xxxxxxxxxxx,
quic_pheragu@xxxxxxxxxxx, quic_svaddagi@xxxxxxxxxxx, quic_tsoni@xxxxxxxxxxx,
richard.weiyang@xxxxxxxxx, rick.p.edgecombe@xxxxxxxxx, rientjes@xxxxxxxxxx,
roypat@xxxxxxxxxxxx, rppt@xxxxxxxxxx, seanjc@xxxxxxxxxx, shuah@xxxxxxxxxx,
steven.price@xxxxxxx, steven.sistare@xxxxxxxxxx, suzuki.poulose@xxxxxxx,
tabba@xxxxxxxxxx, thomas.lendacky@xxxxxxx, usama.arif@xxxxxxxxxxxxx,
vannapurve@xxxxxxxxxx, vbabka@xxxxxxx, viro@xxxxxxxxxxxxxxxxxx,
vkuznets@xxxxxxxxxx, wei.w.wang@xxxxxxxxx, will@xxxxxxxxxx,
willy@xxxxxxxxxxxxx, xiaoyao.li@xxxxxxxxx, yan.y.zhao@xxxxxxxxx,
yilun.xu@xxxxxxxxx, yuzenghui@xxxxxxxxxx, zhiquan1.li@xxxxxxxxx
References: <cover.1747264138.git.ackerleytng@xxxxxxxxxx>
<8548af334e01401a776aae37a0e9f30f9ffbba8c.1747264138.git.ackerleytng@xxxxxxxxxx>
Content-Language: en-US
From: Binbin Wu <binbin.wu@xxxxxxxxxxxxxxx>
In-Reply-To: <8548af334e01401a776aae37a0e9f30f9ffbba8c.1747264138.git.ackerleytng@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/15/2025 7:41 AM, Ackerley Tng wrote:
> Previously, gbl_chg was passed from alloc_hugetlb_folio() into
> dequeue_hugetlb_folio_vma(), leaking the concept of gbl_chg into
> dequeue_hugetlb_folio_vma().
>
> This patch consolidates the interpretation of gbl_chg into
> alloc_hugetlb_folio(), also renaming dequeue_hugetlb_folio_vma() to
> dequeue_hugetlb_folio() so dequeue_hugetlb_folio() can just focus on
> dequeuing a folio.
>
> Change-Id: I31bf48af2400b6e13b44d03c8be22ce1a9092a9c
> Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
> ---
> mm/hugetlb.c | 28 +++++++++++-----------------
> 1 file changed, 11 insertions(+), 17 deletions(-)
>
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 6ea1be71aa42..b843e869496f 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -1364,9 +1364,9 @@ static unsigned long available_huge_pages(struct hstate *h)
> return h->free_huge_pages - h->resv_huge_pages;
> }
>
> -static struct folio *dequeue_hugetlb_folio_vma(struct hstate *h,
> - struct vm_area_struct *vma,
> - unsigned long address, long gbl_chg)
> +static struct folio *dequeue_hugetlb_folio(struct hstate *h,
> + struct vm_area_struct *vma,
> + unsigned long address)
The rename seems not needed in this patch, since the function still takes vma
and uses it. May be better to move the rename to a later patch.
> {
> struct folio *folio = NULL;
> struct mempolicy *mpol;
> @@ -1374,13 +1374,6 @@ static struct folio *dequeue_hugetlb_folio_vma(struct hstate *h,
> nodemask_t *nodemask;
> int nid;
>
> - /*
> - * gbl_chg==1 means the allocation requires a new page that was not
> - * reserved before. Making sure there's at least one free page.
> - */
> - if (gbl_chg && !available_huge_pages(h))
> - goto err;
> -
> gfp_mask = htlb_alloc_mask(h);
> nid = huge_node(vma, address, gfp_mask, &mpol, &nodemask);
>
> @@ -1398,9 +1391,6 @@ static struct folio *dequeue_hugetlb_folio_vma(struct hstate *h,
>
> mpol_cond_put(mpol);
> return folio;
> -
> -err:
> - return NULL;
> }
>
> /*
> @@ -3074,12 +3064,16 @@ struct folio *alloc_hugetlb_folio(struct vm_area_struct *vma,
> goto out_uncharge_cgroup_reservation;
>
> spin_lock_irq(&hugetlb_lock);
> +
> /*
> - * glb_chg is passed to indicate whether or not a page must be taken
> - * from the global free pool (global change). gbl_chg == 0 indicates
> - * a reservation exists for the allocation.
> + * gbl_chg == 0 indicates a reservation exists for the allocation - so
> + * try dequeuing a page. If there are available_huge_pages(), try using
> + * them!
> */
> - folio = dequeue_hugetlb_folio_vma(h, vma, addr, gbl_chg);
> + folio = NULL;
> + if (!gbl_chg || available_huge_pages(h))
> + folio = dequeue_hugetlb_folio(h, vma, addr);
> +
> if (!folio) {
> spin_unlock_irq(&hugetlb_lock);
> folio = alloc_buddy_hugetlb_folio_with_mpol(h, vma, addr);
Return-Path: <linux-kernel+bounces-665152-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9D09741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:56:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 3DF3F4E1161
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:56:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8259727605A;
Wed, 28 May 2025 08:55:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="XmuaOal6";
dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="VmKWr++m"
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 203DE274650
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422529; cv=none; b=pLAoFG/kayRJfi6st3t5M0Dx6HGl4Qm5N+b9uxqQfasO9s8Wgnkv423SXo+EokKdiX+godqw2LlBFvLIdSObhPVgyuJvRryCAJZLhvguSvpyxASy5i3Yy4AO3P+5V+OlH/h6O71DWWgZzKZna8Xo6+X+sME3kx6Bd19F2fBsjsc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422529; c=relaxed/simple;
bh=gG92xEH34NEWfZ8s9BqsyAZsrJjNEhovX+4zgItkEco=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=hdGuS9eINHoJlZqjS8Dm4zToKsejN++XRDIpX/NFQHjNPNQgsLWcub5i5mLurMZmEQhkRgiw/u5KyCwSrGyx0kuQaQvy6CIPyYNesChJdb9QFA/lKkPS8ASfIXq51QE/m+In7sPuiGu6Ub6P7tk1DBDBnxVpyClgfSZ8Xqsh0IM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=XmuaOal6; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=VmKWr++m; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020; t=1748422526;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=KP9HvpgVHgWnTIXnNHgTJzo+gF4B7NnJsWc70Z9S1Pc=;
b=XmuaOal6nFti4ocGc4QJbLpdSuuQkmCKbLmyT1+lIYs2D0VC/VTP7oDnZFCg9EJzfT4Go6
0mU1628otu8MNHmi4r3Z+7TW+vOj1k4wVQ6Xuob+QlKycUk1GimAUcY9imn3IKupMfBo6u
piogVWRNTU7f1dH/JWh3qN7+t/SMZi79BXwRkb2S2+3xo91gbwXPE2qyFOxnIBCoQlwctl
5XH84JL2j6HuIFIa/N3QbkLrgJaQGfqDGCh0n/VobOo8sAXFqENoIbgyMc1PgZcJqsGR4K
dTsFrhVyOcdU6BhSZ6Jgt19RMYvp6wnt6urUkhGs2wGW5RQZX1oUKyHBkCR6kA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020e; t=1748422526;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=KP9HvpgVHgWnTIXnNHgTJzo+gF4B7NnJsWc70Z9S1Pc=;
b=VmKWr++mLJ84NxOefqHyQSXBxmTzn7gUnWGglZfxR1seI0rDmBj/y3kBCXbU1YY7Aplt5b
BEAhhHlqLQGd3dCQ==
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@xxxxxxxxxx>,
Darren Hart <dvhart@xxxxxxxxxxxxx>,
Davidlohr Bueso <dave@xxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Waiman Long <longman@xxxxxxxxxx>,
syzbot+9afaf6749e3a7aa1bdf3@xxxxxxxxxxxxxxxxxxxxxxxxx,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Subject: [PATCH 3/3] futex: Handle invalid node numbers supplied by user
Date: Wed, 28 May 2025 10:55:21 +0200
Message-ID: <20250528085521.1938355-4-bigeasy@xxxxxxxxxxxxx>
In-Reply-To: <20250528085521.1938355-1-bigeasy@xxxxxxxxxxxxx>
References: <20250528085521.1938355-1-bigeasy@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
syzbot used a negative node number which was not rejected early and led
to invalid memory access in node_possible().
Reject negative node numbers except for FUTEX_NO_NODE.
[bigeasy: Keep the FUTEX_NO_NODE check]
Reported-by: syzbot+9afaf6749e3a7aa1bdf3@xxxxxxxxxxxxxxxxxxxxxxxxx
Closes: https://lore.kernel.org/all/6835bfe3.a70a0220.253bc2.00b5.GAE@googl=
e.com/
Fixes: cec199c5e39bd ("futex: Implement FUTEX2_NUMA")
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
kernel/futex/core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/futex/core.c b/kernel/futex/core.c
index 19a2c65f3d373..1cd3a646c91fd 100644
--- a/kernel/futex/core.c
+++ b/kernel/futex/core.c
@@ -583,8 +583,8 @@ int get_futex_key(u32 __user *uaddr, unsigned int flags=
, union futex_key *key,
if (futex_get_value(&node, naddr))
return -EFAULT;
=20
- if (node !=3D FUTEX_NO_NODE &&
- (node >=3D MAX_NUMNODES || !node_possible(node)))
+ if ((node !=3D FUTEX_NO_NODE) &&
+ ((unsigned int)node >=3D MAX_NUMNODES || !node_possible(node)))
return -EINVAL;
}
=20
--=20
2.49.0
Return-Path: <linux-kernel+bounces-665150-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 68BFC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:57:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7F6383AC0F0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:56:27 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 19C6F276028;
Wed, 28 May 2025 08:55:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="4vZp7oAz";
dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="VRsyKGyV"
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A67CB2741DF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422529; cv=none; b=Ii9Au380rhCAAlzAb6WxmQY2+GK7pOWA57XPFzilXCS+/WgIcwj4HXOOdKsG26tuotltr3luVRV07W2CUHSH+O0i6KLoyLd7pFlJVnhdYr+4sFzTCowl9txqvqejneYQIKLhVb3XU8xjKMOtfb7JCwt4rHHeayoxKZYg3FXRqBA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422529; c=relaxed/simple;
bh=1il/dB19ylyruXfeVF0bzVE5iRhTAf5MNLxEdiYkhO4=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=VDcTsl9inCkeueBD1DkyRP4Hm349vI3O0+iPGXD3LDbp5BI6Ios5zxsKsmREXwvGD/7UckiinSDt7NVQR/rkc8d7DyGgmvL3qaF7AyLY7Any3H9fUMlVty1oHDia5NoQDZ0GPpNKR1DZOsjXdS5K5YYsi5H9cUXR2Tp7D39ihVw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=4vZp7oAz; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=VRsyKGyV; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020; t=1748422525;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=bq4F0YaCcYiesX5BYOqiqK340+o2Iuxu8rVBteNA9h0=;
b=4vZp7oAzVnXmjXpcr6iL1OVQMKK6Q+C58VcAKmbiu5SsRp+vB3ke/G7S9JazUK1pmvqM6K
HZ6yy2Cgdc2zJoz4ihIXHMQeSe80fcp+ms7wTJyexOJK884JUBJvsXfhBofyIqzjgmgOKg
L/JsWDsOIcSuZ8Ji2fnrqszXW22USQ/R/0tLXOaszCopBpQTKNKlbGVICL1bP90vei1Bk/
yamGXjMBY5No4BSHOXO1U2mmWHZck8Ud6oMqOcPNIO2HACts+jtMRYVOjmS/DKl1TMAfW/
EQWIdE+k2oiRwZ2GDhBkXUw1YvvkHRJcJKI8HLP/apkLuKLBr0GMDYNexahX+g==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020e; t=1748422525;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=bq4F0YaCcYiesX5BYOqiqK340+o2Iuxu8rVBteNA9h0=;
b=VRsyKGyVUpUFH2kDQrww8HjCXWjyTP/KE2Bp6Cj6RqbKPzmMJxwhWtUxS/dOkDPd3wxW6K
dIikHcOdrxHCDoCA==
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@xxxxxxxxxx>,
Darren Hart <dvhart@xxxxxxxxxxxxx>,
Davidlohr Bueso <dave@xxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Waiman Long <longman@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Mark Brown <broonie@xxxxxxxxxx>
Subject: [PATCH 1/3] selftests/futex: getopt() requires int as return value.
Date: Wed, 28 May 2025 10:55:19 +0200
Message-ID: <20250528085521.1938355-2-bigeasy@xxxxxxxxxxxxx>
In-Reply-To: <20250528085521.1938355-1-bigeasy@xxxxxxxxxxxxx>
References: <20250528085521.1938355-1-bigeasy@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Mark reported that futex_priv_hash fails on ARM64.
It turns out that the command line parsing does not terminate properly
and ends in the default case assuming an invalid option was passed.
Use an int as the return type for getopt().
Reported-by: Mark Brown <broonie@xxxxxxxxxx>
Closes: https://lore.kernel.org/all/31869a69-063f-44a3-a079-ba71b2506cce@si=
rena.org.uk/
Fixes: 3163369407baf ("selftests/futex: Add futex_numa_mpol")
Fixes: cda95faef7bcf ("selftests/futex: Add futex_priv_hash")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
tools/testing/selftests/futex/functional/futex_numa_mpol.c | 2 +-
tools/testing/selftests/futex/functional/futex_priv_hash.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/futex/functional/futex_numa_mpol.c b/t=
ools/testing/selftests/futex/functional/futex_numa_mpol.c
index 20a9d3ecf7433..564dbd02d2f46 100644
--- a/tools/testing/selftests/futex/functional/futex_numa_mpol.c
+++ b/tools/testing/selftests/futex/functional/futex_numa_mpol.c
@@ -144,7 +144,7 @@ int main(int argc, char *argv[])
struct futex32_numa *futex_numa;
int mem_size, i;
void *futex_ptr;
- char c;
+ int c;
=20
while ((c =3D getopt(argc, argv, "chv:")) !=3D -1) {
switch (c) {
diff --git a/tools/testing/selftests/futex/functional/futex_priv_hash.c b/t=
ools/testing/selftests/futex/functional/futex_priv_hash.c
index 2dca18fefedcd..24a92dc94eb86 100644
--- a/tools/testing/selftests/futex/functional/futex_priv_hash.c
+++ b/tools/testing/selftests/futex/functional/futex_priv_hash.c
@@ -130,7 +130,7 @@ int main(int argc, char *argv[])
pthread_mutexattr_t mutex_attr_pi;
int use_global_hash =3D 0;
int ret;
- char c;
+ int c;
=20
while ((c =3D getopt(argc, argv, "cghv:")) !=3D -1) {
switch (c) {
--=20
2.49.0
Return-Path: <linux-kernel+bounces-665151-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2D67C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:57:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4DC6A3AE68A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:56:30 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4289F276036;
Wed, 28 May 2025 08:55:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="XTjDeBrk";
dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="V65f/+4y"
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7DA9274648
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:55:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422529; cv=none; b=YsKTKeeKDB3cJc+KAyyQmO9ALx4a+t9ho6ZRzIqk22criAWy41isqCHSj9OoUhohbPoM+ucsORzQGBZL4HbfkO8YoM3NH9DEiCF52bHtPuoob2G9nOnWwlPOQ/3aTlJ/ZhHTwJStoVNje4rI8wdG/TS37tt6KkDJV0dXciLt2Kg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422529; c=relaxed/simple;
bh=ZgnsrQ43S4L70fg/UsiHrN3kFf5lABAXCfemPqc403o=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=ri4g1W6Kz2tcERIkX4noSsAvLybQ22GzViqu4jthFM0c/2uTYwNy3hDou9r5AKSg7rwhIejXyyotpHxF/emRAxUxcwKb3P/Bg/Hxd2vi6Y58jKitKuWQIoMvxvCwK1332FeNf0K+1+NAmkutrBsXv6qx/fQwc82KTsAugDR8pJk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=XTjDeBrk; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=V65f/+4y; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020; t=1748422526;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=tnE55vTMy7qpHVnuymQd+6282kdfSCrwu3U5LR8Xz3c=;
b=XTjDeBrkSC95AMhoeYnAh4im6U9OAULZbAKMktELr4DBL4wey2Lc0M4t/elFwakqblHh48
/eX25P9bY9o6pg+7QoAncRmJ2ePkQJCW8NbX6qAzLtJkmNo7t3EB4fAc8BpCiBjp6tbM/d
O6SrSIEwq4tx0I2/vMvEzaZ7+Ou47+JOQ5a3KNGqV41wy0WTD2q590MU1iIPhVKNaNeQtD
iidXatTFtZXHwZ8UIHYAZ5O5pMsH4rg2atLOmzEQBbVwZ5SFzqRWm/tUhbcT7PipxXuh9C
G1gfiuoRL5VD/ky73D4geVk0vj73WOs7T16aSggpPXfZtLWW09KhrdogVnVUFg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020e; t=1748422526;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=tnE55vTMy7qpHVnuymQd+6282kdfSCrwu3U5LR8Xz3c=;
b=V65f/+4ysIjvk+ceIFgmE0vMjHEH94Z6H29I2fIsE3gWa7UaXXOJGL3Ru0+e5TYcdK/mRe
XoraH6rGoIHhsZBg==
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@xxxxxxxxxx>,
Darren Hart <dvhart@xxxxxxxxxxxxx>,
Davidlohr Bueso <dave@xxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>,
Juri Lelli <juri.lelli@xxxxxxxxxx>,
Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Waiman Long <longman@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Vlastimil Babka <vbabka@xxxxxxx>
Subject: [PATCH 2/3] selftests/futex: Set the home_node in futex_numa_mpol
Date: Wed, 28 May 2025 10:55:20 +0200
Message-ID: <20250528085521.1938355-3-bigeasy@xxxxxxxxxxxxx>
In-Reply-To: <20250528085521.1938355-1-bigeasy@xxxxxxxxxxxxx>
References: <20250528085521.1938355-1-bigeasy@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The test fails at the MPOL step if multiple nodes are available. The
reason is that mbind() sets the policy but the home_node, which is
retrieved by the futex code, is not set. This causes to retrieve the
current node and with multiple nodes it fails on one of the iterations.
Use numa_set_mempolicy_home_node() to set the expected node.
Use ksft_exit_fail_msg() to fail and exit in order not to confuse ktap.
Fixes: 3163369407baf ("selftests/futex: Add futex_numa_mpol")
Suggested-by: Vlastimil Babka <vbabka@xxxxxxx>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
.../testing/selftests/futex/functional/futex_numa_mpol.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/futex/functional/futex_numa_mpol.c b/t=
ools/testing/selftests/futex/functional/futex_numa_mpol.c
index 564dbd02d2f46..a9ecfb2d3932a 100644
--- a/tools/testing/selftests/futex/functional/futex_numa_mpol.c
+++ b/tools/testing/selftests/futex/functional/futex_numa_mpol.c
@@ -210,6 +210,10 @@ int main(int argc, char *argv[])
ret =3D mbind(futex_ptr, mem_size, MPOL_BIND, &nodemask,
sizeof(nodemask) * 8, 0);
if (ret =3D=3D 0) {
+ ret =3D numa_set_mempolicy_home_node(futex_ptr, mem_size, i, 0);
+ if (ret !=3D 0)
+ ksft_exit_fail_msg("Failed to set home node: %m, %d\n", errno);
+
ksft_print_msg("Node %d test\n", i);
futex_numa->futex =3D 0;
futex_numa->numa =3D FUTEX_NO_NODE;
@@ -220,8 +224,8 @@ int main(int argc, char *argv[])
if (0)
test_futex_mpol(futex_numa, 0);
if (futex_numa->numa !=3D i) {
- ksft_test_result_fail("Returned NUMA node is %d expected %d\n",
- futex_numa->numa, i);
+ ksft_exit_fail_msg("Returned NUMA node is %d expected %d\n",
+ futex_numa->numa, i);
}
}
}
--=20
2.49.0
Return-Path: <linux-kernel+bounces-665153-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E2A4D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:57:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 1F06C7A7EEE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:56:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DA885274FDF;
Wed, 28 May 2025 08:55:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="E1FcPjnw"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 16AFD2741AC;
Wed, 28 May 2025 08:55:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422534; cv=none; b=SsGw3mvEi/usQUC55iXM7KemSbVkPCUJKJkG8H/TpW6KoQ+218980uaoo9r8IOskcn75JThibgkm3d8G+HGOr6Zw5uC8Mk4aTYkt0Ifx9oTlhWkagSpk2NZDH3j9hn9pXFUBqdTxcwitITcKw2SZZcj46iD8ATUizSKQNTHB6Nw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422534; c=relaxed/simple;
bh=Ds1jmiTlYH0fpkMu9OyDsilhlkVbX/npUvsczO4YbAE=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=duIlFBqomvHUYAy5EJeG8vwtOZaA/g/8bLTzreHbIkmKPLr3Q0gE09k+IhliCGgQaPbJU3w0ThRfh50TZpFhUVXP4vdx/xmcbO2NJlWuPwXyCTC8/CRwzkqqcF0aDRlRdXlNNNJaiYgcIAE0HxJJJaQRZq5jcPaKH9myoamc2TY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=E1FcPjnw; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 690C5C4CEEB;
Wed, 28 May 2025 08:55:30 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748422533;
bh=Ds1jmiTlYH0fpkMu9OyDsilhlkVbX/npUvsczO4YbAE=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=E1FcPjnwy+Z+bJX1gi8FQPSB900K+Xj3C0QWEp9vgstNpldp3biFrBcjBIFWVZd9n
FfMirStte3ykoIzrHkQZcuqLS6r/3lGruQ0ahJAa3IXD08ljvNxu5eRWyRpVtCwN4W
Io4J/Y1p2N3UhIgikJEIKxPyYM+LaRcmaFJwk1GoD3gRm7wA2uLXoRJJ2S3dK7FqUs
+ycpEUq7dMmusgvZJfwOgfeiviwtUg1bvcaxj9M2rzPwUnmXe9jX7B0BDsxgUs3NU+
gtl0+UYqXfwbnwHAJNYfzDu/OfWOlgMvJf0cvuU1URBqfHj8uA+wct7qvbzkFX7+Yk
MOBdJBUg+UbmQ==
Message-ID: <5b7a2102-ff68-4aab-a88d-0c4f9195ef95@xxxxxxxxxx>
Date: Wed, 28 May 2025 10:55:28 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/9] ARM: dts: stm32: add Hardware debug port (HDP) on
stm32mp13
To: =?UTF-8?Q?Cl=C3=A9ment_Le_Goffic?= <clement.legoffic@xxxxxxxxxxx>,
Linus Walleij <linus.walleij@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>,
Bartosz Golaszewski <brgl@xxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
References: <20250523-hdp-upstream-v3-0-bd6ca199466a@xxxxxxxxxxx>
<20250523-hdp-upstream-v3-5-bd6ca199466a@xxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250523-hdp-upstream-v3-5-bd6ca199466a@xxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 23/05/2025 14:38, Clément Le Goffic wrote:
> Add the hdp devicetree node for stm32mp13 SoC family
>
> Signed-off-by: Clément Le Goffic <clement.legoffic@xxxxxxxxxxx>
> ---
> arch/arm/boot/dts/st/stm32mp131.dtsi | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm/boot/dts/st/stm32mp131.dtsi b/arch/arm/boot/dts/st/stm32mp131.dtsi
> index 8512a6e46b33..b0537bcdb9d5 100644
> --- a/arch/arm/boot/dts/st/stm32mp131.dtsi
> +++ b/arch/arm/boot/dts/st/stm32mp131.dtsi
> @@ -951,6 +951,12 @@ dts: thermal@50028000 {
> clocks = <&rcc DTS>;
> clock-names = "pclk";
> #thermal-sensor-cells = <0>;
Why are you enabling it? Commit msg should explain this and this should
be sparate patch.
> + };
> +
> + hdp: pinctrl@5002a000 {
> + compatible = "st,stm32mp131-hdp";
> + reg = <0x5002a000 0x400>;
> + clocks = <&rcc HDP>;
> status = "disabled";
Why are you disabling it? What is missing?
> };
>
>
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665156-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 66C6B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:58:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 86D4E1BA4912
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:58:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7A88F2135AD;
Wed, 28 May 2025 08:58:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="Mum0MCFP"
Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0B3101EB5B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:58:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422685; cv=none; b=P/2EAExwdIesXYGrvzM/ZE3mQAGQ6wFLEqktrFRTafEJiDXdwuuhWyHztj/7Adg2frqPN7imiKKWoSOZdvuip15TTHffcm17o1kSDjFajnF2r0rSp3mL/N/L7+Wc04QRHpqU09gIALNRQOaTSXE2Gh+BJP5uS2rCvBlJ+0Y4y8o=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422685; c=relaxed/simple;
bh=BVt9H1UUjB+l/+sScIJvQevcmhMQcgK/+kNZddlxB24=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=uigiIhbKiQ2LZuMJoN3GQJY3GX2LwVBb59KGRfm4UOsBWxT9eTK7NwYV05nxORKS1q6bl0sfJ+3IV7D+kEk5gWLyqCI5WzM2pEvJP8TS7B/s/fQUlZE1UMYzMtvPzOFe+rA0CVJOpF4ixZtZY8eQBS9STQW/y5ZlrsvbewTVHWY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=Mum0MCFP; arc=none smtp.client-ip=209.85.128.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com
Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-440685d6afcso51308235e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:58:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=suse.com; s=google; t=1748422681; x=1749027481; darn=vger.kernel.org;
h=in-reply-to:autocrypt:from:content-language:references:cc:to
:subject:user-agent:mime-version:date:message-id:from:to:cc:subject
:date:message-id:reply-to;
bh=BVt9H1UUjB+l/+sScIJvQevcmhMQcgK/+kNZddlxB24=;
b=Mum0MCFPjc82KcVQ7NrWxaBR0fGZhUKzJEy/rzphKM4oWVoGjHKpWXvgtyqyKhzkVn
bFFANrWzPkod6h0kNMMc7RZijetRPjRnLuqa6YNgdl4dIP3cAuJWX8D3Q6XGwPbsjTyj
3gIlrO6yBzhgvUZKL+rup5U0qfJS9qQDHl6c5ZH9r4DcdkC2nPCUT5d15xim88tm/17J
2ROx1qEEbymPX5625XA/pbDh90bbWVLFzqSKSIULXcEXhn9/dWqVv3KBPPFzt/24fUTB
KMTH8tbGf49mzDktt7cbmFnaxjWk3txwWtv4nwaTEDGe2LUnMMRWfV/7H+1Q0Sqo1g59
+AbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748422681; x=1749027481;
h=in-reply-to:autocrypt:from:content-language:references:cc:to
:subject:user-agent:mime-version:date:message-id:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=BVt9H1UUjB+l/+sScIJvQevcmhMQcgK/+kNZddlxB24=;
b=IcjoKIbbqKAsGiZmUgNOP9CtNPWrFwgD414Ur5/HS7AZK0Td7ujo/jvYp6hOPMV4rT
MdqpwCSr3f/np9yU+/4kHFDDtVzrXKKmsujzbUHqZiSC+YWJxfUmi22Uy+stVIkziI4r
SswbiVBkctooC2zI8zyFl2jkg4Ezlu5vMFgAW81WFPnmwrBp6KgrdVZ4j1qBbPUGgWnI
8gRAcRV1Om0J7A3kCS8jSdxw/PbpT52O/PF/ULkQbcYygvOCdtd0+fw6r/ShGhOhYy5a
CBl8drfaHzK8KuPTXTFNDVJG4o348zic+hdRoRgtAwmLAcUhAd9GQeZPZFncVY/Yxqsc
+ZBg==
X-Forwarded-Encrypted: i=1; AJvYcCVCngtvjzFVSmO/ntVjU3D62P+6NJaA4IBBcvzAb86YbiD7W+V7eVIplTA1j823AhPFFGH+3Q13Mr+2aDA=@vger.kernel.org
X-Gm-Message-State: AOJu0YwYxKrI6kZ7HXgnuZafOw7BKFeWcRh0AdtUPmxN5DcnMke5b0d1
T+LTWzYbNATzs+Vu/GfYlo2xQ/joYDLe8DUFvxlEKsrcbs9nIybA4EzltfBeF8O7ZEc=
X-Gm-Gg: ASbGncu3VoMBjrITrlslFRK9WNwTGGXu51MkHn8JP0Zc07a8/fW30VLcx+vM58qYt9/
9NcqrVkB7nAO0Zg2T1bYxh5YrrVra+vuR73ITzGhU2JdYLoAmr5SnwEX5F4Ew7mC1YY3TRzeQUx
sE54tlZ8wnm/nf+vvjXxzcQTEiKtwbqBaoyhlWW48ExnksIui2BIXzYJN/OWDRom3ZTLVAQE26m
AxfpRNpA4wKhiPu4J3eemL47tbnDTkGKWIdBblcJoOTCm3MQxs3lBWDAmrKB4DjOGG5/tiXr6CN
fwCbQ4eNSdvWPDr9cxa0aCPlvucH9dJ45G21bQms9r2wG/FUmKQsHVLoPKU8y7+cPFjQn/w2GNX
bAu4LO+/cd7ezAh78Pt2qLMvB+lB/uTs5SGiVtg/7AITp9eYlrqupyxY7XTr7UQ7RR9yPUBA/Vm
wyVjnGfsW+mxY=
X-Google-Smtp-Source: AGHT+IEI83jX/lO1SN3rHaQmb3ZvPXsKzuyFrAWXmpTbcyDGWIj1YAoKyTVOh0bpjq2JdOIXTp1z8g==
X-Received: by 2002:a05:600c:3ca6:b0:44a:b478:1387 with SMTP id 5b1f17b1804b1-44c9465c97cmr154823185e9.17.1748422680989;
Wed, 28 May 2025 01:58:00 -0700 (PDT)
Received: from ?IPV6:2003:e5:872a:8800:5c7b:1ac1:4fa0:423b? (p200300e5872a88005c7b1ac14fa0423b.dip0.t-ipconnect.de. [2003:e5:872a:8800:5c7b:1ac1:4fa0:423b])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45006498c83sm14653785e9.5.2025.05.28.01.58.00
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 01:58:00 -0700 (PDT)
Message-ID: <760c96da-a8da-49be-bc4e-b82a8b2a1623@xxxxxxxx>
Date: Wed, 28 May 2025 10:57:59 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [Bug Report] Linux v6.15-rc7 boot failure on Xen-4.17
To: Xin Li <xin@xxxxxxxxx>, Zijlstra Peter <peterz@xxxxxxxxxxxxx>
Cc: Gupta Pawan <pawan.kumar.gupta@xxxxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx,
Hansen Dave <dave.hansen@xxxxxxxxxxxxxxx>, alexandre.chartre@xxxxxxxxxx,
Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Zhang Tao1 <tao1.zhang@xxxxxxxxx>
References: <607917bc-6788-425a-8051-181a078ddb49@xxxxxxxx>
<C28A8745-02AD-489E-B2F3-6DE81C511783@xxxxxxxxx>
<081152ba-79b5-477e-8248-02bf289ff9ce@xxxxxxxxxx>
<227db775-f4ce-4dd3-ba14-30232ab3ab6f@xxxxxxxx>
<1b8e565e-2ed6-4f1d-9138-fbf12662c404@xxxxxxxx>
<1226c371-5d44-4206-973f-3c10152c4195@xxxxxxxxx>
<400ee15a-12fa-4477-ba03-123eb8e07dc2@xxxxxxxxx>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@xxxxxxxx>
Autocrypt: addr=jgross@xxxxxxxx; keydata=
xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <400ee15a-12fa-4477-ba03-123eb8e07dc2@xxxxxxxxx>
Content-Type: multipart/signed; micalg=pgp-sha256;
protocol="application/pgp-signature";
boundary="------------OhnbcgBMWkOds7nYdwu8IC3O"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------OhnbcgBMWkOds7nYdwu8IC3O
Content-Type: multipart/mixed; boundary="------------aufxzz2EZabiFunsrly3IoCP";
protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@xxxxxxxx>
To: Xin Li <xin@xxxxxxxxx>, Zijlstra Peter <peterz@xxxxxxxxxxxxx>
Cc: Gupta Pawan <pawan.kumar.gupta@xxxxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx,
Hansen Dave <dave.hansen@xxxxxxxxxxxxxxx>, alexandre.chartre@xxxxxxxxxx,
Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Zhang Tao1 <tao1.zhang@xxxxxxxxx>
Message-ID: <760c96da-a8da-49be-bc4e-b82a8b2a1623@xxxxxxxx>
Subject: Re: [Bug Report] Linux v6.15-rc7 boot failure on Xen-4.17
References: <607917bc-6788-425a-8051-181a078ddb49@xxxxxxxx>
<C28A8745-02AD-489E-B2F3-6DE81C511783@xxxxxxxxx>
<081152ba-79b5-477e-8248-02bf289ff9ce@xxxxxxxxxx>
<227db775-f4ce-4dd3-ba14-30232ab3ab6f@xxxxxxxx>
<1b8e565e-2ed6-4f1d-9138-fbf12662c404@xxxxxxxx>
<1226c371-5d44-4206-973f-3c10152c4195@xxxxxxxxx>
<400ee15a-12fa-4477-ba03-123eb8e07dc2@xxxxxxxxx>
In-Reply-To: <400ee15a-12fa-4477-ba03-123eb8e07dc2@xxxxxxxxx>
--------------aufxzz2EZabiFunsrly3IoCP
Content-Type: multipart/mixed; boundary="------------gwFI2Ob0S3n1RsdEX0tyCX9W"
--------------gwFI2Ob0S3n1RsdEX0tyCX9W
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64
T24gMjguMDUuMjUgMTA6MjYsIFhpbiBMaSB3cm90ZToNCj4gT24gNS8yOC8yMDI1IDEyOjI3
IEFNLCBYaW4gTGkgd3JvdGU6DQo+PiBPbiA1LzI3LzIwMjUgMTE6NDkgUE0sIEp1ZXJnZW4g
R3Jvc3Mgd3JvdGU6DQo+Pj4gT24gMjguMDUuMjUgMDc6MTEsIErDvHJnZW4gR3Jvw58gd3Jv
dGU6DQo+Pj4+IE9uIDI3LjA1LjI1IDIxOjI5LCBBbmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4+
Pj4gT24gMjcvMDUvMjAyNSA4OjIxIHBtLCBYaW4gTGkgd3JvdGU6DQo+Pj4+Pj4+IE9uIE1h
eSAyNywgMjAyNSwgYXQgMTE6MzbigK9BTSwgSsO8cmdlbiBHcm/DnyA8amdyb3NzQHN1c2Uu
Y29tPiB3cm90ZToNCj4+Pj4+Pj4NCj4+Pj4+Pj4g77u/T24gMjcuMDUuMjUgMTk6NTQsIFhp
biBMaSB3cm90ZToNCj4+Pj4+Pj4+IE9uIDUvMjcvMjAyNSAxMDo0NiBBTSwgUGF3YW4gR3Vw
dGEgd3JvdGU6DQo+Pj4+Pj4+Pj4+IEF0dGFjaGVkIGlzIHRoZSBzZXJpYWwgY29uc29sZSBs
b2cgYW5kIG15IGtlcm5lbCBjb25maWcuDQo+Pj4+Pj4+Pj4gU2VyaWFsIGxvZ3MgYXJlbid0
IHRlbGxpbmcgbXVjaC4gSSBkbyBub3QgaGF2ZSBhIFhlbiBzZXR1cCB0byB0ZXN0LCANCj4+
Pj4+Pj4+PiB3aXRob3V0DQo+Pj4+Pj4+Pj4gWGVuIHRoZSBjb25maWcgdGhhdCB5b3UgcHJv
dmlkZWQgaXMgYm9vdGluZyBhIEtWTSBndWVzdCBqdXN0IGZpbmUuDQo+Pj4+Pj4+PiBZZWFo
LCBhcyBJIHJlcGxpZWQgdG8gSnVlcmdlbiwgdGhlIHNhbWUga2VybmVsIGJpbmFyeSBib290
cyBmaW5lIGFzDQo+Pj4+Pj4+PiAibmF0aXZlIi4NCj4+Pj4+Pj4+IFVuZm9ydHVuYXRlbHkg
d2hlbiBib290aW5nIGFzIGRvbTAgb24gWGVuLCBpdCBrZWVwcyByZWJvb3Rpbmcgdy9vDQo+
Pj4+Pj4+PiBoZWxwZnVsIGxvZy4NCj4+Pj4+Pj4gV2hhdCBhYm91dCBib290aW5nIFhlbiBv
biBiYXJlIG1ldGFsLCBpLmUuIG5vIEtWTSBiZWluZyBpbnZvbHZlZD8NCj4+Pj4+PiBUaGUg
c2FtZSBleGFjdCBwcm9ibGVtIGhhcHBlbnMgb24gSW50ZWwgU2ltaWNzLsKgIEFuZCBJIGdv
dCB0byBzZWUgaXTigJlzIGEgDQo+Pj4+Pj4gTlggcGFnZSBmYXVsdCBpbiBkb20wIGtlcm5l
bCBkdXJpbmcgYXBwbHkgYWx0ZXJuYXRpdmVzLg0KPj4+Pj4NCj4+Pj4+IEluIHdoaWNoIGNh
c2UgaXQncyBsaWtlbHkgdGhhdCB0aGVyZSdzIGFuIG9wZW5jb2RlZCBQVEUgdXBkYXRlLCBy
YXRoZXINCj4+Pj4+IHRoYW4gdXNpbmcgdGhlIGhvb2tzICh3aGljaCBhcmUgc3VpdGFibHkg
cGFyYXZpcnQnZCkuDQo+Pj4+DQo+Pj4+IEknZCBzdXNwZWN0IGEgYnVnIHdoZW4gTk9UIHVz
aW5nIDJNIHBhZ2VzIGZvciBleGVjbWVtLg0KPj4+Pg0KPj4+PiBJJ2xsIGhhdmUgYSBsb29r
Lg0KPj4+DQo+Pj4gQ291bGQgeW91IGhhdmUgYSB0cnkgdXNpbmcgIm5vaHVnZXZtYWxsb2Mi
IGRvbTAga2VybmVsIGJvb3QgcGFyYW1ldGVyPw0KPj4+DQo+Pg0KPj4gVHJpZWQgaW4gYSBL
Vk0gZ3Vlc3QsIHN0aWxsIHRoZSBzYW1lIHByb2JsZW0sIGFuZCBub3RoaW5nIG5ldyBpbiB0
aGUNCj4+IHNlcmlhbCBsb2cuDQo+IA0KPiBBdHRhY2hlZCBpcyBhIGRvbTAgbG9nIHdpdGgg
c3RhY2sgdHJhY2VzLg0KPiANCj4gQnV0IEkgcmVhbGx5IGRpZCBOT1QgY2hhbmdlIGFueXRo
aW5nIHRvIG1ha2UgaXQgaGFwcGVuLi4uDQoNClRoYW5rcy4NCg0KSSB0aGluayB0aGlzIG1p
Z2h0IGJlIHJlbGF0ZWQgdG8gWGVuIG5vdCBhZHZlcnRpc2luZyBYODZfRkVBVFVSRV9QU0Uu
DQoNClRoaXMgd2lsbCB1c2UgUEFHRV9LRVJORUwgcGFnZSBwcm90ZWN0aW9uIGZvciBleGVj
bWVtX2FsbG9jKCkgcGFnZSBwcm90ZWN0aW9uLA0Kd2hpbGUgd2l0aCBYODZfRkVBVFVSRV9Q
U0UgUEFHRV9LRVJORUxfUk9YIGlzIGJlaW5nIHVzZWQuDQoNCkZvciB0aGUga2VybmVsIChz
byBub3QgaW4gYSBtb2R1bGUpIHRoZXJlIGlzIG5vIGV4ZWNtZW1fcmVzdG9yZV9yb3goKSBj
YWxsDQppbnZvbHZlZCwgc28gdGhlIE5YIGJpdCB3aWxsIGJlIGtlcHQgZm9yIGtlcm5lbCBz
aWRlIElUUyB0aHVua3MuDQoNClBldGVyLCBjYW4geW91IGNvbmZpcm0gbXkgc3VzcGljaW9u
Pw0KDQoNCkp1ZXJnZW4NCg==
--------------gwFI2Ob0S3n1RsdEX0tyCX9W
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----
--------------gwFI2Ob0S3n1RsdEX0tyCX9W--
--------------aufxzz2EZabiFunsrly3IoCP--
--------------OhnbcgBMWkOds7nYdwu8IC3O
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"
-----BEGIN PGP SIGNATURE-----
wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmg20BcFAwAAAAAACgkQsN6d1ii/Ey/r
3wgAn9lJds3ehHv9FTbDPAvIuG1IfNoW5xeCoTDJIwYSmZXBpHyj+hVM+sKwYdbg61kHyuXmg2GV
rXgDpN2zC4PVGFmg16LDZERel73Jt3hJAzbbakacEvHo/x4er41Yr6eQzL4jvKDUxf9TA68MrO/c
pNFkq6aJ3m67ab33ia/28p0sDKWJGSEiWWl/r7kaZtMhlhALxz6W/xeOX4Qc7XA5p46RimmWjLf7
4pgOAy++l20Wkqn5lKroGZR6OP0VvcaAcWPGcUdTncJKaXKnLsqMNLGohbNG0eEbG5sHsOFExVX6
1+3yAha4CkAnjjSfNxUdHJylAdLdS9jLUqJ+TYdzig==
=I3mL
-----END PGP SIGNATURE-----
--------------OhnbcgBMWkOds7nYdwu8IC3O--
Return-Path: <linux-kernel+bounces-665154-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B5CD541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:58:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 32D173BA682
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:57:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5C21C274666;
Wed, 28 May 2025 08:56:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="HAC9xmMQ"
Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B6FC272E44;
Wed, 28 May 2025 08:56:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.154.123
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422609; cv=none; b=KC35iZAo0Y3K+NEkobUm8+Fw1d4pEVxnAbTvuKZE0YiDWOq6Fz08MHhTDTMN5lupJs1v+jLWFS+pQNHByigU6oundfc2hL19mwLU8w3zMMqAWYoDVuPEqxqWll8ZWd5oXQsTQZhJrhwSeOEFCTk7OG/L+wzxyldsmxzfOq75i/A=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422609; c=relaxed/simple;
bh=svgzjkQYPTqnXKLn5DAC0dIIjJ9S6ZgKgXWz9Lkp8Yg=;
h=Date:From:To:CC:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=lBbPP8uLaJn0ENXkxLRSUysBhItciTerW9T0aHFx+fxAydrAjeBmvFKpzzzaykurgXfy/QXCfm0RJY0uipSPibtdsWZkDrjQ6DfeP2oJDXaxzER+kVOjIz5+lXkFUHK7ziLmEt7KoVLMguLkJcZnQChyL8E4NVFQSrP31/BpGhg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com; spf=pass smtp.mailfrom=microchip.com; dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b=HAC9xmMQ; arc=none smtp.client-ip=68.232.154.123
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=microchip.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp;
t=1748422607; x=1779958607;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=svgzjkQYPTqnXKLn5DAC0dIIjJ9S6ZgKgXWz9Lkp8Yg=;
b=HAC9xmMQnnzDCMV6eALmwOQ6UswppfskB6HV+b0xWXEY5GOVCKdVGJbQ
H4PS8zvNQkhYVmn5WnVRJi19BYRsUDJ91TVvf0eGNYjcLQ4JkJF8mQIPB
SU4NNrbIOt/3y1aq2bSGC0+7i4ouhR35ecSYGwNTqy7UHclCc9OFfi7pj
yO9G0ccbwj+f18HaXtk68mcBJ91dYpNNBJNE1nvFApOI1OQExZ+xLhKok
NCuvFJ2cOWPzoz9525QNrUVDjiiw1cqQPpBzMO7IeDU2LYKwvRPJSew4o
/7wGsI98paHSLupCSyEYmQYdV+LqqOr5QhY8FkppCT4Z/KbVaVrrNMWow
g==;
X-CSE-ConnectionGUID: hzt0KrMvQKeqIu8ADV+dlA==
X-CSE-MsgGUID: hkm5CSArRziPKz9w1gSG0A==
X-IronPort-AV: E=Sophos;i="6.15,320,1739862000";
d="scan'208";a="209648014"
X-Amp-Result: SKIPPED(no attachment in message)
Received: from unknown (HELO email.microchip.com) ([170.129.1.10])
by esa6.microchip.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 28 May 2025 01:56:45 -0700
Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by
chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
15.1.2507.44; Wed, 28 May 2025 01:56:37 -0700
Received: from localhost (10.10.85.11) by chn-vm-ex01.mchp-main.com
(10.10.85.143) with Microsoft SMTP Server id 15.1.2507.44 via Frontend
Transport; Wed, 28 May 2025 01:56:37 -0700
Date: Wed, 28 May 2025 10:54:51 +0200
From: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
To: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
CC: <UNGLinuxDriver@xxxxxxxxxxxxx>, <andrew+netdev@xxxxxxx>,
<davem@xxxxxxxxxxxxx>, <edumazet@xxxxxxxxxx>, <kuba@xxxxxxxxxx>,
<pabeni@xxxxxxxxxx>, <netdev@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH net] net: lan966x: Make sure to insert the vlan tags also
in host mode
Message-ID: <20250528085451.bindv4477g56mfcu@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250527070850.3504582-1-horatiu.vultur@xxxxxxxxxxxxx>
<20250527103749.66505756@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <20250527103749.66505756@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The 05/27/2025 10:37, Maxime Chevallier wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> Hello Horatiu,
Hi Maxime,
>
> On Tue, 27 May 2025 09:08:50 +0200
> Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> wrote:
>
> > When running these commands on DUT (and similar at the other end)
> > ip link set dev eth0 up
> > ip link add link eth0 name eth0.10 type vlan id 10
> > ip addr add 10.0.0.1/24 dev eth0.10
> > ip link set dev eth0.10 up
> > ping 10.0.0.2/24
> >
> > The ping will fail.
> >
> > The reason why is failing is because, the network interfaces for lan966x
> > have a flag saying that the HW can insert the vlan tags into the
> > frames(NETIF_F_HW_VLAN_CTAG_TX). Meaning that the frames that are
> > transmitted don't have the vlan tag inside the skb data, but they have
> > it inside the skb. We already get that vlan tag and put it in the IFH
> > but the problem is that we don't configure the HW to rewrite the frame
> > when the interface is in host mode.
> > The fix consists in actually configuring the HW to insert the vlan tag
> > if it is different than 0.
> >
> > Fixes: 6d2c186afa5d ("net: lan966x: Add vlan support.")
> > Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
> > ---
> > .../ethernet/microchip/lan966x/lan966x_main.c | 1 +
> > .../ethernet/microchip/lan966x/lan966x_main.h | 1 +
> > .../microchip/lan966x/lan966x_switchdev.c | 1 +
> > .../ethernet/microchip/lan966x/lan966x_vlan.c | 21 +++++++++++++++++++
> > 4 files changed, 24 insertions(+)
> >
> > diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> > index 427bdc0e4908c..7001584f1b7a6 100644
> > --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> > +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
> > @@ -879,6 +879,7 @@ static int lan966x_probe_port(struct lan966x *lan966x, u32 p,
> > lan966x_vlan_port_set_vlan_aware(port, 0);
> > lan966x_vlan_port_set_vid(port, HOST_PVID, false, false);
> > lan966x_vlan_port_apply(port);
> > + lan966x_vlan_port_rew_host(port);
> >
> > return 0;
> > }
> > diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.h b/drivers/net/ethernet/microchip/lan966x/lan966x_main.h
> > index 1f9df67f05044..4f75f06883693 100644
> > --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.h
> > +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.h
> > @@ -497,6 +497,7 @@ void lan966x_vlan_port_apply(struct lan966x_port *port);
> > bool lan966x_vlan_cpu_member_cpu_vlan_mask(struct lan966x *lan966x, u16 vid);
> > void lan966x_vlan_port_set_vlan_aware(struct lan966x_port *port,
> > bool vlan_aware);
> > +void lan966x_vlan_port_rew_host(struct lan966x_port *port);
> > int lan966x_vlan_port_set_vid(struct lan966x_port *port,
> > u16 vid,
> > bool pvid,
> > diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c b/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
> > index 1c88120eb291a..bcb4db76b75cd 100644
> > --- a/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
> > +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
> > @@ -297,6 +297,7 @@ static void lan966x_port_bridge_leave(struct lan966x_port *port,
> > lan966x_vlan_port_set_vlan_aware(port, false);
> > lan966x_vlan_port_set_vid(port, HOST_PVID, false, false);
> > lan966x_vlan_port_apply(port);
> > + lan966x_vlan_port_rew_host(port);
> > }
> >
> > int lan966x_port_changeupper(struct net_device *dev,
> > diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c b/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c
> > index fa34a739c748e..f158ec6ab10cc 100644
> > --- a/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c
> > +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c
> > @@ -149,6 +149,27 @@ void lan966x_vlan_port_set_vlan_aware(struct lan966x_port *port,
> > port->vlan_aware = vlan_aware;
> > }
> >
> > +/* When the interface is in host mode, the interface should not be vlan aware
> > + * but it should insert all the tags that it gets from the network stack.
> > + * The tags are no in the data of the frame but actually in the skb and the ifh
> not
> > + * is confiured already to get this tag. So what we need to do is to update the
> configured
> > + * rewriter to insert the vlan tag for all frames which have a vlan tag
> > + * different than 0.
Well spotted!
>
> Just to be extra clear, the doc seems to say that
>
> REW_TAG_CFG_TAG_CFG_SET(1);
>
> means "Tag all frames, except when VID=PORT_VLAN_CFG.PORT_VID or
> VID=0."
>
> Another setting for these bits are "Tag all frames except when VID=0",
> which is what you document in the above comment.
>
> In this case, is there any chance that it would make a difference ?
I don't see how will this make a difference but I will update it to set
the value of 2 which means VID=0 and also update the comment.
>
> > + */
> > +void lan966x_vlan_port_rew_host(struct lan966x_port *port)
> > +{
> > + struct lan966x *lan966x = port->lan966x;
> > + u32 val;
> > +
> > + /* Tag all frames except when VID == DEFAULT_VLAN */
> > + val = REW_TAG_CFG_TAG_CFG_SET(1);
> > +
> > + /* Update only some bits in the register */
> > + lan_rmw(val,
> > + REW_TAG_CFG_TAG_CFG,
> > + lan966x, REW_TAG_CFG(port->chip_port));
> > +}
> > +
> > void lan966x_vlan_port_apply(struct lan966x_port *port)
> > {
> > struct lan966x *lan966x = port->lan966x;
>
> Sorry for the typo nitpicking, but with that :
>
> Reviewed-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
>
> Maxime
--
/Horatiu
Return-Path: <linux-kernel+bounces-665155-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1EFAF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:58:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2A377A20973
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:57:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7574D2749DA;
Wed, 28 May 2025 08:57:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (2048-bit key) header.d=w6rz.net header.i=@w6rz.net header.b="3IpnPYIH"
Received: from omta38.uswest2.a.cloudfilter.net (omta38.uswest2.a.cloudfilter.net [35.89.44.37])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A7AB227466D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:57:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=35.89.44.37
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422644; cv=none; b=bOKCDLWEjjNSWHHc3GpGxab8FgtPcpYlFgK6ArelV9VPKOj4GevXyHzMOZMlLEpDqztORAc5KWJS+dt6Ng5zK225hzbKDMgOy5IuTXcKkS13deiLQUAXyxwwwQBMbk65cECCqdpYjwNM/arFfSFhoWO/6OdnVxozTFe3wiHpL6w=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422644; c=relaxed/simple;
bh=WqT5k29mabgxiTMmvCIyVa8aqzh5NKbZh6jGUFeRZhE=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=sSNJIpTIBVfDscj+bpPvfOU5HGAzK8osb8GxZnPTjkkGzEWlCsGbm9812Pe+YQFII0MT/s029i0OqB8v8BxwiS06fIyg0cEy472AQwNt8QAT9+xSwJdk9bUnSjG2YPBf3XW5JAaae57w492WdvRZ89S1ooFXv0XMTzBe4X5VUwc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=w6rz.net; spf=pass smtp.mailfrom=w6rz.net; dkim=pass (2048-bit key) header.d=w6rz.net header.i=@w6rz.net header.b=3IpnPYIH; arc=none smtp.client-ip=35.89.44.37
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=w6rz.net
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=w6rz.net
Received: from eig-obgw-6005a.ext.cloudfilter.net ([10.0.30.201])
by cmsmtp with ESMTPS
id KAEnuqfCNAfjwKCb5uhFew; Wed, 28 May 2025 08:57:15 +0000
Received: from box5620.bluehost.com ([162.241.219.59])
by cmsmtp with ESMTPS
id KCb4u7FHzZ6h1KCb4uBVAj; Wed, 28 May 2025 08:57:14 +0000
X-Authority-Analysis: v=2.4 cv=ergUzZpX c=1 sm=1 tr=0 ts=6836cfea
a=30941lsx5skRcbJ0JMGu9A==:117 a=30941lsx5skRcbJ0JMGu9A==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=7vwVE5O1G3EA:10 a=VwQbUJbxAAAA:8
a=HaFmDPmJAAAA:8 a=5E2gbQE8QDOJjfjLMUMA:9 a=QEXdDO2ut3YA:10
a=nmWuMzfKamIsx3l42hEX:22 a=Wh1V8bzkS9CpCxOpQUxp:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w6rz.net;
s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:
Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
List-Subscribe:List-Post:List-Owner:List-Archive;
bh=83C9954UDhMJIVB4ENt/jwjCY1O8WR2AKglvGvJAkzc=; b=3IpnPYIH318Ajs1M+RLelFaDBZ
lSXwYShPxZTOXXQb/ScfHQZQAVXbtPw2UdrlMyLIPEgQpEyWNqjgt0wzbEcl9vn9LBk5VFM0cmwTn
fIn2tCDkdDfwPYZMBA4fijFoRtpTCJcxMeUE8MspWGs7O8e3oUNXS2h9sMDuV2GszOC766Qinb34w
jlaZdI68gBINWVqVLQWf2rbbpFo5Em9TcNCF1uag5N1ugXCl09PiFTDwL68jxl1rTdljlAaez25ev
hkS7OIm3KMpCNnpKpR+tHUqlEpm3poOdCQNLruarnlCJVTAfXNubM9dAjdl5bX/dU4oONePUQK/25
qAS9YEXw==;
Received: from c-73-223-253-157.hsd1.ca.comcast.net ([73.223.253.157]:53932 helo=[10.0.1.116])
by box5620.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(Exim 4.98.1)
(envelope-from <re@xxxxxxxx>)
id 1uKCb2-00000000FOr-1eGv;
Wed, 28 May 2025 02:57:12 -0600
Message-ID: <736e7623-d216-4d16-ae7f-afc55502be02@xxxxxxxx>
Date: Wed, 28 May 2025 01:57:08 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6.14 000/783] 6.14.9-rc1 review
To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, stable@xxxxxxxxxxxxxxx
Cc: patches@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
torvalds@xxxxxxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
linux@xxxxxxxxxxxx, shuah@xxxxxxxxxx, patches@xxxxxxxxxxxx,
lkft-triage@xxxxxxxxxxxxxxxx, pavel@xxxxxxx, jonathanh@xxxxxxxxxx,
f.fainelli@xxxxxxxxx, sudipm.mukherjee@xxxxxxxxx, srw@xxxxxxxxxxxxxxxx,
rwarsow@xxxxxx, conor@xxxxxxxxxx, hargar@xxxxxxxxxxxxx, broonie@xxxxxxxxxx
References: <20250527162513.035720581@xxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Ron Economos <re@xxxxxxxx>
In-Reply-To: <20250527162513.035720581@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - box5620.bluehost.com
X-AntiAbuse: Original Domain - vger.kernel.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - w6rz.net
X-BWhitelist: no
X-Source-IP: 73.223.253.157
X-Source-L: No
X-Exim-ID: 1uKCb2-00000000FOr-1eGv
X-Source:
X-Source-Args:
X-Source-Dir:
X-Source-Sender: c-73-223-253-157.hsd1.ca.comcast.net ([10.0.1.116]) [73.223.253.157]:53932
X-Source-Auth: re@xxxxxxxx
X-Email-Count: 16
X-Org: HG=bhshared;ORG=bluehost;
X-Source-Cap: d3NpeHJ6bmU7d3NpeHJ6bmU7Ym94NTYyMC5ibHVlaG9zdC5jb20=
X-Local-Domain: yes
X-CMAE-Envelope: MS4xfMf8dZzE0OR7ANwJ8aW2h7ge1PksohK9uKfVGHkq0vM53CVf1X+kHv39yFGq5lq5XLPDmOEpYTIcxPI7gZGekmYZ18/LZF1gzfWU79VEVH2ca8vCKcJk
xU/w3eohlXgtkt7twnrL179vz413bwr7q+yhOMyf5nExt3SenAhfYo1/SS7u5Vl1AyIFYKkb8Bt0n6JNur6FubJIb+yE5PXOkck=
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/27/25 09:16, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.14.9 release.
> There are 783 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Thu, 29 May 2025 16:22:51 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.14.9-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.14.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
Built (with both gcc-14 and gcc-15) and booted successfully on RISC-V
RV64 (HiFive Unmatched).
Tested-by: Ron Economos <re@xxxxxxxx>
Return-Path: <linux-kernel+bounces-665157-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 347F041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:59:16 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C92A59E7081
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:58:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 72CDE1DF26E;
Wed, 28 May 2025 08:58:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="dyLMTTOm"
Received: from casper.infradead.org (casper.infradead.org [90.155.50.34])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4393A1EB5B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:58:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=90.155.50.34
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422705; cv=none; b=iJug9cWfP+lAw5E4IjhaqelZxWDTwnZ+j061XLoGgZRF60jRn54WOEP0aRyzeCRrIAMicbTjKCESv/4ek+u/ZGOkOyZmqW8azTjbaFb6HyjFvKNb4y6Q2ie6ivkK3amejnB1fXpa/35anXydYWkg1OACAnOHoG1yZRT5Mh1syt8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422705; c=relaxed/simple;
bh=dpY9XFxX4Hy1lUfcsTOGEUIRWm+NLZbPH82t6a86ht0=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=dvY9RsmGywzaU3uPYDr74z2iSeUKupkm+3I/bE2o1y4iTK9W+0O5uS0y0rd9zT5+d31ta6T04GVGl93Xvhbf0UqhYd9bAmYQnEVXN+08Q1sefre7RZ7nUZ4DKdkRtzepfu9M81T4yoI+cN7uz41pTXReWAO7HwBy3xPD73KyDO0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=dyLMTTOm; arc=none smtp.client-ip=90.155.50.34
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
Content-Transfer-Encoding:Content-ID:Content-Description;
bh=vYNmxvQDWeJYerNgEaZPPT4IzuTtjys5hREGA3peSrk=; b=dyLMTTOmH9qEElCGwMz5i6kNZE
Zhupst2sfaCLBXlarKlTs26ch0qUrd3lTu24B4cPyMcr2Oa4Cxe87pR46bZObGcTDYFgVfOTusDxD
sj01vkEX9OReMo8THxP3qDDgqkiz04CDSj6wq2aDp/1Uq+FqNF9wqj8RimPZ1YR0ZWYAnrOOG2Emv
dVInh8gS9Eubv4kDPgw9SrmLqQ0E89m667FXtixpSe+IvKVA6X4IVmd725wrlibku5uTDOQA+3qvf
UKc48PgWx5zYxgwKEFGBxy3+AfYHmm2zEPvw/L6POaOCqWEKqrjhJKSOVyq2oqpqabt1JU/JxdhLd
S5bGt30w==;
Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252] helo=noisy.programming.kicks-ass.net)
by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
id 1uKCc4-0000000DQ5A-2K6g;
Wed, 28 May 2025 08:58:16 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
id 9BD883005AF; Wed, 28 May 2025 10:58:13 +0200 (CEST)
Date: Wed, 28 May 2025 10:58:13 +0200
From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
To: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx,
Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>, Mel Gorman <mgorman@xxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Subject: Re: [PATCH 00/43] sched: Use the SMP scheduler on UP too
Message-ID: <20250528085813.GX39944@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528080924.2273858-1-mingo@xxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 10:08:41AM +0200, Ingo Molnar wrote:
> sched/smp: Always define sched_domains_mutex_lock()/unlock(), def_root_domain and sched_domains_mutex
> sched/smp: Make SMP unconditional
> sched/smp: Always define is_percpu_thread() and scheduler_ipi()
> sched/smp: Always define rq->hrtick_csd
> sched/smp: Use the SMP version of try_to_wake_up()
> sched/smp: Use the SMP version of __task_needs_rq_lock()
> sched/smp: Use the SMP version of wake_up_new_task()
> sched/smp: Use the SMP version of sched_exec()
> sched/smp: Use the SMP version of idle_thread_set_boot_cpu()
> sched/smp: Use the SMP version of the RT scheduling class
> sched/smp: Use the SMP version of the deadline scheduling class
> sched/smp: Use the SMP version of scheduler debugging data
> sched/smp: Use the SMP version of schedstats
> sched/smp: Use the SMP version of the scheduler syscalls
> sched/smp: Use the SMP version of sched_update_asym_prefer_cpu()
> sched/smp: Use the SMP version of the idle scheduling class
> sched/smp: Use the SMP version of the stop-CPU scheduling class
> sched/smp: Use the SMP version of cpu_of()
> sched/smp: Use the SMP version of is_migration_disabled()
> sched/smp: Use the SMP version of rq_pin_lock()
> sched/smp: Use the SMP version of task_on_cpu()
> sched/smp: Use the SMP version of WF_ and SD_ flag sanity checks
> sched/smp: Use the SMP version of ENQUEUE_MIGRATED
> sched/smp: Use the SMP version of add_nr_running()
> sched/smp: Use the SMP version of double_rq_clock_clear_update()
You know about unifdef, right :-)
$ unifdef -m -DCONFIG_SMP=y kernel/sched/*.[ch] include/linux/sched.h include/linux/sched/*.h
I'd just run that tool, have changelog include the command and patch be
the effect.
No point in doing this manually bit by bit.
Return-Path: <linux-kernel+bounces-665158-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 954F641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:59:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 85644A203F1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:58:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AF1811EB5B;
Wed, 28 May 2025 08:58:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="fHBZYzpO"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 120D1269CE8
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:58:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422724; cv=none; b=FeuONaih6AhBALKCJanNE5cPb6h/cIrmUBurG00mzKhpPNG5kAiA622kIamt2yuxUhtaeqB3X0aBAEgCT3SvxGIoEvZdS0R7lrSwLnrYPrjsRf2o7HXdxtx7Kpeoyaj0NOMFa6FbfCtz64juLiCtzuSqzU3UKtH7kGSoDbwjW3Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422724; c=relaxed/simple;
bh=bA/Z65fa0OThbvG45ZApa7k0SfvsTsIxp4mwIBCzg2Y=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=f62Ba2Dt7T8yE26wM3NBZlF+p5F5/SX9+9mvaafpXyejQagKrEPYEsf4fzmV5E7LUnKfILYQ4jjy+Bnopsnp2vdYkixO5rXe4s5rww5aNoUidhx5rN3uafV2eYDstKwQRBrUXZw+NVrUJuRo98Y4A7AEDss40S3AA5Dyaye/8fM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=fHBZYzpO; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279867.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S0jisV013539
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:58:42 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=z8bp2Hr4AknvzUgfDRIK+uMY
DaEWT4Q8XdrOq5uZM0U=; b=fHBZYzpOPWiPDOLUyCYnL3/poHQ7tFNEA2KaFa6G
Zt9RK5ytOip0ReoFQI9Gd8PhZNJd5fkOepB0pKVRI4RjbEZSd8YL1QYrBGlRmFvL
pVBnBeB4L5dTgqjTaW2phWXKm46U4bvQ23ovMYkK3gehA2x24KeGTHcLpXpAkYq0
T/ylk/jZ1SJeMEVQhEJJuSTErw1JeiVDKENgON3BwZJ+JTCaj8GjEdzrajb7tI9T
hbK1pCiZ6r6O6owS/uV/Qn6l/jgIa/NcwEM9FX8fIDdteyQwHsOsv73c6HAuJ9VI
izzgDc9oNiYVAyLaeLKkYL9kAnorzpYiBarc+LowIUB9hg==
Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46w691c5bg-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:58:41 +0000 (GMT)
Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7c5cd0f8961so821436085a.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 01:58:41 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748422720; x=1749027520;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=z8bp2Hr4AknvzUgfDRIK+uMYDaEWT4Q8XdrOq5uZM0U=;
b=Ty5Knb+P6rJgLQSVtdDwjMLVNbIyPDlIL7QY2tuNMJlyebEcvtm7ls6lGdXfpmQ/kZ
+8tB7QmzxUowGLgFu/knBwMH9F5DueuQmzmqTWcjHVMP+zqZLGAetsetCgAdcNlzJwJg
vFaZ7Jr/KQ8zDgo7ictV5B/t33ExKTXYClOAK6PlgMc96Qqf0rvGSeXdTYXy9HMpajDS
x6PmKVolZsidL9EN/6RIwjvynGJfsmKDpnRPSPC01L3bXbFrl2wHY8BEIVHS9Fj3rNh9
3wFJA8tNxgrkkNBiAmhx0pr2wQSjb9VKVdakjSD3Un/DS3KPrbDF/jOlbe3B+dItLlr6
T2sQ==
X-Forwarded-Encrypted: i=1; AJvYcCXADN66Kt1qRjhSaIOCbSiU2bJRCgI++TAh5+XPPLrnxKf2WYBURfGRcLBxtdjywDk+TaybdjIORla4a1A=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw3JqVe95BLk/RByQl386PVFgzEJvNP4D431FFKnKvTyHJCU40b
wNiR2kH5bIIYzoWxA7DjSl1HLdcp3OfEBUptCeBp0s8XFpAcXygC5D9ehVqgO80wC2N9ZtDRdht
49WpLmRECJ30hACErKRlyOqGaDsZbLHqlpxclgDBfFshW6v76wg85Emw25IWjuJ93Qjs=
X-Gm-Gg: ASbGnct71KKowo/3glNDjLITkLFB9UKNrfgfDLf06UnorKl5vE1f2x07O99tDwtBtsA
A3BzCNSzyUF8Mpnvi5hfNXQI+IVlRgs+59mwb3xpWOULsNDrEAT0/fxe6icoeAAfzw+KV37IJb6
Z9761WM0AkO3q6obeozvc2/PSmfT3W8QjyCEfg1r8uBL/FHyebYtj+dgBd3u6TpICS3znReZp+d
medgdGxAl3VYdNtDEbK5949AjNnIx8aicMfx2YnySrUsHv83wJi7jKmGZO2zGhMQmGuxhVdoYza
beRimLS0tl3e3JOe5xj8LGnyQuygkWPmxDgbRFimCSW6tIULc0PxG0Y+zd25cT+Gf+RdLmb3tK8
=
X-Received: by 2002:a05:620a:bcc:b0:7cd:27e7:48c1 with SMTP id af79cd13be357-7ceecc316e4mr2763166885a.48.1748422720601;
Wed, 28 May 2025 01:58:40 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHXBDkfWJBkTWuCCeU7+zsGcKIenmBvr3C7DrbG4zhB6psU9lPSb+ekdddwRTP9fA45T50jQg==
X-Received: by 2002:a05:620a:bcc:b0:7cd:27e7:48c1 with SMTP id af79cd13be357-7ceecc316e4mr2763164285a.48.1748422720239;
Wed, 28 May 2025 01:58:40 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5532f61c6c3sm190707e87.35.2025.05.28.01.58.38
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 01:58:39 -0700 (PDT)
Date: Wed, 28 May 2025 11:58:37 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx>, Vinod Koul <vkoul@xxxxxxxxxx>,
Kishon Vijay Abraham I <kishon@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, linux-phy@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>
Subject: Re: [PATCH v3 5/6] phy: qcom: qmp-combo: register a typec mux to
change the QMPPHY_MODE
Message-ID: <7icpna4l7z63gs52oa5lqf35puib66wxxmqqul6ezdkhuziaqi@mvkf73zz2iyj>
References: <20250527-topic-4ln_dp_respin-v3-0-f9a0763ec289@xxxxxxxxxxxxxxxx>
<20250527-topic-4ln_dp_respin-v3-5-f9a0763ec289@xxxxxxxxxxxxxxxx>
<itmvwhcf37bmnpadcyc7kdt7wx3eljyjwyv64s24zwhbr2e45g@76uzcpjqzx22>
<7f464eb7-469c-4350-a43a-3b99394ad689@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <7f464eb7-469c-4350-a43a-3b99394ad689@xxxxxxxxxxxxxxxx>
X-Authority-Analysis: v=2.4 cv=WfoMa1hX c=1 sm=1 tr=0 ts=6836d041 cx=c_pps
a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=VZyleXZfCtbGlGZB2B0A:9
a=CjuIK1q_8ugA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22
X-Proofpoint-GUID: uDb7VvgGXFtvx5FTJdKORwh-aGUbFWs2
X-Proofpoint-ORIG-GUID: uDb7VvgGXFtvx5FTJdKORwh-aGUbFWs2
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA3NyBTYWx0ZWRfX4Adrnq0x2w1m
OIB/b9ZVYhcLZLu6S95lOGT0Kp/1E0k1tg+vZQHgIL3d9EVBhi8CVnaYCCMg2WWvPHtYOwLj3Ve
bEp2AM12GSTIO1MFaEamJTnsRxm6wDNCOeBODJIwnmz3O3AB3oDrWTPMlSeOv52846aeQ3jm+TG
Ku1N2t6rHJfGM7qC7JJmcihgAyeAtwbuWfJbtMgyz49g8o8sDUtSQGcap8lKgDquCSIGxAxglNf
X89R/48U6OBxnTSkoKUvcN+ObehHvqBsGGCtr6ucu2mWQL2Nkc8vKnS4OsycTvFgZ7rmpEzkwb9
l7EYbN7nn9wKx+nZWs0SsUY5bbbWlqGtyYTcBb8bIaQOwiilDGmWlogyIYvTY1tkGeFSrNiKLM3
NIq0vp1SQkll2OfshoWsEXNPbovdwM9tTrLnwQrLlAk/uRZElx0gUSzMkqZQhGf0wbFKKzsP
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
lowpriorityscore=0 phishscore=0 mlxlogscore=999 priorityscore=1501 mlxscore=0
bulkscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0
clxscore=1015 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280077
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 12:22:01AM +0200, Konrad Dybcio wrote:
> On 5/27/25 11:55 PM, Dmitry Baryshkov wrote:
> > On Tue, May 27, 2025 at 10:40:07PM +0200, Konrad Dybcio wrote:
> >> From: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
> >>
> >> Register a typec mux in order to change the PHY mode on the Type-C
> >> mux events depending on the mode and the svid when in Altmode setup.
> >>
> >> The DisplayPort phy should be left enabled if is still powered on
> >> by the DRM DisplayPort controller, so bail out until the DisplayPort
> >> PHY is not powered off.
> >>
> >> The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states
> >> will be set in between of USB-Only, Combo and DisplayPort Only so
> >> this will leave enough time to the DRM DisplayPort controller to
> >> turn of the DisplayPort PHY.
> >>
> >> Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
> >> [konrad: renaming, rewording, bug fixes]
> >> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
> >> ---
>
> [...]
>
> >> + } else {
> >> + /* Fall back to USB3+DP mode if we're not sure it's strictly USB3-only */
> >
> > Why? if the SID is not DP, then there can't be a DP stream.
> >
> >> + if (state->mode == TYPEC_MODE_USB3 || state->mode == TYPEC_STATE_USB)
> >> + new_mode = QMPPHY_MODE_USB3_ONLY;
> >> + else
> >> + new_mode = QMPPHY_MODE_USB3DP;
>
> To be honest I don't really know.. Neil chose to do that, but I don't
> think there's a strict requirement.. Should we default to 4ln-USB3?
Yes, QMPPHY_MODE_USB3_ONLY. Nit: there is no 4ln-USB3 (it is a special
mode). We handle 2ln-USB3 only.
>
> [...]
>
> > Consider the following scenario: connect DP dongle, use modetest to
> > setup DP stream, disconnect dongle, connect USB3 device. What would be
> > the actual state of the PHY? Modetest is still running, so DP stream is
> > not going to be shut down from the driver.
> >
> > I think we might need a generic notifier from the PHY to the user,
> > telling that the PHY is going away (or just that the PHY is changing the
> > state). Then it would be usable by both the DP and USB drivers to let
> > them know that they should toggle the state.
>
>
> If modetest won't stop running even though there was a DP unplug
> (and therefore presumably a destruction of the display), I don't
> think things are designed very well
They are, but differently. Display settings are always controlled by
DRM clients (typically, a userspace compositor). They can decide to
send data to unconnected display, they can decide to ignore HPD events,
etc. Even if userspace responds to the event, there always will be some
delay. I choose modetest, because it's a particularly good example of a
delay going to the infinity.
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665159-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3E57A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:59:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id CDCA09E5EA2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:58:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B26FC274648;
Wed, 28 May 2025 08:58:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=rbox.co header.i=@rbox.co header.b="MaKNQq8j"
Received: from mailtransmit04.runbox.com (mailtransmit04.runbox.com [185.226.149.37])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 617BF274654;
Wed, 28 May 2025 08:58:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.226.149.37
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422735; cv=none; b=qru6ZhiRnJmjwnL/iJWVe4oMXB6L7yeijXAR0x5LaPpm+G0RtAs1lQ/6lWOyPux7Y2sW74QLi3jGupHRLMhi7L6ZqSJ5asNWQ9hZ2S1zMd8ut0nvsVPOzXaq8m5TIHs32VmTDZLrv7JjEgCjDEHN0Z7ps6jQ+DVl2SxptRKa6t0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422735; c=relaxed/simple;
bh=MzUEp0oUJyRTES8Tk09QRNnjCyqgfx6IGrtjMCFN3KU=;
h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References:
In-Reply-To:Content-Type; b=MN5kgq0SwQIAa01VCDGUKnvktPZIauPpcSsvI9VIK+7NlJb7kNJN3RkITC3GW4ieZbwJAIVsuedxqzk5L7BF8TlqAhHxf7VBcYYQBDp8vAu8Ab7S/klkZAQ1MyV5p6MaNrjzJyjqSIsAlC3WDXbj89Lsf49akc3V1JSz7v8/qzc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rbox.co; spf=pass smtp.mailfrom=rbox.co; dkim=pass (2048-bit key) header.d=rbox.co header.i=@rbox.co header.b=MaKNQq8j; arc=none smtp.client-ip=185.226.149.37
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rbox.co
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rbox.co
Received: from mailtransmit02.runbox ([10.9.9.162] helo=aibo.runbox.com)
by mailtransmit04.runbox.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(Exim 4.93)
(envelope-from <mhal@xxxxxxx>)
id 1uKCcS-005EpJ-6s; Wed, 28 May 2025 10:58:40 +0200
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=rbox.co;
s=selector2; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:
Cc:To:Subject:From:MIME-Version:Date:Message-ID;
bh=0oAb0C7YV1iLSqUTjOfv41zdIB6dGnt2DLCvAuOAkVE=; b=MaKNQq8jnuhuAy7+h9hpsFqAS2
J6f45ZwoBeOtZzv/ISfNM+VcpWiZwBdalK4CI5FM6rC5I/+lkNzE7sy08dmFCkHDAuLTl/CkC5Dw/
WaeL7VPFr2kzohzYtCEHVtgspofbpRnhcppYM4vHxvgpg8/6GMNefYEHN6fznjA1XbWMeg+Yfr781
dHrUKW5/f1JKYDFmfEbVG6BxX9ayvvIOheb5E9iC+o8+hr2Q7NCxSnKV8KAUCaAjd2/A0u0kXol2S
jShwzZvK25TDVVxzzq4JN+eT9vhd/JZ/pJ7n5u63RNYiSh8verMOIy1FkEXIBIcIW3ztN21dvj+Ej
sB68TCEA==;
Received: from [10.9.9.74] (helo=submission03.runbox)
by mailtransmit02.runbox with esmtp (Exim 4.86_2)
(envelope-from <mhal@xxxxxxx>)
id 1uKCcR-0004wx-LN; Wed, 28 May 2025 10:58:39 +0200
Received: by submission03.runbox with esmtpsa [Authenticated ID (604044)] (TLS1.2:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
(Exim 4.93)
id 1uKCcH-00CuGb-Ac; Wed, 28 May 2025 10:58:29 +0200
Message-ID: <54959090-440e-49e8-80b3-8eee0ef4582c@xxxxxxx>
Date: Wed, 28 May 2025 10:58:28 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Michal Luczaj <mhal@xxxxxxx>
Subject: Re: [PATCH net-next] vsock/test: Cover more CIDs in transport_uaf
test
To: Stefano Garzarella <sgarzare@xxxxxxxxxx>
Cc: virtualization@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <20250523-vsock-test-inc-cov-v1-1-fa3507941bbd@xxxxxxx>
<limbmrszio42lvkmalapooflj5miedlszkmnnm4ckmy2upfghw@24vxuhgdji2z>
<1f5cc46a-de4c-4361-a706-fc7fe06a7068@xxxxxxx>
<gfmoupl72tjyymhwxcstwpgaabbfaz6f4v6vj4lwwzwssg577c@urkmgn7rapnj>
<151bf5fe-c9ca-4244-aa21-8d7b8ff2470f@xxxxxxx>
<skvayogoenhntikkdnqrkkjvqesmpnukjlil6reubrouo45sat@j7zw6lfthfrd>
Content-Language: pl-PL, en-GB
In-Reply-To: <skvayogoenhntikkdnqrkkjvqesmpnukjlil6reubrouo45sat@j7zw6lfthfrd>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/27/25 10:41, Stefano Garzarella wrote:
> On Mon, May 26, 2025 at 10:44:05PM +0200, Michal Luczaj wrote:
>> On 5/26/25 16:39, Stefano Garzarella wrote:
>>> On Mon, May 26, 2025 at 02:51:18PM +0200, Michal Luczaj wrote:
>>>> On 5/26/25 10:25, Stefano Garzarella wrote:
>>>>> On Fri, May 23, 2025 at 12:31:16AM +0200, Michal Luczaj wrote:
>>>>>> Note that having only a virtio transport loaded (without vhost_vsock) is
>>>>>> unsupported; test will always pass. Depending on transports available, a
>>>>>
>>>>> Do you think it might make sense to print a warning if we are in this
>>>>> case, perhaps by parsing /proc/modules and looking at vsock
>>>>> dependencies?
>>>>
>>>> That'd nice, but would parsing /proc/modules work if a transport is
>>>> compiled-in (not a module)?
>>>
>>> Good point, I think not, maybe we can see something under /sys/module,
>>> though, I would say let's do best effort without going crazy ;-)
>>
>> Grepping through /proc/kallsyms would do the trick. Is this still a sane
>> ground?
>
> It also depends on a config right?
> I see CONFIG_KALLSYMS, CONFIG_KALLSYMS_ALL, etc. but yeah, if it's
> enabled, it should work for both modules and built-in transports.
FWIW, tools/testing/selftests/net/config has CONFIG_KALLSYMS=y, which
is enough for being able to check symbols like virtio_transport and
vhost_transport.
Administrative query: while net-next is closed, am I supposed to mark this
series as "RFC" and post v2 for a review as usual, or is it better to just
hold off until net-next opens?
>>>>>> +static void test_stream_transport_uaf_client(const struct test_opts *opts)
>>>>>> +{
>>>>>> + bool tested = false;
>>>>>> + int cid;
>>>>>> +
>>>>>> + for (cid = VMADDR_CID_HYPERVISOR; cid <= VMADDR_CID_HOST + 1; ++cid)
>>>>>
>>>>>> + tested |= test_stream_transport_uaf(cid);
>>>>>> +
>>>>>> + if (!tested)
>>>>>> + fprintf(stderr, "No transport tested\n");
>>>>>> +
>>>>>> control_writeln("DONE");
>>>>>
>>>>> While we're at it, I think we can remove this message, looking at
>>>>> run_tests() in util.c, we already have a barrier.
>>>>
>>>> Ok, sure. Note that console output gets slightly de-synchronised: server
>>>> will immediately print next test's prompt and wait there.
>>>
>>> I see, however I don't have a strong opinion, you can leave it that way
>>> if you prefer.
>>
>> How about adding a sync point to run_tests()? E.g.
>
> Yep, why not, of course in another series :-)
>
> And if you like, you can remove that specific sync point in that series
> and check also other tests, but I think we have only that one.
OK, I'll leave that for later.
Thanks,
Michal
Return-Path: <linux-kernel+bounces-665160-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6E17E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:00:36 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id EE94CA2054F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 08:59:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8E1A627465B;
Wed, 28 May 2025 09:00:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="fzbcvMbE"
Received: from mail-m49214.qiye.163.com (mail-m49214.qiye.163.com [45.254.49.214])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1CC7274672
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.254.49.214
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422808; cv=none; b=Zy6qiSXBlMMC/b3tgM4ZF95MbTnr/UiGB1n41C5TdqCTyncDR6DjspHZNtH9gGBfk6BIJUm8PYNwr8sTHtWfs7+e/YOrC8ROnmDunGGrR2vYml6Vl/rt5JTx/0qWh5gu9HI0lrOkuozI9uBh7/Nh2H+6qQk1htvb727lv3swf5E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422808; c=relaxed/simple;
bh=EuXuYkDo1o5KrLt25JOmWK/qp2TMdbRtUyt21UKJNgI=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=erKP3l3mUc1pn/SldDv6p483gcfhAWZWYd2wWXivVtLwfn6VDj23vO+qwL/LS6KuciMugHgXyYjzp+B2tCbiAl3kzgPRr4loEN2WavQwxpGs6XLTaO4fnjhRE/GbUvjto46LBmjyy+oYSapGjv+kV9l2im2Fc5r+EYwUqGmo4R8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=fzbcvMbE; arc=none smtp.client-ip=45.254.49.214
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b15a600;
Wed, 28 May 2025 16:54:50 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Catalin Marinas <catalin.marinas@xxxxxxx>,
Will Deacon <will@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>
Subject: [PATCH v1 3/9] arm64: Kconfig: add ARCH_BST for bst silicons
Date: Wed, 28 May 2025 16:54:48 +0800
Message-Id: <20250528085448.481215-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVlCTkweVkxIHk5NQ0odGEtIHVYVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSU9PT0hVSk
tLVUpCS0tZBg++
X-HM-Tid: 0a971619f7fb09cckunm1df45544397d65
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6PQg6Tww*ATE9SUgaUQ4eOTwo
ARYaCTBVSlVKTE9DT0lJT0JKSUtCVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQUlKS0M3Bg++
DKIM-Signature:a=rsa-sha256;
b=fzbcvMbEvlYVr0wt5EPNZgCA5rXTs2U7dhvQJAbRtzgVHAsCS5Cvg4hOxwgBUrd8CRJFibFzto2IjKmYqN17IH0V3JMwBpxiv2grOGxbBOt0m/+FqMUYNtmj+wdxTOpqbcI5g1knbQfesXvU6BJVdwYe9EIxfwM/+h+jFSX9NlM=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=iEZLHnOAnC5Fjxf5PftzrFh1zmB57EKpYCQRLtF1988=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add ARCH_BST for bst SoC series support.
Add ARCH_BSTC1200 for BSTC1200 platform.
Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
---
arch/arm64/Kconfig.platforms | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 8b76821f190f..b94c8c5d038c 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -402,4 +402,23 @@ config ARCH_ZYNQMP
help
This enables support for Xilinx ZynqMP Family
+config ARCH_BSTC1200
+ bool "BSTC1200 Platforms"
+ select SOC_NONCOHERENT
+ help
+ This enables support for Black Sesame Technologies C1200 series SoCs.
+ The BST C1200 is an automotive-grade SoC designed for ADAS and
+ autonomous driving applications. It features ARM Cortex-A78 cores,
+ dedicated AI accelerators, and various automotive interfaces.
+
+config ARCH_BST
+ bool "BST Platforms"
+ select SOC_NONCOHERENT
+ help
+ This enables support for Black Sesame Technologies (BST) SoC family.
+ BST is a leading provider of automotive-grade AI chips and solutions.
+ Their SoC products integrate high-performance CPU cores, AI accelerators,
+ and comprehensive automotive interfaces for ADAS and autonomous driving
+ applications.
+
endmenu # "Platform selection"
--
2.25.1
Return-Path: <linux-kernel+bounces-665163-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C257E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:00:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9DD174E1312
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 34A57274FD4;
Wed, 28 May 2025 09:00:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="HyRd/gYM"
Received: from mail-m3271.qiye.163.com (mail-m3271.qiye.163.com [220.197.32.71])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F56D266B56
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.32.71
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422822; cv=none; b=WZ7TxIwXavTNqeCsaBtOiU/zYxmRUbtHzF07z/Loh3Ee+cNqIW9IC11BZSbxdYsOY3ZC3vQCA+0BEdT61UW3xIKNDyzmDmDg77mzit30UOqwpidNtJTsgynjXgZ012eZ/00jt032UupC5rG+Fofe35zvw9Xo/LziFkpWbQi+uBg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422822; c=relaxed/simple;
bh=dPh4CWO9LoE1FnUVpv9+BowNSpqjjHQ638GZin7PRLA=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=H+m/bfZg5aLdsy46ftsd6GBcBXQWK8hxkJetqLKB7rMOil2Han6+Nh/TDiVVyT44PFZEPojaa3RUPhcaY/roF/lgT+ar92zvophGL532pr1Gevtg2qTDcnZMEXg+WZaNQGDiNPonS1mBVQOevCPGeBL6SU4zoUvOc/e7GOQpMpw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=HyRd/gYM; arc=none smtp.client-ip=220.197.32.71
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b15a650;
Wed, 28 May 2025 16:55:03 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Catalin Marinas <catalin.marinas@xxxxxxx>,
Will Deacon <will@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>
Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxxxx>,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
Dmitry Baryshkov <lumag@xxxxxxxxxx>,
Vignesh Raghavendra <vigneshr@xxxxxx>,
=?UTF-8?q?N=C3=ADcolas=20F=20=2E=20R=20=2E=20A=20=2E=20Prado?= <nfraprado@xxxxxxxxxxxxx>,
Taniya Das <quic_tdas@xxxxxxxxxxx>,
Eric Biggers <ebiggers@xxxxxxxxxx>,
Elinor Montmasson <elinor.montmasson@xxxxxxxxxxxxxxxxxxxx>,
Ross Burton <ross.burton@xxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>
Subject: [PATCH v1 8/9] arm64: defconfig: enable BST C1200 DWCMSHC SDHCI controller
Date: Wed, 28 May 2025 16:55:02 +0800
Message-Id: <20250528085502.481476-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVkaGk4ZVk9NSU8fHxofQ0hIQlYVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSU9PT0hVSk
tLVUpCS0tZBg++
X-HM-Tid: 0a97161a2dbf09cckunm84ffe6dd397f07
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6PTo6Cjo6IzE#UUgcEANDAw8B
C0wwFBlVSlVKTE9DT0lJTktOSUhMVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQUlLQ0g3Bg++
DKIM-Signature:a=rsa-sha256;
b=HyRd/gYMuD9hDyqYu2NK1/3JLjy1jI4EpX2O95sBuVnp+0VXrj4r/VY7A9hPhfszpdW5pPk/8GaHNTlkF0U8ykTKoAkoyQ4rdjxjRw73QhchL4O/uPFZoMY+NJO+CVBXMydxot8VxDFWP0MQNBGemGq+o59N8oqyQ/ck5c08qLk=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=h1wNZIxAqWJkI8Bzz88+kjjGoUH05jFKvXNWe1iLpcg=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Enable the BST C1200 DWCMSHC SDHCI controller driver
(CONFIG_MMC_SDHCI_BST)
in the ARM64 defconfig to support eMMC/SD card access on Black Sesame
Technologies C1200 series SoCs.
This driver provides hardware-specific implementation for the Synopsys
DesignWare Mobile Storage Host Controller integrated in BST SoCs.
Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 9f072028fb72..81c2b698e37b 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1172,6 +1172,7 @@ CONFIG_MMC_SDHCI_CADENCE=y
CONFIG_MMC_SDHCI_ESDHC_IMX=y
CONFIG_MMC_SDHCI_TEGRA=y
CONFIG_MMC_SDHCI_F_SDH30=y
+CONFIG_MMC_SDHCI_BST=y
CONFIG_MMC_MESON_GX=y
CONFIG_MMC_SDHCI_MSM=y
CONFIG_MMC_SPI=y
--
2.25.1
Return-Path: <linux-kernel+bounces-665161-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 767F941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:00:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1586D3A547B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AF75B27465B;
Wed, 28 May 2025 09:00:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="Rm6aSCfC"
Received: from mail-m49251.qiye.163.com (mail-m49251.qiye.163.com [45.254.49.251])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1BF622741B3;
Wed, 28 May 2025 09:00:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.254.49.251
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422818; cv=none; b=YdCoCDkqpetIa8tQL5WFiZen4C+jdpnnakgO4LEfHUlZHZoAEjq9h8RgFYUVbdtZ5UInqEiR+pkNJemNSXwEYPPzvFS6OduJeLZjzcXie2OkmXSTYg8sdAywATNtFJcP55zxHUhW9cx1NvH2QJowP7Tc7IAIAGsJHGnm3XOCSiM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422818; c=relaxed/simple;
bh=pdbyv71w/4yTol5fv2CkVwoNq9jKo4DHIM3zEzfG4ao=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=jTyLBcU++ViA+MMia67/Q1tuTRI42NWi+NVhFUAxmmRR8JOBj3C24iDTsFzdE+XK6RH7foUID8M+Qml5V/cUAefyKk2td/foZ2k8kWWL/3D9B1apzmuygoSDTBvRNGLZdyHvhuIm6srJBJWjOZBh7e1fE9V3SA4qxHBem7c3KoU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=Rm6aSCfC; arc=none smtp.client-ip=45.254.49.251
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b15a630;
Wed, 28 May 2025 16:54:58 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Arnd Bergmann <arnd@xxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>
Cc: BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
soc@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
Subject: [PATCH v1 6/9] arm64: dts: bst: add support for Black Sesame Technologies C1200 CDCU1.0 board
Date: Wed, 28 May 2025 16:54:57 +0800
Message-Id: <20250528085457.481372-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVlDTUwYVkgfSkwYHh0aHhpKHlYVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSU9PT0hVSk
tLVUpCS0tZBg++
X-HM-Tid: 0a97161a17fe09cckunm6c18a290397e60
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6OS46TAw*STE0CEgrLg82OS0c
ThMKCzRVSlVKTE9DT0lJT0JCTkpPVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQUxIS0k3Bg++
DKIM-Signature:a=rsa-sha256;
b=Rm6aSCfCg9tITzi1S3kXi7EX034ErJavdpJzIxWyKhvkxdB+hxQbMVe7ahf2zwc9+PfQaRbTMOvKVw1WrH4o2VGk/FMDztY3pv3qnrYu3iLTfnlNoxq44mnuUVlC5J41oZv/onbOGt8UN7I5wO79OoGT0qgs9D/OE6tKaJ3ZYVw=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=v5zGpkPvGr84zpKybTIRBthxazxJeY+bSbl9s+aYKIc=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add device tree support for the Black Sesame Technologies (BST) C1200
CDCU1.0 ADAS 4C2G platform. This platform is based on the BST C1200 SoC
family.
The changes include:
- Adding a new BST device tree directory
- Adding Makefile entries to build the BST platform device trees
- Adding the device tree for the BST C1200 CDCU1.0 ADAS 4C2G board
This board features a quad-core Cortex-A78 CPU, and various peripherals
including UART, MMC, watchdog timer, and interrupt controller.
Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/bst/Makefile | 10 ++
.../dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts | 44 ++++++
arch/arm64/boot/dts/bst/bstc1200.dtsi | 130 ++++++++++++++++++
4 files changed, 185 insertions(+)
create mode 100644 arch/arm64/boot/dts/bst/Makefile
create mode 100644 arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts
create mode 100644 arch/arm64/boot/dts/bst/bstc1200.dtsi
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index 79b73a21ddc2..135965288100 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -35,3 +35,4 @@ subdir-y += tesla
subdir-y += ti
subdir-y += toshiba
subdir-y += xilinx
+subdir-y += bst
diff --git a/arch/arm64/boot/dts/bst/Makefile b/arch/arm64/boot/dts/bst/Makefile
new file mode 100644
index 000000000000..64fd43c98275
--- /dev/null
+++ b/arch/arm64/boot/dts/bst/Makefile
@@ -0,0 +1,10 @@
+ifeq ($(CONFIG_SECOND_KERNEL), )
+
+# Enables support for device-tree overlays
+DTC_FLAGS := -@
+
+dtb-$(CONFIG_ARCH_BSTC1200) += bstc1200-cdcu1.0-adas_4c2g.dtb
+
+endif
+
+clean-files := *.dtb
diff --git a/arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts b/arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts
new file mode 100644
index 000000000000..92915e7630ff
--- /dev/null
+++ b/arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "bstc1200.dtsi"
+
+/ {
+ model = "BST C1200-96 CDCU1.0 4C2G";
+
+ chosen {
+ bootargs = "earlycon=uart8250,mmio32,0x20008000 console=ttyS0,115200n8 rw";
+ stdout-path = "serial0:115200n8";
+ };
+
+ memory@8c0000000 {
+ device_type = "memory";
+ reg = <0x8 0x10000000 0x0 0x30000000
+ 0x8 0xc0000000 0x1 0x0
+ 0xc 0x0 0x0 0x40000000
+ 0x8 0x254000 0x0 0x1000
+ 0x8 0x151000 0x0 0x1000>;
+ };
+
+ reserved-memory {
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ ranges;
+
+ mmc0_reserved: mmc0_region@5160000 {
+ compatible = "shared-dma-pool";
+ reg = <0x0 0x5160000 0x0 0x10000>;
+ no-map;
+ };
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&mmc0 {
+ status = "okay";
+ memory-region = <&mmc0_reserved>;
+};
+
diff --git a/arch/arm64/boot/dts/bst/bstc1200.dtsi b/arch/arm64/boot/dts/bst/bstc1200.dtsi
new file mode 100644
index 000000000000..6ed2d8cbd720
--- /dev/null
+++ b/arch/arm64/boot/dts/bst/bstc1200.dtsi
@@ -0,0 +1,130 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+/ {
+ compatible = "bst,c1200";
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+
+ cpus {
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ cpu@0 {
+ compatible = "arm,cortex-a78";
+ device_type = "cpu";
+ enable-method = "psci";
+ next-level-cache = <&l2_cache>;
+ reg = <0x0>;
+ freq-domain = <0x3 0x1>;
+ };
+
+ cpu@1 {
+ compatible = "arm,cortex-a78";
+ device_type = "cpu";
+ enable-method = "psci";
+ next-level-cache = <&l2_cache>;
+ reg = <0x100>;
+ freq-domain = <0x3 0x1>;
+ };
+
+ cpu@2 {
+ compatible = "arm,cortex-a78";
+ device_type = "cpu";
+ enable-method = "psci";
+ next-level-cache = <&l2_cache>;
+ reg = <0x200>;
+ freq-domain = <0x3 0x1>;
+ };
+
+ cpu@3 {
+ compatible = "arm,cortex-a78";
+ device_type = "cpu";
+ enable-method = "psci";
+ next-level-cache = <&l2_cache>;
+ reg = <0x300>;
+ freq-domain = <0x3 0x1>;
+ };
+
+ l2_cache: l2-cache-1 {
+ compatible = "cache";
+ cache-level = <2>;
+ cache-unified;
+ };
+ };
+
+ misc_clk: misc_clk {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x3d0900>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&gic>;
+ always-on;
+ interrupts = <GIC_PPI 0xd (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)
+ GIC_PPI 0xe (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)
+ GIC_PPI 0xb (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)
+ GIC_PPI 0xa (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
+ };
+
+ soc: soc@0 {
+ compatible = "simple-bus";
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ ranges = <0x0 0x0 0x0 0x0 0xffffffff 0xffffffff>;
+
+ mmc0: dwmmc0@22200000 {
+ #address-cells = <0x2>;
+ #size-cells = <0x0>;
+ compatible = "bst,dwcmshc-sdhci";
+ reg = <0x0 0x22200000 0x0 0x1000>;
+ reg-names = "base";
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SPI 0x90 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "IRQDWMMC0";
+ clock-frequency = <0xbebc200>;
+ max-frequency = <0xbebc200>;
+ mmc_crm_base = <0x23006000>;
+ mmc_crm_size = <0x1000>;
+ fifo-depth = <0x400>;
+ bus-width = <0x8>;
+ non-removable;
+ sdhci,auto-cmd12;
+ dma-coherent;
+ status = "disabled";
+ };
+
+ uart0: serial@20008000 {
+ compatible = "snps,dw-apb-uart";
+ reg = <0x0 0x20008000 0x0 0x1000>;
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_SPI 0xd3 IRQ_TYPE_LEVEL_HIGH>;
+ clock-frequency = <0x17d7840>;
+ reg-shift = <0x2>;
+ reg-io-width = <0x4>;
+ status = "disabled";
+ };
+
+ gic: interrupt-controller@32800000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x3>;
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ interrupt-controller;
+ interrupt-parent = <&gic>;
+ ranges;
+ reg = <0x0 0x32800000 0x0 0x10000 0x0 0x32880000 0x0 0x100000>;
+ interrupts = <GIC_PPI 0x9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
+ status = "okay";
+ };
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_on = <0xc4000003>;
+ cpu_off = <0x84000002>;
+ cpu_suspend = <0xc4000001>;
+ };
+};
--
2.25.1
Return-Path: <linux-kernel+bounces-665162-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1473741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:01:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 76F993B9A54
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B61EA2749E8;
Wed, 28 May 2025 09:00:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="RWZpBAh1"
Received: from mail-m1973179.qiye.163.com (mail-m1973179.qiye.163.com [220.197.31.79])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D03D3204863;
Wed, 28 May 2025 09:00:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.79
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422821; cv=none; b=Sp1pmOpo+a1FKaixXjACOByU3JKiiZK2Z/25AFrOfQP9OJafacykcoyHTP357i5pfGWMKwfR9WrkC1yiHw7DrerqSDzp8H6kb04ctpXXmf1h6xEcLtgSQb+aXxD7ScChe2JMpLIfJG1+GhzZadppIgxd2VNlBv6HB5LFRbuMijA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422821; c=relaxed/simple;
bh=X/MD3G4gZsOjeMD3V8yoxH5wnIUw1/82HNss6FAyon8=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=MBhnO6QLhDaFTEPK2m1Kg2mYrgBkHLQTpRH0wv3sx1Y6VXN+6f72NF7loDhFvhsBIdKB7nW64iTKKZxOi5yRhDQAkLLxEYP4qmHeUPVTNPZqKHZttG8cCuVG+A34VLua5fxOmV5jV+2EplzL/1eqMHkKQpHkSpTbGpQOLC+RyY8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=RWZpBAh1; arc=none smtp.client-ip=220.197.31.79
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b15a660;
Wed, 28 May 2025 16:55:06 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Will Deacon <will@xxxxxxxxxx>,
Catalin Marinas <catalin.marinas@xxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
Subject: [PATCH v1 9/9] MAINTAINERS: add and consolidate Black Sesame Technologies (BST) ARM SoC support
Date: Wed, 28 May 2025 16:55:05 +0800
Message-Id: <20250528085505.481528-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVkaSx9MVkhISEwaShlCGEMfGFYVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSU9PT0hVSk
tLVUpCS0tZBg++
X-HM-Tid: 0a97161a390a09cckunm659b5889397f80
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6KxQ6Tio6SDErUUhJUQEaA006
Nj8KFA1VSlVKTE9DT0lJTktDS09OVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQUlLSEI3Bg++
DKIM-Signature:a=rsa-sha256;
b=RWZpBAh1fGfLMJpoYTt6PtSpELwzLBsjUcJeeW26Ih/RUg/yH4ehq4TnoAsYRitc5c2pwtsACcrssFpQDe1P6JjpFK6JcgyvWSSDNrdzZ7ue1tQJzWf+b1N6gzXArVEBYnbHYKs9grlGA1e6qfghLZ2cOWYvogBYbNke81y/O8k=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=SCVFvE+0aCV815j3Mi3WbiNx63axYW383HrgjWVn7Rg=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add and consolidate the MAINTAINERS entry for Black Sesame Technologies
ARM SoC support. This entry covers device tree bindings, drivers, and board
files for BST SoCs, including MMC, and platform support.
Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
---
MAINTAINERS | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index d48dd6726fe6..05df62c40021 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2373,6 +2373,16 @@ S: Maintained
F: Documentation/devicetree/bindings/arm/blaize.yaml
F: arch/arm64/boot/dts/blaize/
+ARM/BST SOC SUPPORT
+M: Ge Gordon <gordon.ge@xxxxxx>
+R: BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>
+L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
+S: Maintained
+F: Documentation/devicetree/bindings/arm/bst.yaml
+F: Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml
+F: arch/arm64/boot/dts/bst/
+F: drivers/mmc/host/sdhci-of-bst-c1200.c
+
ARM/CALXEDA HIGHBANK ARCHITECTURE
M: Andre Przywara <andre.przywara@xxxxxxx>
L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
--
2.25.1
Return-Path: <linux-kernel+bounces-665165-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2BA9141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:01:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 053BD16A0C7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:01:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 488EC2749CD;
Wed, 28 May 2025 09:00:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kode54.net header.i=@kode54.net header.b="J+P6ryq+";
dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="eIbJAUhi"
Received: from fout-a2-smtp.messagingengine.com (fout-a2-smtp.messagingengine.com [103.168.172.145])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC481274646;
Wed, 28 May 2025 09:00:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.145
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422835; cv=none; b=RVfASOL+y0lipf8rVGreFey0cTFqHHWkHyCP1i1BWoxoHT7Cs/5N7RZeFj9kzNoaRPlGDw/b8WPHTOYyKr9AkpfANkiLGMGZuIxCt67hHl/B0gdPUWucpulKqJlJSVbbJPMxllVr0is3dtdpJlUWGHEJG9hO5Ei2sXlco89rs1M=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422835; c=relaxed/simple;
bh=z6W/IJ2e+qbl9PkcC1h6jlkIMPh1FARrtaYFaS3okqs=;
h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To:
References:In-Reply-To; b=UzZbtUk5rZ06ZFY35ADBUZuQb3p0+LnRXNmQbaDN2JG/BCkJlXD+OuSTxvPZawB7Gs59n947hkzdaKEM7Ft/i7L2hOd+xdfGx0B4LnbdYKpSqqq/jc1psDuGv/B+kVHMM0EM1Zltno1M90BVfzOf+C2528FYeMqD+RZuF+KenB4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kode54.net; spf=pass smtp.mailfrom=kode54.net; dkim=pass (2048-bit key) header.d=kode54.net header.i=@kode54.net header.b=J+P6ryq+; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=eIbJAUhi; arc=none smtp.client-ip=103.168.172.145
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kode54.net
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kode54.net
Received: from phl-compute-02.internal (phl-compute-02.phl.internal [10.202.2.42])
by mailfout.phl.internal (Postfix) with ESMTP id C6B9E1380B08;
Wed, 28 May 2025 05:00:31 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
by phl-compute-02.internal (MEProxy); Wed, 28 May 2025 05:00:31 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kode54.net; h=cc
:cc:content-transfer-encoding:content-type:content-type:date
:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to; s=fm3; t=1748422831;
x=1748509231; bh=Z1yOxaM2wfMvKI2kVWfHUYbkiPZ7bTZx5z+jZhW1zmw=; b=
J+P6ryq+XgBkSGADS8inZDprJWswloO7nEtlMXpix6eT51jG9p4g3FINCn02sUe9
MvD6gyJLHYSdmgCr0ZZPWVG2fvBjmTa4nJeDxzlCzqWwA741z3ob8CsvViLOu7t7
5dZIMF9z32YbFRBBqH6CsurGRPT10fVhn6LMSNWK4q2cXmkTEgqlweeOBEbNtciP
ZLpqZpSZ3IGMWMYHTqBS36fGXtLTNcotjI0y1fsrD2ZlRczbQPFOI7kKTFiL2Wwn
qdUOOPZkWlrIbZ2N5KDuVpCw7lj7Eh9eVKffZNRkidk2FrRDqG8CfBub0PV7Emxm
cs2/gaIsIKRwwwTyGaS6gw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-transfer-encoding
:content-type:content-type:date:date:feedback-id:feedback-id
:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to:x-me-proxy
:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1748422831; x=
1748509231; bh=Z1yOxaM2wfMvKI2kVWfHUYbkiPZ7bTZx5z+jZhW1zmw=; b=e
IbJAUhiQseVLDs7B308JF56W6tTO8SrEK/DjkDGeSwkBxseO+2Er3VLGXb0SkfIU
W4S8w8aREdTTANutogr6zBDDjIUjW2TPx3Db1m4es4MGTytDxKuW5E3kkJ7Hywia
wem/KRZVl9cehB6qVYfeq+T1kblQAytdfQ3EnXj2WOnSjay9FdoEvd3lnZQ+6Vcv
+ElI1jVYJej7KMOcAGrP6Jf6rXf+d7OIY3b0YncE/bGIjst7GVgr2Yk19GZXF788
dy+nuwLgi00mkcSUL7HqPUsJRJquzP/er8O7Z6Nms3gY6PAAe289+P18G1BMj5n3
qCUxE7qOEhDmIwZ0sPzjg==
X-ME-Sender: <xms:rtA2aMDBQJ2j1EwDRAI8TbKCwfvqNydHRzNRuziiVT8JGhNxJgzQ6g>
<xme:rtA2aOgam4fH8dKn-4x1N4RLiJZwKV3qMX9buenG0HkgJCkdYSlYif_AMQgihUf3t
8Ger203jxuF-YdtkVA>
X-ME-Received: <xmr:rtA2aPk8dwxb6YufPQzz6hmv21ELdBJj1BxB950mh2pax08B1fc-OpzlsGEXNkQoDn4sbJHnAEMlHEKNXlYmuBgDJoQXexu3qg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdekgeculddtuddrgeefvddrtd
dtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggft
fghnshhusghstghrihgsvgdpuffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftd
dtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpegggfgtfffkvefu
hffvofhfjgesthhqredtredtjeenucfhrhhomhepfdevhhhrihhsthhophhhvghrucfunh
hofihhihhllhdfuceotghhrhhisheskhhouggvheegrdhnvghtqeenucggtffrrghtthgv
rhhnpeeileetudejffegjeegfffhhffhkeefjefgtddujeehheevleevjeejffekieekve
enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegthhhr
ihhssehkohguvgehgedrnhgvthdpnhgspghrtghpthhtohepiedpmhhouggvpehsmhhtph
houhhtpdhrtghpthhtohepjhhohhhnsehsthhofhhfvghlrdhorhhgpdhrtghpthhtohep
khgvnhhtrdhovhgvrhhsthhrvggvtheslhhinhhugidruggvvhdprhgtphhtthhopehtoh
hrvhgrlhgusheslhhinhhugidqfhhouhhnuggrthhiohhnrdhorhhgpdhrtghpthhtohep
lhhinhhugidqsggtrggthhgvfhhssehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpth
htoheplhhinhhugidqfhhsuggvvhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgt
phhtthhopehlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrgh
X-ME-Proxy: <xmx:rtA2aCwY_NeT4DE9OTqJY8rptC2V451djeBMBxTfOLF0AdLUeCQSCA>
<xmx:rtA2aBSX4SBlWIP-AFjclFMOKYMB4l7Ei2aGeMSezdFGZqErXMYI4A>
<xmx:rtA2aNbnH82s9MX5q6K4yRAKZ-bOrTocfVBC-1n1g4iMvQQMNm6d2w>
<xmx:rtA2aKSLxcAXVOZuMjIDQchC1NjET6839D0xgon-LtyzqWnV8twelw>
<xmx:r9A2aCvP1EHZIVkzUmeUR479AiDabuMllQHbU9Q0Xlc_fwh58kI6eK-e>
Feedback-ID: i9ec6488d:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
28 May 2025 05:00:29 -0400 (EDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 28 May 2025 02:00:29 -0700
Message-Id: <DA7O5Z6M9D5H.2OX4U4K5YQ7C9@xxxxxxxxxx>
Cc: "Linus Torvalds" <torvalds@xxxxxxxxxxxxxxxxxxxx>,
<linux-bcachefs@xxxxxxxxxxxxxxx>, <linux-fsdevel@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [GIT PULL] bcachefs changes for 6.16
From: "Christopher Snowhill" <chris@xxxxxxxxxx>
To: "John Stoffel" <john@xxxxxxxxxxx>, "Kent Overstreet"
<kent.overstreet@xxxxxxxxx>
X-Mailer: aerc 0.20.1-0-g2ecb8770224a
References: <oxkibsokaa3jw2flrbbzb5brx5ere724f3b2nyr2t5nsqfjw4u@23q3ardus43h> <dmfrgqor3rfvjfmx7bp4m7h7wis4dt5m3kc2d3ilgkg4fb4vem@wytvcdifbcav> <26678.2527.611113.400746@xxxxxxxxxxxxxxxxx>
In-Reply-To: <26678.2527.611113.400746@xxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue May 27, 2025 at 11:52 AM PDT, John Stoffel wrote:
>>>>>> "Kent" =3D=3D Kent Overstreet <kent.overstreet@xxxxxxxxx> writes:
>
>> There was a feature request I forgot to mention - New option,
>> 'rebalance_on_ac_only'. Does exactly what the name suggests, quite
>> handy with background compression.
>
> LOL, only if you know what the _ac_ part stands for. :-)
Would you have suggested perhaps _mains_ ? That may have rang better
with some folks. I suppose, at least.
Return-Path: <linux-kernel+bounces-665164-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F3CA541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:01:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id DE5D03B7664
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6D72B22A81E;
Wed, 28 May 2025 09:00:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="K2fmwfCT"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 195BA2749E7
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422824; cv=none; b=SGq8kOLrpQHQh4lQj6BlGReDRmeZEtFa3MSQE5A2E+HUYYqJ6g7i0repVwc4rnByWVI0dpTOKBGE4bRQyacOgKPNdqiL57EW9gXyInmwdk9BzDi7rsFvTiBhW2CqQXyEJzlo/eyta/YEH5TQPyv7jaxlQlk6eYfSN3wi0hHZ9PA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422824; c=relaxed/simple;
bh=t1e/HvfosFpsLoFkhIGG8ncpvv+6aZviJ2nKgmWiOW8=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=mwnDxF03nWchpmqqGZv20SKFkG2hMToFg91xcMju8keIpUHgcpt+hQIoEkIamnIp6NzoksIHurFCfuQ0rMokMCO6FgczZamzvqn/hAe5+yuMb0Rs2PjdKnfgtNg8SOe+9SVAVQkdVW4TQAd0j8OQzsbDiiuO5p7J3tOsa6t10Ow=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=K2fmwfCT; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748422822;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=64QsXwazpQwW+tOYOMo7hDdSauBGVg6nC6ZKTpmi0VI=;
b=K2fmwfCTDs4dGc61cpflZabEFOjCWO6oam0nm+IY1Lvbu4lzezAithrhmsp2vOKWGMMiBJ
UAcOhUN6o7hSsJ/3z4jDSmQVHpgbwJd+W4wiTQy9xXxlKpWMG9aSxVq2vP1DXNLWggV3l+
CVn4NCFhicR0swLEFFd3vemDGlKeLVA=
Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com
[209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-25-zq31eJI9M1y50WE8YFheuw-1; Wed, 28 May 2025 05:00:20 -0400
X-MC-Unique: zq31eJI9M1y50WE8YFheuw-1
X-Mimecast-MFC-AGG-ID: zq31eJI9M1y50WE8YFheuw_1748422819
Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a37a0d1005so2463405f8f.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:00:19 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748422819; x=1749027619;
h=in-reply-to:content-transfer-encoding:content-disposition
:mime-version:references:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=64QsXwazpQwW+tOYOMo7hDdSauBGVg6nC6ZKTpmi0VI=;
b=LpnEvf9VXKi8dWURItagPglfLpISHG4AQwQZIYqrN3TVi6aBcgXejgfNMDfuQEzsL2
54Of/+QIa35V7JVJdyKLhrIUKs7MLjVZwb9HTtBnzq3oLSiawEemKMLzl44DsOUm1E6r
44JcprAnsq6aEqOBeMaSqibDkh0E+wX7x73OWoWiFjO/jNyYEgYHOjWO7V5KLvBiW0xH
bQoynO5Lgl7yd+xfLSh/G+3nDIEOOXh3oXiRzN5V20z9BkKf6gSkOLH5MGpr0b/8ZfeC
npfBogIx0L0XbnSuufQJeRfNkVrtyvRek0Pc8AEW+QMQCyZ72KjxGlkIzWJXdjPFqEr1
CNvA==
X-Forwarded-Encrypted: i=1; AJvYcCVlF20E6HrGfLMHXy0osKCJfE11dJN4ZA+3+IDRul/TDbAC0bZHcXzm8qNNd8nOsyVMH/KhEt6LhtY9Sjk=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy7nieCquecTN72rmLIVbnxvK15k9aPijGC93wm2WaQDdYHCrTY
cGNs3USoIKBkt2z2TNDZeuZVK4xgmiEF5hEsTcUi0Vnxu9tq1hePh6wM08dwdwG15qqd9OpenF/
qsRocShs88KUydGSdtV6dV1H4IndiA5EaSAq5Y1B/8dBLMe78Yjb4KtlhYYJfSLYReg==
X-Gm-Gg: ASbGncvrTrqTGRHXvZjSAqILH7tZHqrDyRzae+iMouGBQFHo+x6tg7JNtfStn7ZrzyZ
/JSCoUMzSXaYR8XCarHSqhiTxK3p4d6kRSsOTdzl3X1Oj2LxMrfQ8hSVWDmtdtg4k5tv8n5jPtw
dhFRpfsJh5/Us20wGzSTBmwLXwoFER7HU41bJbGihxO1E//cn7cIP9IyVeEHeBjp4NH30oHro02
3SfSRrYADDjzFUDMmTNe9+g99lTY8kuAac0Vx/sIyOx24NAWglxcdgQHtyBpm5pxzgKTDQ0nQSk
NRrNDEzVR6FyPwRMu9d0t2RAioqZwZXTFMEEql6PYW3wy9xS+j8/PyTEuJJ2
X-Received: by 2002:a5d:5f8b:0:b0:3a3:6595:921f with SMTP id ffacd0b85a97d-3a4cb4b822dmr12928267f8f.41.1748422818883;
Wed, 28 May 2025 02:00:18 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGjrV5vgUL5ysXDl7B3oxB4ovG+UqKk+QHfVQ+EndsK3P47vCbb2duzqpq4xfTjaqx9Sg54xQ==
X-Received: by 2002:a5d:5f8b:0:b0:3a3:6595:921f with SMTP id ffacd0b85a97d-3a4cb4b822dmr12928217f8f.41.1748422818345;
Wed, 28 May 2025 02:00:18 -0700 (PDT)
Received: from sgarzare-redhat (host-82-53-134-35.retail.telecomitalia.it. [82.53.134.35])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eab0b596sm892079f8f.0.2025.05.28.02.00.16
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:00:17 -0700 (PDT)
Date: Wed, 28 May 2025 11:00:12 +0200
From: Stefano Garzarella <sgarzare@xxxxxxxxxx>
To: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx, jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx,
Yinggang Gu <guyinggang@xxxxxxxxxxx>, Huacai Chen <chenhuacai@xxxxxxxxxxx>
Subject: Re: [PATCH v10 4/5] tpm: Add a driver for Loongson TPM device
Message-ID: <gymx5tbghi55gm76ydtuzzd6r522expft36twwtvpkbgcl266a@zelnthnhu7kq>
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx>
<20250528065944.4511-5-zhaoqunqin@xxxxxxxxxxx>
<7ifsmhpubkedbiivcnfrxlrhriti5ksb4lbgrdwhwfxtp5ledc@z2jf6sz4vdgd>
<afaeb91a-afb4-428a-2c17-3ea5f098da22@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <afaeb91a-afb4-428a-2c17-3ea5f098da22@xxxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 04:42:05PM +0800, Qunqin Zhao wrote:
>
>å?¨ 2025/5/28 ä¸?å??3:57, Stefano Garzarella å??é??:
>>>+Â Â Â chip = tpmm_chip_alloc(dev, &tpm_loongson_ops);
>>>+Â Â Â if (IS_ERR(chip))
>>>+Â Â Â Â Â Â Â return PTR_ERR(chip);
>>>+Â Â Â chip->flags = TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_IRQ;
>>
>>Why setting TPM_CHIP_FLAG_IRQ?
>
>When tpm_engine completes TPM_CC* command,
>
>the hardware will indeed trigger an interrupt to the kernel.
IIUC that is hidden by loongson_se_send_engine_cmd(), that for this
driver is completely synchronous, no?
>
>>
>>IIUC this driver is similar to ftpm and svsm where the send is
>>synchronous so having .status, .cancel, etc. set to 0 should be
>>enough to call .recv() just after send() in tpm_try_transmit(). See
>>commit 980a573621ea ("tpm: Make chip->{status,cancel,req_canceled}
>>opt")
>The send callback would wait until the TPM_CC* command complete. We
>don't need a poll.
Right, that's what I was saying too, send() is synchronous (as in ftpm
and svsm). The polling in tpm_try_transmit() is already skipped since we
are setting .status = 0, .req_complete_mask = 0, .req_complete_val = 0,
etc. so IMHO this is exactly the same of ftpm and svsm, so we don't need
to set TPM_CHIP_FLAG_IRQ.
Thanks,
Stefano
Return-Path: <linux-kernel+bounces-665166-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AF35F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:01:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A020E4E38DB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:01:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 689A92749F2;
Wed, 28 May 2025 09:00:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="IzFiLyH+"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23B7A2749DA
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422847; cv=none; b=WpGF975O1KGn7WnNL7IWHFjNneS14U01Mc3VI8M9K1ljjuE5NqaapzhG5uFIysLG9MXMpL1+ezxhpf1ucDACyRBjfx2/lPCHkPKo6xGCYD8Hr0aqpafGqQVAKWOrUVuWlSmvsTJk/9aTpEEZVk+p+cSQ5u0Y8O0XOvw98HomGfk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422847; c=relaxed/simple;
bh=4r/YBkwC51LF6bb03uDFY7j813T0E5I2R8G7R8JuqMw=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ITm3oErdxD9ERyPHYtU4Pj4AwJ9bc5AfgOp1C4HOMaq1dCotaNP3kGnyd6kR5NNB1u3cWrka6ljYhflMRNOqF8CE93vDk9Nj0OWSRilDesOxnPlv8TAWlRIAC4O64daojIcuNeeKP+KBJJ1Bxl0W3ANDZS3sAD7LyKwMXFrdNLA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=IzFiLyH+; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279866.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54RMNm8d010205
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:45 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=2mjSi52VDuOIqzhu/+qC9OKP
NQzrY0pozp35vNraDBg=; b=IzFiLyH+shV+iJP/3J1hkJzMfO30UPgQ0+qk+fL9
YfPKixuF861DjqDdVb3hlk0/QbhWHenkacR79mqktciUjQ4ADO6rli/VM8YjyJ6W
f/SOYwlCkF2DYSWDmCcpYiFHIZCchwjeUPZVnaLUVmYl8P77hwaw8OJqrLG/6FkA
jGVMl/DznoQz8El065KU356ImUzNukp2Uhv+n4Gr+XcHAx9fT0MHyLHnGaVYrAbG
CO3irxsgJcVAbHydZcYlLq8oEzI3TfBBWBbWjR+s8v7/JWubBM4unnKDO4+U3KG8
k5GSuL0ubWyVoFr0JL6awKRfN1TqOKitIayCpztbECwoZg==
Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46wavkuef2-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:00:45 +0000 (GMT)
Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c793d573b2so768344285a.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:00:45 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748422844; x=1749027644;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=2mjSi52VDuOIqzhu/+qC9OKPNQzrY0pozp35vNraDBg=;
b=S0F11+x2E1zVtpqPCfAR8CvWte3XT/r2oKN3vdNH4aqCn84mvD3xQdmPiTKkag/D9Q
KsLSJab61TG2zSefzW7Aa2eVcG8OjowWGHKU3h7oma3ujx6gCLyNsGDX5BCOqHlOV3ao
4nPCPIS5QJSK2ZYnxZPRzZpWKEn+uvZiQhBjNANbKHRckFswoT9HNWNIQ5WjASYKi5Ly
yhLxml8wBQ6RLErLhYd5klA90u8PTlIgh04GWuLGnWCwivxI388/WxJkwGVrjnLJ7icM
sRK3VCCVgrdRdr6AzTk/kzc9fj5U+o7SEPON13mc2eowVUu6fBh53zVWuK1I2hxl9uP7
vHWg==
X-Forwarded-Encrypted: i=1; AJvYcCUoxK0GuYC8lOQ0A1z7r/82Jb7VMdmg+Qiae3wHnPqToBAcznZ5R4YODZHAyvGmn2bCXNUXv3z00cwuHkY=@vger.kernel.org
X-Gm-Message-State: AOJu0YxfufM3oIRLLvi2bOv+eQmqQqDhMowfUIWWgWUQr1SVFgAlASlm
b2qqS9dxdVwutrvn0NBbJDv7jfFjl4xtZSfFNMh7zBQsrlQNacqMe4+ehGURoy8rmXQctFu0ez0
J+gSGVAZ2Xm3qbeIjK3oyuII867mmCY+ZVFY3JzUyN9tCrZBE8N32vwu+8cR5rrs2edQ=
X-Gm-Gg: ASbGncvES6tdjSHffLuJTLVW6S6PsfOEPB/b+ZXHVQm3cuFEKGxX/hKMOo8cnLgS0UV
NDFHO2b/Gy1cBTCTdk0XrbgzUXECF2Ri1T0dnq/qxpFs5nIKhrr6zKfTaE710W1aQT4fxAUIKxq
lnVSHUO+JAhiW2J1aGSbusplSTYFeGxPV+9R21DjGg4869uyhvQRvoIoYmzKv8KAp89662lRt8M
zPsGUPS8gsW4LIv/Qddb7AO2APXplYzstN6k75MFyx7BzG/n98IuGCDLvI6/Yn1f1ZhnXon7zR1
g4AfVZaHtCIDWKlygwVGt21iF1i2toBfuBQVtJ6LspLN7kZu1a3hSqZEgIFClq+RkM7K06+MmpU
=
X-Received: by 2002:a05:620a:240c:b0:7c5:e92a:cba3 with SMTP id af79cd13be357-7ceecbf9a21mr2666637785a.49.1748422843834;
Wed, 28 May 2025 02:00:43 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHhps16AlZrh7lPu8W80Ph0izdq5w8yJZHVSR7lQDLdhfKN1GF6pR+JV7jBPU8jReMa0jILtw==
X-Received: by 2002:a05:620a:240c:b0:7c5:e92a:cba3 with SMTP id af79cd13be357-7ceecbf9a21mr2666633485a.49.1748422843263;
Wed, 28 May 2025 02:00:43 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5532f69a6absm190913e87.109.2025.05.28.02.00.42
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:00:42 -0700 (PDT)
Date: Wed, 28 May 2025 12:00:40 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx>, Vinod Koul <vkoul@xxxxxxxxxx>,
Kishon Vijay Abraham I <kishon@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, linux-phy@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Subject: Re: [PATCH v3 0/6] arm64: qcom: allow up to 4 lanes for the Type-C
DisplayPort Altmode
Message-ID: <inpfuxskvmrebxitqtqwzvpnpicibo6zakgk4ujpcrqrpef2vw@nhclj5rg7axr>
References: <20250527-topic-4ln_dp_respin-v3-0-f9a0763ec289@xxxxxxxxxxxxxxxx>
<styd5gjksbsqt7efylpfn6bgwgyvt6zexxiooihjsnmp25yigp@unq7dor6gso2>
<447c3b13-8d6d-4bcb-83c1-9456b915a77e@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <447c3b13-8d6d-4bcb-83c1-9456b915a77e@xxxxxxxxxxxxxxxx>
X-Proofpoint-GUID: MGo60EQ7Atlq6K6mXjLYetGTg-6k3WmN
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA3NyBTYWx0ZWRfXyZDVlhilP8QH
qQUUZmZj2D3DP9+H7DQzhQR9C9XZidSn71l9HS9R7lan5C4FXft4WtbWNs2upe2AcUeLkE+mfQJ
SQWXkwdVO/I/UC6oEaAqTztS6UhwJUkjCo4749wlFbfzaArQI1DKLCHtuo62S6EPNAeibPNGHvc
YWUXlbsxN+yK2ZTBQNR+9ZoeH/Bq1OwWe0lCATHvqgNxFbnxZmE8vP50I9e/TGJtyojlJhctHfw
F8FcEuR9aOXLE4LRDJojyQbFKQxAyvbIYs4gSvSkGUpOdfhdNMzxewdtV2DOsWBZw+oZuijtdNr
ZrvXLNuO7CWfWErmw/rxA/iLBlmGgJlpycGWMG1LtXIbyhEMVC4aURP+cl1ie3rl2J6UJvf6Sn/
rlENCaOy8a/cSgAufve81E58K+zxQVmdqxIXZvot/4nLNVq9e0W1wwNjc5dbVkDATe5p9Jel
X-Authority-Analysis: v=2.4 cv=fMk53Yae c=1 sm=1 tr=0 ts=6836d0bd cx=c_pps
a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=dt9VzEwgFbYA:10 a=6X5T8yoRJbxqCL-bSjQA:9 a=CjuIK1q_8ugA:10
a=bTQJ7kPSJx9SKPbeHEYW:22
X-Proofpoint-ORIG-GUID: MGo60EQ7Atlq6K6mXjLYetGTg-6k3WmN
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
malwarescore=0 adultscore=0 impostorscore=0 phishscore=0 suspectscore=0
spamscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 mlxscore=0
mlxlogscore=454 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280077
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 12:24:02AM +0200, Konrad Dybcio wrote:
> On 5/27/25 11:10 PM, Dmitry Baryshkov wrote:
> > On Tue, May 27, 2025 at 10:40:02PM +0200, Konrad Dybcio wrote:
> >> Register a typec mux in order to change the PHY mode on the Type-C
> >> mux events depending on the mode and the svid when in Altmode setup.
> >>
> >> The DisplayPort phy should be left enabled if is still powered on
> >> by the DRM DisplayPort controller, so bail out until the DisplayPort
> >> PHY is not powered off.
> >
> > This series doesn't seem to solve the USB side of a problem. When the
> > PHY is being switch to the 4-lane mode, USB controller looses PIPE
> > clock, so it needs to be switched to the USB-2 mode.
>
> I didn't find issues with that on X13s.. Not sure if it's related, but
> on the SL7, after plugging in a 4ln DP connection, I need to plug in
> the USB thumb drive twice for the first time (only in that sequence)
Might be.
> But there's nothing interesting in dmesg and the phy seems to be
> programmed with the same values on both the initial and the subsequent
> working plug-in
Please try using a DP dongle with USB 2 passthrough (there are some).
Or just emulate this by enabling DP PHY / DP chain for plugged in USB3
devices. Would you be able to see the USB device on a bus?
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665167-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 426ED41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:01:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 8CE944A2FCF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:01:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A17F1274FDC;
Wed, 28 May 2025 09:01:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZSuuMhPm"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C793E266B56;
Wed, 28 May 2025 09:01:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422862; cv=none; b=N80utUwraMgmnvKivlnwXSk5psZ18f6CbA6gsd2PyT798CZrZ1c91ZFYT1Rs+8TTHZyJLt//MGwLQ6o8d8MEOYaH7vfhgzt4L8hmpYF0IdJCvDAeCuiQHGTXbuzgzNlukERZQC6ybuxYkaKandpLFwekvGmkPe0han62W9N9vT4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422862; c=relaxed/simple;
bh=J3/nOkg/8f8JrZ1t4/PcLLyxxxqdmeW2cz37Tm5RRlw=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=KYNaJl5u71PeiN47wFXIzvCQmtBECq785On0MRgy5RzgsiEWkXKp3HR1Ws77WuAvUemRhfq0HSuRYnqXMXBuKsbMMFwgH1yBUXqQfoeU3Gmd0XTFlkQu5bv036HtLeRQpU2xRhu6/4L45fIb8nQbwtO1IW3wa7AuM6n/bIY20l0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZSuuMhPm; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F008C4CEE7;
Wed, 28 May 2025 09:00:59 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748422862;
bh=J3/nOkg/8f8JrZ1t4/PcLLyxxxqdmeW2cz37Tm5RRlw=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=ZSuuMhPmYMGsEOJrNG1sqCanRwH+qk9qBp9C42OYbb/TextqwbmaBZyIWU1dUKt1b
pW4Rzife6LdGXtdGQT0gUfw0JqkAFPBDP1US0/L5wZUyl64rdEpLl3IufIV1+z6/sb
iyethRYargVBNMQSN0d3Ynq4IK86CrLfWNj2ebbvb5MXiv94pMW5nTsAeBFpTQ+mOU
udXP+z5cI83BbIk57vN56IMASghjkWIkQImx2LotJC+jMIJ8WkcNekhyqPkyXysDMv
s7BIaZwCX2MKS8D2zt2CT3APjerxiQXOtqEcjvxHIlDZpEsUQZWDbNvwqoT16UJ4CP
Lw2X7Ejcmkgdw==
Message-ID: <1c21f915-e067-4801-925a-3d4882f358f2@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:00:57 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/9] ARM: dts: stm32: add Hardware debug port (HDP) on
stm32mp15
To: =?UTF-8?Q?Cl=C3=A9ment_Le_Goffic?= <clement.legoffic@xxxxxxxxxxx>,
Linus Walleij <linus.walleij@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>,
Bartosz Golaszewski <brgl@xxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
References: <20250523-hdp-upstream-v3-0-bd6ca199466a@xxxxxxxxxxx>
<20250523-hdp-upstream-v3-6-bd6ca199466a@xxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250523-hdp-upstream-v3-6-bd6ca199466a@xxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 23/05/2025 14:38, Clément Le Goffic wrote:
> Add the hdp devicetree node for stm32mp15 SoC family
>
> Signed-off-by: Clément Le Goffic <clement.legoffic@xxxxxxxxxxx>
> ---
> arch/arm/boot/dts/st/stm32mp151.dtsi | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/arch/arm/boot/dts/st/stm32mp151.dtsi b/arch/arm/boot/dts/st/stm32mp151.dtsi
> index 0daa8ffe2ff5..b1b568dfd126 100644
> --- a/arch/arm/boot/dts/st/stm32mp151.dtsi
> +++ b/arch/arm/boot/dts/st/stm32mp151.dtsi
> @@ -270,6 +270,13 @@ dts: thermal@50028000 {
> status = "disabled";
> };
>
> + hdp: pinctrl@5002a000 {
> + compatible = "st,stm32mp151-hdp";
> + reg = <0x5002a000 0x400>;
> + clocks = <&rcc HDP>;
> + status = "disabled";
Same questions here and in further patches.
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665168-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 932C141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:02:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B7F7A1897828
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:02:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BBA7127466C;
Wed, 28 May 2025 09:01:55 +0000 (UTC)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1623C244697;
Wed, 28 May 2025 09:01:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.176.79.56
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422915; cv=none; b=VN6mYsf+mDTFSZXfXai5oSNaVsSBkCgg4Pe5cIrRLELEL6bAK8jqTu1BWT5bR8VqkhYGcmY+eaJfy+J8uHjTQe6sFvi278JtqxD0IoYgXvOoRYkJKJI2kzFDZoDplRf6ELf99LTrfbSWiyhfvbzcbah3oSljRYhNWTwraeF/eHg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422915; c=relaxed/simple;
bh=yIHKFd65EMK3B3TOZUx1mxqsgXd/2gqGnSBL7N8XwSk=;
h=Date:From:To:CC:Subject:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=PmX3a8CeC5n/K6fIrRkPxG3IgV+OQz4CQytEvPj2RrDp8LmfqOLKI/rRkwlaRG0H90p+mnIEi4/9rymYHniNOWxopQyear6u1z9GFcyBULPPnkRPn52xCI/yjkD1PF0y4+vcPHDQjUndJUTJGb1pcbgcKnOD72xNIJXrWrMWJpw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=185.176.79.56
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com
Received: from mail.maildlp.com (unknown [172.18.186.31])
by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4b6k4514v9z6HJZN;
Wed, 28 May 2025 17:00:37 +0800 (CST)
Received: from frapeml500008.china.huawei.com (unknown [7.182.85.71])
by mail.maildlp.com (Postfix) with ESMTPS id 64E7F1402EE;
Wed, 28 May 2025 17:01:49 +0800 (CST)
Received: from localhost (10.203.177.66) by frapeml500008.china.huawei.com
(7.182.85.71) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 28 May
2025 11:01:48 +0200
Date: Wed, 28 May 2025 10:01:47 +0100
From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
To: Vijay Balakrishna <vijayb@xxxxxxxxxxxxxxxxxxx>
CC: Borislav Petkov <bp@xxxxxxxxx>, Tony Luck <tony.luck@xxxxxxxxx>, "Rob
Herring" <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, "Conor
Dooley" <conor+dt@xxxxxxxxxx>, James Morse <james.morse@xxxxxxx>, "Mauro
Carvalho Chehab" <mchehab@xxxxxxxxxx>, Robert Richter <rric@xxxxxxxxxx>,
<linux-edac@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, Tyler Hicks
<code@xxxxxxxxxxx>, Marc Zyngier <maz@xxxxxxxxxx>, Sascha Hauer
<s.hauer@xxxxxxxxxxxxxx>, Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx>,
<devicetree@xxxxxxxxxxxxxxx>
Subject: Re: [v10 PATCH 1/2] EDAC: Add EDAC driver for ARM Cortex A72 cores
Message-ID: <20250528100147.0000741b@xxxxxxxxxx>
In-Reply-To: <1748387790-20838-2-git-send-email-vijayb@xxxxxxxxxxxxxxxxxxx>
References: <1748387790-20838-1-git-send-email-vijayb@xxxxxxxxxxxxxxxxxxx>
<1748387790-20838-2-git-send-email-vijayb@xxxxxxxxxxxxxxxxxxx>
X-Mailer: Claws Mail 4.3.0 (GTK 3.24.42; x86_64-w64-mingw32)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: lhrpeml100012.china.huawei.com (7.191.174.184) To
frapeml500008.china.huawei.com (7.182.85.71)
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, 27 May 2025 16:16:29 -0700
Vijay Balakrishna <vijayb@xxxxxxxxxxxxxxxxxxx> wrote:
> From: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
>
> The driver is designed to support error detection and reporting for
> Cortex A72 cores, specifically within their L1 and L2 cache systems.
> The errors are detected by reading CPU/L2 memory error syndrome
> registers.
>
> Unfortunately there is no robust way to inject errors into the caches,
> so this driver doesn't contain any code to actually test it. It has
> been tested though with code taken from an older version [1] of this
> driver. For reasons stated in thread [1], the error injection code is
> not suitable for mainline, so it is removed from the driver.
>
> [1] https://lore.kernel.org/all/1521073067-24348-1-git-send-email-york.sun@xxxxxxx/#t
>
> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
> Co-developed-by: Vijay Balakrishna <vijayb@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Vijay Balakrishna <vijayb@xxxxxxxxxxxxxxxxxxx>
I'm far from an expert on the EDAC side of things but generally this
looks good to me.
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
Note one comment inline that maybe it's worth adding a line
to the copyright notice given changes you've made?
Jonathan
> diff --git a/drivers/edac/Makefile b/drivers/edac/Makefile
> index a8f2d8f6c894..136416f43b44 100644
> --- a/drivers/edac/Makefile
> +++ b/drivers/edac/Makefile
> @@ -88,3 +88,4 @@ obj-$(CONFIG_EDAC_NPCM) += npcm_edac.o
> obj-$(CONFIG_EDAC_ZYNQMP) += zynqmp_edac.o
> obj-$(CONFIG_EDAC_VERSAL) += versal_edac.o
> obj-$(CONFIG_EDAC_LOONGSON) += loongson_edac.o
> +obj-$(CONFIG_EDAC_CORTEX_A72) += edac_a72.o
> diff --git a/drivers/edac/edac_a72.c b/drivers/edac/edac_a72.c
> new file mode 100644
> index 000000000000..f23c28fba354
> --- /dev/null
> +++ b/drivers/edac/edac_a72.c
> @@ -0,0 +1,229 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Cortex A72 EDAC L1 and L2 cache error detection
> + *
> + * Copyright (c) 2020 Pengutronix, Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
I'd argue that you've made enough changes to add an additional
copyright line. Entirely up to you however!
> + *
> + * Based on Code from:
> + * Copyright (c) 2018, NXP Semiconductor
> + * Author: York Sun <york.sun@xxxxxxx>
> + */
Return-Path: <linux-kernel+bounces-665169-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 64F4D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:02:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 514B91BC0D63
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:02:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 38FC92741D1;
Wed, 28 May 2025 09:01:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BSSWlsEh"
Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56F8827464A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:01:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.173
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422917; cv=none; b=bMr3XQSqAJ5yqSNGijuo1tnPyPiwmXq1+6/7LXb6yxsR0q9CHzHS21vmPqBtd+HDS+Ruk3QBaODi5ByJmsx3G0m+bSVxJ2VOF+9/4gMDp9vl/UlCKQH5luAaNUDNEzALshpXVZwhqr/FjQ2Lkw/l1K40dwIoPgZEgGLjH0Ip6rQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422917; c=relaxed/simple;
bh=HP8Ku0atWer+2x+h/ZQXGid5Z3Vov/p8zXSr3bXjB6M=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=jo+L/KrXshwoDAxobinC3E6f2oPZ8Qr/E7R43448/z/wOgrOklO99wZYsSTEVmZ8WXFx42MeRWnQhpMkTfv3ZOaioSLwWQ2H1FtRYtB3jwCfV/1id24szDfoIYlXFjJsBT9S/Doi9ZeEI/e8bdK8LArHtFOGDtN2oQoJSa2hJsU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BSSWlsEh; arc=none smtp.client-ip=209.85.222.173
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-qk1-f173.google.com with SMTP id af79cd13be357-7c9376c4bddso457609985a.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:01:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748422914; x=1749027714; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=YAO2Idap4modZx0HiEJ1tVpbkOJVus0Rb2W6b2Sfxvk=;
b=BSSWlsEhQ7ftiAuGXHQMYdRiF1pIfmZroMvS8XYuefy6WQPSfxVuSgAHFUcGdr1ilK
wqrRLTTf9Ig62QB9QjNshUzPMT2QHgSKYQ9ubV1JmI7BDfPsiFMne0Gq5NGqLyckshDM
NH/Szv+Xv5t7qdSVWbdPe1z/V7vAP++Kg1/xfAAoG5GovkTm+lZDMAoYuugchSN2WonA
PqkjrJTzmgJ4fMcGyTBNB06TGpBv5b4tGdLYj+mSanILoSx2QL3PNgCO6Ek3at+pJJs4
Z/0k1Zz1f/289zz8KTdQfBRuTjJVETxEbVjwD2gsyEg1I9IaYY/PAepEUhbALxzD/Oyt
heuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748422914; x=1749027714;
h=content-transfer-encoding:cc:to: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=YAO2Idap4modZx0HiEJ1tVpbkOJVus0Rb2W6b2Sfxvk=;
b=R7OMOXTvV7L1DtFZIJBBhAhMGsKLAr2cv96BdKAOCF0OGP/ATRxlgEtHhmEfCu3FOn
Oi2c1VGYeFYpckbpPA/1oAhuH9gym5z1Wv+QGTOHUEKUyt62sDKu5wHURqmIc4qjDeC0
pkQZTeSy5hW3FujdUEVTVJyK71frw8SFzcnuWDn6+L44c2e6PxSRSf9u2y3Gl7X6saD1
U68AyoMy7miUkh/TIO6Hec681NP3I9Y+LBIZ1YbaFel4cc6+asWwb54ktVfzmF2vK53S
86XmYFCt/Iy2fM2WUeeH+8Qio+I99eOYlHXx1DMkWiBOhONsvPhywM8/sNPQ75jx7oZz
ycfg==
X-Forwarded-Encrypted: i=1; AJvYcCUarbjUivW1I5mCDTjsUJcGwVSHukSKeyiwUMXjcp1VfrI9OKPH0JNYVJJK5z3g52g7ynyyjwjE6ABh6I0=@vger.kernel.org
X-Gm-Message-State: AOJu0YxOrmC41unu07rKq1e8kq9yk18P3J9x0mPnARNlz7685EIrQ+ik
+n+txnkHso8kpbvyBMy4Iq0JABcJ8qHWEwJ2Ntmd0nht+k/T/ycs47fs7/jmqKn7BV23/Xf+wsH
ON3hnHY94AcgGBey7G7tvDl0yMM86LO6rbXBI
X-Gm-Gg: ASbGnctcVCVMJ//T+lGKKrSmzlmBXVn1GDXUgigc7R6hxqT8iZH0QnceZuMwiEz+EUQ
QA3dFBl0EyClpO6EUJb6H81TNQuvkaUJkCeEFgEbWdzO5/F8TNsjuhtyyUSKmZCkfCm38R8Mz3v
Ovf63rGyaYr++Qnsk2rCFVjrN/yWbjq0vJCA==
X-Google-Smtp-Source: AGHT+IFddMdN8TkEBUClv4I5WFEHFYLjzV6G6ueXzSvoHY+GpT78N8JnSl7g6bM0Y0VifL3kAybwNTXqtaBQwaXDxUg=
X-Received: by 2002:a05:6102:4b0d:b0:4e2:86e6:468a with SMTP id
ada2fe7eead31-4e4240d0da9mr12093790137.6.1748422903970; Wed, 28 May 2025
02:01:43 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250527044145.13153-1-21cnbao@xxxxxxxxx> <93385672-927f-4de5-a158-fc3fc0424be0@lucifer.local>
<CA+EESO6_RBX=nvrWO46aR7Q7xibh8fM-BX2p7_ihcbYyMfpVYQ@xxxxxxxxxxxxxx>
In-Reply-To: <CA+EESO6_RBX=nvrWO46aR7Q7xibh8fM-BX2p7_ihcbYyMfpVYQ@xxxxxxxxxxxxxx>
From: Barry Song <21cnbao@xxxxxxxxx>
Date: Wed, 28 May 2025 17:01:32 +0800
X-Gm-Features: AX0GCFs1VQUR8Htw0bjd4lZQvxMrXGcQOnANQhmXWqLyxp0YD-C73ZtqKV4bL5Y
Message-ID: <CAGsJ_4xHH6hnksBgHgwqDTtHt4Py5sEu9zCFNSsr9J3cKhWU9Q@xxxxxxxxxxxxxx>
Subject: Re: [PATCH RFC] mm: use per_vma lock for MADV_DONTNEED
To: Lokesh Gidra <lokeshgidra@xxxxxxxxxx>
Cc: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>, akpm@xxxxxxxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Barry Song <v-songbaohua@xxxxxxxx>, "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>,
David Hildenbrand <david@xxxxxxxxxx>, Vlastimil Babka <vbabka@xxxxxxx>, Jann Horn <jannh@xxxxxxxxxx>,
Suren Baghdasaryan <surenb@xxxxxxxxxx>, Tangquan Zheng <zhengtangquan@xxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 4:40=E2=80=AFAM Lokesh Gidra <lokeshgidra@xxxxxxxxx=
m> wrote:
>
> Thanks a lot, Barry. This was overdue.
>
> On Tue, May 27, 2025 at 2:20=E2=80=AFAM Lorenzo Stoakes
> <lorenzo.stoakes@xxxxxxxxxx> wrote:
> >
> > Overall - thanks for this, and I'm not sure why we didn't think of doin=
g
> > this sooner :P this seems like a super valid thing to try to use the vm=
a
> > lock with.
> >
> > I see you've cc'd Suren who has the most expertise in this and can
> > hopefully audit this and ensure all is good, but from the process addre=
ss
> > doc (see below), I think we're good to just have the VMA stabilised for=
a
> > zap.
> >
> > On Tue, May 27, 2025 at 04:41:45PM +1200, Barry Song wrote:
> > > From: Barry Song <v-songbaohua@xxxxxxxx>
> > >
> > > Certain madvise operations, especially MADV_DONTNEED, occur far more
> > > frequently than other madvise options, particularly in native and Jav=
a
> > > heaps for dynamic memory management.
>
> Actually, it would be great if you can also optimize the MADV_FREE
> case. There are quite a few performance critical situations where
> MADV_FREE is performed and are done within a single VMA.
Yes, that was definitely on the list. However, the reason MADV_FREE wasn't
included in this patch is because madvise_free_single_vma() calls
walk_page_range(), which requires the mmap_lock to locate the VMA using
find_vma()=E2=80=94which feels redundant and awkward, since we already have=
the VMA.
We should be able to use walk_page_range_vma() instead, given that the VMA
is already known. But even walk_page_range_vma() asserts that the mmap_lock
is held, so the issue remains.
int walk_page_range_vma(struct vm_area_struct *vma, unsigned long start,
unsigned long end, const struct mm_walk_ops *ops,
void *private)
{
...
process_mm_walk_lock(walk.mm, ops->walk_lock);
...
return __walk_page_range(start, end, &walk);
}
MADV_DONTNEED doesn't use walk_page_range() at all. So I'd prefer to
settle MADV_DONTNEED first as the initial step.
We need more time to investigate the behavior and requirements of
walk_page_range().
> >
> > Ack yeah, I have gathered that this is the case previously.
> >
> > >
> > > Currently, the mmap_lock is always held during these operations, even=
when
> > > unnecessary. This causes lock contention and can lead to severe prior=
ity
> > > inversion, where low-priority threads=E2=80=94such as Android's HeapT=
askDaemon=E2=80=94
> > > hold the lock and block higher-priority threads.
> >
> > That's very nasty... we definitely want to eliminate as much mmap_lock
> > contention as possible.
> >
> > >
> > > This patch enables the use of per-VMA locks when the advised range li=
es
> > > entirely within a single VMA, avoiding the need for full VMA traversa=
l. In
> > > practice, userspace heaps rarely issue MADV_DONTNEED across multiple =
VMAs.
> >
> > Yeah this single VMA requirement is obviously absolutely key.
> >
> > As per my docs [0] actually, for zapping a single VMA, 'The VMA need on=
ly be
> > kept stable for this operation.' (I had to look this up to remind mysel=
f :P)
> >
> > [0]: https://kernel.org/doc/html/latest/mm/process_addrs.html
> >
> > So we actually... should be good here, locking-wise.
> >
> > >
> > > Tangquan=E2=80=99s testing shows that over 99.5% of memory reclaimed =
by Android
> > > benefits from this per-VMA lock optimization. After extended runtime,
> > > 217,735 madvise calls from HeapTaskDaemon used the per-VMA path, whil=
e
> > > only 1,231 fell back to mmap_lock.
>
> I am quite confident that this pattern is not limited to
> HeapTaskDaemon. For instance, I'm sure the Scudo allocator must also
> be calling MADV_DONTNEED within single VMAs.
That's right. We've also optimized the native heaps.
> >
> > Thanks, this sounds really promising!
> >
> > I take it then you have as a result, heavily tested this change?
> >
> > >
> > > To simplify handling, the implementation falls back to the standard
> > > mmap_lock if userfaultfd is enabled on the VMA, avoiding the complexi=
ty of
> > > userfaultfd_remove().
> >
> > Oh GOD do I hate how we implement uffd. Have I ever mentioned that? Wel=
l,
> > let me mention it again...
> >
> > >
> > > Cc: "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>
> > > Cc: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> > > Cc: David Hildenbrand <david@xxxxxxxxxx>
> > > Cc: Vlastimil Babka <vbabka@xxxxxxx>
> > > Cc: Jann Horn <jannh@xxxxxxxxxx>
> > > Cc: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> > > Cc: Lokesh Gidra <lokeshgidra@xxxxxxxxxx>
> > > Cc: Tangquan Zheng <zhengtangquan@xxxxxxxx>
> > > Signed-off-by: Barry Song <v-songbaohua@xxxxxxxx>
> > > ---
> > > mm/madvise.c | 34 ++++++++++++++++++++++++++++++++++
> > > 1 file changed, 34 insertions(+)
> > >
> > > diff --git a/mm/madvise.c b/mm/madvise.c
> > > index 8433ac9b27e0..da016a1d0434 100644
> > > --- a/mm/madvise.c
> > > +++ b/mm/madvise.c
> > > @@ -1817,6 +1817,39 @@ int do_madvise(struct mm_struct *mm, unsigned =
long start, size_t len_in, int beh
> > >
> > > if (madvise_should_skip(start, len_in, behavior, &error))
> > > return error;
> > > +
> > > + /*
> > > + * MADV_DONTNEED is commonly used with userspace heaps and most=
often
> > > + * affects a single VMA. In these cases, we can use per-VMA loc=
ks to
> > > + * reduce contention on the mmap_lock.
> > > + */
> > > + if (behavior =3D=3D MADV_DONTNEED || behavior =3D=3D MADV_DONTN=
EED_LOCKED) {
> >
> > So firstly doing this here means process_madvise() doesn't get this ben=
efit, and
> > we're inconsistent between the two which we really want to avoid.
> >
> > But secondly - we definitely need to find a better way to do this :) th=
is
> > basically follows the 'ignore the existing approach and throw in an if
> > (special case) { ... }' pattern that I feel we really need to do all we=
can
> > to avoid in the kernel.
> >
> > This lies the way of uffd, hugetlb, and thus horrors beyond imagining.
> >
> > I can see why you did this as this is kind of special-cased a bit, and =
we
> > already do this kind of thing all over the place but let's try to avoid
> > this here.
> >
> > So I suggest:
> >
> > - Remove any code for this from do_madvise() and thus make it available=
to
> > process_madvise() also.
> >
> > - Try to avoid the special casing here as much as humanly possible :)
> >
> > - Update madvise_lock()/unlock() to get passed a pointer to struct
> > madvise_behavior to which we can add a boolean or even better I think=
-
> > an enum indicating which lock type was taken (this can simplify
> > madvise_unlock() also).
> >
> > - Update madvise_lock() to do all of the checks below, we already
> > effectively do a switch (behavior) so it's not so crazy to do this. A=
nd
> > you can also do the fallthrough logic there.
> >
> > - Obviously madvise_unlock() can be updated to do vma_end_read().
> >
> > > + struct vm_area_struct *prev, *vma;
> > > + unsigned long untagged_start, end;
> > > +
> > > + untagged_start =3D untagged_addr(start);
> > > + end =3D untagged_start + len_in;
> > > + vma =3D lock_vma_under_rcu(mm, untagged_start);
> > > + if (!vma)
> > > + goto lock;
> > > + if (end > vma->vm_end || userfaultfd_armed(vma)) {
> > > + vma_end_read(vma);
> > > + goto lock;
> > > + }
> > > + if (unlikely(!can_modify_vma_madv(vma, behavior))) {
> > > + error =3D -EPERM;
> > > + vma_end_read(vma);
> > > + goto out;
> > > + }
> > > + madvise_init_tlb(&madv_behavior, mm);
> > > + error =3D madvise_dontneed_free(vma, &prev, untagged_st=
art,
> > > + end, &madv_behavior);
> > > + madvise_finish_tlb(&madv_behavior);
> > > + vma_end_read(vma);
> > > + goto out;
> > > + }
> > > +
> > > +lock:
> > > error =3D madvise_lock(mm, behavior);
> > > if (error)
> > > return error;
> > > @@ -1825,6 +1858,7 @@ int do_madvise(struct mm_struct *mm, unsigned l=
ong start, size_t len_in, int beh
> > > madvise_finish_tlb(&madv_behavior);
> > > madvise_unlock(mm, behavior);
> > >
> > > +out:
> > > return error;
> > > }
> > >
> > > --
> > > 2.39.3 (Apple Git-146)
> > >
> >
> > Cheers, Lorenzo
Thanks
Barry
Return-Path: <linux-kernel+bounces-665170-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 52F2F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:03:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 852DB1896605
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:03:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 106D2274654;
Wed, 28 May 2025 09:03:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SI6uDx/i"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4CD1D247282;
Wed, 28 May 2025 09:03:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748422987; cv=none; b=EYMMVJqD4fAwI9WY+43cZrp/IBUntJuuSoQwguc8whysL7bN++Eb1H6/j0VTwGDTKihu0awqcNzftZSPuYaUxGjvMVkSnzvjLXW0IpyKzXHE2vuYVxRpBka94t3FUhDv0/WM3oepGhmUIwxxbCxdvegQ8rYHIviO3HbwK/OlfXc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748422987; c=relaxed/simple;
bh=z/dRPzqpE2qvyf5kxN+PDppxBSqyzjqGDEmXEJZ6X5g=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=C4EInOmdQTemlchVSbmYMoSIGQXxgKX+WB7BHpLq36A7Z6FjcebuYritU2n+Z+hy3h5QXil3b8lSZJMG1ffKZePMHqfXOOmmnK4b6vJAC1dIJiOFIYp/RXGp/V9MRl2T4A/5kfi9jqcYZyf412S1p3ZuojLuR4ovYTM/Y7qdd7c=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SI6uDx/i; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3920FC4CEE7;
Wed, 28 May 2025 09:03:04 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748422986;
bh=z/dRPzqpE2qvyf5kxN+PDppxBSqyzjqGDEmXEJZ6X5g=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=SI6uDx/iiO8/cWNJ8Yxi2Pkb9kD1pOgCukxNmFFvBNZjKRNNax4suu2p6+yxPAbC3
IOboaFHhd6/01c3zty9T804+rl9YxUmYJE/FBhoOV08HNTMg/ya8yvKoTv90gWkHVG
6n1E1fwz/6E2gx3YXmQIQtgQsQEA7INcWiUHkqjPQ7Pf+KYQ5uhJPAGJeD8UKCyK0J
oRCIpn2D6jTYvj/qasHDg5XchD2o1AR2CW03o08nVqxrXKHyzU5bUK1y8n/Jkk6tnB
MvRMchD2gEyfzRYs8790Pq9JlBHIF8Vhvukzoev6cH98KXx/7wCYkXfcRG62F50JSF
uB3ZV/5mcgPLw==
Message-ID: <04fcec27-3c70-44df-b62c-aeb646aa55f6@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:03:02 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 9/9] MAINTAINERS: add and consolidate Black Sesame
Technologies (BST) ARM SoC support
To: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Will Deacon <will@xxxxxxxxxx>,
Catalin Marinas <catalin.marinas@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>
References: <20250528085505.481528-1-yangzh0906@xxxxxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250528085505.481528-1-yangzh0906@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 10:55, Albert Yang wrote:
> Add and consolidate the MAINTAINERS entry for Black Sesame Technologies
> ARM SoC support. This entry covers device tree bindings, drivers, and board
> files for BST SoCs, including MMC, and platform support.
>
> Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
> Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
> ---
I think your patchset got somehow lost or not sent properly (no
in-reply-to). I only got this 9/9.
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665171-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3017241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:03:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 0DC44189FEA4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:04:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E3AD92741AB;
Wed, 28 May 2025 09:03:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Fo7bfkzP"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 63692202996
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:03:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423026; cv=none; b=e9M9HgX1Yaapwrrl7M98jeUVoRjVsdI7h5pcK806BjXDKXRZnbko/CeoDuR0wNstIaLHiWU15GoUudt1CdxZxpcH105s/Gbth1engHCbiUiT4vcONFRQVdpgE3NMd0ck6bgDGCE1+MVPem1XkNe/iae2ht2ZeQa6zgw5gWqtpWo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423026; c=relaxed/simple;
bh=Ihf96Jf9emlxTAsFz/QMxZBnHIPBcwSzHnWS2+MKpSU=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=Kn0a920WQjT5iviZEAM1dfeRP3BBLZAU3IMWWESk84Bi7g1/Xf60mTqFigiKLVsDT8inQfzRPltJ35SA9Yj7DAO9DzSPFZ0WvRdS5W6v6/rEZ2g72Rttyxw+bqUoE6cH2w1zV5ZVO/gJ07enPcA2OHhd2MY3hoJAGvvNArKutfM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Fo7bfkzP; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748423023;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=9uc45Svc1W6nrhUpVJMAGcmamvYOihc8Tgxl1943pLA=;
b=Fo7bfkzPHDy+69NYqVAsgQmCtemqkfgX57INUf+ltDKfOhJHOk1Vq20nyKrebK2I2Uj7fE
MkZC/CqnNH/GuS/we0lKZrutfaSwgjXQ3R/SR6Z0DEd1vyK/vO+bLoDKmaQ7Czad+3eOh3
R1jiBuTug6Oc1gdjQ6mJIszvD+9m0So=
Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com
[209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-547-E7Qa5zcrOhan9Ap2FESprQ-1; Wed, 28 May 2025 05:03:41 -0400
X-MC-Unique: E7Qa5zcrOhan9Ap2FESprQ-1
X-Mimecast-MFC-AGG-ID: E7Qa5zcrOhan9Ap2FESprQ_1748423021
Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3a35ec8845cso1965384f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:03:41 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423020; x=1749027820;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:from:references:cc:to:subject:user-agent
:mime-version:date:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=9uc45Svc1W6nrhUpVJMAGcmamvYOihc8Tgxl1943pLA=;
b=pUiJmLPyURxCxdBnKlsm96WbrPiTiRi/fmzWilCQgroOmkyrEJfJC0ATbI/41QcMfM
z3JmEKVv/mvrzyh9zMDVa/wGcWevthkNsQl7IkaR8px8XgmZSDt35Ll94By7mmR/UiRJ
0+NJyAtC0NXpK4VQu26b+9JPL/ARvZkci5oYU8wsVZ3WDHI1bP4gvDpvgD07u+iMeVoB
/QF/rwhPYsyCgPw49Wo7H1jPf5PoZq9VEwWnTCQx+n3sLO0x3fuC7i121Kx6Cx7+d/Aj
bow7adQhTYTT1Iywc8B86pQyzJrrxP9qMbzoAh2ABpeoIoal4EnHxZvwgW1ITXmfsB0j
KdTg==
X-Forwarded-Encrypted: i=1; AJvYcCXx64E5FrX4glMS0apT5SAShrzESA3rgiAibrK3KkKc4Uy+EwzEXyWdMweu2c11HOQh1GDmE8dFfCJQp0o=@vger.kernel.org
X-Gm-Message-State: AOJu0YxdW+atv0AtjV04DtY5zsuSDPYGjUMHXxachqmg6vaRkMYN7MCs
JpPgiLA3E8LjUsPttXUpY7QTnCmtz8xl0FJZ79hf00mRtaeDcPBNWsrcddyYdv+LCckqUbN1iUc
9dtQQ877JUE/SKDPHBh7zLaTCoPJavGx2lgV2u3cmbWUuxaYXDbi2joqumx+vwgrWpA==
X-Gm-Gg: ASbGncv4+XikVHV7dMQZV75WIX70cLYGBez2xrWosZqJCLVfVWLwReXMXhiWxBAnPxr
mxCPPdsIzpae8ZEMDVyNPM2pJBnN/dan9r5a9tZlFZkkOY/HQBDUGHj/NFwbGH3s2dVqeO3ogV9
9znJ0qPJHcuNzpC1GaC4l5xPZ001i0+1A2v4vcVTRsYWjo0Euj9YhOKBpbqMu7nOhMjMLJS+wDq
zBB03VNhUl63JLE/eF7xL8o5ZMF2IqDvnajmUE9rqVTn3L0R/pfutnvZUkxOZ5Rdel1vwXyZfB1
jRuugibWOk77FhChB8RiNmtYBTr8lcB+M5NtTERni2p0cgQMa6q/oEHFbozko1t9cjN/8kJIV18
zztz4mUhqJ7SgvpljuuiwEnx6TNm3rufDP0vcuTU=
X-Received: by 2002:a05:6000:4312:b0:3a4:dc0a:5c0a with SMTP id ffacd0b85a97d-3a4e957be2dmr1397984f8f.44.1748423020477;
Wed, 28 May 2025 02:03:40 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IH/FFPCB6RPiUlD6SK7Uvhb6FaRvTdWdlGF2T5R9hZ0YO2drr0+Pok+YZzB60DfLfzkVn3Uqg==
X-Received: by 2002:a05:6000:4312:b0:3a4:dc0a:5c0a with SMTP id ffacd0b85a97d-3a4e957be2dmr1397947f8f.44.1748423020066;
Wed, 28 May 2025 02:03:40 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36? (p200300d82f30ec008f7e58a4ebf06a36.dip0.t-ipconnect.de. [2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eacd8edfsm886493f8f.79.2025.05.28.02.03.39
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:03:39 -0700 (PDT)
Message-ID: <cba0155e-d2b9-41fa-bc51-f3738ae73cff@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:03:38 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] mm/mmap: Fix uprobe anon page be overwritten when
expanding vma during mremap
To: Pu Lehui <pulehui@xxxxxxxxxxxxxxx>, Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: lorenzo.stoakes@xxxxxxxxxx, mhiramat@xxxxxxxxxx, peterz@xxxxxxxxxxxxx,
Liam.Howlett@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, vbabka@xxxxxxx,
jannh@xxxxxxxxxx, pfalcato@xxxxxxx, linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, pulehui@xxxxxxxxxx
References: <20250521092503.3116340-1-pulehui@xxxxxxxxxxxxxxx>
<62b5ccf5-f1cd-43c2-b0bc-f542f40c5bdf@xxxxxxxxxx>
<afe53868-5542-47d6-8005-71c1b3bec840@xxxxxxxxxxxxxxx>
<13c5fe73-9e11-4465-b401-fc96a22dc5d1@xxxxxxxxxx>
<4cbc1e43-ea46-44de-9e2b-1c62dcd2b6d5@xxxxxxxxxxxxxxx>
<20250526154850.GA4156@xxxxxxxxxx>
<06bd94c0-fefe-4bdc-8483-2d9b6703c3d6@xxxxxxxxxx>
<57533126-eb30-4b56-bc4d-2f27514ae5ad@xxxxxxxxxxxxxxx>
From: David Hildenbrand <david@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <57533126-eb30-4b56-bc4d-2f27514ae5ad@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 27.05.25 15:38, Pu Lehui wrote:
> Hi David,
>
> On 2025/5/27 2:46, David Hildenbrand wrote:
>> On 26.05.25 17:48, Oleg Nesterov wrote:
>>> Hi Lehui,
>>>
>>> As I said, I don't understand mm/, so can't comment, but...
>>>
>>> On 05/26, Pu Lehui wrote:
>>>>
>>>> To make things simpler, perhaps we could try post-processing, that is:
>>>>
>>>> diff --git a/mm/mremap.c b/mm/mremap.c
>>>> index 83e359754961..46a757fd26dc 100644
>>>> --- a/mm/mremap.c
>>>> +++ b/mm/mremap.c
>>>> @@ -240,6 +240,11 @@ static int move_ptes(struct pagetable_move_control
>>>> *pmc,
>>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â if (pte_none(ptep_get(old_pte)))
>>>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â continue;
>>>>
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â /* skip move pte when expanded range has uprobe */
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â if (unlikely(pte_present(*new_pte) &&
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â vma_has_uprobes(pmc->new, new_addr,
>>>> new_addr +
>>>> PAGE_SIZE)))
>>>> +Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â continue;
>>>> +
>>>
>>> I was thinking about
>>>
>>> Â Â Â Â WARN_ON(!pte_none(*new_pte))
>>>
>>> at the start of the main loop.
>>>
>>> Obviously not to fix the problem, but rather to make it more explicit.
>>
>> Yeah, WARN_ON_ONCE().
>>
>> We really should fix the code to not install uprobes into the area we
>> are moving.
> Alright, so let's try this direction.
>
>>
>> Likely, the correct fix will be to pass the range as well to
>> uprobe_mmap(), and passing that range to build_probe_list().
>
> It will be great. But IIUC, the range we expand to is already included
> when entering uprobe_mmap and also build_probe_list.
Right, you'd have to communicate that information through all layers
(expanded range).
As an alternative, maybe we can really call handle_vma_uprobe() after
moving the pages.
uprobe_write_opcode() should detect that the uprobe is already installed
(verify_opcode() will return 0) and just return.
--
Cheers,
David / dhildenb
Return-Path: <linux-kernel+bounces-665172-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B132141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:04:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C77559E79B7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:04:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EE146247282;
Wed, 28 May 2025 09:04:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="j1Yf1CsJ";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="L4S6W4h9";
dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="j1Yf1CsJ";
dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="L4S6W4h9"
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6BB802CA8
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:04:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423087; cv=none; b=szzu159L+f/A+McTQn7ASgiOMD++MSdePrXK0fIneoZlZBJhifBIdQRcqvUfdu2EOuBR1kMtGUJ3KSz15cBKfyFpRTltPnW2lh4QOXvqC7uztKVwLNlKd/fqE18ZFISUXKQ6jk4ao2911T5Ftt68hNKhwoKrV7tr2tK8dAIQDg8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423087; c=relaxed/simple;
bh=BCPmWotxYnhiVhx8a88cIXNIaYc00lx469hJzboFrXs=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=HffNhSgHwmVbslEW/uTQRD3PvYvEFoJybo+37ar3gP/x1TguPhnLW1lY5nG8dBF/RVJY5UxccXd2dZgvGXq3WL5A6TS86nYZrFRBvW9t/zxunV79Yza2A0l1+7rgNsNlwGGKoO+XNzp+MzIp8/8B23PRz+dzuKEreDDUT+Yqbng=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz; spf=pass smtp.mailfrom=suse.cz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=j1Yf1CsJ; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=L4S6W4h9; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=j1Yf1CsJ; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=L4S6W4h9; arc=none smtp.client-ip=195.135.223.130
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.cz
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out1.suse.de (Postfix) with ESMTPS id 722BD21B47;
Wed, 28 May 2025 09:04:43 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1748423083; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=DF79ZmvEmJitEx8ite1iCdEbm7wTvePAxSFygteHMdE=;
b=j1Yf1CsJ2czzv8SEmdmmEikG0WBJyhQN5WRlv9EeRI72uIhlx0InHeIxRddVEH1NuL4u/e
/KA/D/YltvH6m0lGqDZXN1cWcV9mkNjU1PJbnVuE94w/C2jo2iZjh99vL2MOVaJ1JMJ+2E
KgOW0mb8EGm805Ao9kQ2gU42ddFTs68=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1748423083;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=DF79ZmvEmJitEx8ite1iCdEbm7wTvePAxSFygteHMdE=;
b=L4S6W4h9Y5RwnEOjLgk6d6WaqNNsVWbiAV6zgLp05J5C8JiAUKfG+b+WQIeTEM1bx1/Ryk
aiCsoCGwSaw7SCDA==
Authentication-Results: smtp-out1.suse.de;
dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=j1Yf1CsJ;
dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=L4S6W4h9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
t=1748423083; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=DF79ZmvEmJitEx8ite1iCdEbm7wTvePAxSFygteHMdE=;
b=j1Yf1CsJ2czzv8SEmdmmEikG0WBJyhQN5WRlv9EeRI72uIhlx0InHeIxRddVEH1NuL4u/e
/KA/D/YltvH6m0lGqDZXN1cWcV9mkNjU1PJbnVuE94w/C2jo2iZjh99vL2MOVaJ1JMJ+2E
KgOW0mb8EGm805Ao9kQ2gU42ddFTs68=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
s=susede2_ed25519; t=1748423083;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=DF79ZmvEmJitEx8ite1iCdEbm7wTvePAxSFygteHMdE=;
b=L4S6W4h9Y5RwnEOjLgk6d6WaqNNsVWbiAV6zgLp05J5C8JiAUKfG+b+WQIeTEM1bx1/Ryk
aiCsoCGwSaw7SCDA==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 53FEE136E0;
Wed, 28 May 2025 09:04:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id kP5uE6vRNmgeZAAAD6G6ig
(envelope-from <vbabka@xxxxxxx>); Wed, 28 May 2025 09:04:43 +0000
Message-ID: <7faca175-64c2-4a12-9340-37eaeeb8bd3e@xxxxxxx>
Date: Wed, 28 May 2025 11:04:43 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/1] local_lock: Minor improvements of local_trylock*()
documentation
Content-Language: en-US
To: Leonardo Bras <leobras@xxxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
"Peter Zijlstra (Intel)" <peterz@xxxxxxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>,
Alexei Starovoitov <ast@xxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
References: <20250521174726.578303-1-leobras@xxxxxxxxxx>
From: Vlastimil Babka <vbabka@xxxxxxx>
Autocrypt: addr=vbabka@xxxxxxx; keydata=
xsFNBFZdmxYBEADsw/SiUSjB0dM+vSh95UkgcHjzEVBlby/Fg+g42O7LAEkCYXi/vvq31JTB
KxRWDHX0R2tgpFDXHnzZcQywawu8eSq0LxzxFNYMvtB7sV1pxYwej2qx9B75qW2plBs+7+YB
87tMFA+u+L4Z5xAzIimfLD5EKC56kJ1CsXlM8S/LHcmdD9Ctkn3trYDNnat0eoAcfPIP2OZ+
9oe9IF/R28zmh0ifLXyJQQz5ofdj4bPf8ecEW0rhcqHfTD8k4yK0xxt3xW+6Exqp9n9bydiy
tcSAw/TahjW6yrA+6JhSBv1v2tIm+itQc073zjSX8OFL51qQVzRFr7H2UQG33lw2QrvHRXqD
Ot7ViKam7v0Ho9wEWiQOOZlHItOOXFphWb2yq3nzrKe45oWoSgkxKb97MVsQ+q2SYjJRBBH4
8qKhphADYxkIP6yut/eaj9ImvRUZZRi0DTc8xfnvHGTjKbJzC2xpFcY0DQbZzuwsIZ8OPJCc
LM4S7mT25NE5kUTG/TKQCk922vRdGVMoLA7dIQrgXnRXtyT61sg8PG4wcfOnuWf8577aXP1x
6mzw3/jh3F+oSBHb/GcLC7mvWreJifUL2gEdssGfXhGWBo6zLS3qhgtwjay0Jl+kza1lo+Cv
BB2T79D4WGdDuVa4eOrQ02TxqGN7G0Biz5ZLRSFzQSQwLn8fbwARAQABzSBWbGFzdGltaWwg
QmFia2EgPHZiYWJrYUBzdXNlLmN6PsLBlAQTAQoAPgIbAwULCQgHAwUVCgkICwUWAgMBAAIe
AQIXgBYhBKlA1DSZLC6OmRA9UCJPp+fMgqZkBQJnyBr8BQka0IFQAAoJECJPp+fMgqZkqmMQ
AIbGN95ptUMUvo6aAdhxaOCHXp1DfIBuIOK/zpx8ylY4pOwu3GRe4dQ8u4XS9gaZ96Gj4bC+
jwWcSmn+TjtKW3rH1dRKopvC07tSJIGGVyw7ieV/5cbFffA8NL0ILowzVg8w1ipnz1VTkWDr
2zcfslxJsJ6vhXw5/npcY0ldeC1E8f6UUoa4eyoskd70vO0wOAoGd02ZkJoox3F5ODM0kjHu
Y97VLOa3GG66lh+ZEelVZEujHfKceCw9G3PMvEzyLFbXvSOigZQMdKzQ8D/OChwqig8wFBmV
QCPS4yDdmZP3oeDHRjJ9jvMUKoYODiNKsl2F+xXwyRM2qoKRqFlhCn4usVd1+wmv9iLV8nPs
2Db1ZIa49fJet3Sk3PN4bV1rAPuWvtbuTBN39Q/6MgkLTYHb84HyFKw14Rqe5YorrBLbF3rl
M51Dpf6Egu1yTJDHCTEwePWug4XI11FT8lK0LNnHNpbhTCYRjX73iWOnFraJNcURld1jL1nV
r/LRD+/e2gNtSTPK0Qkon6HcOBZnxRoqtazTU6YQRmGlT0v+rukj/cn5sToYibWLn+RoV1CE
Qj6tApOiHBkpEsCzHGu+iDQ1WT0Idtdynst738f/uCeCMkdRu4WMZjteQaqvARFwCy3P/jpK
uvzMtves5HvZw33ZwOtMCgbpce00DaET4y/UzsBNBFsZNTUBCACfQfpSsWJZyi+SHoRdVyX5
J6rI7okc4+b571a7RXD5UhS9dlVRVVAtrU9ANSLqPTQKGVxHrqD39XSw8hxK61pw8p90pg4G
/N3iuWEvyt+t0SxDDkClnGsDyRhlUyEWYFEoBrrCizbmahOUwqkJbNMfzj5Y7n7OIJOxNRkB
IBOjPdF26dMP69BwePQao1M8Acrrex9sAHYjQGyVmReRjVEtv9iG4DoTsnIR3amKVk6si4Ea
X/mrapJqSCcBUVYUFH8M7bsm4CSxier5ofy8jTEa/CfvkqpKThTMCQPNZKY7hke5qEq1CBk2
wxhX48ZrJEFf1v3NuV3OimgsF2odzieNABEBAAHCwXwEGAEKACYCGwwWIQSpQNQ0mSwujpkQ
PVAiT6fnzIKmZAUCZ8gcVAUJFhTonwAKCRAiT6fnzIKmZLY8D/9uo3Ut9yi2YCuASWxr7QQZ
lJCViArjymbxYB5NdOeC50/0gnhK4pgdHlE2MdwF6o34x7TPFGpjNFvycZqccSQPJ/gibwNA
zx3q9vJT4Vw+YbiyS53iSBLXMweeVV1Jd9IjAoL+EqB0cbxoFXvnjkvP1foiiF5r73jCd4PR
rD+GoX5BZ7AZmFYmuJYBm28STM2NA6LhT0X+2su16f/HtummENKcMwom0hNu3MBNPUOrujtW
khQrWcJNAAsy4yMoJ2Lw51T/5X5Hc7jQ9da9fyqu+phqlVtn70qpPvgWy4HRhr25fCAEXZDp
xG4RNmTm+pqorHOqhBkI7wA7P/nyPo7ZEc3L+ZkQ37u0nlOyrjbNUniPGxPxv1imVq8IyycG
AN5FaFxtiELK22gvudghLJaDiRBhn8/AhXc642/Z/yIpizE2xG4KU4AXzb6C+o7LX/WmmsWP
Ly6jamSg6tvrdo4/e87lUedEqCtrp2o1xpn5zongf6cQkaLZKQcBQnPmgHO5OG8+50u88D9I
rywqgzTUhHFKKF6/9L/lYtrNcHU8Z6Y4Ju/MLUiNYkmtrGIMnkjKCiRqlRrZE/v5YFHbayRD
dJKXobXTtCBYpLJM4ZYRpGZXne/FAtWNe4KbNJJqxMvrTOrnIatPj8NhBVI0RSJRsbilh6TE
m6M14QORSWTLRg==
In-Reply-To: <20250521174726.578303-1-leobras@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spamd-Result: default: False [-4.51 / 50.00];
BAYES_HAM(-3.00)[100.00%];
NEURAL_HAM_LONG(-1.00)[-1.000];
R_DKIM_ALLOW(-0.20)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
NEURAL_HAM_SHORT(-0.20)[-1.000];
MIME_GOOD(-0.10)[text/plain];
MX_GOOD(-0.01)[];
RCVD_VIA_SMTP_AUTH(0.00)[];
ARC_NA(0.00)[];
ASN(0.00)[asn:25478, ipnet:::/0, country:RU];
RCPT_COUNT_SEVEN(0.00)[8];
TO_DN_SOME(0.00)[];
MIME_TRACE(0.00)[0:+];
MID_RHS_MATCH_FROM(0.00)[];
RCVD_TLS_ALL(0.00)[];
SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
RCVD_COUNT_TWO(0.00)[2];
FROM_EQ_ENVFROM(0.00)[];
FROM_HAS_DN(0.00)[];
FUZZY_BLOCKED(0.00)[rspamd.com];
DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.cz:dkim,suse.cz:mid,suse.cz:email];
URIBL_BLOCKED(0.00)[suse.cz:dkim,suse.cz:mid,suse.cz:email,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
TO_MATCH_ENVRCPT_ALL(0.00)[];
DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
DKIM_TRACE(0.00)[suse.cz:+]
X-Spam-Level:
X-Rspamd-Queue-Id: 722BD21B47
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Score: -4.51
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/21/25 19:47, Leonardo Bras wrote:
> Fix local_trylock_init() documentation, as it was mentioning the non-try
> helper instead, and use the opportunity to make clear the try_lock*() needs
> to receive a local_trylock_t variable as parameter.
>
> Signed-off-by: Leonardo Bras <leobras@xxxxxxxxxx>
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
Locking tree (btw the local_lock files are missing in the list of
MAINTAINERS) or mm since this fixes up changes that went through mm recently?
> ---
> v1: https://lore.kernel.org/all/20250505170244.253170-1-leobras@xxxxxxxxxx/
> RFC: https://lore.kernel.org/all/20250430073610.163846-1-leobras@xxxxxxxxxx/
>
>
> include/linux/local_lock.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/local_lock.h b/include/linux/local_lock.h
> index 16a2ee4f8310b..d8d5e6cfa1151 100644
> --- a/include/linux/local_lock.h
> +++ b/include/linux/local_lock.h
> @@ -45,38 +45,38 @@
> /**
> * local_unlock_irqrestore - Release a per CPU local lock and restore
> * interrupt flags
> * @lock: The lock variable
> * @flags: Interrupt flags to restore
> */
> #define local_unlock_irqrestore(lock, flags) \
> __local_unlock_irqrestore(lock, flags)
>
> /**
> - * local_lock_init - Runtime initialize a lock instance
> + * local_trylock_init - Runtime initialize a local_trylock_t instance
> */
> #define local_trylock_init(lock) __local_trylock_init(lock)
>
> /**
> * local_trylock - Try to acquire a per CPU local lock
> - * @lock: The lock variable
> + * @lock: The local_trylock_t variable
> *
> * The function can be used in any context such as NMI or HARDIRQ. Due to
> * locking constrains it will _always_ fail to acquire the lock in NMI or
> * HARDIRQ context on PREEMPT_RT.
> */
> #define local_trylock(lock) __local_trylock(lock)
>
> /**
> * local_trylock_irqsave - Try to acquire a per CPU local lock, save and disable
> * interrupts if acquired
> - * @lock: The lock variable
> + * @lock: The local_trylock_t variable
> * @flags: Storage for interrupt flags
> *
> * The function can be used in any context such as NMI or HARDIRQ. Due to
> * locking constrains it will _always_ fail to acquire the lock in NMI or
> * HARDIRQ context on PREEMPT_RT.
> */
> #define local_trylock_irqsave(lock, flags) \
> __local_trylock_irqsave(lock, flags)
>
> DEFINE_GUARD(local_lock, local_lock_t __percpu*,
Return-Path: <linux-kernel+bounces-665173-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B5CC941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:05:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id E8D6817CF95
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:05:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 35CB172635;
Wed, 28 May 2025 09:05:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DiD4KHw8"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 557DA82899;
Wed, 28 May 2025 09:05:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423104; cv=none; b=QezL66qjnmGcRctllyqorDrAlZQUdb5hJJvHldrLB9X4fdCw9Xl2sLbS2aB9TtfpTIo3BhUvdZBpHGDYnp+YW0Nu44felbSNwJEW7Lby9Z03nw/vNy6sM7AG2idSZPrOHFHv4wugMCjRRDC36eVjH59pu8Jux5SMlJ4cMgW6mJE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423104; c=relaxed/simple;
bh=H4qTJAgQkqzg2T/n9OCdD55Dx5Fmz+dp8Gq6HHYqBdw=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=NuWVVtskWOJC4jf83TU+7mjO/NzgAj72AsMWaVpevWtwY2OiG9kCUh4lyfgA+q48KyNNPOKMpZ17u7x5ZQkHxT1bqFH3vow2SN2xmuvqAm6ov0j/b2m/ewoGIHkeVsObzziHQscjC7yqIYCl8dMAxCFZ1GB53+qksBdPEktDiKk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DiD4KHw8; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 95D61C4CEE7;
Wed, 28 May 2025 09:05:01 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748423103;
bh=H4qTJAgQkqzg2T/n9OCdD55Dx5Fmz+dp8Gq6HHYqBdw=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=DiD4KHw81TFLxKlaoZsfc1sUc+5gMM9knpiopZZgKe+EkbqIduFetCdU4G9fuqEI8
ULOxJPzaQwnwA585GMMYFtxKCyjahGyZHur2K7sHLGAihfANjrVnLVs2qcBlrd7YZ7
SXF61CSIL8yVEDArxy9/dQK+o1FK6PXdf+ZubomCehpA99w8duaq/i5qXD668Ei0Il
V9UvbbkJwwpd1P/YeGZRRLwtFaSdR0phlmz2YwtPLjo+pUpPfayq/Zl9pCI9Wqhxn+
aIQRlJEaaI9DqM9PfsFxiFE+C6O+Skkm3jssmABW0mD5zA5aPcwrQRAl0BXQy1sKH6
/xh1dnaN6AJkw==
Message-ID: <4134d72c-94f1-4b52-a372-34a305b3ea19@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:04:59 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/9] dt-bindings: arm: add Black Sesame Technologies
(bst) SoC
To: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Ge Gordon <gordon.ge@xxxxxx>
Cc: BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <20250528085444.481163-1-yangzh0906@xxxxxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250528085444.481163-1-yangzh0906@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 10:54, Albert Yang wrote:
> Add device tree bindings for Black Sesame Technologies Arm SoC,
> it consists several SoC models like C1200, etc.
>
> Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
> Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
> ---
> .../devicetree/bindings/arm/bst.yaml | 34 +++++++++++++++++++
... so now I see patch 2/9 disconnected from the rest.
Just use b4 for submitting and you will avoid several easy mistakes.
> 1 file changed, 34 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/bst.yaml
>
> diff --git a/Documentation/devicetree/bindings/arm/bst.yaml b/Documentation/devicetree/bindings/arm/bst.yaml
> new file mode 100644
> index 000000000000..e21a37130cef
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/bst.yaml
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/bst.yaml#
Missing vendor prefix.... unless 1/9 was there and will come sometime in
the future. :/
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: BST platforms
> +
> +description: |
Do not need '|' unless you need to preserve formatting.
> + Black Sesame Technologies (BST) is a semiconductor company that produces
> + automotive-grade system-on-chips (SoCs) for intelligent driving, focusing
> + on computer vision and AI capabilities. The BST C1200 family includes SoCs
> + for ADAS (Advanced Driver Assistance Systems) and autonomous driving applications.
> +
> +maintainers:
> + - Ge Gordon <gordon.ge@xxxxxx>
> +
> +properties:
> + $nodename:
> + const: '/'
> + compatible:
> + oneOf:
> + - description: BST C1200 family platforms
> + items:
> + - const: bst,c1200
Drop this entry. You cannot have SoC aloone.
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665174-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 459C941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:05:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 613E93A8A4B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:05:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4EA6727464A;
Wed, 28 May 2025 09:05:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (2048-bit key) header.d=w6rz.net header.i=@w6rz.net header.b="jD0XFiqd"
Received: from omta038.useast.a.cloudfilter.net (omta038.useast.a.cloudfilter.net [44.202.169.37])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 488631CAA6C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:05:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=44.202.169.37
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423122; cv=none; b=WiI7V2QTeZa/NNpbeFD2PP0+0n6Spz76DN3ZGNo9noZPAJz9q/Z5Sj8Cu+irSNSNPmJxwRVot7uoR76oqDsHy/iy6O5EQIT10ba1GdWhvquGSKJGsoCvkFcTWIwZeOTl6Zj4gddK7wNVnwEtlf9CspnPRZx6QQFT7uVPb+ecN3s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423122; c=relaxed/simple;
bh=rs6PIvGPcHrLv/ovucbB4V8gMKGPAt2gjljEKfXGzW8=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=rQkh69myhz2gg6J/swfJnJ+7t0D3nog7GouGffjf1qTmsohJdrK0aKKUsuyyxVKGvAGl6Rl/Pheutbpzvuwm67lpmYs4aLOoQOJbx9D6ptbF+4qovLqoLK5NFjcaYltJLc+PtEjcUYy+3PC/s7LGk6egb2Aa2bv2nFCegNYR0hI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=w6rz.net; spf=pass smtp.mailfrom=w6rz.net; dkim=pass (2048-bit key) header.d=w6rz.net header.i=@w6rz.net header.b=jD0XFiqd; arc=none smtp.client-ip=44.202.169.37
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=w6rz.net
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=w6rz.net
Received: from eig-obgw-6007a.ext.cloudfilter.net ([10.0.30.247])
by cmsmtp with ESMTPS
id JWhguK9fjiuzSKCitu0Kkb; Wed, 28 May 2025 09:05:19 +0000
Received: from box5620.bluehost.com ([162.241.219.59])
by cmsmtp with ESMTPS
id KCisui40P3IrfKCisuw8j4; Wed, 28 May 2025 09:05:18 +0000
X-Authority-Analysis: v=2.4 cv=PL4J++qC c=1 sm=1 tr=0 ts=6836d1ce
a=30941lsx5skRcbJ0JMGu9A==:117 a=30941lsx5skRcbJ0JMGu9A==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=7vwVE5O1G3EA:10 a=VwQbUJbxAAAA:8
a=HaFmDPmJAAAA:8 a=5E2gbQE8QDOJjfjLMUMA:9 a=QEXdDO2ut3YA:10
a=nmWuMzfKamIsx3l42hEX:22 a=Wh1V8bzkS9CpCxOpQUxp:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w6rz.net;
s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:
Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
List-Subscribe:List-Post:List-Owner:List-Archive;
bh=nKwsNn5rJRhi0owYZFN+Q60hsLqiKxH83B+Fzcz0XYg=; b=jD0XFiqdAqR+o3a6crgtabCEe1
21CZumjLpddWBzvMlEibcPTboVLEpNyckM5WKw89z4b6M2N6UPdlnQ3YAaHZtTsMPP09NLERiInJn
nmBcrTVRw5ShjzVWA5/EFywENNebdVeHe+39lNYej8ujievcgHxmmyfLZhq0oTyNi+adWgg3BXLO9
ux5lYZHD9xHE9wVtbionRNdBEL2vzn+ozjF5r7I1JZ6BJshnFFUOHpwqY85FHOXDKF/KjeG4KJdyn
5FDc77PiY0g6FbtlyZBnoL3DyN7mnASw4WT7WXAY8veWRTBx0ibx7uVv5oEIo58Y1Nw5HUcYuyYPl
DOLMkvCA==;
Received: from c-73-223-253-157.hsd1.ca.comcast.net ([73.223.253.157]:54484 helo=[10.0.1.116])
by box5620.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
(Exim 4.98.1)
(envelope-from <re@xxxxxxxx>)
id 1uKCiq-00000000JFF-1igv;
Wed, 28 May 2025 03:05:16 -0600
Message-ID: <48e5d458-c2f9-4968-b9db-5c100ef9b185@xxxxxxxx>
Date: Wed, 28 May 2025 02:05:13 -0700
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6.12 000/626] 6.12.31-rc1 review
To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, stable@xxxxxxxxxxxxxxx
Cc: patches@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
torvalds@xxxxxxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
linux@xxxxxxxxxxxx, shuah@xxxxxxxxxx, patches@xxxxxxxxxxxx,
lkft-triage@xxxxxxxxxxxxxxxx, pavel@xxxxxxx, jonathanh@xxxxxxxxxx,
f.fainelli@xxxxxxxxx, sudipm.mukherjee@xxxxxxxxx, srw@xxxxxxxxxxxxxxxx,
rwarsow@xxxxxx, conor@xxxxxxxxxx, hargar@xxxxxxxxxxxxx, broonie@xxxxxxxxxx
References: <20250527162445.028718347@xxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Ron Economos <re@xxxxxxxx>
In-Reply-To: <20250527162445.028718347@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - box5620.bluehost.com
X-AntiAbuse: Original Domain - vger.kernel.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - w6rz.net
X-BWhitelist: no
X-Source-IP: 73.223.253.157
X-Source-L: No
X-Exim-ID: 1uKCiq-00000000JFF-1igv
X-Source:
X-Source-Args:
X-Source-Dir:
X-Source-Sender: c-73-223-253-157.hsd1.ca.comcast.net ([10.0.1.116]) [73.223.253.157]:54484
X-Source-Auth: re@xxxxxxxx
X-Email-Count: 16
X-Org: HG=bhshared;ORG=bluehost;
X-Source-Cap: d3NpeHJ6bmU7d3NpeHJ6bmU7Ym94NTYyMC5ibHVlaG9zdC5jb20=
X-Local-Domain: yes
X-CMAE-Envelope: MS4xfJ/FIIDl5mrWXlp7sXz35ACRy+7vrKoOspn9Upey624p91L9lzEJQ0kjw9tiikQsxF7tTrLEwnYz7ZgYwYCiyyJ2Obu5iBLmbOMxQ9BhdeckFkdTgbUQ
bNo5zEP3feeykVaL4yloUiPUr6F/D6V05yfujZk3ziZv1YPXhXtFtwod0FS4WFoa0y2GALurjNcipcF85X+xiuldgkj9J9tG7Lc=
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/27/25 09:18, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.12.31 release.
> There are 626 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Thu, 29 May 2025 16:22:51 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.12.31-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.12.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
Built (with both gcc-14 and gcc-15) and booted successfully on RISC-V
RV64 (HiFive Unmatched).
Tested-by: Ron Economos <re@xxxxxxxx>
Return-Path: <linux-kernel+bounces-665175-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 75C0B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:06:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id AEB2E4E038E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:06:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A700B2741DF;
Wed, 28 May 2025 09:06:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="HQ/+Kujw"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56FD122A81E
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:06:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423177; cv=none; b=mFzUEJO5syo5JJQJf2syb9LQqUJ11NKpFIIt5aNByTI+TkZYCv1tYCsJu7famjbJ4Ltk7D34/UPg9vDfUVr+fREdjv65Px27eK9Mc2LiNLBe0MpIisatUqu40smjRJ3ZOFM7fnN83nB/O28VMwQXvHSWqOABfZj1IfXWkTjqUpk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423177; c=relaxed/simple;
bh=uMd7vvtHClvbK/XR9D4ur3jM2f+3IfWm3Bv1Ja3tbbg=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=T4tG8AqetdhEUliavle0f5pxw1kj02Gfox9vPfkuKcCz/Qhq9+29u4xXrPHefatHbQvVNCCpGT7uFcntZm8hjEYVVSo9D42oasK5aAtc1cLha9ZxIHiLEw9mkM4erKXm4ixD8KCUebxYsySjkr0TO/DPSLMI6x4bZs0DYiWL6iA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=HQ/+Kujw; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748423175;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=yPtp4BVlfZsRur8/3HKaTK/1oayZ+9mURRHo233+dpk=;
b=HQ/+Kujw24kxmu5Ui9Mo93Nm3jviRlBWMjhWwrAUtDEJFihgA8CbB3i2rI7mBsB+LJ0RT+
M1UAwOl0ML8qUfRk5B1XNRQcDaJ67FhpVmog+Q68Rklq2d0eUjQqnBqVjcInDPL4jqGdmz
hQbU5UmZBrtg6dC2EmSgb3qo07//8dM=
Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com
[209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-304-43Bk3KXhNJO795OfG39UXg-1; Wed, 28 May 2025 05:06:13 -0400
X-MC-Unique: 43Bk3KXhNJO795OfG39UXg-1
X-Mimecast-MFC-AGG-ID: 43Bk3KXhNJO795OfG39UXg_1748423172
Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3a367b3bb78so2470982f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:06:13 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423172; x=1749027972;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:from:references:cc:to:subject:user-agent
:mime-version:date:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=yPtp4BVlfZsRur8/3HKaTK/1oayZ+9mURRHo233+dpk=;
b=ewslHYU3HcSkE4cBmHhs4ivAHj3+6KV0O+VqkuuJcviCm2P0CTA1eVvF5L5eKrsr5n
uNvCf37BoWIbpfxpRXQyVwKZx9F58qsSEK6i/lcCqIl3L9HTs/DzP3q0c92zkJMvG0tX
jltxao9Z1Q6x2J6H2vxjw9+xC/pbYBWcOrGphPoZK8vAtYYmFnLBCxWGnJ05tmcgT8vE
lqcsMdoF8mvuuCzAoS6v+4SkugpCc1Hnh+xi720mnoj2u0BYFarmt+SlFpzpX+0LTTDA
FsFYzu0d625nBf3ft2yBZFYo8jqWd4qO6yxkxJ09FXyRH855elbOoSBB4Q2//0fz49eY
zwsQ==
X-Gm-Message-State: AOJu0YxdlsZO30M4G698PDKqJcE6tl6lBfYPiALxkngL24WnhMBQqQzt
KtUQHkwNJcasrGNua7VXIyat+RhJJv9HyywkMxqY7ESlRSK2F0/mup7zJ+cDcJKTzmGF/2VSY+g
JLKLcqxy87122tMdRPXiwanCNDAGnHtagk3TKp1t15Q45/Tp18LLkI9FUEsvz/UEscQ==
X-Gm-Gg: ASbGncsFhv9xu9lzKEJVzk88geUGj3RG1V/xY/Bj+I0prMvSrUuU0BWq2pAp4IHloAO
bwKoaRfJkEZnxbL/MSohj0MfcL51ZzRCpRW6IgWLbAinKIXHjnkFWvsAHhuda96LDF3/TRfmPH6
hwQpugX2Cruma6NPzR5maYC9h8lMWsLLqdxt1W2RSnYx84EDPCNbA867Lp2MI/dmwJLrgfYVPao
+R8Vi5vJUvgDAbaYAIpYr3n3v3+m/BCL9DPWj4LgxaEO3xT3RosqEyX88oVpzMrZj/VwegY5xeI
cv1ekFkleRpz2KR6LL5z2hfgLHiUbpDa7GC2cNGUvCmvlZcSlvMB9VefawFQ0Gik28q9ObYKiUA
wa9ODeh/FM+g5SDm7X/P2uIbr/lDAD+CCYEFURYg=
X-Received: by 2002:a05:6000:26d0:b0:3a4:e4bd:1b27 with SMTP id ffacd0b85a97d-3a4e4bd1c83mr3907320f8f.54.1748423172267;
Wed, 28 May 2025 02:06:12 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFNHqCOw0QGd8W0A6TOY7dtBnKuUBRtv0uNloTLnvRnPNgfBlftkrP2fUjm4+kQAzqv5GkdyQ==
X-Received: by 2002:a05:6000:26d0:b0:3a4:e4bd:1b27 with SMTP id ffacd0b85a97d-3a4e4bd1c83mr3907286f8f.54.1748423171762;
Wed, 28 May 2025 02:06:11 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36? (p200300d82f30ec008f7e58a4ebf06a36.dip0.t-ipconnect.de. [2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eacd7cc5sm905044f8f.73.2025.05.28.02.06.10
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:06:11 -0700 (PDT)
Message-ID: <876f65d0-e873-4c08-b404-db89e542e7a3@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:06:10 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] x86/tlb/trace: Export the TLB_REMOTE_WRONG_CPU enum
To: Tal Zussman <tz2294@xxxxxxxxxxxx>, Steven Rostedt <rostedt@xxxxxxxxxxx>,
Masami Hiramatsu <mhiramat@xxxxxxxxxx>,
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Rik van Riel <riel@xxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>, Vlastimil Babka
<vbabka@xxxxxxx>, Mike Rapoport <rppt@xxxxxxxxxx>,
Suren Baghdasaryan <surenb@xxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>,
x86@xxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-trace-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx
References: <20250528-tlb-trace-fix-v1-0-2e94c58f450d@xxxxxxxxxxxx>
<20250528-tlb-trace-fix-v1-1-2e94c58f450d@xxxxxxxxxxxx>
From: David Hildenbrand <david@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250528-tlb-trace-fix-v1-1-2e94c58f450d@xxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28.05.25 07:35, Tal Zussman wrote:
> When the TLB_REMOTE_WRONG_CPU enum was introduced for the tlb_flush
> tracepoint, the enum was not exported to userspace. Add it to the
> appropriate macro definition to enable parsing by userspace tools, as
> per [0].
>
> [0] Link: https://lore.kernel.org/all/20150403013802.220157513@xxxxxxxxxxx
>
> Fixes: 2815a56e4b72 ("x86/mm/tlb: Add tracepoint for TLB flush IPI to stale CPU")
> Signed-off-by: Tal Zussman <tz2294@xxxxxxxxxxxx>
> ---
> include/trace/events/tlb.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/include/trace/events/tlb.h b/include/trace/events/tlb.h
> index b4d8e7dc38f8..725a75720a23 100644
> --- a/include/trace/events/tlb.h
> +++ b/include/trace/events/tlb.h
> @@ -13,7 +13,8 @@
> EM( TLB_REMOTE_SHOOTDOWN, "remote shootdown" ) \
> EM( TLB_LOCAL_SHOOTDOWN, "local shootdown" ) \
> EM( TLB_LOCAL_MM_SHOOTDOWN, "local mm shootdown" ) \
> - EMe( TLB_REMOTE_SEND_IPI, "remote ipi send" )
> + EM( TLB_REMOTE_SEND_IPI, "remote ipi send" ) \
> + EMe( TLB_REMOTE_WRONG_CPU, "remote wrong CPU" )
Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>
--
Cheers,
David / dhildenb
Return-Path: <linux-kernel+bounces-665176-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E78F341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:06:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0A2973A58B4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:06:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id ED59E2741DF;
Wed, 28 May 2025 09:06:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Q+xloBN2"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A0FCE247282
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:06:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423196; cv=none; b=HuQph0geDGnhgonQwvulS9O8qtSzUpL+icPLfgPERzOleeU3qtA2XUrtKHMftzPzGoG9wnQcPTOhEBzFwjt/TU/fmjDNdp5fFLEUri0Izk6RPBAVLrA9hTGxxLaklztpsrqddGuMSc8LWZ4KE3gSzqHt5wN5R370JtN3jk8MRww=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423196; c=relaxed/simple;
bh=4TvTmbiWXB5FhroHsvlg+K8JZ75ZnMsD85mUMetTHRU=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=WCwdc6gsC+CJ93bPOvo0UUx9LdWV9WfzOCYfPU8TvKwEZEpOSBTcHsp9nV+PqfGhdI9io1trs0TmSjHWbamewPbvJ97g9qs0P73i4PyA1Gfy3kSKltm9grxjbmPFVTVc3yybdUT5tLjfDTQHldTsNyO9c8P+t4jZm9FS8CqZxmQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Q+xloBN2; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748423193;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=0jNfWBnNwI4vmCYyyWkZIC0z1gNt+R1x0CiFYOJERUE=;
b=Q+xloBN2Fggr8aZTqHpO/ENONSn9gCNVDzdQn56z+v3DHAvIIU2Q5GhJwMoNch7uSjfejY
zpTeDZOhlKTP7UQ7T711QJkLbu+dcE6u0WRF3dvKP7fHZyH2dVPMBuTUvuuRDHb9uRk1IX
IiSOOfF3tYZY7JzidniVQre8uwB5kAM=
Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com
[209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-351-2Xh6seF3OM2TUf-ZcEBQnA-1; Wed, 28 May 2025 05:06:32 -0400
X-MC-Unique: 2Xh6seF3OM2TUf-ZcEBQnA-1
X-Mimecast-MFC-AGG-ID: 2Xh6seF3OM2TUf-ZcEBQnA_1748423191
Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-441c122fa56so20602435e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:06:32 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423191; x=1749027991;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:from:references:cc:to:subject:user-agent
:mime-version:date:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=0jNfWBnNwI4vmCYyyWkZIC0z1gNt+R1x0CiFYOJERUE=;
b=H8qITd9SM6urQYo3IMplQTX3/z8wWHjYfXBOADM9oP+EYQNLiTfQIRZG4TLP6dZPha
gSudmAjXW4K1yk/TB5ppSLIpdcUcyUyQLN5uB4TUvIklp2SEEY6ZeG83tnIIFEp7Nm34
kaFofDP7WDpVjC2haNCHrTGC9N0iPObpMm2FUPKGW2VGr3vm/EqNWKMA9yYRPH5JYHUh
5Z7i6Xqy8MsDXrR1Br2nnVyqCc94VY5sjQ7sbIk+/jqWYQoYF6LJRNYUrr2wLOmWJ7zT
y3+V38oBAR/AzZfg8pAQCQmWZfcezHcNjzCUaM9qSldLHR9zqsdAv4j5fS6wftJaQJ2w
flXw==
X-Gm-Message-State: AOJu0YxmAFA+pgUOeJ/3VUAodzXZ6tJVunQbgkaFTXdQot3QAZj2OsJM
8hbGcSNFU2UZnbjOsqqibor4Ro/Hs5RoODrzI62rEXoQl3lq9w41L2g8AxOWRItNrBvT3r37GLD
9ZBmVxCVK7MCvEDzT0FxJ20KH8nc5iqww7fQTToJWIyIiAHe3QrTPfn2VfVzNDcrhzA==
X-Gm-Gg: ASbGnctnflY1sP5e8sOxg+BuqhuaqK4V/ySrP+8qkbzS4VoPgNsRxhx/QGDKP6U56Ye
rwM97Rqx4FgsA1HTVTVgyO85Huq2VZe+ZRsypKPhXJqNKaknwxSNIR71z3ghqYmJFbgMN4mLQHI
kXy6WBj0DeBuCUmJq+bZtfZyVO7zngRIQLH/6f+VD7xGvjltIvhGW4lgPaYVLV92DMygIj77e4E
vcOGcXFbJLwb6lDevf1T4djlrf2+8DE1n30v2YfKmVkCyES7Fkn9hf+BylJ5ZFmjJpwBDpHega1
cbDIlNbr8ZT+Rj8Y4r9t124lPQFDTgAj3Dr/8pkGb6iC8/LbeHd6lldQCf7No1bp8FR94OFWeUc
fCWcPTd0k/faG1TQawfM83lss78vRW5nqFKDmptI=
X-Received: by 2002:a05:6000:1785:b0:3a3:63d3:369a with SMTP id ffacd0b85a97d-3a4cb4602a6mr11987345f8f.25.1748423191186;
Wed, 28 May 2025 02:06:31 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFFS2yw6ICITHixIjXBzRYXeXOzAPyp23fKYDFoE4S3dOHqpW1SBJwXLDvJ8JMJEkqZ76misw==
X-Received: by 2002:a05:6000:1785:b0:3a3:63d3:369a with SMTP id ffacd0b85a97d-3a4cb4602a6mr11987314f8f.25.1748423190772;
Wed, 28 May 2025 02:06:30 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36? (p200300d82f30ec008f7e58a4ebf06a36.dip0.t-ipconnect.de. [2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eac7d7a7sm889461f8f.21.2025.05.28.02.06.29
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:06:30 -0700 (PDT)
Message-ID: <23fc6556-6578-44ba-8443-84adecc29d24@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:06:29 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] mm: Remove tlb_flush_reason::NR_TLB_FLUSH_REASONS
To: Tal Zussman <tz2294@xxxxxxxxxxxx>, Steven Rostedt <rostedt@xxxxxxxxxxx>,
Masami Hiramatsu <mhiramat@xxxxxxxxxx>,
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Rik van Riel <riel@xxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>, Vlastimil Babka
<vbabka@xxxxxxx>, Mike Rapoport <rppt@xxxxxxxxxx>,
Suren Baghdasaryan <surenb@xxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>,
x86@xxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-trace-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx
References: <20250528-tlb-trace-fix-v1-0-2e94c58f450d@xxxxxxxxxxxx>
<20250528-tlb-trace-fix-v1-2-2e94c58f450d@xxxxxxxxxxxx>
From: David Hildenbrand <david@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250528-tlb-trace-fix-v1-2-2e94c58f450d@xxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28.05.25 07:35, Tal Zussman wrote:
> This has been unused since it was added 11 years ago in commit
> d17d8f9dedb9 ("x86/mm: Add tracepoints for TLB flushes").
>
> Signed-off-by: Tal Zussman <tz2294@xxxxxxxxxxxx>
> ---
> include/linux/mm_types.h | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
> index 3e934dc6057c..8b91362fcf8e 100644
> --- a/include/linux/mm_types.h
> +++ b/include/linux/mm_types.h
> @@ -1539,7 +1539,6 @@ enum tlb_flush_reason {
> TLB_LOCAL_MM_SHOOTDOWN,
> TLB_REMOTE_SEND_IPI,
> TLB_REMOTE_WRONG_CPU,
> - NR_TLB_FLUSH_REASONS,
> };
>
> /**
>
Acked-by: David Hildenbrand <david@xxxxxxxxxx>
--
Cheers,
David / dhildenb
Return-Path: <linux-kernel+bounces-665177-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 471CD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:07:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3E6A83AB1B3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:06:42 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1F2CC2749E7;
Wed, 28 May 2025 09:06:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SjfKKxw9"
Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83E951E0DBA;
Wed, 28 May 2025 09:06:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.48
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423206; cv=none; b=m2nBtv2qgfNKdVYSlLb669WmB1iHfreaIMhLgEL0NeuEMqWA1Q74PBl7KsbeCMNJKe0Foegf1zipZ51z07fokIdxAWWbpkPuDyYxz0k+4d6mxoz03qVxVOCpltzQ0jfcmKpR54JD+ViDG00VO3XX/qtXKajLXYtWXFxaygb6WE8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423206; c=relaxed/simple;
bh=kOXKXYBm0pp28YtkaxvHzV7xrXjXU6/FZ4rd0x7+0rg=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=N3oz28GbLOALIrUFJQa5UqzJWCA5Y7aSTZ7dAnFzIlEBvBWgstv64QrjPy7kH8VaXM9e8JZqwUL1JAOQmhD4LrtNGNGmTDlQQuw4QspeYrMI4HmzureJYEcujc/EyVDZOSPRty0E0ZPcWywGpy1rWJrkrDITRZaqvd2ogjMIdh8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SjfKKxw9; arc=none smtp.client-ip=209.85.218.48
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-acbb85ce788so853256266b.3;
Wed, 28 May 2025 02:06:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748423203; x=1749028003; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=SrHG2O5BYtb3YtvsVKxTKKGZHaxoCb1RYr5BGkq1In0=;
b=SjfKKxw9aCyq2O2rJnC6/sLZWWY8XvldqAMTqL4ZZbPAM5R7TL+r7EHZd6VaTlOrJW
6GdZE29EyU/F9o+BcPSc7yGssAT3ZDRDoLFbkYzUUWz8+LOGyxZQHXn38xuUmib/S1bX
DmmOWdnie25fHO2OEePCFboyCtdyYu0f4w3CwpIcAn93ef2g3Q9OZVUxar+2kxNjcVAK
IJfn/vxg1lXyw38uWkQ4m91nnafvFbzvzEvtF06eWlQy3/BIq6f+RipnaIU0JRg1HVK2
gVpMo/l3OcS65RUWwJiZxyfli/NE7/NV0nLJbcAhK41K7tHbsSs47CLqcc+MzBkDJU6F
fErw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423203; x=1749028003;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=SrHG2O5BYtb3YtvsVKxTKKGZHaxoCb1RYr5BGkq1In0=;
b=wn6OKhll23QO2/doG7sgkaTK9GLxd8rYf1cqrl5mJNV+lcTM8q2rKoly5gDkIpcrBh
84MPEQ2yZstIVSCOkrLGvJPqxRBNRJXUHHMG7ucroAG2GQJnQGKOlvxR86P+Yhcnv8hC
u6eEb9JUwbhPOo6jVrwrWNqZjSrBcDniqUHz0I6NlCaSM+R+UJjTKzX6ibowXZcBHaey
OP1He5XcfNxKVabO7Crrz6fRaDmZKRiOItg5JWoJG8VqwF8RFHwrZbDGUfO3kkyO+61c
MJVef9jGvrbJzW3bfxz3RTmFvAJkTBWocVHThvCdXV+dG9i55pdH2FOWrsQTXolCSjYH
VUwA==
X-Forwarded-Encrypted: i=1; AJvYcCUjgybyGTmuT2kcUk/kSZcY9VZ3CMmkteSrSoVh81GRI4IB2wm6JX7hBf1qhPshq5W40MY=@vger.kernel.org, AJvYcCUjjhys2INpyqGSI7y1S7dDPRGxMGveQ1J0pOPagcLiYvbebfvNpuLYl4/CQefiMXlk+ThZJouM@xxxxxxxxxxxxxxx, AJvYcCVfzUWy4JElFcgdaSOHhke4LBJJjI3jLWw4KhariPlP09P1IqhOdv+g3q+rKCiu8DyHHSejcQILpru+1oMC@xxxxxxxxxxxxxxx, AJvYcCX49d5U1mwu9IerlUzoG6K0R7au1RtMn0UfzQoKLJ+eVEMhawBVgcEMiLDUl7PzZBkKhxU1Vv5FNmKYMw==@vger.kernel.org
X-Gm-Message-State: AOJu0YwXhHNgBSJ96VhrgQsygehE3HDTkO5kY40xXzOpKheyf8U+FWaX
qrPWZEuJoCwKLo81NzbeKzdbrtiLFul1uNawiAmAVDxmYwmdqa6uCpAP
X-Gm-Gg: ASbGncsjZYin804MX4DAFqq4GmAtZ0hFxf+5Ph1R/nfuEJSCa1wrAcSCOphH4skL63y
9bsRow0K+QaaXAey8JR93xBiNxzSXeA1rOVNeBb2ySztiJKGREjXs+XdEAJdLN0FTOR7LAkz3e0
+6L0t0jP5xw/Kfhw6Ew9ryyckMSRsSZlhadyqaBzpBUJ+9TYa3pmx0LBnf18o9Y7MLxePDo1A+I
+zaUB/pAy7OLGHxxN5F+drH5Q//8yqFlL+b34PblVhx5zeC8VhTFWkE0/9bL+FnusDbaLQhmAl5
hTI3vRBQlKmettonzBfQ/vzPfw4EXbdxg5XJp4YdCm3rAHjgXWxbX6eiTNvlpmo=
X-Google-Smtp-Source: AGHT+IHlRG59ZQ1RE5LCh+OggOjfsmRsw03O6EaDU9OGsaOzsQR2qjNj3W2GDEZEmVgO/2R9EYjTRQ==
X-Received: by 2002:a17:907:8686:b0:ad5:55db:e413 with SMTP id a640c23a62f3a-ad85b1504d9mr1421685166b.26.1748423202406;
Wed, 28 May 2025 02:06:42 -0700 (PDT)
Received: from ?IPV6:2620:10d:c096:325::6f? ([2620:10d:c092:600::1:c447])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1b29324sm73175966b.100.2025.05.28.02.06.40
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:06:41 -0700 (PDT)
Message-ID: <06fca2f8-39f6-4abb-8e0d-bef373d9be0f@xxxxxxxxx>
Date: Wed, 28 May 2025 10:07:52 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access page->pp_magic
in page_pool_page_is_pp()
To: Byungchul Park <byungchul@xxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx, ilias.apalodimas@xxxxxxxxxx,
harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx,
toke@xxxxxxxxxx, tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx,
david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx,
vbabka@xxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx, mhocko@xxxxxxxx,
horms@xxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
<a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
<20250528081403.GA28116@xxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Pavel Begunkov <asml.silence@xxxxxxxxx>
In-Reply-To: <20250528081403.GA28116@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 09:14, Byungchul Park wrote:
> On Wed, May 28, 2025 at 08:51:47AM +0100, Pavel Begunkov wrote:
>> On 5/26/25 03:23, Byungchul Park wrote:
>>> On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
>>>> On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
>>>>>
>>>>> To simplify struct page, the effort to seperate its own descriptor from
>>>>> struct page is required and the work for page pool is on going.
>>>>>
>>>>> To achieve that, all the code should avoid accessing page pool members
>>>>> of struct page directly, but use safe APIs for the purpose.
>>>>>
>>>>> Use netmem_is_pp() instead of directly accessing page->pp_magic in
>>>>> page_pool_page_is_pp().
>>>>>
>>>>> Signed-off-by: Byungchul Park <byungchul@xxxxxx>
>>>>> ---
>>>>> include/linux/mm.h | 5 +----
>>>>> net/core/page_pool.c | 5 +++++
>>>>> 2 files changed, 6 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/include/linux/mm.h b/include/linux/mm.h
>>>>> index 8dc012e84033..3f7c80fb73ce 100644
>>>>> --- a/include/linux/mm.h
>>>>> +++ b/include/linux/mm.h
>>>>> @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
>>>>> #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
>>>>>
>>>>> #ifdef CONFIG_PAGE_POOL
>>>>> -static inline bool page_pool_page_is_pp(struct page *page)
>>>>> -{
>>>>> - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
>>>>> -}
>>>>
>>>> I vote for keeping this function as-is (do not convert it to netmem),
>>>> and instead modify it to access page->netmem_desc->pp_magic.
>>>
>>> Once the page pool fields are removed from struct page, struct page will
>>> have neither struct netmem_desc nor the fields..
>>>
>>> So it's unevitable to cast it to netmem_desc in order to refer to
>>> pp_magic. Again, pp_magic is no longer associated to struct page.
>>>
>>> Thoughts?
>>
>> Once the indirection / page shrinking is realized, the page is
>> supposed to have a type field, isn't it? And all pp_magic trickery
>> will be replaced with something like
>>
>> page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; }
>
> Agree, but we need a temporary solution until then. I will use the
> following way for now:
The question is what is the problem that you need another temporary
solution? If, for example, we go the placeholder way, page_pool_page_is_pp()
can continue using page->netmem_desc->pp_magic as before, and mm folks
will fix it up to page->type when it's time for that. And the compiler
will help by failing compilation if forgotten. You should be able to do
the same with the overlay option.
And, AFAIU, they want to remove/move the lru field in the same way?
In which case we'll get the same problem and need to re-alias it to
something else.
--
Pavel Begunkov
Return-Path: <linux-kernel+bounces-665178-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 09FC441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:07:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9D4163B028F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:06:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C35EE2749CD;
Wed, 28 May 2025 09:06:57 +0000 (UTC)
Received: from mail-vk1-f170.google.com (mail-vk1-f170.google.com [209.85.221.170])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70E781E0DBA;
Wed, 28 May 2025 09:06:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.170
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423217; cv=none; b=tcnDOcFDvZU5pLL/1bPmfkmiEvBqS8yeMs/YntvMJx1Ihl4gC8IBvRsnkz9xu2vB5qdGTLXyMwGy/jEZTzdAmLjwt+kIsda+vb8qOTt9WWr3zDva5vHpYL8e3m73kFMeYve69WQp2E85eTb1+adEsLpZkMKvwjgy/Um73e8TI24=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423217; c=relaxed/simple;
bh=WIrinfMiUyAK0J7pL1G1KsvX4q1r3p0Fe9ePl0u9gtw=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=lqTj1UL+PpIlSHuva9rg3DE3hwR3yRi2WfUoF7uO23Ykr5lnzLqfDD6pPHLmbLcoX4o0G7xtaVwyEQXg/Y+oB/FjPy7TfxXNwybU2k5xoJC5ackR62gGDsucjzRiNiNdbE0XXxgOkYGqpu10IcUbehMUlmq7JNDsOMA5IP3mAUg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.221.170
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-vk1-f170.google.com with SMTP id 71dfb90a1353d-52d9a275c27so2654725e0c.0;
Wed, 28 May 2025 02:06:55 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423212; x=1749028012;
h=cc:to: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=AYU8Mi90KLdCAAJJaGYDubPex399S/3mu0JP984ggbk=;
b=DQc8cR5ylyBmphwLY4m7WQHcYPxnADSQkmwgmZgdwhGYxn/21dZPfTRF+2KxHhfoOw
5RYvX1m4Q0lS7k0pq2RvS4FWr9PD36Dkljtl3ltlyQ5/U0XRIdKlOEEMhQzGzdzeNR7o
HGZ5x1uq2tNkKLlFSbWbYPlCMyRDWRB0oup7jAtZV+GFP3weErwzXdnkLDB3mDr3dtc7
tRy6gKF7jiBQzf2Su2CnFd+mf4IJRSSXpUiSRkIDON4AakqkQNPdhCNqTMBuRgrUewbN
lnDjOeliiZHZbAIbsYRLh4O3/02URfWjCfkc6m6EM51ikCb84JXvYJCIoz3y14sMJafQ
jvig==
X-Forwarded-Encrypted: i=1; AJvYcCVWYl73hqtST3XhRU9D5Z57YKpw5mlSK0eKxn2fdo4AgQ/JfiCcHqtjCTp/RI0ACJG779tqmRW4XLSD@xxxxxxxxxxxxxxx, AJvYcCW5cGCWXYRusuVd4skgYQEMzjTnTS0Ju/hZZik1JAN5YVskuVUhJAx+wrlVgyNeYcwSui+3WWwbbzkuZGo=@vger.kernel.org
X-Gm-Message-State: AOJu0YzaFgXyD0W1325ymVzwJN01g7g6SpvraHedpXo0rgXlgF+3vaLx
1Y6BcNqmha1Ue5eRsfSOEgepjg3kjzS6lMFqojh0lyaVP51ZR3ttmz1sPeYsbkUL
X-Gm-Gg: ASbGncsE90nfoYut1nLYEITbwgBF3iMrMKCp1og/9Mz+QLqq/5CYp5o+dX504dn1oyh
xB+4Mt2ppfL20dncKAgUYNMcI68wZcBZbYIHUia+VgAkvIet12cMAc3wc/tj2S5P6ko1yEmSYjH
siBpQC37zEXNyvvlzYr+oBXJwji4xOZiV9/hf0tdSKhKGbp+TS+ROQzciN+kDO7zD55IZb2Y+if
DyBAAnQibKDwtM+yiL2Cuscy3KcuqmkQ1vaEBFguynKbUOF+1QuHKU1vdTtbCzB8bn3Fk2pENcV
r2f/m/T/Km/s2/YCQ8u+DcidBIPZfE2x5EtkbVtLRZPrh/t4+CT8MMg7cVEGM4GgAZUOiiKyOzI
MJRU8kwi/0HV7Bg==
X-Google-Smtp-Source: AGHT+IHfNVkNJvyzuGOXvU2/5E8q4hXCG5ePgdD3cthNXeuQMw3gnVLwTDUf0eI/hRQz3uPM3fzEOw==
X-Received: by 2002:a05:6122:3d0d:b0:52f:204d:4752 with SMTP id 71dfb90a1353d-52f2c5ca414mr13253504e0c.11.1748423212554;
Wed, 28 May 2025 02:06:52 -0700 (PDT)
Received: from mail-ua1-f53.google.com (mail-ua1-f53.google.com. [209.85.222.53])
by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-53066972cb4sm592394e0c.39.2025.05.28.02.06.52
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:06:52 -0700 (PDT)
Received: by mail-ua1-f53.google.com with SMTP id a1e0cc1a2514c-87e049bb3e4so1401443241.0;
Wed, 28 May 2025 02:06:52 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCV3kqi49IImI4GnQDl7JIHcnHyjwjaITAhYfP4IX2mnZgfUQsv57YoYnww0X/14DZHDCCwZzKQQ/ahjczw=@vger.kernel.org, AJvYcCX2lFC5FU0TQ7qawEiEd1sc0vRLneZvNWlfzwvcpHz86spzlCWvDc7IUcK7z4K1MDQshU8wtbZfFKUz@xxxxxxxxxxxxxxx
X-Received: by 2002:a05:6102:8006:b0:4e5:8d09:7b14 with SMTP id
ada2fe7eead31-4e58d097d83mr5192536137.0.1748423212075; Wed, 28 May 2025
02:06:52 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250528085453.481320-1-yangzh0906@xxxxxxxxxxxxxxx>
In-Reply-To: <20250528085453.481320-1-yangzh0906@xxxxxxxxxxxxxxx>
From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 11:06:40 +0200
X-Gmail-Original-Message-ID: <CAMuHMdVjR0Ki_vLYtvv1HYpZVdLqUtacG=zs4_ooC0yLnK_CvA@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFv2umrJq54Eu_Z7Pa0M5hU7WaTzckrO6UyfF8NfUyYwIvRhoe3M_guovBM
Message-ID: <CAMuHMdVjR0Ki_vLYtvv1HYpZVdLqUtacG=zs4_ooC0yLnK_CvA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v1 5/9] mmc: sdhci: add Black Sesame Technologies BST
C1200 controller driver
To: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx>, Adrian Hunter <adrian.hunter@xxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>, BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>, linux-mmc@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>, Victor Shih <victor.shih@xxxxxxxxxxxxxxxxxxx>,
Shan-Chun Hung <shanchun1218@xxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Peter Robinson <pbrobinson@xxxxxxxxx>, Ben Chuang <ben.chuang@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Albert,
On Wed, 28 May 2025 at 10:55, Albert Yang <yangzh0906@xxxxxxxxxxxxxxx> wrote:
> Add a driver for the DesignWare Mobile Storage Host Controller (DWCMSHC)
> SDHCI controller found in Black Sesame Technologies C1200 SoCs.
>
> The driver provides specialized clock configuration, tuning, voltage
> switching, and power management for the BST DWCMSHC controller. It also
> includes support for eMMC boot and memory-mapped I/O for CRM registers.
>
> Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
> Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
Thanks for your patch!
> --- a/drivers/mmc/host/Kconfig
> +++ b/drivers/mmc/host/Kconfig
> @@ -1112,3 +1112,14 @@ config MMC_LITEX
> module will be called litex_mmc.
>
> If unsure, say N.
> +
> +config MMC_SDHCI_BST
> + tristate "SDHCI OF support for the BST DWC MSHC"
depends on ARCH_BST || COMPILE_TEST
> + depends on MMC_SDHCI_PLTFM
> + depends on OF
> + depends on COMMON_CLK
> + help
> + This selects Synopsys DesignWare Cores Mobile Storage Controller
> + support.
> + If you have a controller with this interface, say Y or M here.
> + If unsure, say N.
> --- /dev/null
> +++ b/drivers/mmc/host/sdhci-of-bst-c1200.c
> +#define SDEMMC_CRM_BCLK_DIV_CTRL 0x08
> +#define SDEMMC_CRM_RX_CLK_CTRL 0x14
> +#define SDEMMC_CRM_TIMER_DIV_CTRL 0x0C
> +#define SDEMMC_CRM_VOL_CTRL 0x1C
> +#define DRIVER_NAME "sdhci_bst"
> +#define BST_VOL_STABLE_ON (0x1 << 7)
> +#define SDHCI_DUMP_BST(f, x...) \
> + pr_info("%s: " DRIVER_NAME ": " f, mmc_hostname(host->mmc), ##x)
> +#define SD_3_3V 0
> +#define SD_1_8V 1
> +#define default_max_freq 200000ul
> +
> +void sdhci_bst_print_vendor(struct sdhci_host *host)
> +{
> + SDHCI_DUMP_BST("============ SDHCI VENDOR REGISTER DUMP ===========\n");
> +
> + SDHCI_DUMP_BST("VER_ID: 0x%08x | VER_TPYE: 0x%08x\n",
> + sdhci_readl(host, SDHC_MHSC_VER_ID_R),
> + sdhci_readl(host, SDHC_MHSC_VER_TPYE_R));
> + SDHCI_DUMP_BST("MHSC_CTRL: 0x%08x | MBIU_CTRL: 0x%08x\n",
> + sdhci_readw(host, SDHC_MHSC_CTRL_R),
> + sdhci_readw(host, SDHC_MBIU_CTRL_R));
> + SDHCI_DUMP_BST("EMMC_CTRL: 0x%08x | BOOT_CTRL: 0x%08x\n",
> + sdhci_readl(host, SDHC_EMMC_CTRL_R),
> + sdhci_readw(host, SDHC_BOOT_CTRL_R));
> + SDHCI_DUMP_BST("GP_IN: 0x%08x | GP_OUT: 0x%08x\n",
> + sdhci_readl(host, SDHC_GP_IN_R),
> + sdhci_readb(host, SDHC_GP_OUT_R));
> + SDHCI_DUMP_BST("AT_CTRL: 0x%08x | AT_STAT: 0x%08x\n",
> + sdhci_readb(host, SDHC_AT_CTRL_R),
> + sdhci_readb(host, SDHC_AT_STAT_R));
> +}
> +EXPORT_SYMBOL_GPL(sdhci_bst_print_vendor);
Why do you need this?
> +
> +static u32 bst_read_phys_bst(u32 phys_addr)
> +{
> + u32 phys_addr_page = phys_addr & 0xFFFFE000;
> + u32 phys_offset = phys_addr & 0x00001FFF;
> + u32 map_size = phys_offset + sizeof(u32);
> + u32 ret = 0xDEADBEEF;
> + void *mem_mapped = ioremap(phys_addr_page, map_size);
> +
> + if (mem_mapped) {
> + ret = (u32)ioread32(((u8 *)mem_mapped) + phys_offset);
> + iounmap(mem_mapped);
> + }
Please do not ioremap()/iounmap() for each register read...
> +
> + return ret;
> +}
> +
> +static void bst_write_phys_bst(u32 phys_addr, u32 value)
> +{
> + u32 phys_addr_page = phys_addr & 0xFFFFE000;
> + u32 phys_offset = phys_addr & 0x00001FFF;
> + u32 map_size = phys_offset + sizeof(u32);
> + void *mem_mapped = ioremap(phys_addr_page, map_size);
> +
> + if (mem_mapped) {
> + iowrite32(value, ((u8 *)mem_mapped) + phys_offset);
> + iounmap(mem_mapped);
> + }
or write...
> +}
Aborting review.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Return-Path: <linux-kernel+bounces-665179-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2EB7041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:09:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 575E34A4843
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 82EA2274667;
Wed, 28 May 2025 09:08:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="dmx1OJXt"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A6A1247283
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:08:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423335; cv=none; b=oOBL6EjzPx2quqgn4K+AwKvXHzI5QL/td53ByfG5a1Y+fcGky0O9Y8yFgHex6uYV97eS+4ZALaJME3TC5LmxH0DOycrR6B7aGlnCmH7vgRIUUzfZIZkS6P4pnFwvL7UIK/88Jge9K43QHFyeza8K2n2OnhN5Wy7SPphuXxrxeh0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423335; c=relaxed/simple;
bh=HeRntkvpjTLIxIK7T/7PBTHCgMLMpgZe/nO0/0LPjDw=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=KPI5oaxh/7VNWegHGLxWv8159Erf7fw6isS3F2wH5HohboNaYLAQzQcNZzjnHH2gpLCXYbSXR0xQ6Y4b3VPFb8Gi8ihiBZ5DGJdZ2g11VSwUsWspFw86kTa7zz9G6huDXSfePUCk9+/q+NwusKeoJhjoY+bjvyrkLGraMbfH3Lw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=dmx1OJXt; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748423333;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=K6fOjoths9BP+7g43cHI3UErFOLHs1REkE1Ir6J/HUc=;
b=dmx1OJXtsrMmP2j0NZe11qfMhrxKVJJMk9Lk51XmPi8+zhF2mhRGD2bmGgEbrzWbIXluFh
jthkop4QEixr4ez8pCEBKp56i74DES0Cnh3BERRTWS/51+5gE9bSqcXPRK2nGuagNiNp3f
nb6+GH9e9UJjjtIFwLL3a6szLURp4bo=
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
[209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-326-I80m1O3YMQOkNsFovhJAQA-1; Wed, 28 May 2025 05:08:51 -0400
X-MC-Unique: I80m1O3YMQOkNsFovhJAQA-1
X-Mimecast-MFC-AGG-ID: I80m1O3YMQOkNsFovhJAQA_1748423330
Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-442cd12d151so36689185e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:08:50 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423330; x=1749028130;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=K6fOjoths9BP+7g43cHI3UErFOLHs1REkE1Ir6J/HUc=;
b=lj7oLixR+7vy/AuGwxPtlZJd0W7Rv9qa08OgXkYFTVyvh6DfzTF8rdH/czdQ3KfzSx
Tf0uUH99Dl+meltOnTQTW40ASgM47n+JAngiD08MmCe3nkn+b4FPkLQbgZrX6l6f1zR6
ogh2uFzyCgiv06Ta7Z5a/xIXHPw9SW8tXs63BZDjXsbg0+t7ty0WyGUKI+sCg9oDzYS/
0XsB3buJ7xS4EOyJKg74/kOzQ2Mx5FQi9BR1fISgGpVMq1hHnJLh8ARjV5oHjqI+lpph
5vRCSewMoT1dYtH+nAAginbFNg1DYRm6+7/XqQCwXhcgsJ6iT2urYx5x7ONjBdAuvXta
J5CA==
X-Forwarded-Encrypted: i=1; AJvYcCUSam//W/RY5mbimPtAkrS4maiGTgpRPHyyOt+OI5NGCMS6HTjrxlpz+ARtfh0RYTi8e0UEEbcFHrv6AV4=@vger.kernel.org
X-Gm-Message-State: AOJu0YyEdGGpOTxKuXTpHeXe//RU6cg1WbhBuTE8CY7nKOkbUiIVacE9
Bl2pMj6e9gdZoxGQADPkCaO6s3GEg7TSHhgM8Xnl8wMi2+r0xwu1MfQmZhRnZwHSjGq4Jl0Dnwr
OdVPa2ce9Orlb2PeDpubqG8sqTBeMFbSGEzwV087Zkhn5gTCcC3ao1p7YOYfe7RcQ1g==
X-Gm-Gg: ASbGncuBi2y/K/rbfMgw8RIxQc9yh441dfDHj8EFxs5Yr73HalkhT4mXwbavra697AL
ZULbzdZa2EDuVeVaN/nSccvsoDPUhdtfuxZmm6UKadZi6njdAT0gLuW8Ss6O/oshxQce6hxWNOw
/dIerZGEY7pAKnLwshTpDXhkvolUMUt7D7rlZR6CnFgdwnclDT3Z/KVk2VaT1oyWbNzwnjUBcbE
ZuauKxS84Auhz/jCgRjvNpQORgqB6nkZXNKpUcggLknHmpYcyU6Ur/yNfCfeZ0AbBGHiln3heL9
B1oySdvxMAyM9FZ0vJSZjde5FF28C2mKT8vMyE3YhoayIMmeZiuBNV4eWUoc
X-Received: by 2002:a05:600c:64c6:b0:43d:300f:fa1d with SMTP id 5b1f17b1804b1-44c937d125amr158521955e9.31.1748423329750;
Wed, 28 May 2025 02:08:49 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHSUDpB7MCB0r+KZHQbLDKkjrX6HPTl91hhU9m2/A027cB52iPz1nlOjL0WRytjQ2mFsWDovg==
X-Received: by 2002:a05:600c:64c6:b0:43d:300f:fa1d with SMTP id 5b1f17b1804b1-44c937d125amr158521515e9.31.1748423329064;
Wed, 28 May 2025 02:08:49 -0700 (PDT)
Received: from sgarzare-redhat (host-82-53-134-35.retail.telecomitalia.it. [82.53.134.35])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45006498c72sm14805555e9.2.2025.05.28.02.08.47
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:08:48 -0700 (PDT)
Date: Wed, 28 May 2025 11:08:37 +0200
From: Stefano Garzarella <sgarzare@xxxxxxxxxx>
To: Michal Luczaj <mhal@xxxxxxx>
Cc: virtualization@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH net-next] vsock/test: Cover more CIDs in transport_uaf
test
Message-ID: <7zqv5toj2qjucy7fvaebbpwj6pth53uunsbapwhgrhwbr5pq5t@gp7h6klhr5sj>
References: <20250523-vsock-test-inc-cov-v1-1-fa3507941bbd@xxxxxxx>
<limbmrszio42lvkmalapooflj5miedlszkmnnm4ckmy2upfghw@24vxuhgdji2z>
<1f5cc46a-de4c-4361-a706-fc7fe06a7068@xxxxxxx>
<gfmoupl72tjyymhwxcstwpgaabbfaz6f4v6vj4lwwzwssg577c@urkmgn7rapnj>
<151bf5fe-c9ca-4244-aa21-8d7b8ff2470f@xxxxxxx>
<skvayogoenhntikkdnqrkkjvqesmpnukjlil6reubrouo45sat@j7zw6lfthfrd>
<54959090-440e-49e8-80b3-8eee0ef4582c@xxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Disposition: inline
In-Reply-To: <54959090-440e-49e8-80b3-8eee0ef4582c@xxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 10:58:28AM +0200, Michal Luczaj wrote:
>On 5/27/25 10:41, Stefano Garzarella wrote:
>> On Mon, May 26, 2025 at 10:44:05PM +0200, Michal Luczaj wrote:
>>> On 5/26/25 16:39, Stefano Garzarella wrote:
>>>> On Mon, May 26, 2025 at 02:51:18PM +0200, Michal Luczaj wrote:
>>>>> On 5/26/25 10:25, Stefano Garzarella wrote:
>>>>>> On Fri, May 23, 2025 at 12:31:16AM +0200, Michal Luczaj wrote:
>>>>>>> Note that having only a virtio transport loaded (without vhost_vsock) is
>>>>>>> unsupported; test will always pass. Depending on transports available, a
>>>>>>
>>>>>> Do you think it might make sense to print a warning if we are in this
>>>>>> case, perhaps by parsing /proc/modules and looking at vsock
>>>>>> dependencies?
>>>>>
>>>>> That'd nice, but would parsing /proc/modules work if a transport is
>>>>> compiled-in (not a module)?
>>>>
>>>> Good point, I think not, maybe we can see something under /sys/module,
>>>> though, I would say let's do best effort without going crazy ;-)
>>>
>>> Grepping through /proc/kallsyms would do the trick. Is this still a sane
>>> ground?
>>
>> It also depends on a config right?
>> I see CONFIG_KALLSYMS, CONFIG_KALLSYMS_ALL, etc. but yeah, if it's
>> enabled, it should work for both modules and built-in transports.
>
>FWIW, tools/testing/selftests/net/config has CONFIG_KALLSYMS=y, which
>is enough for being able to check symbols like virtio_transport and
>vhost_transport.
Ok, I see, so let's go in that direction.
>
>Administrative query: while net-next is closed, am I supposed to mark this
>series as "RFC" and post v2 for a review as usual, or is it better to just
>hold off until net-next opens?
Whichever you prefer, if you are uncertain about the next version and
want to speed things up with a review while waiting, then go with RFC,
but if you think all comments are resolved and the next version is ready
to be merged, wait for the reopening.
Thanks for asking!
>
>>>>>>> +static void test_stream_transport_uaf_client(const struct test_opts *opts)
>>>>>>> +{
>>>>>>> + bool tested = false;
>>>>>>> + int cid;
>>>>>>> +
>>>>>>> + for (cid = VMADDR_CID_HYPERVISOR; cid <= VMADDR_CID_HOST + 1; ++cid)
>>>>>>
>>>>>>> + tested |= test_stream_transport_uaf(cid);
>>>>>>> +
>>>>>>> + if (!tested)
>>>>>>> + fprintf(stderr, "No transport tested\n");
>>>>>>> +
>>>>>>> control_writeln("DONE");
>>>>>>
>>>>>> While we're at it, I think we can remove this message, looking at
>>>>>> run_tests() in util.c, we already have a barrier.
>>>>>
>>>>> Ok, sure. Note that console output gets slightly de-synchronised: server
>>>>> will immediately print next test's prompt and wait there.
>>>>
>>>> I see, however I don't have a strong opinion, you can leave it that way
>>>> if you prefer.
>>>
>>> How about adding a sync point to run_tests()? E.g.
>>
>> Yep, why not, of course in another series :-)
>>
>> And if you like, you can remove that specific sync point in that series
>> and check also other tests, but I think we have only that one.
>
>OK, I'll leave that for later.
Yep, feel free to discard my suggestion, we can fix it later.
Thanks,
Stefano
Return-Path: <linux-kernel+bounces-665180-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 806DF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:09:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B5900188CD46
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9E79A2749F1;
Wed, 28 May 2025 09:09:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="xk2cagd3"
Received: from mail-pf1-f201.google.com (mail-pf1-f201.google.com [209.85.210.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 366A9247283
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423342; cv=none; b=YIsKE92lDZQvj/6cMer30Q3hFcJC9T2YkqDRMRapS+fmwsFq0+ZETatpwvmtkSVY3uLPyD3XvMlQA082DHsZqkD0SZ6h3zLCzCPZgZZ159l0dna1Hc7Ln9p74+/0lDtunhjLgnsGHVfm41qT53W5EvuZsgoW5hjGPQAL9y5E1m8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423342; c=relaxed/simple;
bh=eiX09S5BKqy9xMij/1u12OxiEIwlPw+RMfyIwBOrzf0=;
h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=Va6FBw0ZTNu8u0LuXIUEIbcsA+tRCN6YHjBdsCfbchIkr64k0vlBBQOdbZgt5HooYTpVR33rFyUGEW6F1h4xpTRVknFqMrybKHQYQLv4aL9n0T/z46HXFUrbpFl/ZlVGNE2LMHeFzvsov887noGuQpaSZPCU1/e0wPWlXcNQY/U=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=xk2cagd3; arc=none smtp.client-ip=209.85.210.201
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com
Received: by mail-pf1-f201.google.com with SMTP id d2e1a72fcca58-742951722b3so3603221b3a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:09:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748423340; x=1749028140; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject
:date:message-id:reply-to;
bh=T99kYukxUty4zOqJeP0a/rQaEU86hy4Z0zxbBcK8xas=;
b=xk2cagd3kgip7RKTlJdSNc07Vz4V8Sn0L+zpNt+vHkZ2MTb24dh4xK2vqjEefG/M9B
hapt3k8nBpW0IgFEP2RPcUM+GbOUHhP+3y1vD5nsytzMIpLB4AEZ3d/bl4n9TPc9jQjF
Ia4y/6J8zj+vStQP+DHQwa73P3iV1uxp7erhHNWAk6Sm48SOTUGUTsYmoKaEtXX2ow17
3GTAOTyjFECpFiLeFPEFELy39mB0O3baTk0laYUx0AkQBpdZLfQl8xoY6Ks/lVID1y5M
zlW9yMNGMThTpfOv/uvx9swGXJcOeajbETQRBy8AfrzABOM3XdTJYbqOrQpYZ/+PkRfi
7Rlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423340; x=1749028140;
h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=T99kYukxUty4zOqJeP0a/rQaEU86hy4Z0zxbBcK8xas=;
b=ispAgjquPXK9VBb+goBoXCY9fi6rgqJZPIbKRf5DoHGH9R+IXL/kZHezERDqes2Iqs
AptbAZg2GUqXc1P3tiBi0XXmXjBMvCQOiYIlHPE/x7S2iix5JmPF4RMWwtz/FF1SJxm5
GcNP5yYl8IAcGrCOnbi3Qkmip1B/WFiPHSBV0QklYC5KLqCmEq7ciSDYTxhezKFCDO2i
0zHDfefa6miFzf/IRNPz3wOuEhWu4/DG55flj/pKjCySOsjYSx48VavbYtQbbJp7x1lf
70Q2GQFUtQxiCRR5hlhGP3LD4psC/YR62Q1HNS0IBcJeKuHwx7FCS60FIwFMTd8gW2lh
5jcQ==
X-Forwarded-Encrypted: i=1; AJvYcCX/SUhtzCRsoUawCAuSYhH+yPqib+LIYE45exQa07jhdBR41hvJbULtQO4gHBn28X9c9fZRPLetS3FD22k=@vger.kernel.org
X-Gm-Message-State: AOJu0Yz7WvkM/fBPq7mXitfikZEGosg5vfJCokJIVD+6cUvYzHo4qWkE
pzA6hA1ZFD+zCKe6+C7QIBhM/2CKAXIktKq0K3IXgw5mIv0FlMwX/KPKITstTt5n/9V3ZWJ3JfI
d9r9A8RpHHSNUrs9yEQ==
X-Google-Smtp-Source: AGHT+IHwyH5Xt+WEHDetf0XcaouNA/NQCgRzuM+vQdQMig7ruB/anK0URE/icgj28urxMR2Np2YKJTxTWOxr6oo=
X-Received: from pgbdl10.prod.google.com ([2002:a05:6a02:d0a:b0:b0c:3032:f595])
(user=guanyulin job=prod-delivery.src-stubby-dispatcher) by
2002:a05:6a21:328d:b0:215:eafc:abd8 with SMTP id adf61e73a8af0-2188c24716cmr25545788637.15.1748423340399;
Wed, 28 May 2025 02:09:00 -0700 (PDT)
Date: Wed, 28 May 2025 09:04:05 +0000
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
X-Mailer: git-send-email 2.49.0.1164.gab81da1b16-goog
Message-ID: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
Subject: [PATCH v13 0/4] Support system sleep with offloaded usb transfers
From: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
To: gregkh@xxxxxxxxxxxxxxxxxxx, mathias.nyman@xxxxxxxxx, gargaditya08@xxxxxxxx,
kekrby@xxxxxxxxx, jeff.johnson@xxxxxxxxxxxxxxxx, quic_zijuhu@xxxxxxxxxxx,
andriy.shevchenko@xxxxxxxxxxxxxxx, ben@xxxxxxxxxxxxxxx, broonie@xxxxxxxxxx,
quic_wcheng@xxxxxxxxxxx, krzysztof.kozlowski@xxxxxxxxxx
Cc: linux-usb@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Guan-Yu Lin <guanyulin@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Wesley Cheng and Mathias Nyman's USB offload design enables a co-processor
to handle some USB transfers, potentially allowing the system to sleep
(suspend-to-RAM) and save power. However, Linux's System Sleep model halts
the USB host controller when the main system isn't managing any USB
transfers. To address this, the proposal modifies the system to recognize
offloaded USB transfers and manage power accordingly. This way, offloaded
USB transfers could still happen during system sleep (Suspend-to-RAM).
This involves two key steps:
1. Transfer Status Tracking: Propose offload_usage and corresponding apis
drivers could track USB transfers on the co-processor, ensuring the
system is aware of any ongoing activity.
2. Power Management Adjustment: Modifications to the USB driver stack
(xhci host controller driver, and USB device drivers) allow the system to
sleep (Suspend-to-RAM) without disrupting co-processor managed USB
transfers. This involves adding conditional checks to bypass some power
management operations in the System Sleep model.
changelog
----------
Changes in v13:
- Ensure offload_usage is modified only when the device is neither
suspended nor marked as "offload_at_suspend".
- Move lock manipulations into usb_offload_get()/usb_offload_put().
- Cosmetics changes on coding style.
Changes in v12:
- Rebase on TOT.
- Cosmetics changes on coding style.
Changes in v11:
- Use USB subsystem wrappers in usb_offload_get()/usb_offload_put().
- Refine logics and add comment in usb_suspend_both()/usb_resume_both().
Changes in v10:
- Remove unnecessary operations in dwc3 driver.
- Introduce CONFIG_USB_XHCI_SIDEBAND_SUSPEND to enable/disable offloaded
usb transfers during system Suspend-to-RAM.
- Modify the approach to detect offloaded USB transfers when the system
resumes from Suspend-to-RAM.
- Mark sideband activity when sideband interrupters are created/removed.
- Cosmetics changes on coding style.
Changes in v9:
- Remove unnecessary white space change.
Changes in v8:
- Change the runtime pm api to correct the error handling flow.
- Not flushing endpoints of actively offloaded USB devices to avoid
possible USB transfer conflicts.
Changes in v7:
- Remove counting mechanism in struct usb_hcd. The USB device's offload
status will be solely recorded in each related struct usb_device.
- Utilizes `needs_remote_wakeup` attribute in struct usb_interface to
control the suspend flow of USB interfaces and associated USB endpoints.
This addresses the need to support interrupt transfers generated by
offloaded USB devices while the system is suspended.
- Block any offload_usage change during USB device suspend period.
Changes in v6:
- Fix build errors when CONFIG_USB_XHCI_SIDEBAND is disabled.
- Explicitly specify the data structure of the drvdata refereced in
dwc3_suspend(), dwc3_resume().
- Move the initialization of counters to the patches introducing them.
Changes in v5:
- Walk through the USB children in usb_sideband_check() to determine the
sideband activity under the specific USB device.
- Replace atomic_t by refcount_t.
- Reduce logs by using dev_dbg & remove __func__.
Changes in v4:
- Isolate the feature into USB driver stack.
- Integrate with series "Introduce QC USB SND audio offloading support"
Changes in v3:
- Integrate the feature with the pm core framework.
Changes in v2:
- Cosmetics changes on coding style.
[v3] PM / core: conditionally skip system pm in device/driver model
[v2] usb: host: enable suspend-to-RAM control in userspace
[v1] [RFC] usb: host: Allow userspace to control usb suspend flows
---
Guan-Yu Lin (4):
usb: xhci-plat: separate dev_pm_ops for each pm_event
usb: add apis for offload usage tracking
xhci: sideband: add api to trace sideband usage
usb: host: enable USB offload during system sleep
drivers/usb/core/driver.c | 175 +++++++++++++++++++++++++++++-
drivers/usb/core/usb.c | 1 +
drivers/usb/host/Kconfig | 11 ++
drivers/usb/host/xhci-plat.c | 42 ++++++-
drivers/usb/host/xhci-plat.h | 1 +
drivers/usb/host/xhci-sideband.c | 38 +++++++
include/linux/usb.h | 18 +++
include/linux/usb/xhci-sideband.h | 9 ++
8 files changed, 285 insertions(+), 10 deletions(-)
--
2.49.0.1164.gab81da1b16-goog
Return-Path: <linux-kernel+bounces-665181-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E3FD241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:09:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 2FCB74A493D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 11D54274FD8;
Wed, 28 May 2025 09:09:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="na4J6OKs"
Received: from mail-pl1-f201.google.com (mail-pl1-f201.google.com [209.85.214.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D9A1427466C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423350; cv=none; b=iE25mODyAMq6il2RLdhM0bZQvkka5kBO11A0hDhQjzUPgJP7KXUc3uMjt+HMyPxeBg0MyMKnt4E2qTWEVEUrHxvWQgKY74V4gLAAXdv25wcwlTrtfO3IKKT9X8G4ZdqbyBNBPi8EDDwHiOdAEOJbggt25ooX+eNIEISBblt6zbs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423350; c=relaxed/simple;
bh=yiqxlEef6e6oha1pchQ2m2q9rAFOKYzae/zmvK1wqYI=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=SzM7r6e/HuLGDvyR5rq/+fAIrSo5KAoVuoJ+tgk42DME78md4ObtEfnPPL2NRLDD8R8MBVZw+0AvQpMR3FGfjtRmVZohvZYlDbvcF15OKI2W1okd6qLZCEoRxvPyg2pW/UdJ2uuRmUKq69O9Gzf8psFrJSyoIK2yFMLJ4d6xMB0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=na4J6OKs; arc=none smtp.client-ip=209.85.214.201
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com
Received: by mail-pl1-f201.google.com with SMTP id d9443c01a7336-2342ebb8a83so23163655ad.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:09:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748423348; x=1749028148; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=TcH4wQEDitg7iKswMVLenRvnR5FQWdp+kaJqj06aZvk=;
b=na4J6OKsqMB8oA2bft+eP55kA60mob1TU4mqPIq+qhOyLA0w/oT4Qj/l2WTqhbRNgL
Gg1lYeIIYY8SQgrUUkTi7V+HjSGtrIrrb96SIkKQjU3paf2MGeqQPNRgsEHcMDnJkzDS
USVB6G06W0adHpbY44+V4GimjwnN0z30KBjIN44gfG7DNRhafh9G1kPSXDwYHAFWYOK3
8yUmBlzVh3tmZnwhVXqsfp2ppKR0KlYMQOpY2h5Flm3cfUdT9x882IKW9oK85j/JGDyf
SlGjV0l2qUzTtj51I+ZOwwUHYTNZ4AFifskYaMp02itwL/qMNSVUKgMiSR1CwBsUEZ9n
TpEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423348; x=1749028148;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=TcH4wQEDitg7iKswMVLenRvnR5FQWdp+kaJqj06aZvk=;
b=hClfdZ/V025/09F0okYekKGCYExCK39Und3JqqWKhmL8rXNFxhNG+Vtv1+KGTJJVYl
Y+KkoeHsaCc+2NnqwwnZL+BuAeHsy0jAl3P3kRA4OJeK9b78ecOKG/bXsPDE4rw6Jczu
Tus1gb9zRveQRwk5OoTRg7zMj6oLiEDAxJNPhQwFrCQO0KrjN5FDOPHnWaPsfTmafdxz
0+lpsMm7V/EAvntoCzTabmwRu80IaFbUgoR86Uq6s/mo9mxKNWKj5owQ+43aAt3cRLYd
ypI6TtrezxXKzUD506B2RXsMdKfkSevtcSKMoZh89QgsvQNwarnBCOqdBRnpJKJPSxBE
JqoA==
X-Forwarded-Encrypted: i=1; AJvYcCV9HSsC3FXA/Oq5BrHjpUJRyWvRaLSEsXR9IOI8RziAhA44DcLgeZJhfYvBeDZwUr84gjt3p8CrU6VCqH4=@vger.kernel.org
X-Gm-Message-State: AOJu0YyzlCNmvT/da5eSfHvLaNrSHC/MzkQzKo73lahCmBqV7dFf3UBa
CvIib3BzAUaXk7jVE/hZWgBUPKQYlNbvo9A6BXDrAJh38y0DG0SsuoKSwyR3ZgNh5qqQuBvRokn
xyT+dU8aIGlAL91gZdA==
X-Google-Smtp-Source: AGHT+IH+Sq62F/bY1S8bL8pzuwSaysSESeNWCQygopA9Z8I3D+IHWKzwUJfPC9+GkMueR/1jmMaoWl6hpYoz05g=
X-Received: from pllg6.prod.google.com ([2002:a17:902:7406:b0:234:aaa9:fcd1])
(user=guanyulin job=prod-delivery.src-stubby-dispatcher) by
2002:a17:902:d490:b0:234:aa9a:9e0f with SMTP id d9443c01a7336-234aa9a9e76mr62606355ad.23.1748423348157;
Wed, 28 May 2025 02:09:08 -0700 (PDT)
Date: Wed, 28 May 2025 09:04:06 +0000
In-Reply-To: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1164.gab81da1b16-goog
Message-ID: <20250528090849.2095085-2-guanyulin@xxxxxxxxxx>
Subject: [PATCH v13 1/4] usb: xhci-plat: separate dev_pm_ops for each pm_event
From: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
To: gregkh@xxxxxxxxxxxxxxxxxxx, mathias.nyman@xxxxxxxxx, gargaditya08@xxxxxxxx,
kekrby@xxxxxxxxx, jeff.johnson@xxxxxxxxxxxxxxxx, quic_zijuhu@xxxxxxxxxxx,
andriy.shevchenko@xxxxxxxxxxxxxxx, ben@xxxxxxxxxxxxxxx, broonie@xxxxxxxxxx,
quic_wcheng@xxxxxxxxxxx, krzysztof.kozlowski@xxxxxxxxxx
Cc: linux-usb@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Guan-Yu Lin <guanyulin@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Separate dev_pm_ops for different power events such as suspend, thaw,
and hibernation. This is crucial when xhci-plat driver needs to adapt
its behavior based on different power state changes.
Signed-off-by: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
---
drivers/usb/host/xhci-plat.c | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index 6dab142e7278..9843d3ad5cf4 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -453,7 +453,7 @@ void xhci_plat_remove(struct platform_device *dev)
}
EXPORT_SYMBOL_GPL(xhci_plat_remove);
-static int xhci_plat_suspend(struct device *dev)
+static int xhci_plat_suspend_common(struct device *dev)
{
struct usb_hcd *hcd = dev_get_drvdata(dev);
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
@@ -481,6 +481,16 @@ static int xhci_plat_suspend(struct device *dev)
return 0;
}
+static int xhci_plat_suspend(struct device *dev)
+{
+ return xhci_plat_suspend_common(dev);
+}
+
+static int xhci_plat_freeze(struct device *dev)
+{
+ return xhci_plat_suspend_common(dev);
+}
+
static int xhci_plat_resume_common(struct device *dev, bool power_lost)
{
struct usb_hcd *hcd = dev_get_drvdata(dev);
@@ -528,6 +538,11 @@ static int xhci_plat_resume(struct device *dev)
return xhci_plat_resume_common(dev, false);
}
+static int xhci_plat_thaw(struct device *dev)
+{
+ return xhci_plat_resume_common(dev, false);
+}
+
static int xhci_plat_restore(struct device *dev)
{
return xhci_plat_resume_common(dev, true);
@@ -557,9 +572,9 @@ static int __maybe_unused xhci_plat_runtime_resume(struct device *dev)
const struct dev_pm_ops xhci_plat_pm_ops = {
.suspend = pm_sleep_ptr(xhci_plat_suspend),
.resume = pm_sleep_ptr(xhci_plat_resume),
- .freeze = pm_sleep_ptr(xhci_plat_suspend),
- .thaw = pm_sleep_ptr(xhci_plat_resume),
- .poweroff = pm_sleep_ptr(xhci_plat_suspend),
+ .freeze = pm_sleep_ptr(xhci_plat_freeze),
+ .thaw = pm_sleep_ptr(xhci_plat_thaw),
+ .poweroff = pm_sleep_ptr(xhci_plat_freeze),
.restore = pm_sleep_ptr(xhci_plat_restore),
SET_RUNTIME_PM_OPS(xhci_plat_runtime_suspend,
--
2.49.0.1164.gab81da1b16-goog
Return-Path: <linux-kernel+bounces-665182-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1150041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:09:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id F1D491893420
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:10:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D1988274FDF;
Wed, 28 May 2025 09:09:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="m8r1S2mw"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B039082899;
Wed, 28 May 2025 09:09:13 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423353; cv=none; b=rARDf3XNI8VizeEmfX4q5Vw9pIH8te5iIpn1mKMhzGH8x5mUI7GBsJsORdNtpOpPXOF8CjSlu5Df6pTxAd1UyvXpY9BqfhCO5buvQ3DnuU4lcmavACn1Os8zE2SnOvIYPy22/Zo4QEBdAc/WJT/aQHASA3De5BBF1I1ul/Py42c=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423353; c=relaxed/simple;
bh=jFv5cQIlrq8mQoRnawATs1ETAgrj4fY1PBOA8kx8G0o=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=FfhLLQT9BihtBpbNG/d3K8wxyezW7iLN6gWAPAkcKTviMyUjHWqlV0yc9vk4qRvEgarAOGm2b6zOv80T8OAPeyW0Iv67twQRnN9yxKWJJrjnvpVrUZhoanw3DYY+YIOAG4Aq5I0o/7KkKrY/S6wPZyPNtikwke4SA0xTuSPNIjU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=m8r1S2mw; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 78ED3C4CEEB;
Wed, 28 May 2025 09:09:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748423353;
bh=jFv5cQIlrq8mQoRnawATs1ETAgrj4fY1PBOA8kx8G0o=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=m8r1S2mwh4BizzgnesxNNREKtpE3ecaI05IGU7gv/k2HlVti8uDWlnZXelgExrjQI
Q5aNCOynA0v9xjeC1ZXIKrLOhXrqm1iDulHG33NDjK1nlnfuCGid9Fq4fLnFIRicJy
yzfdJN0gZlB793e7XNO+3STmWWg/sLyACYbYX5hB10gOqBmCVW+eUmPA/lcd6hXa3T
BZSG2D8BDVQU7u0X2g2gd+ED/ABWrXEeKpbUuaKN6A6Bfpzsnt4CmQd8/c663AEI3n
YGGMm7wkmtTF2cgUGzRK8SpHrgmZMrTNpV7v+cPKkZrACWU8cEVMNc8hhywEYsl31c
p21fvrqYNZe1A==
Message-ID: <4c93cea1-a27a-42dc-8248-06b23da3a558@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:09:08 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 6/9] arm64: dts: bst: add support for Black Sesame
Technologies C1200 CDCU1.0 board
To: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, Ge Gordon <gordon.ge@xxxxxx>
Cc: BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, soc@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250528085457.481372-1-yangzh0906@xxxxxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250528085457.481372-1-yangzh0906@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 10:54, Albert Yang wrote:
> Add device tree support for the Black Sesame Technologies (BST) C1200
> CDCU1.0 ADAS 4C2G platform. This platform is based on the BST C1200 SoC
> family.
>
> The changes include:
> - Adding a new BST device tree directory
> - Adding Makefile entries to build the BST platform device trees
> - Adding the device tree for the BST C1200 CDCU1.0 ADAS 4C2G board
>
> This board features a quad-core Cortex-A78 CPU, and various peripherals
> including UART, MMC, watchdog timer, and interrupt controller.
>
> Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
> Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/Makefile | 1 +
> arch/arm64/boot/dts/bst/Makefile | 10 ++
> .../dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts | 44 ++++++
> arch/arm64/boot/dts/bst/bstc1200.dtsi | 130 ++++++++++++++++++
> 4 files changed, 185 insertions(+)
> create mode 100644 arch/arm64/boot/dts/bst/Makefile
> create mode 100644 arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts
> create mode 100644 arch/arm64/boot/dts/bst/bstc1200.dtsi
>
> diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
> index 79b73a21ddc2..135965288100 100644
> --- a/arch/arm64/boot/dts/Makefile
> +++ b/arch/arm64/boot/dts/Makefile
> @@ -35,3 +35,4 @@ subdir-y += tesla
> subdir-y += ti
> subdir-y += toshiba
> subdir-y += xilinx
> +subdir-y += bst
Don't add to random places or at the end, but place entries in
alphabetical order.
> diff --git a/arch/arm64/boot/dts/bst/Makefile b/arch/arm64/boot/dts/bst/Makefile
> new file mode 100644
> index 000000000000..64fd43c98275
> --- /dev/null
> +++ b/arch/arm64/boot/dts/bst/Makefile
> @@ -0,0 +1,10 @@
> +ifeq ($(CONFIG_SECOND_KERNEL), )
There is no such thing.
> +
> +# Enables support for device-tree overlays
> +DTC_FLAGS := -@
> +
> +dtb-$(CONFIG_ARCH_BSTC1200) += bstc1200-cdcu1.0-adas_4c2g.dtb
> +
> +endif
> +
> +clean-files := *.dtb
Why?
> diff --git a/arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts b/arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts
> new file mode 100644
> index 000000000000..92915e7630ff
> --- /dev/null
> +++ b/arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts
> @@ -0,0 +1,44 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/dts-v1/;
> +
> +#include "bstc1200.dtsi"
> +
> +/ {
> + model = "BST C1200-96 CDCU1.0 4C2G";
> +
> + chosen {
> + bootargs = "earlycon=uart8250,mmio32,0x20008000 console=ttyS0,115200n8 rw";
Earlycon is debugging, why do you need it for general use?
console: redundant
rw: not suitable for DT
> + stdout-path = "serial0:115200n8";
> + };
> +
> + memory@8c0000000 {
> + device_type = "memory";
> + reg = <0x8 0x10000000 0x0 0x30000000
> + 0x8 0xc0000000 0x1 0x0
> + 0xc 0x0 0x0 0x40000000
> + 0x8 0x254000 0x0 0x1000
> + 0x8 0x151000 0x0 0x1000>;
Multiple entries go into multiple entries <>.
> + };
> +
> + reserved-memory {
> + #address-cells = <0x2>;
> + #size-cells = <0x2>;
> + ranges;
> +
> + mmc0_reserved: mmc0_region@5160000 {
Follow DTS coding style. Also drop redundant "region"
> + compatible = "shared-dma-pool";
> + reg = <0x0 0x5160000 0x0 0x10000>;
> + no-map;
> + };
> + };
> +};
> +
> +&uart0 {
> + status = "okay";
> +};
> +
> +&mmc0 {
> + status = "okay";
> + memory-region = <&mmc0_reserved>;
> +};
> +
> diff --git a/arch/arm64/boot/dts/bst/bstc1200.dtsi b/arch/arm64/boot/dts/bst/bstc1200.dtsi
> new file mode 100644
> index 000000000000..6ed2d8cbd720
> --- /dev/null
> +++ b/arch/arm64/boot/dts/bst/bstc1200.dtsi
> @@ -0,0 +1,130 @@
> +// SPDX-License-Identifier: GPL-2.0
> +#include <dt-bindings/interrupt-controller/arm-gic.h>
> +/ {
> + compatible = "bst,c1200";
> + #address-cells = <0x2>;
> + #size-cells = <0x2>;
These are not hex.
> +
> + cpus {
> + #address-cells = <0x1>;
> + #size-cells = <0x0>;
Same comments
> +
> + cpu@0 {
> + compatible = "arm,cortex-a78";
> + device_type = "cpu";
> + enable-method = "psci";
> + next-level-cache = <&l2_cache>;
> + reg = <0x0>;
> + freq-domain = <0x3 0x1>;
> + };
> +
> + cpu@1 {
> + compatible = "arm,cortex-a78";
> + device_type = "cpu";
> + enable-method = "psci";
> + next-level-cache = <&l2_cache>;
> + reg = <0x100>;
> + freq-domain = <0x3 0x1>;
> + };
> +
> + cpu@2 {
> + compatible = "arm,cortex-a78";
> + device_type = "cpu";
> + enable-method = "psci";
> + next-level-cache = <&l2_cache>;
> + reg = <0x200>;
> + freq-domain = <0x3 0x1>;
> + };
> +
> + cpu@3 {
> + compatible = "arm,cortex-a78";
> + device_type = "cpu";
> + enable-method = "psci";
> + next-level-cache = <&l2_cache>;
> + reg = <0x300>;
> + freq-domain = <0x3 0x1>;
> + };
> +
> + l2_cache: l2-cache-1 {
> + compatible = "cache";
> + cache-level = <2>;
> + cache-unified;
> + };
> + };
> +
> + misc_clk: misc_clk {
Follow DTS coding style. Please use name for all fixed clocks which
matches current format recommendation: 'clock-<freq>' (see also the
pattern in the binding for any other options).
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/clock/fixed-clock.yaml?h=v6.11-rc1
> + compatible = "fixed-clock";
> + #clock-cells = <0x0>;
> + clock-frequency = <0x3d0900>;
This is not a hex.
> + };
> +
> + timer {
> + compatible = "arm,armv8-timer";
> + interrupt-parent = <&gic>;
> + always-on;
> + interrupts = <GIC_PPI 0xd (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)
> + GIC_PPI 0xe (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)
> + GIC_PPI 0xb (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)
> + GIC_PPI 0xa (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
> + };
> +
> + soc: soc@0 {
> + compatible = "simple-bus";
> + #address-cells = <0x2>;
> + #size-cells = <0x2>;
> + ranges = <0x0 0x0 0x0 0x0 0xffffffff 0xffffffff>;
Follow DTS coding style
> +
> + mmc0: dwmmc0@22200000 {
It does not look like you tested the DTS against bindings. Please run
`make dtbs_check W=1` (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).
Maybe you need to update your dtschema and yamllint. Don't rely on
distro packages for dtschema and be sure you are using the latest
released dtschema.
Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
> + #address-cells = <0x2>;
> + #size-cells = <0x0>;
> + compatible = "bst,dwcmshc-sdhci";
> + reg = <0x0 0x22200000 0x0 0x1000>;
> + reg-names = "base";
Order properties according to DTS coding style.
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665183-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7C35F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:10:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id BD53F4A763C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:10:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E6D99275104;
Wed, 28 May 2025 09:09:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Kk4Xas/i"
Received: from mail-pf1-f201.google.com (mail-pf1-f201.google.com [209.85.210.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 527D92750EC
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423356; cv=none; b=LDGYvA8D4T4UM9qChhxPHURKYp20wkQNOnL9TfVqDKziLEbDVb0R1JawmZ3557YAs7E2OyLdstONe7MQmujzF6kkHFdlbKo2sOVKSLG8Ighs9V9uoEQrNGxzelgkfZyRgfD3HSz83oy942CS8d/H1kPZVWi9RusGP+qltKX8foQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423356; c=relaxed/simple;
bh=QZ8nwHA2Zs5IEnJ/86ZrMAoj82ULzOVmYhVsq8xnvV0=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=G2//FpwNKyPMlcQ47wIT0+D27M3EtWVfsQnLe8qvGCRtx/9O3CEmnsDuw/DVJkLur9H1E9LoCvYEuiiEYv7P9OUzcjo/SuQPFbwPPaKk3ChCP0dcUD8L/oeeZE/x2cKvbqro7N0NZAwa5K5RwOrktXNakaEMlFGHYnpfaQoyS64=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=Kk4Xas/i; arc=none smtp.client-ip=209.85.210.201
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com
Received: by mail-pf1-f201.google.com with SMTP id d2e1a72fcca58-7398d70abbfso6225034b3a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:09:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748423354; x=1749028154; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=7i0pI2VSaiukiHxpLuyRQrobpFu/1Ba7IiH2E3RcyA4=;
b=Kk4Xas/imN00BaTVVlwEXFyFKxqLh4SF4jrmcQSq1Onjgk1s2qSjNIWP01OSHoF1bN
fZjoyQqjN80C4MozsZG8FYdfQzSSyMto9gcKeukWUKTh15YsKAeg0lkB8flJn5kMQLyi
3nm2TqYCnXF3qRZpN7sVDemh8p+/PjDqGXehJHQjFjpXZizsSvvNQE835RrCK7l28vzM
7R9ZUvftCtNaH6Zs82jnHz3wJi+Fq3a0TFzHZ+jpv0qRXewhJ4w/7BK9Wc9dUx81G/Fi
n7XN6nZbXpyACgYZOw9mMYvHf8C+pt1OYIc5Wsjbnwi9DiAs3vh0vD7ASOZCjJ3pcByi
PK5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423354; x=1749028154;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=7i0pI2VSaiukiHxpLuyRQrobpFu/1Ba7IiH2E3RcyA4=;
b=doMPTnlV1yEx5sPDQF+YwIGpI40NNwfOHKpNwIyO1T5VRL0NznJrFIykIzmBIy5PGk
q4hHr8/o18RxyxVKlfWoPQz+vdtrjA4C5Zx39L7nHhcxABxW23BX6SqVVEA7jh82aRMW
WLb/76bAuON5M1zxSM8h7x7h45jX73bDgIS3beHBeRoxkAHAUPaD5NvfwhnHrNvqjW0e
Z4y6wooLk+tumbm/zr+QVnBV5xLJjJkPfRByUYs0EKkk3ZgL7qps7nKtbAhFl1ENUYsY
R7fiOVhaY7+H0pHWHTem7nHRpcyZ9IMq8aNGoYGtrjkVm8FyXz2Z9+gIMw1TZdcW3ytK
MDEw==
X-Forwarded-Encrypted: i=1; AJvYcCX4pUGKnYwuRl98NkHRq48VRThg9DnTwXxOQttnVKQt4s+uCt9FsiO+HbEOY3r2g5WYHBQgvP8+YZdcrEI=@vger.kernel.org
X-Gm-Message-State: AOJu0YyKcxEzLv5ft2rBrMuPsjL8TsXW6YHZAsZTk6xGbRPwPFlg5MYF
HtZQLbkLoi+IP1j33TptcyUCOikveGpeqMLvbVSJKwIEXX5ZmNXDVguN43PDtY3in9W3N4UEuee
aPUmBr8cHLmN6hO70kw==
X-Google-Smtp-Source: AGHT+IGAY35NYQRKcefBr55JNYjQ76Ji/yrxDy5NkYKXawxtZr4Wq4bM8PsSVQhHqGBP3evI8i14j8qyWM/F92s=
X-Received: from pfak3.prod.google.com ([2002:aa7:92c3:0:b0:746:270f:79c0])
(user=guanyulin job=prod-delivery.src-stubby-dispatcher) by
2002:a05:6a00:9154:b0:746:227c:a808 with SMTP id d2e1a72fcca58-746227ca91dmr11682121b3a.24.1748423353862;
Wed, 28 May 2025 02:09:13 -0700 (PDT)
Date: Wed, 28 May 2025 09:04:07 +0000
In-Reply-To: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1164.gab81da1b16-goog
Message-ID: <20250528090849.2095085-3-guanyulin@xxxxxxxxxx>
Subject: [PATCH v13 2/4] usb: add apis for offload usage tracking
From: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
To: gregkh@xxxxxxxxxxxxxxxxxxx, mathias.nyman@xxxxxxxxx, gargaditya08@xxxxxxxx,
kekrby@xxxxxxxxx, jeff.johnson@xxxxxxxxxxxxxxxx, quic_zijuhu@xxxxxxxxxxx,
andriy.shevchenko@xxxxxxxxxxxxxxx, ben@xxxxxxxxxxxxxxx, broonie@xxxxxxxxxx,
quic_wcheng@xxxxxxxxxxx, krzysztof.kozlowski@xxxxxxxxxx
Cc: linux-usb@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Guan-Yu Lin <guanyulin@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Introduce offload_usage and corresponding apis to track offload usage
on each USB device. Offload denotes that there is another co-processor
accessing the USB device via the same USB host controller. To optimize
power usage, it's essential to monitor whether the USB device is
actively used by other co-processor. This information is vital when
determining if a USB device can be safely suspended during system power
state transitions.
Signed-off-by: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
---
drivers/usb/core/driver.c | 125 ++++++++++++++++++++++++++++++++++++++
drivers/usb/core/usb.c | 1 +
drivers/usb/host/Kconfig | 11 ++++
include/linux/usb.h | 18 ++++++
4 files changed, 155 insertions(+)
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index 460d4dde5994..0690619454fe 100644
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -2036,6 +2036,131 @@ int usb_disable_usb2_hardware_lpm(struct usb_device *udev)
#endif /* CONFIG_PM */
+#if IS_ENABLED(CONFIG_USB_XHCI_SIDEBAND_SUSPEND)
+
+/**
+ * usb_offload_get - increment the offload_usage of a USB device
+ * @udev: the USB device to increment its offload_usage
+ *
+ * Incrementing the offload_usage of a usb_device indicates that offload is
+ * enabled on this usb_device; that is, another entity is actively handling USB
+ * transfers. This information allows the USB driver to adjust its power
+ * management policy based on offload activity.
+ *
+ * Return: 0 on success. A negative error code otherwise.
+ */
+int usb_offload_get(struct usb_device *udev)
+{
+ int ret;
+
+ usb_lock_device(udev);
+ if (udev->state == USB_STATE_NOTATTACHED) {
+ ret = -ENODEV;
+ goto unlock_device;
+ } else if (udev->state == USB_STATE_SUSPENDED ||
+ udev->offload_at_suspend) {
+ ret = -EBUSY;
+ goto unlock_device;
+ }
+
+ /*
+ * offload_usage could only be modified when the device is active, since
+ * it will alter the suspend flow of the device.
+ */
+ ret = usb_autoresume_device(udev);
+
+ if (ret < 0)
+ goto unlock_device;
+
+ udev->offload_usage++;
+ usb_autosuspend_device(udev);
+
+unlock_device:
+ usb_unlock_device(udev);
+
+ return ret;
+}
+EXPORT_SYMBOL_GPL(usb_offload_get);
+
+/**
+ * usb_offload_put - drop the offload_usage of a USB device
+ * @udev: the USB device to drop its offload_usage
+ *
+ * The inverse operation of usb_offload_get, which drops the offload_usage of
+ * a USB device. This information allows the USB driver to adjust its power
+ * management policy based on offload activity.
+ *
+ * Return: 0 on success. A negative error code otherwise.
+ */
+int usb_offload_put(struct usb_device *udev)
+{
+ int ret;
+
+ usb_lock_device(udev);
+ if (udev->state == USB_STATE_NOTATTACHED) {
+ ret = -ENODEV;
+ goto unlock_device;
+ } else if (udev->state == USB_STATE_SUSPENDED ||
+ udev->offload_at_suspend) {
+ ret = -EBUSY;
+ goto unlock_device;
+ }
+
+ /*
+ * offload_usage could only be modified when the device is active, since
+ * it will alter the suspend flow of the device.
+ */
+ ret = usb_autoresume_device(udev);
+
+ if (ret < 0)
+ goto unlock_device;
+
+ /* Drop the count when it wasn't 0, ignore the operation otherwise. */
+ if (udev->offload_usage)
+ udev->offload_usage--;
+ usb_autosuspend_device(udev);
+
+unlock_device:
+ usb_unlock_device(udev);
+
+ return ret;
+}
+EXPORT_SYMBOL_GPL(usb_offload_put);
+
+/**
+ * usb_offload_check - check offload activities on a USB device
+ * @udev: the USB device to check its offload activity.
+ *
+ * Check if there are any offload activity on the USB device right now. This
+ * information could be used for power management or other forms of resource
+ * management.
+ *
+ * The caller must hold @udev's device lock. In addition, the caller should
+ * ensure downstream usb devices are all either suspended or marked as
+ * "offload_at_suspend" to ensure the correctness of the return value.
+ *
+ * Returns true on any offload activity, false otherwise.
+ */
+bool usb_offload_check(struct usb_device *udev)
+{
+ struct usb_device *child;
+ bool active;
+ int port1;
+
+ usb_hub_for_each_child(udev, port1, child) {
+ usb_lock_device(child);
+ active = usb_offload_check(child);
+ usb_unlock_device(child);
+ if (active)
+ return true;
+ }
+
+ return !!udev->offload_usage;
+}
+EXPORT_SYMBOL_GPL(usb_offload_check);
+
+#endif /* IS_ENABLED(CONFIG_USB_XHCI_SIDEBAND_SUSPEND) */
+
const struct bus_type usb_bus_type = {
.name = "usb",
.match = usb_device_match,
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index 118fa4c93a79..43efd9d939c0 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -670,6 +670,7 @@ struct usb_device *usb_alloc_dev(struct usb_device *parent,
set_dev_node(&dev->dev, dev_to_node(bus->sysdev));
dev->state = USB_STATE_ATTACHED;
dev->lpm_disable_count = 1;
+ dev->offload_usage = 0;
atomic_set(&dev->urbnum, 0);
INIT_LIST_HEAD(&dev->ep0.urb_list);
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 109100cc77a3..49b9cdc11298 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -113,6 +113,17 @@ config USB_XHCI_SIDEBAND
xHCI USB endpoints directly, allowing CPU to sleep while playing
audio.
+config USB_XHCI_SIDEBAND_SUSPEND
+ bool "xHCI support for sideband during system suspend"
+ depends on USB_XHCI_SIDEBAND
+ depends on USB_XHCI_PLATFORM
+ depends on SUSPEND
+ help
+ Say 'Y' to enable the support for the xHCI sideband capability
+ after system suspended. In addition to USB_XHCI_SIDEBAND, this
+ config allows endpoints and interrupters associated with the
+ sideband function when system is suspended.
+
config USB_XHCI_TEGRA
tristate "xHCI support for NVIDIA Tegra SoCs"
depends on PHY_TEGRA_XUSB
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 1b2545b4363b..f5bca317fa4c 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -635,6 +635,8 @@ struct usb3_lpm_parameters {
* @do_remote_wakeup: remote wakeup should be enabled
* @reset_resume: needs reset instead of resume
* @port_is_suspended: the upstream port is suspended (L2 or U3)
+ * @offload_at_suspend: offload activities during suspend is enabled.
+ * @offload_usage: number of offload activities happening on this usb device.
* @slot_id: Slot ID assigned by xHCI
* @l1_params: best effor service latency for USB2 L1 LPM state, and L1 timeout.
* @u1_params: exit latencies for USB3 U1 LPM state, and hub-initiated timeout.
@@ -723,6 +725,8 @@ struct usb_device {
unsigned do_remote_wakeup:1;
unsigned reset_resume:1;
unsigned port_is_suspended:1;
+ unsigned offload_at_suspend:1;
+ int offload_usage;
enum usb_link_tunnel_mode tunnel_mode;
int slot_id;
@@ -839,6 +843,20 @@ static inline void usb_mark_last_busy(struct usb_device *udev)
{ }
#endif
+#if IS_ENABLED(CONFIG_USB_XHCI_SIDEBAND_SUSPEND)
+int usb_offload_get(struct usb_device *udev);
+int usb_offload_put(struct usb_device *udev);
+bool usb_offload_check(struct usb_device *udev);
+#else
+
+static inline int usb_offload_get(struct usb_device *udev)
+{ return 0; }
+static inline int usb_offload_put(struct usb_device *udev)
+{ return 0; }
+static inline bool usb_offload_check(struct usb_device *udev)
+{ return false; }
+#endif
+
extern int usb_disable_lpm(struct usb_device *udev);
extern void usb_enable_lpm(struct usb_device *udev);
/* Same as above, but these functions lock/unlock the bandwidth_mutex. */
--
2.49.0.1164.gab81da1b16-goog
Return-Path: <linux-kernel+bounces-665184-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 44F8641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:10:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D9AB11894FB3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:10:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0185827586B;
Wed, 28 May 2025 09:09:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="gSHp6lpT"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 41DD5275859
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423362; cv=none; b=KS/eOioDBznWG9uDwk9OkrOHJ+N/453fU+Yd6GeeLFkAUlwCTgrYDBjZ04ZBUeAHlDs82oH1s3hfc3iQARBMrRHLnI298we3c3cEqqJ5KlOnqfE8ufQxSRKZIsFAbN1unlJtW8WMYSY5WClHrZETCAOnsnFVmGmlNIg18qg4DNk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423362; c=relaxed/simple;
bh=sg20bLNUz/QFXRFaU70PwpcwAVbsKDYF5KqdTjgKZjs=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=MCJ7bQcSuIeeWbKuIsiysc21Gg2ZzKsIIQFWhLG77mYUWYENH+o2fcT19TFtTqun8Q/y90uxWG69MfbxgK/FztSCQzxELI/0fbmiQzxM0fflzZB06uODiR96tSuZfUj+vBu40puCQYOk3e+VJ9lk233Q2j0wMKeUSyd+xWsoYyY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=gSHp6lpT; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748423358;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=mEQXyKOYvt2g5cMesLCcww4mgZn3lojWLzf+f6VokPI=;
b=gSHp6lpT98fEduvUb72p+GDhaDJIbI4UKoOhE4+bJNRgXQYE7GiZNIq41EFB3nFso9+KXV
XjzRG0vUnJjXL5Ik3vi3XA6CqI96MMDdDWhTChjEqTxZL8BISCb6T4lxR7DFqlhvyWrLBM
B+7qnyTRZwuvlzkWapJ8XXAChCdHVs0=
Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com
[209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-57-_QdmW70PPAS7Ovrufazw5A-1; Wed, 28 May 2025 05:09:15 -0400
X-MC-Unique: _QdmW70PPAS7Ovrufazw5A-1
X-Mimecast-MFC-AGG-ID: _QdmW70PPAS7Ovrufazw5A_1748423355
Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a371fb826cso1866047f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:09:15 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423355; x=1749028155;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:from:references:cc:to:subject:user-agent
:mime-version:date:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=mEQXyKOYvt2g5cMesLCcww4mgZn3lojWLzf+f6VokPI=;
b=WBCyYiCNyiOdkd82rs/ZGyKHXGY0eHM9pOx4+qviAFxfgQO899xcCqA4auyawlUGIN
hURV3g5dVtZvIn+PjYTVcCnA1aiYO0WgvPrROtjWLY1C/9x6whsA3/c9y2mB+MTlsGUS
cB2VqumuLqKXUs7FX70fkEr7CEWdrukVbZ6w3SJiO0IsSufSYtsKq+sAIoFP/WqvUOMs
RWQmL15FynXwwW8utm3lM5XRCnpW2l4nANZ60X9ziKaw95CQk5s0htaeZoGswK3C9VAy
2VjGUaoNkyYIs5t5Hu50ktZYqVei2GTrDr7+2YNVomlocI65kPAXj1fSnZoIOfqCxMgQ
SRfA==
X-Gm-Message-State: AOJu0Yxc79E02e9PoUyQLY+gMEA0BmWVGTpVeXJ5S2T/Y//Zv/DP8doV
Ac06Jb0cncYvVv2oHtZha62jXZqtzdKspg6SQrF9PPlR9p5G8fpKXzK7yf3r4rkKUW+idc6iFMk
KHUtaOT+uSQa0pQlh1GUe448K3GRlTnLXaIJ1sDO1iNLXa8omPePoxq+98DGviVjI/A==
X-Gm-Gg: ASbGncsezQUpUcl+6sb9ylSZJm+tvvqIZojRoJX1FRxsHPcefB2kZGvgi5mGqbOKpIq
gpcSPYB82NNC5raMY129BNfGuM7kMQk6SUDt9GUrwFpu6MjKztvK4/lS4jVtcxfJ5t4Sq6EAumQ
dj+EDuqp4HWKegfyg+7QRSN3tan2Sp33BeN+SSxoxSXm27WVASYb/TUts1nlc+46jwDO8to0rMU
GXB2/x0Id3LwLFFg3WJFPTA9uLKy64lqRovRrIpTvCzHcfAyiPbp+ngBfnTEPtSCfRdXwI6EoRW
bKTjYDs1asnV9C6y+jXRsBT1flQ45VmoNYAW7m29YuedJtui6XdyaBKxWmrSKZtGCAjq41APyHY
uLFF/K2NjzuyxW1+kl4ZpCjdohpQjxoQB0X2eYzs=
X-Received: by 2002:a05:6000:400f:b0:3a4:e284:1b87 with SMTP id ffacd0b85a97d-3a4e2841ccbmr3513197f8f.18.1748423354716;
Wed, 28 May 2025 02:09:14 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFkD2EIBglWCSiZn4xndJdgWSSjQNyuOFqWDMsi9lfpRG+9nxrnmD06llkP4qkcMkc2YAd7eQ==
X-Received: by 2002:a05:6000:400f:b0:3a4:e284:1b87 with SMTP id ffacd0b85a97d-3a4e2841ccbmr3513164f8f.18.1748423354262;
Wed, 28 May 2025 02:09:14 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36? (p200300d82f30ec008f7e58a4ebf06a36.dip0.t-ipconnect.de. [2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eac6e5aasm928610f8f.13.2025.05.28.02.09.12
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:09:13 -0700 (PDT)
Message-ID: <ce048e11-f79d-44a6-bacc-46e1ebc34b24@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:09:12 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/2] x86, mm: minor tlb_flush tracepoint adjustments
To: Tal Zussman <tz2294@xxxxxxxxxxxx>, Steven Rostedt <rostedt@xxxxxxxxxxx>,
Masami Hiramatsu <mhiramat@xxxxxxxxxx>,
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Rik van Riel <riel@xxxxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>, Vlastimil Babka
<vbabka@xxxxxxx>, Mike Rapoport <rppt@xxxxxxxxxx>,
Suren Baghdasaryan <surenb@xxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>,
x86@xxxxxxxxxx, Will Deacon <will@xxxxxxxxxx>,
"Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxx>, Nick Piggin
<npiggin@xxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-trace-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx
References: <20250528-tlb-trace-fix-v1-0-2e94c58f450d@xxxxxxxxxxxx>
From: David Hildenbrand <david@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <20250528-tlb-trace-fix-v1-0-2e94c58f450d@xxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28.05.25 07:35, Tal Zussman wrote:
> One minor fix and one minor cleanup related to the tlb_flush tracepoint.
>
> As an aside, include/trace/events/tlb.h isn't covered by MAINTAINERS,
> along with other mm related files under include/trace/events/. Flagging
> this since I see there's a recent effort to overhaul the mm MAINTAINERS
> entries.
Thanks for pointing that out.
It should likely go under "MMU GATHER AND TLB INVALIDATION"
diff --git a/MAINTAINERS b/MAINTAINERS
index 0ecc6063b2b5e..0e88ea5de5b73 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16509,6 +16509,7 @@ L: linux-mm@xxxxxxxxx
S: Maintained
F: arch/*/include/asm/tlb.h
F: include/asm-generic/tlb.h
+F: include/trace/events/tlb.h
F: mm/mmu_gather.c
MN88472 MEDIA DRIVER
--
Cheers,
David / dhildenb
Return-Path: <linux-kernel+bounces-665185-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BEE2841E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:10:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id CB7043AADD2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:10:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 83068275875;
Wed, 28 May 2025 09:09:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="IoV0hxOj"
Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58E9327585D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.202
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423362; cv=none; b=XMxHs3ndE6XPnGUJPf63QCU3h8hKB0wF5vA/R26ALtUD4LSp5yDtctNUlMJkbuWj9Pc39ciMPsIk9QAAsuY2dpa/G2yC+Luw+yZnjHJRE/EYRocVW/WShTZX2I/MmdpMeefodDdH0zbolv0NnlzRPXTpJa+nuqfkP7YopUVEFaY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423362; c=relaxed/simple;
bh=hrgpN3OwJeQNAYG/6uuNH84rejxPQEHYyomN3p5Ed0o=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=jC7ZLJ5W/hu/FJpXEU8lAEMys8Uoar2Fs9JF06x60rM83e2nYUgrJ/6zFNN2by7ej+NhB/SAGwyKXofszL5MVrgGGj/bcsFVK2aZPn+HzR/9BH3+nFulUZ3xH7JYs4OK1mbRBj4YfAMvoqWnJSvfQrfa5j3M/qE3D1QiYkswys0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=IoV0hxOj; arc=none smtp.client-ip=209.85.210.202
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com
Received: by mail-pf1-f202.google.com with SMTP id d2e1a72fcca58-7370e73f690so5186461b3a.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:09:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748423359; x=1749028159; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=dsGGKROW/GfgKslG2eM9ME7ceuz0kmeKtOiEDD5cNB4=;
b=IoV0hxOj0EfCBRp+I5YysGUdLXakuPeysacfEsj9yErV+8mUd3N6EOQMLppzaThAAL
2zs2FqlYx8dmFLUnxDx+XxsrpwZPbBfS0nsgDKFmRh57ayuz7Y3pY9/PNlUO0bwADMPt
VYA/x+U1uLAasXHpbR3qnrXlOlLpf7ZSUmViLFTmY8Jnj65OII5uidGrw4oWgJfL+3uM
UvaoxHzmHMg3SsxQJReSA7oFlz9Cej1Nm1hIgA0gpZQsqlyH1EQ11F9acSi8YKlrJ1Ce
WQG6KHV2H87EjnuAwO8xjLuFtcWx2Y+kT0qAZ6SSBS2oJu5aHD55zqh2/pWz6ESymANr
THYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423359; x=1749028159;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=dsGGKROW/GfgKslG2eM9ME7ceuz0kmeKtOiEDD5cNB4=;
b=ptbYRQM/jpX4nfO2O1JhV7Z1cvWe6n8Bb8Bmj8kwJli0QfszVC5vvmOcNaQaVThwBA
77qJybWIrnyyxh+PU+tJCIwSwQqg8bAbf7S0v3GlPrKn7irH0oIk8qQwSdbPqmeAW1CH
/QP1xdReyNFChxBJCBUlE6lPX0/ub17BnJ0Qs7Xnyx2z1gULhhpv+lhrw505J3iqrjkf
q/pHs8skN41j9MdVHz+ctKl/AAxsW1NQpLkqVYdbU7A0MJVh4obsKewm/2j+/SPzYJaa
IQ8xvUzvgLzoyTSYHqGO1Bzn8QpQg66PxdhMqwYb1qmLdjt0+8z/0fTgJR2H2XNGQL1F
nKrA==
X-Forwarded-Encrypted: i=1; AJvYcCXhY0AIjc6SdlQVHLdFhaPCkmTMD1lWEqzN9xQOmiyyZngeVNYQWzm/wKZmI4FTR3TspxqPt6DR0pFUQkc=@vger.kernel.org
X-Gm-Message-State: AOJu0Yz6GylprkuL0HZAUpxBur/Jt9MzE10YUZts1I6g2MohmT0Gx04l
v8cMZu2c7zy7uYyzsBBFC+0Y+ZYrzoH8JoozLAoan8KUmQC/LKc2gEyCH3K8KHRWx10e4a0HHI2
D8Lf/QyzFrZcAsgR2kw==
X-Google-Smtp-Source: AGHT+IH0sOshcv2Eg/mtamrUvZLDqjNwkwxbBChcNpFlLYKw4WlgSYYlucjEvYWbAKYNpPLOtqR7MqHtvhlo92Y=
X-Received: from pgfe7.prod.google.com ([2002:a63:aa07:0:b0:b2c:3c0e:f01c])
(user=guanyulin job=prod-delivery.src-stubby-dispatcher) by
2002:a05:6a21:b85:b0:1f5:70d8:6a98 with SMTP id adf61e73a8af0-2188bf2ac76mr26106597637.0.1748423359626;
Wed, 28 May 2025 02:09:19 -0700 (PDT)
Date: Wed, 28 May 2025 09:04:08 +0000
In-Reply-To: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1164.gab81da1b16-goog
Message-ID: <20250528090849.2095085-4-guanyulin@xxxxxxxxxx>
Subject: [PATCH v13 3/4] xhci: sideband: add api to trace sideband usage
From: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
To: gregkh@xxxxxxxxxxxxxxxxxxx, mathias.nyman@xxxxxxxxx, gargaditya08@xxxxxxxx,
kekrby@xxxxxxxxx, jeff.johnson@xxxxxxxxxxxxxxxx, quic_zijuhu@xxxxxxxxxxx,
andriy.shevchenko@xxxxxxxxxxxxxxx, ben@xxxxxxxxxxxxxxx, broonie@xxxxxxxxxx,
quic_wcheng@xxxxxxxxxxx, krzysztof.kozlowski@xxxxxxxxxx
Cc: linux-usb@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Guan-Yu Lin <guanyulin@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The existing sideband driver only registers sidebands without tracking
their active usage. To address this, sideband will now record its active
usage when it creates/removes interrupters. In addition, a new api is
introduced to provide a means for other dirvers to fetch sideband
activity information on a USB host controller.
Signed-off-by: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
---
drivers/usb/host/xhci-sideband.c | 38 +++++++++++++++++++++++++++++++
include/linux/usb/xhci-sideband.h | 9 ++++++++
2 files changed, 47 insertions(+)
diff --git a/drivers/usb/host/xhci-sideband.c b/drivers/usb/host/xhci-sideband.c
index d49f9886dd84..15d72c23c0e0 100644
--- a/drivers/usb/host/xhci-sideband.c
+++ b/drivers/usb/host/xhci-sideband.c
@@ -266,6 +266,33 @@ xhci_sideband_get_event_buffer(struct xhci_sideband *sb)
}
EXPORT_SYMBOL_GPL(xhci_sideband_get_event_buffer);
+#if IS_ENABLED(CONFIG_USB_XHCI_SIDEBAND_SUSPEND)
+/**
+ * xhci_sideband_check - check the existence of active sidebands
+ * @hcd: the host controller driver associated with the target host controller
+ *
+ * Allow other drivers, such as usb controller driver, to check if there are
+ * any sideband activity on the host controller. This information could be used
+ * for power management or other forms of resource management. The caller should
+ * ensure downstream usb devices are all either suspended or marked as
+ * "offload_at_suspend" to ensure the correctness of the return value.
+ *
+ * Returns true on any active sideband existence, false otherwise.
+ */
+bool xhci_sideband_check(struct usb_hcd *hcd)
+{
+ struct usb_device *udev = hcd->self.root_hub;
+ bool active;
+
+ usb_lock_device(udev);
+ active = usb_offload_check(udev);
+ usb_unlock_device(udev);
+
+ return active;
+}
+EXPORT_SYMBOL_GPL(xhci_sideband_check);
+#endif /* IS_ENABLED(CONFIG_USB_XHCI_SIDEBAND_SUSPEND) */
+
/**
* xhci_sideband_create_interrupter - creates a new interrupter for this sideband
* @sb: sideband instance for this usb device
@@ -286,6 +313,7 @@ xhci_sideband_create_interrupter(struct xhci_sideband *sb, int num_seg,
bool ip_autoclear, u32 imod_interval, int intr_num)
{
int ret = 0;
+ struct usb_device *udev;
if (!sb || !sb->xhci)
return -ENODEV;
@@ -304,6 +332,9 @@ xhci_sideband_create_interrupter(struct xhci_sideband *sb, int num_seg,
goto out;
}
+ udev = sb->vdev->udev;
+ ret = usb_offload_get(udev);
+
sb->ir->ip_autoclear = ip_autoclear;
out:
@@ -323,6 +354,8 @@ EXPORT_SYMBOL_GPL(xhci_sideband_create_interrupter);
void
xhci_sideband_remove_interrupter(struct xhci_sideband *sb)
{
+ struct usb_device *udev;
+
if (!sb || !sb->ir)
return;
@@ -330,6 +363,11 @@ xhci_sideband_remove_interrupter(struct xhci_sideband *sb)
xhci_remove_secondary_interrupter(xhci_to_hcd(sb->xhci), sb->ir);
sb->ir = NULL;
+ udev = sb->vdev->udev;
+
+ if (udev->state != USB_STATE_NOTATTACHED)
+ usb_offload_put(udev);
+
mutex_unlock(&sb->mutex);
}
EXPORT_SYMBOL_GPL(xhci_sideband_remove_interrupter);
diff --git a/include/linux/usb/xhci-sideband.h b/include/linux/usb/xhci-sideband.h
index 45288c392f6e..5174cc5afc98 100644
--- a/include/linux/usb/xhci-sideband.h
+++ b/include/linux/usb/xhci-sideband.h
@@ -11,6 +11,7 @@
#include <linux/scatterlist.h>
#include <linux/usb.h>
+#include <linux/usb/hcd.h>
#define EP_CTX_PER_DEV 31 /* FIXME defined twice, from xhci.h */
@@ -83,6 +84,14 @@ xhci_sideband_get_endpoint_buffer(struct xhci_sideband *sb,
struct usb_host_endpoint *host_ep);
struct sg_table *
xhci_sideband_get_event_buffer(struct xhci_sideband *sb);
+
+#if IS_ENABLED(CONFIG_USB_XHCI_SIDEBAND_SUSPEND)
+bool xhci_sideband_check(struct usb_hcd *hcd);
+#else
+static inline bool xhci_sideband_check(struct usb_hcd *hcd)
+{ return false; }
+#endif /* IS_ENABLED(CONFIG_USB_XHCI_SIDEBAND_SUSPEND) */
+
int
xhci_sideband_create_interrupter(struct xhci_sideband *sb, int num_seg,
bool ip_autoclear, u32 imod_interval, int intr_num);
--
2.49.0.1164.gab81da1b16-goog
Return-Path: <linux-kernel+bounces-665186-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1A1CB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:10:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5BBB83ABFC1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:10:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B69C327700C;
Wed, 28 May 2025 09:09:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="hMet6rKD"
Received: from mail-pf1-f201.google.com (mail-pf1-f201.google.com [209.85.210.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3CD7E7F7FC
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423368; cv=none; b=levRGFq7Eb0tHa99rqriKDVSqWKsCjKzLuwB9ubSZJ97AUJnQ3kKcqBXpjUJDSAgfJlHpeDONcFmfbZFOa/RHhrvZwQuOQ0cB52x9te3Kg9I/Nhsa5OC165+hzlbq7o40ltmh0IHyo8/kUi2wwLCaKklCr6LMbefPeSXXTQ5XOU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423368; c=relaxed/simple;
bh=jrMgYnui/1hVK+NOX5Q9Qlx3CZm/zQKpCUr+Qb1NX1U=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=sa8cMy8xxmF5mLxJ6WCwge27t+0y7bESzVPf6apId0901BmennEy4+wdnaOMsKaIGUbl6fOVrXxr4zENZtJfUqyxyi81RZUrZ0LIvTBn2u2HFfyinXsZEB42/N0HAxUplMcgjuO4kEGYH+7DzcUyeraeyVsHvploekN7k8x+IOA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=hMet6rKD; arc=none smtp.client-ip=209.85.210.201
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--guanyulin.bounces.google.com
Received: by mail-pf1-f201.google.com with SMTP id d2e1a72fcca58-7394772635dso3029731b3a.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:09:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748423367; x=1749028167; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=/SiziDgdhNeZTL9A0KOfLtmGGL2LYblCSJ9A9F+7hHo=;
b=hMet6rKDQp02StRyefZt204NNzuJTySC0kS+4gDTz/L3Fkpaid8lPtnm8pwoyaRSGH
mXRn4lMGICDH9JtcgtuEjDSTHkW7Omp6raXGERATKLqmP4avsGVoHBWOavsArPOZAzDN
piRUT/p5HZVEZN4UO0lPFQ8tGd3iejSTK2GANayC0jaamFWuurwUFec/GhJRrhB8aOkH
3OAQ++irqNkV3ahEi5ATo7OgxbC55iZ6BDhfhqsRtguASu0JA2/rpjKgtvF3aJEVJ/GA
pVDRTbiEfdhnCrlPtOf7FSYX3h17+sOv/JsjJhcyvEq9fOOCeHzTvA/Sb5Ux8DInpXKg
/LyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423367; x=1749028167;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=/SiziDgdhNeZTL9A0KOfLtmGGL2LYblCSJ9A9F+7hHo=;
b=dumrXBxcQuDVrn/8m1+w83H+538kIt/zTEU7jKUWqJx6n/XJ2SYffAQ2d26JRp6JGs
fgFtZuMkg0ZurbogZcvOCgf9dzClFKbGcbimfTahWTKoSrh4KvMAgTyY8JMpZ5YeWQ8V
fCCzFApnrFjCQWgv4Wr69RqwpCuG9F+Jprs3j/rywuofTYFe4QVuh+nRBE9V4oegwKxI
KIHEFMayIPE3+PVfJoUSfXVMWriJWFEGmu5exquQxck8MLvA7hoISd6JxQaNSSjzjwl/
9s6lvy9LV26jUaRQpwc6RF3gDJBtLS/5HxXZVo4ixD1jSIBlism5f9NzKVgG7kTRtZom
X8pg==
X-Forwarded-Encrypted: i=1; AJvYcCWLtU92zuh2FPgzH9rXAzp8cDTLFot8HB00PYQV0ZF0chDAx1S/gAKDUd2fnvgHu/lT2xUesR90Zv7AHPA=@vger.kernel.org
X-Gm-Message-State: AOJu0Yx/4/cQJnOxGEwo0MF1keoCwidDRvO+OFhLwsIQFxYDr8ua8ETO
+Ajrye2XZqFijQqyC7lgYyBXhgegzhPxZ6iiWe2J2vdUs2fSILi3rVR6ZylZDjD5YIeO2UB3435
H3JYPctiLjJSoxhZQIA==
X-Google-Smtp-Source: AGHT+IGvGoiywFWqdw4XJjxAetPAW/GhM6SbBtnJ9W3r2UvhsnuVYFnszlWmq+mdtc9aesIlyy/EHaQ3B5KWm8Q=
X-Received: from pgbdl13.prod.google.com ([2002:a05:6a02:d0d:b0:b2c:45e5:996d])
(user=guanyulin job=prod-delivery.src-stubby-dispatcher) by
2002:a05:6a21:b85:b0:216:1c88:df46 with SMTP id adf61e73a8af0-2188bf2c994mr25447975637.0.1748423366730;
Wed, 28 May 2025 02:09:26 -0700 (PDT)
Date: Wed, 28 May 2025 09:04:09 +0000
In-Reply-To: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
X-Mailer: git-send-email 2.49.0.1164.gab81da1b16-goog
Message-ID: <20250528090849.2095085-5-guanyulin@xxxxxxxxxx>
Subject: [PATCH v13 4/4] usb: host: enable USB offload during system sleep
From: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
To: gregkh@xxxxxxxxxxxxxxxxxxx, mathias.nyman@xxxxxxxxx, gargaditya08@xxxxxxxx,
kekrby@xxxxxxxxx, jeff.johnson@xxxxxxxxxxxxxxxx, quic_zijuhu@xxxxxxxxxxx,
andriy.shevchenko@xxxxxxxxxxxxxxx, ben@xxxxxxxxxxxxxxx, broonie@xxxxxxxxxx,
quic_wcheng@xxxxxxxxxxx, krzysztof.kozlowski@xxxxxxxxxx
Cc: linux-usb@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Guan-Yu Lin <guanyulin@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Sharing a USB controller with another entity via xhci-sideband driver
creates power management complexities. To prevent the USB controller
from being inadvertently deactivated while in use by the other entity, a
usage-count based mechanism is implemented. This allows the system to
manage power effectively, ensuring the controller remains available
whenever needed.
In order to maintain full functionality of an offloaded USB devices,
several changes are made within the suspend flow of such devices:
- skip usb_suspend_device() so that the port/hub are still active for
USB transfers via offloaded path.
- not suspending the endpoints which are used by USB interfaces marked
with needs_remote_wakeup. Namely, skip usb_suspend_interface() and
usb_hcd_flush_endpoint() on associated USB interfaces. This reserves a
pending interrupt urb during system suspend for handling the interrupt
transfer, which is necessary since remote wakeup doesn't apply in the
offloaded USB devices when controller is still active.
- not flushing the endpoints of actively offloaded USB devices. Given
that the USB devices is used by another entity, unilaterally flush the
endpoint might lead to unexpected behavior on another entity.
- not suspending the xhci controller. This is done by skipping the
suspend/resume callbacks in the xhci platform driver.
Signed-off-by: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
---
drivers/usb/core/driver.c | 50 +++++++++++++++++++++++++++++++-----
drivers/usb/host/xhci-plat.c | 19 ++++++++++++++
drivers/usb/host/xhci-plat.h | 1 +
3 files changed, 64 insertions(+), 6 deletions(-)
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index 0690619454fe..9670c10f4ade 100644
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -1420,11 +1420,28 @@ static int usb_suspend_both(struct usb_device *udev, pm_message_t msg)
udev->state == USB_STATE_SUSPENDED)
goto done;
+ if (msg.event == PM_EVENT_SUSPEND && usb_offload_check(udev)) {
+ dev_dbg(&udev->dev, "device offloaded, skip suspend.\n");
+ udev->offload_at_suspend = 1;
+ }
+
/* Suspend all the interfaces and then udev itself */
if (udev->actconfig) {
n = udev->actconfig->desc.bNumInterfaces;
for (i = n - 1; i >= 0; --i) {
intf = udev->actconfig->interface[i];
+ /*
+ * Don't suspend interfaces with remote wakeup while
+ * the controller is active. This preserves pending
+ * interrupt urbs, allowing interrupt events to be
+ * handled during system suspend.
+ */
+ if (udev->offload_at_suspend &&
+ intf->needs_remote_wakeup) {
+ dev_dbg(&intf->dev,
+ "device offloaded, skip suspend.\n");
+ continue;
+ }
status = usb_suspend_interface(udev, intf, msg);
/* Ignore errors during system sleep transitions */
@@ -1435,7 +1452,8 @@ static int usb_suspend_both(struct usb_device *udev, pm_message_t msg)
}
}
if (status == 0) {
- status = usb_suspend_device(udev, msg);
+ if (!udev->offload_at_suspend)
+ status = usb_suspend_device(udev, msg);
/*
* Ignore errors from non-root-hub devices during
@@ -1480,9 +1498,11 @@ static int usb_suspend_both(struct usb_device *udev, pm_message_t msg)
*/
} else {
udev->can_submit = 0;
- for (i = 0; i < 16; ++i) {
- usb_hcd_flush_endpoint(udev, udev->ep_out[i]);
- usb_hcd_flush_endpoint(udev, udev->ep_in[i]);
+ if (!udev->offload_at_suspend) {
+ for (i = 0; i < 16; ++i) {
+ usb_hcd_flush_endpoint(udev, udev->ep_out[i]);
+ usb_hcd_flush_endpoint(udev, udev->ep_in[i]);
+ }
}
}
@@ -1524,17 +1544,35 @@ static int usb_resume_both(struct usb_device *udev, pm_message_t msg)
udev->can_submit = 1;
/* Resume the device */
- if (udev->state == USB_STATE_SUSPENDED || udev->reset_resume)
- status = usb_resume_device(udev, msg);
+ if (udev->state == USB_STATE_SUSPENDED || udev->reset_resume) {
+ if (!udev->offload_at_suspend)
+ status = usb_resume_device(udev, msg);
+ else
+ dev_dbg(&udev->dev,
+ "device offloaded, skip resume.\n");
+ }
/* Resume the interfaces */
if (status == 0 && udev->actconfig) {
for (i = 0; i < udev->actconfig->desc.bNumInterfaces; i++) {
intf = udev->actconfig->interface[i];
+ /*
+ * Interfaces with remote wakeup aren't suspended
+ * while the controller is active. This preserves
+ * pending interrupt urbs, allowing interrupt events
+ * to be handled during system suspend.
+ */
+ if (udev->offload_at_suspend &&
+ intf->needs_remote_wakeup) {
+ dev_dbg(&intf->dev,
+ "device offloaded, skip resume.\n");
+ continue;
+ }
usb_resume_interface(udev, intf, msg,
udev->reset_resume);
}
}
+ udev->offload_at_suspend = 0;
usb_mark_last_busy(udev);
done:
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index 9843d3ad5cf4..598f1b974347 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -20,6 +20,7 @@
#include <linux/acpi.h>
#include <linux/usb/of.h>
#include <linux/reset.h>
+#include <linux/usb/xhci-sideband.h>
#include "xhci.h"
#include "xhci-plat.h"
@@ -483,6 +484,15 @@ static int xhci_plat_suspend_common(struct device *dev)
static int xhci_plat_suspend(struct device *dev)
{
+ struct usb_hcd *hcd = dev_get_drvdata(dev);
+ struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd);
+
+ if (xhci_sideband_check(hcd)) {
+ priv->sideband_at_suspend = 1;
+ dev_dbg(dev, "sideband instance active, skip suspend.\n");
+ return 0;
+ }
+
return xhci_plat_suspend_common(dev);
}
@@ -535,6 +545,15 @@ static int xhci_plat_resume_common(struct device *dev, bool power_lost)
static int xhci_plat_resume(struct device *dev)
{
+ struct usb_hcd *hcd = dev_get_drvdata(dev);
+ struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd);
+
+ if (priv->sideband_at_suspend) {
+ priv->sideband_at_suspend = 0;
+ dev_dbg(dev, "sideband instance active, skip resume.\n");
+ return 0;
+ }
+
return xhci_plat_resume_common(dev, false);
}
diff --git a/drivers/usb/host/xhci-plat.h b/drivers/usb/host/xhci-plat.h
index fe4f95e690fa..2b32a93d2b76 100644
--- a/drivers/usb/host/xhci-plat.h
+++ b/drivers/usb/host/xhci-plat.h
@@ -16,6 +16,7 @@ struct xhci_plat_priv {
const char *firmware_name;
unsigned long long quirks;
bool power_lost;
+ unsigned sideband_at_suspend:1;
void (*plat_start)(struct usb_hcd *);
int (*init_quirk)(struct usb_hcd *);
int (*suspend_quirk)(struct usb_hcd *);
--
2.49.0.1164.gab81da1b16-goog
Return-Path: <linux-kernel+bounces-665187-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0BB4B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:11:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 2C55318982B9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:11:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1B76B2749F6;
Wed, 28 May 2025 09:09:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="bHyEwZ6X"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1B260247283
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:09:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423379; cv=none; b=RmNxEVLLB1aNhhGI5pn+9UswVeH6KVgAsq5/iH+L5T9Klo3Q2IbVaK46RFyKWbuBQXYY9TWSHXnrbBd6ZD0/rB9YE2osRZ/xDqMR7/VJ/mSO9xUXKPRJf982B7ocYQ239L3OIUBBGrRD7Ybb95z+Svhi4MUMYaUPUUXBKL3I7t8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423379; c=relaxed/simple;
bh=eaZNI22j514NOTuL5YNsiQQHcPGm+KwlO2UZuSEedCE=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=ZLn7PkhmJ/on5vOh2PhZil6CKbgp7v8LSmUR7R4adxzXbFwV0IB+gJL5ghdM1RIsc0ZKI2UyYUKq78qAxCrjNiAjwYakJ39PTURBAZ/t/r64isvmBvOW9hZaWnII85mursvjbjlktaKl2JIRqJRHNnzzPowpAKHHhvEBzKoVPPE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=bHyEwZ6X; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748423377;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=3O3V+YBB8M7I1+j2oOnnuqTbUPyASRos/wIVAbMl2TY=;
b=bHyEwZ6Xwsv1hf6l63RY09DyOrpExnaNKSucF+znlO7WKlN1ICcOQpQvzeKhDIYnIJhxEe
fxkoNbGX7bVdYKCCdjSYImosErkXrj3cyyLHmbZem4bx0h5oatKlQTtZP82qCMFgqMJtcq
qEk7fZKGTsqesIKMHTCe3NNoLyb6vQs=
Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com
[209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-627-cXxSPZfMPwKWcXB7ps5bLg-1; Wed, 28 May 2025 05:09:35 -0400
X-MC-Unique: cXxSPZfMPwKWcXB7ps5bLg-1
X-Mimecast-MFC-AGG-ID: cXxSPZfMPwKWcXB7ps5bLg_1748423374
Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a3696a0d3aso1905763f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:09:35 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423374; x=1749028174;
h=content-transfer-encoding:in-reply-to:content-language:from
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=3O3V+YBB8M7I1+j2oOnnuqTbUPyASRos/wIVAbMl2TY=;
b=pQpnKe00gJpIfESPx0EuBCAhDC3xnq6zij4fdTm2grxw36bOxj5sbFtsPWqdWrAURy
uSsOlYabx1J9XE6Y/w0nH4AJ+L9+Gx6tjeT/5ZAzAI3bM3iXGabk01L3xmnhCSFjHg27
OGa2+pafYcTWxduAgT+T+pCy7WIxAFkS6R1Nk1pozFSr+1+FeV5rAmiU9rBL5WzeHavg
31RKh2tWrzZxNbydpWfN10UqfDb7+SNiCiarh/ogJMwKEGWixHLHeD2UhapgsCExt3TT
dfc/hldfFizItFcvEqO04gEHP8HB9ByqR2Sb5Jho1YprEfqf1Q8Et/ze4FvQ7B1SJ8Cv
Zlpg==
X-Forwarded-Encrypted: i=1; AJvYcCWPjoGvkWofrShwImLevFPEO5BxU4BUAdcOWHAT50Aeg3JaiyM6QAm7M8+vDRe77Rq5sy5xRrAj9GAa95A=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw28THKeMbFj/DpyvEPbcKZyb8IIfcmVJ3z7YdonBdJgszNv3d/
Fc36KMs1XxJkYS3eDg6+xywqWeNUL1frhJ0RLAJI8IjVXde5bwJlQzlt2W/l95B+dg7gZxVEYrG
DiJpqab9Dnu2bpK85SXy8CPcnNnC4JgX56rWeVnjJ3ss89QraQqwHNHA+FhqO13q9eQ==
X-Gm-Gg: ASbGncsfB/TJvb8AiCAmzxbcP2ewpVzqckawlAEzTO7kXeh98mPw4ohX3seOD5c77WS
qP8w161r7VihAcpYxrYZGkz2QO1I7R6vfqFw9WyudovwqKfmx3vT0NS3x4tXIr6ikCW2XCAbCzs
xoQmU5LgbhmJ4iLHBl7GkG2p6xS9BXxyPQ/DSh1aTxvKKa678zWczGEMevxUCLWZk5HwX5xEQzO
ukNVzoENv6dTgsVEyATICSzr8pDShCGiLc06c0YYbUz0R2x2OJa27YVMTeGk7ETOhzJ8y53xQRi
H+z3TwdgG9o=
X-Received: by 2002:a5d:5f93:0:b0:3a4:dc77:5789 with SMTP id ffacd0b85a97d-3a4dc7759bdmr8989965f8f.10.1748423374024;
Wed, 28 May 2025 02:09:34 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFuVB49DNuCMZCD9ZgAV1EUkM+z/1OmkaF2/KqRplm9wSye2rAwg1/YAa3nrHj+Rb8/4fGOJA==
X-Received: by 2002:a5d:5f93:0:b0:3a4:dc77:5789 with SMTP id ffacd0b85a97d-3a4dc7759bdmr8989934f8f.10.1748423373482;
Wed, 28 May 2025 02:09:33 -0700 (PDT)
Received: from [10.43.17.53] ([85.93.96.130])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4507253bbe8sm11514425e9.7.2025.05.28.02.09.32
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:09:33 -0700 (PDT)
Message-ID: <c8bb97cc-68b6-44f1-a4f4-b0ebc42a7f92@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:09:32 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] bpf: Specify access type of bpf_sysctl_get_name args
To: Yonghong Song <yonghong.song@xxxxxxxxx>, bpf@xxxxxxxxxxxxxxx
Cc: Martin KaFai Lau <martin.lau@xxxxxxxxx>,
Alexei Starovoitov <ast@xxxxxxxxxx>, Daniel Borkmann <daniel@xxxxxxxxxxxxx>,
Andrii Nakryiko <andrii@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
Eduard Zingerman <eddyz87@xxxxxxxxx>
References: <20250527165412.533335-1-jmarchan@xxxxxxxxxx>
<7aed6949-1076-4c8f-8939-35b47072d431@xxxxxxxxx>
From: Jerome Marchand <jmarchan@xxxxxxxxxx>
Content-Language: en-US
In-Reply-To: <7aed6949-1076-4c8f-8939-35b47072d431@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 27/05/2025 21:56, Yonghong Song wrote:
>
>
> On 5/27/25 9:54 AM, Jerome Marchand wrote:
>> The second argument of bpf_sysctl_get_name() helper is a pointer to a
>> buffer that is being written to. However that isn't specify in the
>> prototype.
>>
>> Until commit 37cce22dbd51a ("bpf: verifier: Refactor helper access
>> type tracking"), all helper accesses were considered as a possible
>> write access by the verifier, so no big harm was done. However, since
>> then, the verifier might make wrong asssumption about the content of
>> that address which might lead it to make faulty optimizations (such as
>> removing code that was wrongly labeled dead). This is what happens in
>
> Could you give more detailed example about the above statement?
>
> Â the verifier might make wrong asssumption about the content of
> Â that address which might lead it to make faulty optimizations (such as
> Â removing code that was wrongly labeled dead)
To be clear, I don't mean that the verifier does anything wrong in this
case. It makes a wrong assumption because it was fed wrong information
by the helper prototype. Here is the output of the verifier with commit
37cce22dbd51a:
func#0 @0
Live regs before insn:
0: .1........ (bf) r7 = r10
1: .1.....7.. (07) r7 += -8
2: .1.....7.. (b7) r0 = 0
3: 01.....7.. (7b) *(u64 *)(r7 +0) = r0
4: .1.....7.. (bf) r2 = r7
5: .12....7.. (b7) r3 = 8
6: .123...7.. (b7) r4 = 1
7: .1234..7.. (85) call bpf_sysctl_get_name#101
8: 0......7.. (55) if r0 != 0x7 goto pc+6
9: .......7.. (18) r8 = 0x6d656d5f706374
11: .......78. (79) r9 = *(u64 *)(r7 +0)
12: ........89 (5d) if r8 != r9 goto pc+2
13: .......... (b7) r0 = 1
14: 0......... (05) goto pc+1
15: .......... (b7) r0 = 0
16: 0......... (95) exit
0: R1=ctx() R10=fp0
0: (bf) r7 = r10 ; R7_w=fp0 R10=fp0
1: (07) r7 += -8 ; R7_w=fp-8
2: (b7) r0 = 0 ; R0_w=0
3: (7b) *(u64 *)(r7 +0) = r0 ; R0_w=0 R7_w=fp-8 fp-8_w=0
4: (bf) r2 = r7 ; R2_w=fp-8 R7_w=fp-8
5: (b7) r3 = 8 ; R3_w=8
6: (b7) r4 = 1 ; R4_w=1
7: (85) call bpf_sysctl_get_name#101
mark_precise: frame0: last_idx 7 first_idx 0 subseq_idx -1
mark_precise: frame0: regs=r3 stack= before 6: (b7) r4 = 1
mark_precise: frame0: regs=r3 stack= before 5: (b7) r3 = 8
8: R0_w=scalar()
8: (55) if r0 != 0x7 goto pc+6 ; R0_w=7
9: (18) r8 = 0x6d656d5f706374 ; R8_w=0x6d656d5f706374
11: (79) r9 = *(u64 *)(r7 +0) ; R7=fp-8 R9=0 fp-8=0
12: (5d) if r8 != r9 goto pc+2
mark_precise: frame0: last_idx 12 first_idx 12 subseq_idx -1
mark_precise: frame0: parent state regs=r8 stack=: R0_w=7 R7_w=fp-8 R8_rw=P0x6d656d5f706374 R9_rw=0 R10=fp0 fp-8_w=0
mark_precise: frame0: last_idx 11 first_idx 0 subseq_idx 12
mark_precise: frame0: regs=r8 stack= before 11: (79) r9 = *(u64 *)(r7 +0)
mark_precise: frame0: regs=r8 stack= before 9: (18) r8 = 0x6d656d5f706374
mark_precise: frame0: last_idx 12 first_idx 12 subseq_idx -1
mark_precise: frame0: parent state regs=r9 stack=: R0_w=7 R7_w=fp-8 R8_rw=P0x6d656d5f706374 R9_rw=P0 R10=fp0 fp-8_w=0
mark_precise: frame0: last_idx 11 first_idx 0 subseq_idx 12
mark_precise: frame0: regs=r9 stack= before 11: (79) r9 = *(u64 *)(r7 +0)
mark_precise: frame0: regs= stack=-8 before 9: (18) r8 = 0x6d656d5f706374
mark_precise: frame0: regs= stack=-8 before 8: (55) if r0 != 0x7 goto pc+6
mark_precise: frame0: regs= stack=-8 before 7: (85) call bpf_sysctl_get_name#101
mark_precise: frame0: regs= stack=-8 before 6: (b7) r4 = 1
mark_precise: frame0: regs= stack=-8 before 5: (b7) r3 = 8
mark_precise: frame0: regs= stack=-8 before 4: (bf) r2 = r7
mark_precise: frame0: regs= stack=-8 before 3: (7b) *(u64 *)(r7 +0) = r0
mark_precise: frame0: regs=r0 stack= before 2: (b7) r0 = 0
12: R8=0x6d656d5f706374 R9=0
15: (b7) r0 = 0 ; R0_w=0
16: (95) exit
mark_precise: frame0: last_idx 16 first_idx 12 subseq_idx -1
mark_precise: frame0: regs=r0 stack= before 15: (b7) r0 = 0
from 8 to 15: R0_w=scalar() R7_w=fp-8 R10=fp0 fp-8_w=0
15: R0_w=scalar() R7_w=fp-8 R10=fp0 fp-8_w=0
15: (b7) r0 = 0 ; R0_w=0
16: (95) exit
mark_precise: frame0: last_idx 16 first_idx 0 subseq_idx -1
mark_precise: frame0: regs=r0 stack= before 15: (b7) r0 = 0
processed 16 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 1
At line 11, it still assume that fp-8=0, despite the call to
bpf_sysctl_get_name. Because of that, it assumes that the first branch
of the conditional jump at line 12 is never taken an the program always
return 0 (access denied).
For comparison, here's the verifier output when commit 37cce22dbd51a is
reverted:
func#0 @0
Live regs before insn:
0: .1........ (bf) r7 = r10
1: .1.....7.. (07) r7 += -8
2: .1.....7.. (b7) r0 = 0
3: 01.....7.. (7b) *(u64 *)(r7 +0) = r0
4: .1.....7.. (bf) r2 = r7
5: .12....7.. (b7) r3 = 8
6: .123...7.. (b7) r4 = 1
7: .1234..7.. (85) call bpf_sysctl_get_name#101
8: 0......7.. (55) if r0 != 0x7 goto pc+6
9: .......7.. (18) r8 = 0x6d656d5f706374
11: .......78. (79) r9 = *(u64 *)(r7 +0)
12: ........89 (5d) if r8 != r9 goto pc+2
13: .......... (b7) r0 = 1
14: 0......... (05) goto pc+1
15: .......... (b7) r0 = 0
16: 0......... (95) exit
0: R1=ctx() R10=fp0
0: (bf) r7 = r10 ; R7_w=fp0 R10=fp0
1: (07) r7 += -8 ; R7_w=fp-8
2: (b7) r0 = 0 ; R0_w=0
3: (7b) *(u64 *)(r7 +0) = r0 ; R0_w=0 R7_w=fp-8 fp-8_w=0
4: (bf) r2 = r7 ; R2_w=fp-8 R7_w=fp-8
5: (b7) r3 = 8 ; R3_w=8
6: (b7) r4 = 1 ; R4_w=1
7: (85) call bpf_sysctl_get_name#101
mark_precise: frame0: last_idx 7 first_idx 0 subseq_idx -1
mark_precise: frame0: regs=r3 stack= before 6: (b7) r4 = 1
mark_precise: frame0: regs=r3 stack= before 5: (b7) r3 = 8
8: R0_w=scalar()
8: (55) if r0 != 0x7 goto pc+6 ; R0_w=7
9: (18) r8 = 0x6d656d5f706374 ; R8_w=0x6d656d5f706374
11: (79) r9 = *(u64 *)(r7 +0) ; R7=fp-8 R9=scalar() fp-8=mmmmmmmm
12: (5d) if r8 != r9 goto pc+2 ; R8=0x6d656d5f706374 R9=0x6d656d5f706374
13: (b7) r0 = 1 ; R0_w=1
14: (05) goto pc+1
16: (95) exit
mark_precise: frame0: last_idx 16 first_idx 12 subseq_idx -1
mark_precise: frame0: regs=r0 stack= before 14: (05) goto pc+1
mark_precise: frame0: regs=r0 stack= before 13: (b7) r0 = 1
from 12 to 15: R0=7 R7=fp-8 R8=0x6d656d5f706374 R9=scalar() R10=fp0 fp-8=mmmmmmmm
15: R0=7 R7=fp-8 R8=0x6d656d5f706374 R9=scalar() R10=fp0 fp-8=mmmmmmmm
15: (b7) r0 = 0 ; R0_w=0
16: (95) exit
mark_precise: frame0: last_idx 16 first_idx 12 subseq_idx -1
mark_precise: frame0: regs=r0 stack= before 15: (b7) r0 = 0
from 8 to 15: R0_w=scalar() R7_w=fp-8 R10=fp0 fp-8_w=mmmmmmmm
15: R0_w=scalar() R7_w=fp-8 R10=fp0 fp-8_w=mmmmmmmm
15: (b7) r0 = 0 ; R0_w=0
16: (95) exit
mark_precise: frame0: last_idx 16 first_idx 0 subseq_idx -1
mark_precise: frame0: regs=r0 stack= before 15: (b7) r0 = 0
processed 19 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 1
>
> This patch actually may cause a behavior change.
>
> Without this patch, typically the whole buffer will be initialized
> to 0 and then the helper itself will copy bytes until seeing a '\0'.
>
> With this patch, bpf prog does not need to initialize the buffer.
> Inside the helper, the copied bytes may not cover the whole buffer.
If that's an issue, it could be easily fixed by replacing
ARG_PTR_TO_UNINIT_MEM by ARG_PTR_TO_MEM | MEM_WRITE.
I don't know what the original intention was when bpf_sysctl_get_name()
was introduced, but almost all helpers use ARG_PTR_TO_UNINIT_MEM for
such a case.
Jerome
>
>> test_sysctl selftest to the tests related to sysctl_get_name.
>>
>> Correctly mark the second argument of bpf_sysctl_get_name() as
>> ARG_PTR_TO_UNINIT_MEM.
>>
>> Signed-off-by: Jerome Marchand <jmarchan@xxxxxxxxxx>
>> ---
>> Â kernel/bpf/cgroup.c | 2 +-
>> Â 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/kernel/bpf/cgroup.c b/kernel/bpf/cgroup.c
>> index 84f58f3d028a3..09c02a592d24a 100644
>> --- a/kernel/bpf/cgroup.c
>> +++ b/kernel/bpf/cgroup.c
>> @@ -2104,7 +2104,7 @@ static const struct bpf_func_proto
>> bpf_sysctl_get_name_proto = {
>>      .gpl_only   = false,
>>      .ret_type   = RET_INTEGER,
>>      .arg1_type   = ARG_PTR_TO_CTX,
>> -   .arg2_type   = ARG_PTR_TO_MEM,
>> +   .arg2_type   = ARG_PTR_TO_UNINIT_MEM,
>>      .arg3_type   = ARG_CONST_SIZE,
>>      .arg4_type   = ARG_ANYTHING,
>> Â };
>
>
Return-Path: <linux-kernel+bounces-665188-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id ADE0841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:11:19 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 408F07A5542
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:10:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 251902749DA;
Wed, 28 May 2025 09:10:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="L6dePIFP"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B1A52749D3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:10:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423426; cv=none; b=LmkwvmibXR0EwNEzpXJ8OpdlBR3O7f4RNpWoteCbUaFp8CpwSbQ8Rd6tkf1HQ9/q2Q6jLILFAuchqoe7BvU/3FUXBwj9wK4Lz2b3mrpT+TIY+O/vRxgB6zAXts6mWZO1C71AzAhlZMWopiXjssWqikX2avcKfSwbj1xun1ktvCA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423426; c=relaxed/simple;
bh=yoVcG/irg/aTytIKIEbhE3xRsOHi04Ko0PIaWu0jbKw=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=nEzQxQ8AhARLvdHd0Zv6LRiAMakMiL9oY7uES+1iEoUYFQGxqOvHmQ6jovxiyLL62sLgu1+FGidcEVoi0UFoq5FWUACNSi1QaUy5+R4t36jrsp57NZ/KDtqdwjARafu3i7R+OXV6CQkyp+IjXc0yOAS/KftwSCEnF6GG1z97V/k=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=L6dePIFP; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97075C4CEEB;
Wed, 28 May 2025 09:10:23 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748423425;
bh=yoVcG/irg/aTytIKIEbhE3xRsOHi04Ko0PIaWu0jbKw=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=L6dePIFPunIYqtV7Lp65JA4+QgBhwRx3rynBJnW9Bn8LB6PTn0jaJuNQ+6iXHUlwY
lxFRBvUb7isTrd/Wzgh2de9n4nq9k5v4NPUlG71KM1VX/+uJP7A8siQSe+DEfYeHuR
m4Cvi6OftYOQV6UPEpNvIaAbMZY5M8YVxjIm0k03ZojiQgSZXkoIxhRIzkhjkEUFV0
24fbcCYUsEC+bE/FIXtONvtMtg6W6Jl0AhwvuF+sekppzT4dw0DWqK1JltKwZBuHko
qwqhPg01blDIq501MbUqzug7+pCOPJLcUoTFyQq76gQcmL8QwPJ6ILid9PRTyrHVuq
G2rYQ8uhpB57A==
Message-ID: <9f0d0109-3376-40f1-935a-bf341019956d@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:10:21 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/9] arm64: Kconfig: add ARCH_BST for bst silicons
To: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>,
Catalin Marinas <catalin.marinas@xxxxxxx>, Will Deacon <will@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Ge Gordon <gordon.ge@xxxxxx>
References: <20250528085448.481215-1-yangzh0906@xxxxxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250528085448.481215-1-yangzh0906@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 10:54, Albert Yang wrote:
> Add ARCH_BST for bst SoC series support.
> Add ARCH_BSTC1200 for BSTC1200 platform.
>
> Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
> Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
> ---
> arch/arm64/Kconfig.platforms | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 8b76821f190f..b94c8c5d038c 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -402,4 +402,23 @@ config ARCH_ZYNQMP
> help
> This enables support for Xilinx ZynqMP Family
>
> +config ARCH_BSTC1200
B is not after Z. Anyway one ARCH entry per architecture, not per soc.
> + bool "BSTC1200 Platforms"
> + select SOC_NONCOHERENT
There is no such thing. You need to clean up all your patches from
downstream stuff. Please start working on upstream kernel.
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665189-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9892941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:11:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 18E1E1BA053C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:11:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0CCF42750E1;
Wed, 28 May 2025 09:10:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="en0U7mBt"
Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.5])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3030F244685;
Wed, 28 May 2025 09:10:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.5
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423435; cv=none; b=NeLukC9IeoAv48FNA55QjOyNo0Kg8nsIiEaaiI7j6QbqUwTY2FdNRKwe8x39FoqkQirHyzviiQ6nDa3R8twy5dYB8bdV8yw/MUtST3Gktpdm38iM19laUcB7sQp6HwtJqaHpnQYGBcWhEw2NF03rn3+JnLBq0oaojWpGiru1KM4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423435; c=relaxed/simple;
bh=xnBGQ1NYx0IsAE60uuB1ItLCFPl3GMZu0ylD6d1tDG8=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=f0PYWQr/QKdNuQqigPna2GCK4uWVvOZnVLG9+yJ8UpkwujQTVZlqd/js4OzFg8W9eedjeljMRldqdi6wXKdP8hWE4+pATEHdjRkEccjSwCovA3hCUk7iuF2awxRZtUbhx87VWt4QcD4PJbK4cG+klLx3uQEZziHhTSjnShmOwII=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=en0U7mBt; arc=none smtp.client-ip=117.135.210.5
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=ni
kVQyuarkXhnQNNlek1hxJpso9eYFJCBOWiuY4s74k=; b=en0U7mBtvi3u1awudd
GC9FwvK6uwPFwoRpXIWnz0v2rVCTOovIN3Ec7Jk8JiVF0y0vAMYNq7oW2elboBYS
+n66m1RTGwBdxPzacmSGdxbb8Z5iM/cbvCoasLZQiPfGfA0AAwB/IUYIZ4kVus3J
cDeO+2aK4f/bCkmhZXpupPVcI=
Received: from localhost.localdomain (unknown [])
by gzsmtp1 (Coremail) with SMTP id PCgvCgBHSJDj0jZoWsqECA--.56162S2;
Wed, 28 May 2025 17:09:57 +0800 (CST)
From: Slark Xiao <slark_xiao@xxxxxxx>
To: manivannan.sadhasivam@xxxxxxxxxx,
johan+linaro@xxxxxxxxxx,
mhi@xxxxxxxxxxxxxxx
Cc: linux-arm-msm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Slark Xiao <slark_xiao@xxxxxxx>
Subject: [PATCH] bus: mhi: host: pci_generic: Add Foxconn T99W696
Date: Wed, 28 May 2025 17:09:50 +0800
Message-Id: <20250528090950.14868-1-slark_xiao@xxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:PCgvCgBHSJDj0jZoWsqECA--.56162S2
X-Coremail-Antispam: 1Uf129KBjvJXoWxWF13Cw15KF1UCr1rGr17Jrb_yoWrur15pF
WIv3y5trWkJw4Fg3y0y34kKas5Zan3Xr93Krnrtw10g3WYk3y5XrWkt342qFWYv34qqrWI
yFykWFy7uanrJr7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pRhNVhUUUUU=
X-CM-SenderInfo: xvod2y5b0lt0i6rwjhhfrp/xtbBDQpbZGg20dYi6gAAsp
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
T99W696 is designed based on Qualcomm SDX61 chip which is a cost
down chip refer to previous SDX62/SDX65. Though we have a support
on SDX62/SDX65, we create a new channel config for SDX61 since
we add a NMEA channel support from this product.
For new products we are allowed to customize the subVID and
subPID only.
Signed-off-by: Slark Xiao <slark_xiao@xxxxxxx>
---
drivers/bus/mhi/host/pci_generic.c | 52 ++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
index a4a62429c784..76a927ef4e00 100644
--- a/drivers/bus/mhi/host/pci_generic.c
+++ b/drivers/bus/mhi/host/pci_generic.c
@@ -490,6 +490,23 @@ static const struct mhi_channel_config mhi_foxconn_sdx55_channels[] = {
MHI_CHANNEL_CONFIG_HW_DL(101, "IP_HW0_MBIM", 128, 3),
};
+static const struct mhi_channel_config mhi_foxconn_sdx61_channels[] = {
+ MHI_CHANNEL_CONFIG_UL(0, "LOOPBACK", 32, 0),
+ MHI_CHANNEL_CONFIG_DL(1, "LOOPBACK", 32, 0),
+ MHI_CHANNEL_CONFIG_UL(4, "DIAG", 32, 1),
+ MHI_CHANNEL_CONFIG_DL(5, "DIAG", 32, 1),
+ MHI_CHANNEL_CONFIG_UL(12, "MBIM", 32, 0),
+ MHI_CHANNEL_CONFIG_DL(13, "MBIM", 32, 0),
+ MHI_CHANNEL_CONFIG_UL(32, "DUN", 32, 0),
+ MHI_CHANNEL_CONFIG_DL(33, "DUN", 32, 0),
+ MHI_CHANNEL_CONFIG_UL_FP(34, "FIREHOSE", 32, 0),
+ MHI_CHANNEL_CONFIG_DL_FP(35, "FIREHOSE", 32, 0),
+ MHI_CHANNEL_CONFIG_UL(50, "NMEA", 32, 0),
+ MHI_CHANNEL_CONFIG_DL(51, "NMEA", 32, 0),
+ MHI_CHANNEL_CONFIG_HW_UL(100, "IP_HW0_MBIM", 128, 2),
+ MHI_CHANNEL_CONFIG_HW_DL(101, "IP_HW0_MBIM", 128, 3),
+};
+
static struct mhi_event_config mhi_foxconn_sdx55_events[] = {
MHI_EVENT_CONFIG_CTRL(0, 128),
MHI_EVENT_CONFIG_DATA(1, 128),
@@ -506,6 +523,15 @@ static const struct mhi_controller_config modem_foxconn_sdx55_config = {
.event_cfg = mhi_foxconn_sdx55_events,
};
+static const struct mhi_controller_config modem_foxconn_sdx61_config = {
+ .max_channels = 128,
+ .timeout_ms = 20000,
+ .num_channels = ARRAY_SIZE(mhi_foxconn_sdx61_channels),
+ .ch_cfg = mhi_foxconn_sdx55_channels,
+ .num_events = ARRAY_SIZE(mhi_foxconn_sdx55_events),
+ .event_cfg = mhi_foxconn_sdx55_events,
+};
+
static const struct mhi_controller_config modem_foxconn_sdx72_config = {
.max_channels = 128,
.timeout_ms = 20000,
@@ -615,6 +641,17 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5934e_info = {
.sideband_wake = false,
};
+static const struct mhi_pci_dev_info mhi_foxconn_t99w696_info = {
+ .name = "foxconn-t99w696",
+ .edl = "qcom/sdx61/foxconn/prog_firehose_lite.elf",
+ .edl_trigger = true,
+ .config = &modem_foxconn_sdx61_config,
+ .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
+ .dma_data_width = 32,
+ .mru_default = 32768,
+ .sideband_wake = false,
+};
+
static const struct mhi_channel_config mhi_mv3x_channels[] = {
MHI_CHANNEL_CONFIG_UL(0, "LOOPBACK", 64, 0),
MHI_CHANNEL_CONFIG_DL(1, "LOOPBACK", 64, 0),
@@ -863,6 +900,21 @@ static const struct pci_device_id mhi_pci_id_table[] = {
/* Telit FE990A */
{ PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, 0x1c5d, 0x2015),
.driver_data = (kernel_ulong_t) &mhi_telit_fe990a_info },
+ /* Foxconn T99W696.01, Lenovo Generic SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe142),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
+ /* Foxconn T99W696.02, Lenovo X1 Carbon SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe143),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
+ /* Foxconn T99W696.03, Lenovo X1 2in1 SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe144),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
+ /* Foxconn T99W696.04, Lenovo PRC SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe145),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
+ /* Foxconn T99W696.00, Foxconn SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe146),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0309),
--
2.25.1
Return-Path: <linux-kernel+bounces-665190-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D69DA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:11:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0A94B3A5D74
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:11:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A65B32749CD;
Wed, 28 May 2025 09:10:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="n80odNv+"
Received: from casper.infradead.org (casper.infradead.org [90.155.50.34])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 350FB275111;
Wed, 28 May 2025 09:10:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=90.155.50.34
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423439; cv=none; b=j3AditVrxyi/VJr3YJ2P4UEjBsIoZ/MOlIqTUA3wRP/983s/Q6fEfwOQioelBK4m9D/4vlivOmuAx/bvSCA6psq+JdZSrI4OYjcDLARgx2FYLAUG8ABYN/8WR2g6bbJmqH9lTrlIKW36iZuk/ZoHz83kRMX+mgGxFvHpKI7uNUQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423439; c=relaxed/simple;
bh=Ia2GozwV4a8lhyp5neP6FN7joVX9OC4FCSS0RVxVnDA=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=D5OC3JqKfTsw4r0+XdQP5Cak1dFahiUoze8DYA7CzZixXaZH6o/rTZ5GpA7bXfGujppUHAtlwz5Pa8Fh1li+kveIFxZxfBido1Vz3yzRFLEmCCYFtVRFyBBZDMiGLE4SnKev5FQX9aJ6ypWhunGzjhUN6ZPVC05WgClI7i75ss8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=n80odNv+; arc=none smtp.client-ip=90.155.50.34
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
Content-Transfer-Encoding:Content-ID:Content-Description;
bh=f6UBhiqU0OYkhGbwcIEcEvBe+Cw0gb40pBFliPLoPzM=; b=n80odNv+N9ONWYA1sCuYXOgxON
wVHEbZdcisAMdQq1mjr0VsxZt3IJEp+TxKV/nWSpoajpOCz1zRxwJ9NzgXyKSZRpJVKfXGQ7N7Bcg
686Q0qsKPQwPpFgDuUe3utYZZ7CrMl6fptdnNDNpgbQ+ScqWjUaeUMiOOnVKoFnQIi6QIjVzu5l7T
ke/r5pSL9I9wOY9RmJ993URFMvBvY3MDG/R+pE3/Y5LacpC4N7FwjpnBrcqeKqt6etQULRZJGnp4E
yOXSXJ8jDnqww8d6uuwSQkMb4T2yF5SUxSelCD6OMCMl+f8DSj9jR6OhUFAK1k4UYy5eUxT2ZJhyq
8b2ymuRg==;
Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252] helo=noisy.programming.kicks-ass.net)
by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
id 1uKCno-0000000DQmJ-19iM;
Wed, 28 May 2025 09:10:24 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
id D38FB3005AF; Wed, 28 May 2025 11:10:23 +0200 (CEST)
Date: Wed, 28 May 2025 11:10:23 +0200
From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
To: Lyude Paul <lyude@xxxxxxxxxx>
Cc: rust-for-linux@xxxxxxxxxxxxxxx, Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Juri Lelli <juri.lelli@xxxxxxxxxx>,
Vincent Guittot <vincent.guittot@xxxxxxxxxx>,
Dietmar Eggemann <dietmar.eggemann@xxxxxxx>,
Steven Rostedt <rostedt@xxxxxxxxxxx>,
Ben Segall <bsegall@xxxxxxxxxx>, Mel Gorman <mgorman@xxxxxxx>,
Valentin Schneider <vschneid@xxxxxxxxxx>,
Will Deacon <will@xxxxxxxxxx>, Waiman Long <longman@xxxxxxxxxx>,
Miguel Ojeda <ojeda@xxxxxxxxxx>,
Alex Gaynor <alex.gaynor@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
=?iso-8859-1?Q?Bj=F6rn?= Roy Baron <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <lossin@xxxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>,
David Woodhouse <dwmw@xxxxxxxxxxxx>, Jens Axboe <axboe@xxxxxxxxx>,
Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
NeilBrown <neilb@xxxxxxx>,
Caleb Sander Mateos <csander@xxxxxxxxxxxxxxx>,
Ryo Takakura <ryotkkr98@xxxxxxxxx>,
K Prateek Nayak <kprateek.nayak@xxxxxxx>
Subject: Re: [RFC RESEND v10 03/14] irq & spin_lock: Add counted interrupt
disabling/enabling
Message-ID: <20250528091023.GY39944@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250527222254.565881-1-lyude@xxxxxxxxxx>
<20250527222254.565881-4-lyude@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250527222254.565881-4-lyude@xxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 06:21:44PM -0400, Lyude Paul wrote:
> From: Boqun Feng <boqun.feng@xxxxxxxxx>
>
> Currently the nested interrupt disabling and enabling is present by
> _irqsave() and _irqrestore() APIs, which are relatively unsafe, for
> example:
>
> <interrupts are enabled as beginning>
> spin_lock_irqsave(l1, flag1);
> spin_lock_irqsave(l2, flag2);
> spin_unlock_irqrestore(l1, flags1);
> <l2 is still held but interrupts are enabled>
> // accesses to interrupt-disable protect data will cause races.
>
> This is even easier to triggered with guard facilities:
>
> unsigned long flag2;
>
> scoped_guard(spin_lock_irqsave, l1) {
> spin_lock_irqsave(l2, flag2);
> }
> // l2 locked but interrupts are enabled.
> spin_unlock_irqrestore(l2, flag2);
>
> (Hand-to-hand locking critical sections are not uncommon for a
> fine-grained lock design)
>
> And because this unsafety, Rust cannot easily wrap the
> interrupt-disabling locks in a safe API, which complicates the design.
>
> To resolve this, introduce a new set of interrupt disabling APIs:
>
> * local_interrupt_disable();
> * local_interrupt_enable();
>
> They work like local_irq_save() and local_irq_restore() except that 1)
> the outermost local_interrupt_disable() call save the interrupt state
> into a percpu variable, so that the outermost local_interrupt_enable()
> can restore the state, and 2) a percpu counter is added to record the
> nest level of these calls, so that interrupts are not accidentally
> enabled inside the outermost critical section.
>
> Also add the corresponding spin_lock primitives: spin_lock_irq_disable()
> and spin_unlock_irq_enable(), as a result, code as follow:
>
> spin_lock_irq_disable(l1);
> spin_lock_irq_disable(l2);
> spin_unlock_irq_enable(l1);
> // Interrupts are still disabled.
> spin_unlock_irq_enable(l2);
>
> doesn't have the issue that interrupts are accidentally enabled.
>
> This also makes the wrapper of interrupt-disabling locks on Rust easier
> to design.
>
> Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx>
>
> ---
> V10:
> * Add missing __raw_spin_lock_irq_disable() definition in spinlock.c
>
> Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx>
Your SOB is placed wrong, should be below Boqun's. This way it gets
lost.
Also, is there effort planned to fully remove the save/restore variant?
As before, my main objection is adding variants with overlapping
functionality while not cleaning up the pre-existing code.
Return-Path: <linux-kernel+bounces-665191-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B228E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:12:01 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 62A103A9C57
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:11:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C3449276024;
Wed, 28 May 2025 09:10:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="BDQqpOGv"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 04DCB27585C;
Wed, 28 May 2025 09:10:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.19
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423444; cv=none; b=teZCqozypTd1iBNIevwmbam2JFC9Vg4+SgbC2MtD/cUCapn2wwdsJQxTOVMM8WN1sNDuhABMSqjkosqVmw9qpFkcgf6hhWJYV7WvZEBmTixPIDhlkpxgUTcMYzWPEkoFCyH9BIjbmisvS99STsQ0HWCONNjs81LAq0HyjRgPUBE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423444; c=relaxed/simple;
bh=af5JUKcthRKAQgniGzokaJiKen7a00vYt3vsaVOT2BQ=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=DIeNe1xujOecDdkRbzTkBkC2YjFH4KHoapvlcz7uXXlc/1gJuIGh4hxP0ak1xxC+kVAjw5WF/el+wBarvmtfg5GkRk9gFr9iTaN/gZmt+MiTHQPs/YXOeI89CNmucxmlP3s6TLTgyYiQmfgNI5DCS7UPMPKQZSUKaLBOnfclFEg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=BDQqpOGv; arc=none smtp.client-ip=198.175.65.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748423442; x=1779959442;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=af5JUKcthRKAQgniGzokaJiKen7a00vYt3vsaVOT2BQ=;
b=BDQqpOGvazRQYzXDMeBL8ZZPmcDXvDpvLFZPj+Lb/kyQopBbrFS7R4Jh
iw0N3esyK0cTLifD0WqjMJ69VcInRmVZgATrIJu4WI2WdJscMc2WG5ywC
lIMvP32W0stfJBf1Qd/oX+WjOEGcP1tdFI4qA18MMV+HHwOaU7A5QfPUH
lZKrQ1xR8T/bnCYr67INx593XyJRCQQThjrzEcT2g7vkPV55Zg6NO7P+I
00j6A+bLxsTV1vOytN83FGf6tIS9iJTB89gUE0aDC8bq5Xu81GeebVa2+
OZksV10TUFZ+ZdYhSTD+Xvs6Hr1xxY5atpo/rD/A0bPrak3x8uNheAKbj
g==;
X-CSE-ConnectionGUID: QTS/5hW1SYG0w6St1B7Q7g==
X-CSE-MsgGUID: zvM3jp4iSF+XBCpBebVBXw==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="50326608"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="50326608"
Received: from fmviesa006.fm.intel.com ([10.60.135.146])
by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:10:41 -0700
X-CSE-ConnectionGUID: Ig1TGYOjTf2XVusvXjCvvQ==
X-CSE-MsgGUID: 8Uw5VHDBRgSXHe3hgjU49g==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="143012443"
Received: from lkp-server01.sh.intel.com (HELO 1992f890471c) ([10.239.97.150])
by fmviesa006.fm.intel.com with ESMTP; 28 May 2025 02:10:37 -0700
Received: from kbuild by 1992f890471c with local (Exim 4.96)
(envelope-from <lkp@xxxxxxxxx>)
id 1uKCnz-000VTk-01;
Wed, 28 May 2025 09:10:35 +0000
Date: Wed, 28 May 2025 17:10:18 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: Burak Emir <bqe@xxxxxxxxxx>, Yury Norov <yury.norov@xxxxxxxxx>,
Kees Cook <kees@xxxxxxxxxx>
Cc: llvm@xxxxxxxxxxxxxxx, oe-kbuild-all@xxxxxxxxxxxxxxx,
Burak Emir <bqe@xxxxxxxxxx>,
Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>,
Viresh Kumar <viresh.kumar@xxxxxxxxxx>,
Miguel Ojeda <ojeda@xxxxxxxxxx>,
Alex Gaynor <alex.gaynor@xxxxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
=?iso-8859-1?Q?Bj=F6rn?= Roy Baron <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
"Gustavo A . R . Silva" <gustavoars@xxxxxxxxxx>,
rust-for-linux@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-hardening@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v9 4/5] rust: add find_bit_benchmark_rust module.
Message-ID: <202505281613.EHiMAdkN-lkp@xxxxxxxxx>
References: <20250526150141.3407433-5-bqe@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250526150141.3407433-5-bqe@xxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Burak,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-nonmm-unstable]
[also build test ERROR on kees/for-next/hardening kees/for-next/pstore kees/for-next/kspp linus/master v6.15]
[cannot apply to rust/rust-next next-20250527]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Burak-Emir/rust-add-bindings-for-bitmap-h/20250526-230435
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-nonmm-unstable
patch link: https://lore.kernel.org/r/20250526150141.3407433-5-bqe%40google.com
patch subject: [PATCH v9 4/5] rust: add find_bit_benchmark_rust module.
config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20250528/202505281613.EHiMAdkN-lkp@xxxxxxxxx/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250528/202505281613.EHiMAdkN-lkp@xxxxxxxxx/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505281613.EHiMAdkN-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
>> error[E0463]: can't find crate for `core`
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Return-Path: <linux-kernel+bounces-665192-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1C3BE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:12:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 232287AAAAD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:10:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E8C66274FCD;
Wed, 28 May 2025 09:11:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ispras.ru header.i=@ispras.ru header.b="dL1hm4/V"
Received: from mail.ispras.ru (mail.ispras.ru [83.149.199.84])
(using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A11627465B;
Wed, 28 May 2025 09:10:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=83.149.199.84
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423464; cv=none; b=NrSZk2hILB9j2JLGQ8jF15a2wYO1c3g7Y+Yp8jxFJla/PdTkw3IZBqDD67wWYq4mpBtJfyk7xVod9cOr7RQ12UxGZSpY8XQNkawbXz0L4bQzCZOYfxnE9FyOglCJgYqN1qlKYCf21X/binxLo1aX4UoOQPv2qD7/ALSbd++VdxU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423464; c=relaxed/simple;
bh=E13b92T1iobjwwJFKEcVmyQPEeAWMQYjpYx5L+hZ37I=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=FDPuxWpcufQxTYZpkPCGUcq0MasjtS8ZLJ5wM5pN1xxDtfOgSFu/YLUhCHv7WqHDvJwP8T4S0gXfDBbdeF+ratuwtMqjI0q7AiEWPQ1eHzwpTHw/8aASbevIDXay/BoXjbe4n/y5kZkwVnaklSrzLGd2mu4gLNGCEn2lq1cstJg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ispras.ru; spf=pass smtp.mailfrom=ispras.ru; dkim=pass (1024-bit key) header.d=ispras.ru header.i=@ispras.ru header.b=dL1hm4/V; arc=none smtp.client-ip=83.149.199.84
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ispras.ru
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ispras.ru
Received: from fedora.. (unknown [5.228.116.177])
by mail.ispras.ru (Postfix) with ESMTPSA id 65FD5552F541;
Wed, 28 May 2025 09:10:57 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.ispras.ru 65FD5552F541
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ispras.ru;
s=default; t=1748423457;
bh=BV+bKfOBlaZWJv7Ls9aF2eYeY1S7uRK0NeDHUw8Em1A=;
h=From:To:Cc:Subject:Date:From;
b=dL1hm4/Vmsr4xI5AIjQnxz9JxA+rReEoR/HR6/Vl+L4tcnTfjMN8X4Cib5DCcZefP
6QiD/2KKEdZEv4faBXly9GB45iU9H3EbeNvgnVsZx88waV4tVNlLEjW9GZmTI2iGnS
QJbNupL6U9Ydcwpp5RCowdw9p0RsdlFdQitD9fnA=
From: Fedor Pchelkin <pchelkin@xxxxxxxxx>
To: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>,
Vincent Mailhol <mailhol.vincent@xxxxxxxxxx>,
Axel Forsman <axfo@xxxxxxxxxx>
Cc: Fedor Pchelkin <pchelkin@xxxxxxxxx>,
Jimmy Assarsson <extja@xxxxxxxxxx>,
linux-can@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
lvc-project@xxxxxxxxxxxxxxxx,
stable@xxxxxxxxxxxxxxx
Subject: [PATCH] can: kvaser_pciefd: refine error prone echo_skb_max handling logic
Date: Wed, 28 May 2025 12:10:37 +0300
Message-ID: <20250528091038.4264-1-pchelkin@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
echo_skb_max should define the supported upper limit of echo_skb[]
allocated inside the netdevice's priv. The corresponding size value
provided by this driver to alloc_candev() is KVASER_PCIEFD_CAN_TX_MAX_COUNT
which is 17.
But later echo_skb_max is rounded up to the nearest power of two (for the
max case, that would be 32) and the tx/ack indices calculated further
during tx/rx may exceed the upper array boundary. Kasan reported this for
the ack case inside kvaser_pciefd_handle_ack_packet(), though the xmit
function has actually caught the same thing earlier.
BUG: KASAN: slab-out-of-bounds in kvaser_pciefd_handle_ack_packet+0x2d7/0x92a drivers/net/can/kvaser_pciefd.c:1528
Read of size 8 at addr ffff888105e4f078 by task swapper/4/0
CPU: 4 UID: 0 PID: 0 Comm: swapper/4 Not tainted 6.15.0 #12 PREEMPT(voluntary)
Call Trace:
<IRQ>
dump_stack_lvl lib/dump_stack.c:122
print_report mm/kasan/report.c:521
kasan_report mm/kasan/report.c:634
kvaser_pciefd_handle_ack_packet drivers/net/can/kvaser_pciefd.c:1528
kvaser_pciefd_read_packet drivers/net/can/kvaser_pciefd.c:1605
kvaser_pciefd_read_buffer drivers/net/can/kvaser_pciefd.c:1656
kvaser_pciefd_receive_irq drivers/net/can/kvaser_pciefd.c:1684
kvaser_pciefd_irq_handler drivers/net/can/kvaser_pciefd.c:1733
__handle_irq_event_percpu kernel/irq/handle.c:158
handle_irq_event kernel/irq/handle.c:210
handle_edge_irq kernel/irq/chip.c:833
__common_interrupt arch/x86/kernel/irq.c:296
common_interrupt arch/x86/kernel/irq.c:286
</IRQ>
Remove echo_skb_max rounding as this may increase it to unexpected values.
In this sense restore echo_skb_max handling logic prior to commit
8256e0ca6010 ("can: kvaser_pciefd: Fix echo_skb race").
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Fixes: 8256e0ca6010 ("can: kvaser_pciefd: Fix echo_skb race")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Fedor Pchelkin <pchelkin@xxxxxxxxx>
---
Actually the trick with rounding up allows to calculate seq numbers
efficiently, avoiding a more consuming 'mod' operation used in the
current patch.
I see tx max size definitely matters only for kvaser_pciefd_tx_avail(),
but for seq numbers' generation that's not the case - we're free to
calculate them as would be more convenient, not taking tx max size into
account. The only downside is that the size of echo_skb[] should
correspond to the max seq number (not tx max number), so in some
situations a bit more memory would be consumed than could be.
So another approach to fix the problem would be to precompute the rounded
up value of echo_skb_max and pass it to alloc_candev() making the size of
the underlying echo_skb[] sufficient.
If that looks more acceptable, I'll be glad to rework the patch in that
direction.
drivers/net/can/kvaser_pciefd.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/net/can/kvaser_pciefd.c b/drivers/net/can/kvaser_pciefd.c
index f6921368cd14..1ec4ab9510b6 100644
--- a/drivers/net/can/kvaser_pciefd.c
+++ b/drivers/net/can/kvaser_pciefd.c
@@ -411,7 +411,6 @@ struct kvaser_pciefd_can {
void __iomem *reg_base;
struct can_berr_counter bec;
u8 cmd_seq;
- u8 tx_max_count;
u8 tx_idx;
u8 ack_idx;
int err_rep_cnt;
@@ -760,7 +759,7 @@ static int kvaser_pciefd_stop(struct net_device *netdev)
static unsigned int kvaser_pciefd_tx_avail(const struct kvaser_pciefd_can *can)
{
- return can->tx_max_count - (READ_ONCE(can->tx_idx) - READ_ONCE(can->ack_idx));
+ return can->can.echo_skb_max - (READ_ONCE(can->tx_idx) - READ_ONCE(can->ack_idx));
}
static int kvaser_pciefd_prepare_tx_packet(struct kvaser_pciefd_tx_packet *p,
@@ -810,7 +809,7 @@ static netdev_tx_t kvaser_pciefd_start_xmit(struct sk_buff *skb,
{
struct kvaser_pciefd_can *can = netdev_priv(netdev);
struct kvaser_pciefd_tx_packet packet;
- unsigned int seq = can->tx_idx & (can->can.echo_skb_max - 1);
+ unsigned int seq = can->tx_idx % can->can.echo_skb_max;
unsigned int frame_len;
int nr_words;
@@ -992,10 +991,9 @@ static int kvaser_pciefd_setup_can_ctrls(struct kvaser_pciefd *pcie)
tx_nr_packets_max =
FIELD_GET(KVASER_PCIEFD_KCAN_TX_NR_PACKETS_MAX_MASK,
ioread32(can->reg_base + KVASER_PCIEFD_KCAN_TX_NR_PACKETS_REG));
- can->tx_max_count = min(KVASER_PCIEFD_CAN_TX_MAX_COUNT, tx_nr_packets_max - 1);
+ can->can.echo_skb_max = min(KVASER_PCIEFD_CAN_TX_MAX_COUNT, tx_nr_packets_max - 1);
can->can.clock.freq = pcie->freq;
- can->can.echo_skb_max = roundup_pow_of_two(can->tx_max_count);
spin_lock_init(&can->lock);
can->can.bittiming_const = &kvaser_pciefd_bittiming_const;
@@ -1523,7 +1521,7 @@ static int kvaser_pciefd_handle_ack_packet(struct kvaser_pciefd *pcie,
unsigned int len, frame_len = 0;
struct sk_buff *skb;
- if (echo_idx != (can->ack_idx & (can->can.echo_skb_max - 1)))
+ if (echo_idx != can->ack_idx % can->can.echo_skb_max)
return 0;
skb = can->can.echo_skb[echo_idx];
if (!skb)
--
2.49.0
Return-Path: <linux-kernel+bounces-665193-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 542EA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:13:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 896C51889DD8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:12:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8944A2750E1;
Wed, 28 May 2025 09:12:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=heusel.eu header.i=christian@xxxxxxxxx header.b="KvVJehz0"
Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.135])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 67D7F274FCE;
Wed, 28 May 2025 09:12:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.126.135
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423554; cv=none; b=jCxGY+SauUHrFSWyRFIMBzCsuXEWljSd29jLewuxxyljz0LS5UxdAEbl2TnB70Qmy8uE6COhRRSSauQIHFHdRGeJFrftOsKfA1yL7sL8AIXUUjmHIsHC9ZhKQMaPPE2RPVzAoG6Kc7BqxWE+fg/ChWfprQalTBWIs9b4N9vcrW8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423554; c=relaxed/simple;
bh=k/lWW+XJEE/jO3BFYNSnb6x47MyZmdSiljCfPatqm+M=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=Mv5BL9OfSL6iWZuIaS8UtAtOWJKzS/aSCRNLBbVxHPOUipcu2basFp6ScHFowwXWIlTxdR7DlXXzrwMPocFj/2m0K5oFLi4c3xmILOFn6NrPlPiaBrjU4Q3SHKjf2bxsbEklfoxlLRJ2IHG4FnjHesGdyFhBNyf4kbQOwHepe1I=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=heusel.eu; spf=pass smtp.mailfrom=heusel.eu; dkim=pass (2048-bit key) header.d=heusel.eu header.i=christian@xxxxxxxxx header.b=KvVJehz0; arc=none smtp.client-ip=212.227.126.135
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=heusel.eu
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=heusel.eu
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heusel.eu;
s=s1-ionos; t=1748423543; x=1749028343; i=christian@xxxxxxxxx;
bh=/uji3PF8im9HzGIV2pshAadjNtC4PtjN0qjn4T/Dtek=;
h=X-UI-Sender-Class:Date:From:To:Cc:Subject:Message-ID:References:
MIME-Version:Content-Type:In-Reply-To:cc:
content-transfer-encoding:content-type:date:from:message-id:
mime-version:reply-to:subject:to;
b=KvVJehz0Bl3nk3lvziw6OZAMaS6ft2I5oEX1ipFoiGL1ltRuSIvHfqAlW5D2jyLF
L8JB0hkeVN+Td2/beUg5gsZrWB/notk3RyKjrwzF6dUDSuiv2kae17/WwOD1eQe4O
TqXLWGkm4PZgjTqMOoc/CInzA1NtbOhJth6R9+d6dToYtFamJ6+DfMeBNiZCdiqPO
Shg8eoUrn/EV5mOp2J7ZlppX+aStE/zM35SNxDB5ehTfiq0XvZd5veWO+g70gyeAj
Qdez65WKn1hjfi7C2NDs4EfPkl0LVviidPoYwdeh92MbgTSoggSOEsikO2KcCvX4o
5T8wF4XuL8FPaMlv2g==
X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6
Received: from localhost ([94.31.75.247]) by mrelayeu.kundenserver.de
(mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id
1MpUQm-1uhC8R3Mxo-00gTEb; Wed, 28 May 2025 11:06:07 +0200
Date: Wed, 28 May 2025 11:06:05 +0200
From: Christian Heusel <christian@xxxxxxxxx>
To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, torvalds@xxxxxxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
linux@xxxxxxxxxxxx, shuah@xxxxxxxxxx, patches@xxxxxxxxxxxx,
lkft-triage@xxxxxxxxxxxxxxxx, pavel@xxxxxxx, jonathanh@xxxxxxxxxx, f.fainelli@xxxxxxxxx,
sudipm.mukherjee@xxxxxxxxx, srw@xxxxxxxxxxxxxxxx, rwarsow@xxxxxx, conor@xxxxxxxxxx,
hargar@xxxxxxxxxxxxx, broonie@xxxxxxxxxx
Subject: Re: [PATCH 6.14 000/783] 6.14.9-rc1 review
Message-ID: <28384a64-65e0-4284-9052-9ff49f673020@xxxxxxxxx>
References: <20250527162513.035720581@xxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="dakoe2gwzt3ggdmk"
Content-Disposition: inline
In-Reply-To: <20250527162513.035720581@xxxxxxxxxxxxxxxxxxx>
X-Provags-ID: V03:K1:GQyY309Bmv+M0uYNfJlV5QP3YjtuAhSCLjJU/WCVqRv21ZqnOK7
eVCS/Z1OJ0lwyZ25tdVUkalYrF+oGIf5teQGZnYbXF2DdodvVmzf44gc6Yty37+n+pfkgoO
2aVRNAC8Cfw/oA0KlHjv/BQhT5UVm/bL3185vODu16No4u6GpnzEf0np+e2V98DFD/VQiXS
EvDr482pMPuR4v2DBCx3A==
UI-OutboundReport: notjunk:1;M01:P0:x5kj2DqpXPE=;5z8Xccqxo/dgc5dSDPiFsPLTCmA
Pwn8IBvYjv6wBTPOU9GQCoS2qBAuaEx+z4pEVgHnTW5Te2rEIRduBUjFgfb6sJ1wc3LoSrVoJ
6Lw83NSDU9lhf0U/gL0Xa+wg1Sw9vE+E1yo4JcadNT5QXJGb8neIunnZFF/UEeVJPB0Y4PEm7
i1JrzX183wZYivzt3Y+HmZLeCBrHCFXHMxIdCGB7iDgqGJTIC9uBWJEQuf432b/USvAI7ptjY
S4yaYQUdvDHaPjS2SeYHvHYj72wawvXMfa9OXvr9x3FbSM5OjonZZDTSfOhZtQMWIBsgicyrt
KNYji/vTHka3b0SRDO3f55Wi11ZwaWimZ3NnFxAJW8q/koiLQezIPFgoTMLbavPMZCibbrdn7
ZrQkEt0D/A89G+hhgVGMJKRO1FVlgFwnSdmlJxESCuAaTt4jAuIHCX5oIP+HmYjn9induWcc4
Mt9o/9TYtBfQq23aUQmaYniY0BWzscCgz7KYtrTyLK7c2+SlZenznmGFB7Fi66b3osrFjPCyH
G/1/LIqcVeWIF4Z8Rrnlh1Hy6HkZi1PkSFQPFmeDCJ2mzzniQuFK7/zDLV/0MxmrazExQpnUf
8XQgPTSiFZS7Ra52f5JKrAPbnsP9lD/jzJrhmTn6vHQN1JMawXPQQ0v8NOibxnJ9tKnSSmSo+
1ODucaEoVmpW9nd48xMMH+o7lFnOb2SaqAdVxH96MZETTPsmpLmdG42eN14/gxURmpWYJ4QtU
G0OCYQmKk51WqaaK92EfB8PXi293zxfIpEbBDONmYDULG5gGlxbF310LpKmswwkaS3cUSEGpB
xwGXuKpL2gBiQRUwdd4SO6vfUJbJ0UZqiePNs5RctUt3E2Pb0UtrhhLO45RLDRWZBzNNGKvuj
j6hPReiMarDL/aPxrc+nSXoHuG0Ykler1AMr/NxMxRfeLp2/d9Me4mBFVZM9pnM+HjwByGsbs
q0729ohSywyoj6hvQitJY+lmh87n7tEDMV9DRHTFTI141xCgThWITgS7gpSMxt03FBkdbFYQ0
sDpm29Ycervag0tNmFkvPVxqY02efk6+RQ7cP/FSj1bRI4gh1QTsZd+wLTHgx49m3ZDZIBo5H
PNGgcyxyyZgDWZjBBdSgqmvmToDuULy2Dbq03hnZhdUqfhEULPdQAScSoasM7EPB2/QH+tXBX
4Re24TY23drDX9D2IFyktEF6zf7YTMj2yecCErb/V5yV5HeXq/s3QHxvSaZuOGLw8rEVsy+Pw
gDdqx01f/iy3x4Dz+LErOpZWDnRDgAAUm9II6hpKOms/8hOApDk1Wv4EA1RPfJOuneN2sb2nh
nPs4Qz4YkxrrAwo0CnJbe5hLYnUGZqFGMCeHZ6NvvS0FRQumNuiokoUcNalwjA1w2n2oRvPzk
U+X7jWEZZMWY1BsYk+y4Ed2T5M09/1Af2dYj3xUHSTX0YiXUQEXuI93LHm7zPg5GWDvnXcf36
KOh2shm2XyNCoyPk89WpBe5QSF7w=
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--dakoe2gwzt3ggdmk
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: [PATCH 6.14 000/783] 6.14.9-rc1 review
MIME-Version: 1.0
On 25/05/27 06:16PM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.14.9 release.
> There are 783 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>=20
> Responses should be made by Thu, 29 May 2025 16:22:51 +0000.
> Anything received after that time might be too late.
>=20
Tested-by: Christian Heusel <christian@xxxxxxxxx>
Tested on a ThinkPad E14 Gen 3 with a AMD Ryzen 5 5500U CPU and on the
Steam Deck (LCD variant) aswell as a Framework Desktop.=20
--dakoe2gwzt3ggdmk
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEb3ea3iR6a4oPcswTwEfU8yi1JYUFAmg20f0ACgkQwEfU8yi1
JYXQaRAA2ynCtTKO6jxFUHncW496AAGx51nXBx1suUYUAL5+rIa0L0TnqZevkh1+
uxXqiIfF+houSMgtQcnCudy0MuQ64WQ9MdQPcuywYZyfs2Un89eAnsRiDcRNOy6o
1rIvq0TtRyCyFiwRSKvZoxGh32/mPbD4KDHTGx+UClxEpyXDfHv8q8RaVdgc0T2C
XOBOIaZAVIH4tln6TzSxKqPMHx6zb8Y4YmOEGCzDks9FKameLvk7GbNhIL99b3xf
0YODRY5d0Se7jGNXlvST6dzj0IuZuQlmE7vs2ThNa1orLcR3Qi7qpDXugKjlo/Xp
dvdljtx66urL0mQNABMcdePZYEeyqA1KCx8Fbc9Vjd560/u3cO7Ag4QcwM924QLN
H+ifA+l7Ey3IbE1qjUQ++JRV2kW0qylA/5dS1Wd+6A8t7KGsg8moZPIgb8Ifc4eL
LZBXfyoelMVCeH1f6oPz7raCU5pEyQo1w8wncoOa1hi24ZE+n2QKjPfRZT3WEk4z
77P1Tx6Lqf+BV7XUhsqPiSi5uuU95LKuEX8g7EBfQrNhCAHPT7Pdxr50iokVr/UD
CVN/lcX1xVguW0lpa/EFrRUAczxUFO3YceO2cYRWQOSG/4nET9VsvHxOSZipR/wY
iSogXIgVAN46R2wlV1btv2FH1r68XYTMh05K0oYHTygwWkiRdUA=
=2OuG
-----END PGP SIGNATURE-----
--dakoe2gwzt3ggdmk--
Return-Path: <linux-kernel+bounces-665194-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BCC0241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:13:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id EFE811638DD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:13:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id ABB3C275100;
Wed, 28 May 2025 09:13:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="goxgL4UR"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B7453274FE7;
Wed, 28 May 2025 09:13:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423599; cv=none; b=S8XH2lR0vXaS6TKpvbZrsWcKoTJKjwa9Z/qfN3n6VSl2nCz5+Xt6swzjUzSM0hOPaHDcSuk3BrTq5v9rt5FfBnmRMe9pSvMR/UiVAg5Y3I/34oLNtR5cfBkyrnA9Ubn3dUbVA6hr0Dgp334lqvVttG2u1DPu39UeXTGdR2cCMd8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423599; c=relaxed/simple;
bh=tD4kL/zpDeklxFoCQbRoJAY+hgM41Id/MIt0dnF2b/s=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=OryrXZnuWfF5MBQLb0GRS0SpamfWyC1x4FBB3ZkmLrQOBVl5+oLUtYVUWYRLmI2bm54ZunOrZfkyhrjb67JOQ6UKxMAY6WlMyuUkdQJp2K4OoqhY50mFO+UNL6gQd9/RThS/Uk4oZSmEntlTcXGsuP5/wdEIgdCiiFoIbqdJV2A=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=goxgL4UR; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com
Received: from pps.filterd (m0279862.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S98A5q023081;
Wed, 28 May 2025 09:13:14 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
qrUrf+sDIcM7t8rf7eG9YGrZDaTcoHQ35BRKhzDnrmw=; b=goxgL4UR6eFz9JE7
f/idS2n/SZTpwiXiClXXqJjMEcLfDY3fXF7yuuCq6wb8VHZ9qDeB+h7HY1WTBpsa
e2dBH7bWczVP7Hx8kbmZ1GfZBRJoSuOTG3xnf4i6G2xJ9AavdL6bLJJIG6FkM1Sp
jvHqLbuCf2pXmpvTcDSAt1xg1gInXg9eyvR8RrTyNkWgfwW6tfKpY7tUrryu9RFO
28ySTlEn2Og+Se9lWkp/TV1gF4/rN0hOSZu3xA7YhtxFtGDczYWd8wlp3vHCLLX/
B4pkV+YTLnBAsjulWkxSADpUaGxhR9JQV5yJjUaYOIgo752SXDb5L8LbROgC6Okj
tXADeA==
Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u6vjsr16-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:13:13 +0000 (GMT)
Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35])
by NALASPPMTA01.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 54S9DDqg015232
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:13:13 GMT
Received: from [10.231.216.119] (10.80.80.8) by nalasex01c.na.qualcomm.com
(10.47.97.35) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Wed, 28 May
2025 02:13:09 -0700
Message-ID: <6a9e7daf-c0df-42db-b02d-96d9893afcde@xxxxxxxxxxx>
Date: Wed, 28 May 2025 17:13:06 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 2/3] arm64: dts: qcom: qcs615: add venus node to
devicetree
To: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>,
Vikash Garodia
<quic_vgarodia@xxxxxxxxxxx>,
Dikshita Agarwal <quic_dikshita@xxxxxxxxxxx>,
Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>,
Mauro Carvalho Chehab
<mchehab@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio
<konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
CC: <linux-media@xxxxxxxxxxxxxxx>, <linux-arm-msm@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>
References: <20250527-add-venus-for-qcs615-v7-0-cca26e2768e3@xxxxxxxxxxx>
<20250527-add-venus-for-qcs615-v7-2-cca26e2768e3@xxxxxxxxxxx>
<429b4c99-b312-4015-8678-0371eac86de4@xxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Renjiang Han <quic_renjiang@xxxxxxxxxxx>
In-Reply-To: <429b4c99-b312-4015-8678-0371eac86de4@xxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To
nalasex01c.na.qualcomm.com (10.47.97.35)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Authority-Analysis: v=2.4 cv=UOXdHDfy c=1 sm=1 tr=0 ts=6836d3a9 cx=c_pps
a=ouPCqIW2jiPt+lZRy3xVPw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=COk6AnOGAAAA:8
a=Zp6QOlK5tOUEOi8qZRAA:9 a=NuPNxs1a3nqTHuJ5:21 a=3ZKOabzyN94A:10
a=QEXdDO2ut3YA:10 a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-ORIG-GUID: 3ArXmRdVpmwSYW9kcdUd6XfiPFs4eoyV
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA3OSBTYWx0ZWRfX29nIUvf/1zpq
rX4w7zIoDXUhQBSOH6U0pcS7VtSvN3IGkZORy8jMMX0WPSCu0MtGoNhNzsa+MKx2GrSgK+CPlFH
DPaKcCpsOStrSQm07nSBc23CqO1yzJ/gw7lAlYdfUU06DvDc7ELXaIDTqFa2yDDa9ufi/YR2tts
MiUkV4hJDg/Gg2Pi2CXzutAQ7tk7LlhcNjGPKpeSMuM9a1kNlrTA2ByxucazvFQu5wXdxJTh8OR
xOXv28gAko2eot0XB9jwrZDCpQbzYVdUwopDP4Yj675qddugCEj53ceAEaOKgK+3U/3iND/Iaa/
oMj+GawT768ecSrA8oBSkdv4x8l44/0jwbnczSibkItWjy7nB9lB/zzFfN9V36nE3YlwuPEHw9z
kPPG+9ncq+LQcDadzAgyelQjA0HbOaUFAcwRzAVTYwxficPWEJLU9CRGf80aAC4o4hX0xepD
X-Proofpoint-GUID: 3ArXmRdVpmwSYW9kcdUd6XfiPFs4eoyV
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
clxscore=1015 phishscore=0 mlxscore=0 adultscore=0 priorityscore=1501
mlxlogscore=999 bulkscore=0 malwarescore=0 impostorscore=0 spamscore=0
suspectscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280079
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/27/2025 9:57 PM, Konrad Dybcio wrote:
> On 5/27/25 5:32 AM, Renjiang Han wrote:
>> Add the venus node to the devicetree for the qcs615 platform to enable
>> video functionality. The qcs615 platform currently lacks video
>> functionality due to the absence of the venus node. Fallback to sc7180 due
>> to the same video core.
>>
>> Signed-off-by: Renjiang Han <quic_renjiang@xxxxxxxxxxx>
>> ---
> [...]
>
>> + interconnects = <&mmss_noc MASTER_VIDEO_P0 QCOM_ICC_TAG_ALWAYS
>> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
>> + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
>> + &config_noc SLAVE_VENUS_CFG QCOM_ICC_TAG_ALWAYS>;
> QCOM_ICC_TAG_ACTIVE_ONLY on the second path
Thanks for your comment. I'll update it in next version.
           interconnects = <&mmss_noc MASTER_VIDEO_P0 QCOM_ICC_TAG_ALWAYS
                    &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
                   <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
                    &config_noc SLAVE_VENUS_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
>> + interconnect-names = "video-mem",
>> + "cpu-cfg";
>> +
>> + iommus = <&apps_smmu 0xe40 0x20>;
> fwiw docs mention 0xe60 0x20 (which result in the exact same resulting sid)
OK. Will update it with next version.
>> +
>> + memory-region = <&pil_video_mem>;
>> +
>> + status = "disabled";
>> +
>> + venus_opp_table: opp-table {
>> + compatible = "operating-points-v2";
>> +
>> + opp-133330000 {
>> + opp-hz = /bits/ 64 <133330000>;
>> + required-opps = <&rpmhpd_opp_low_svs>;
>> + };
>> +
>> + opp-240000000 {
>> + opp-hz = /bits/ 64 <240000000>;
>> + required-opps = <&rpmhpd_opp_svs>;
>> + };
>> +
>> + opp-300000000 {
>> + opp-hz = /bits/ 64 <300000000>;
>> + required-opps = <&rpmhpd_opp_svs_l1>;
>> + };
>> +
>> + opp-380000000 {
>> + opp-hz = /bits/ 64 <380000000>;
>> + required-opps = <&rpmhpd_opp_nom>;
>> + };
>> +
>> + opp-410000000 {
>> + opp-hz = /bits/ 64 <410000000>;
>> + required-opps = <&rpmhpd_opp_turbo>;
> nom_l1
>
>> + };
>> +
>> + opp-460000000 {
>> + opp-hz = /bits/ 64 <460000000>;
>> + required-opps = <&rpmhpd_opp_turbo_l1>;
> turbo
Thanks for your comment, will update like this in next version.
               opp-410000000 {
                   opp-hz = /bits/ 64 <410000000>;
                   required-opps = <&rpmhpd_opp_nom_l1>;
               };
               opp-460000000 {
                   opp-hz = /bits/ 64 <460000000>;
                   required-opps = <&rpmhpd_opp_turbo>;
               };
>
> Konrad
--
Best Regards,
Renjiang
Return-Path: <linux-kernel+bounces-665195-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8111E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:13:49 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 561D616368D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:13:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2B59227586B;
Wed, 28 May 2025 09:13:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="INJun3pA"
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2086.outbound.protection.outlook.com [40.107.220.86])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 628A0274FEA;
Wed, 28 May 2025 09:13:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.86
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423601; cv=fail; b=egcr21x+Kds/GtMD8In2e4vV0mOr3q3V6+8d73mth5No6S3vYQUI7b3I894x8ewnqir4zWXH7LPJAofLVh24ZxO7+Mhjex+47n5ZVUz88hPjIf3xL8DJpy03nO6mo7mV3VHuToXy1bvXkaJUkwbyPiSF1X05hr+mo2s72vDamPw=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423601; c=relaxed/simple;
bh=1BQgb7hzO07Poz9qIsEJDHbVDcYj7o0Nwx+eAGbISZM=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=mbfz0ixsTjJ+mFuYQSs8mwfouJN7TKgClRJ/qVJKsj18i2hZP2H2m3/3gQB1SfSMQTw6y6MkhCR+rAjZp2MdTLgqibn3br1Wlw3wRXFD64z//16vav2H/JaXHUbD11wXK9ITvJrYi7Ez8sIFJoz5DEd+QJuWZ9h2aNX2sZADcbc=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=INJun3pA; arc=fail smtp.client-ip=40.107.220.86
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=QJnSkd6Nlj4MOPcTwWSWaRCYhA/wLceRa4MQasat6cAAvwTvKd9f0QXcv+JY0e9V2ZhV+E4AsYF303TYO70lccswb4GNfmSZIaaURrj7x2EbUzq+v01oqbpAzaOFCv5ush3nXRQuzEA5CkhSIQGQNrq+NCxDGjQGdDFpfIu3Bqy8aFugprphvxIQyBrt4Y0jPL65hmJVubvXpJShj4rx1uJaLWkCSDW0I6eWNFGvHXK1tpKRV+vrElzEusWrDbk6xfzjum8R6TzyQamqKyV1yjY+gmoZtBU82iTYld+onHxnRPQjlW9dNHwJPENQa5UisWx6o5YWQRaY08D/SAdUDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=AFZid2xbbXr4p3MH7mXZ5s5Vt3KbDn49G6w+tYv4ZXs=;
b=Xg9n285vwtJqosts7S1OGKSwy4XpSYpj+ItLl36j9Jd+YZlrEagJsWDUWtoQWED6T4+JW+5/CjWyOEsxQjZblXx2MY+/9i81GwBf8lEVw+cbDsKmqnMF0CZ02Y35LkAmgySrosrxw1VJSvrnamsd0Yb0TmukFHe5pzvy9DYf3e0xZgqgWdy5pDcsXSOLuoWwKQy6cSfarMixh8CtxESnqPQlPyAG6g4P279jq+QaA+5ziLEvX50+exP0QlW5eNQtXuE2Wl8Bu9HxiqJPg9XXc0KZ9fnCmvPMplgKfT6uha1xlnE+EaSn2CiQGUi4XH9q+T7MhJ7wXG3A4FOFgqsO8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=AFZid2xbbXr4p3MH7mXZ5s5Vt3KbDn49G6w+tYv4ZXs=;
b=INJun3pA2eTchwwngI3+p/WxZr86VyQOkH4ujiQOqLXqdQ6jGsdZpwOnzAjuplP/wxCcqok3ENGuA9e4oHSJZo023JwAtFRqb829t4CnmkaIAlC5kO7j1boKpDYV7lIz3n8XWEbp69iroaBzRANp+xH8WQbO7/2OocfjOhJRIAeTSO415pFXsnYhLGQJeTPESELgmXHgEKUsRuz6Cyir9G1fPRHBMg92Bb9Xa7rQiMY5yYSkLUXKCi1vrqmJpFdYhx/0vKleClKpTu5PHvK+SeNmIE38ZCeXgM0BmHN4tkYz3pfEkypuJZh8to13Ko2o9nEKd6DNZDg6Fu2EA+IeXQ==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nvidia.com;
Received: from IA1PR12MB9031.namprd12.prod.outlook.com (2603:10b6:208:3f9::19)
by CY8PR12MB7564.namprd12.prod.outlook.com (2603:10b6:930:97::8) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Wed, 28 May
2025 09:13:14 +0000
Received: from IA1PR12MB9031.namprd12.prod.outlook.com
([fe80::1fb7:5076:77b5:559c]) by IA1PR12MB9031.namprd12.prod.outlook.com
([fe80::1fb7:5076:77b5:559c%5]) with mapi id 15.20.8769.022; Wed, 28 May 2025
09:13:14 +0000
Date: Wed, 28 May 2025 09:13:09 +0000
From: Dragos Tatulea <dtatulea@xxxxxxxxxx>
To: Mina Almasry <almasrymina@xxxxxxxxxx>
Cc: Tariq Toukan <tariqt@xxxxxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>,
Paolo Abeni <pabeni@xxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,
Andrew Lunn <andrew+netdev@xxxxxxx>, Saeed Mahameed <saeedm@xxxxxxxxxx>,
Leon Romanovsky <leon@xxxxxxxxxx>, Richard Cochran <richardcochran@xxxxxxxxx>,
Alexei Starovoitov <ast@xxxxxxxxxx>, Daniel Borkmann <daniel@xxxxxxxxxxxxx>,
Jesper Dangaard Brouer <hawk@xxxxxxxxxx>, John Fastabend <john.fastabend@xxxxxxxxx>,
netdev@xxxxxxxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
bpf@xxxxxxxxxxxxxxx, Moshe Shemesh <moshe@xxxxxxxxxx>, Mark Bloch <mbloch@xxxxxxxxxx>,
Gal Pressman <gal@xxxxxxxxxx>, Cosmin Ratiu <cratiu@xxxxxxxxxx>
Subject: Re: [PATCH net-next V2 02/11] net: Add skb_can_coalesce for netmem
Message-ID: <2bbqwlwi2b5pzd4ndss77xvomug5uihql45ctnpvn3r5k2b6f2@xxqv4bkh5vbw>
References: <1747950086-1246773-1-git-send-email-tariqt@xxxxxxxxxx>
<1747950086-1246773-3-git-send-email-tariqt@xxxxxxxxxx>
<CAHS8izOUs-CEAzuBrE9rz_X5XHqJmWfrar8VtzrFJrS9=8zQLw@xxxxxxxxxxxxxx>
<c677zoajklqi3dg7wtnyw65licssvxxt3lmz5hvzfw3sm6w32g@pfd2ynqjkyov>
<CAHS8izMM9Hgk12zhoc+ify1MBwepqByHKC3k1gB5daH=ancgqA@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAHS8izMM9Hgk12zhoc+ify1MBwepqByHKC3k1gB5daH=ancgqA@xxxxxxxxxxxxxx>
X-ClientProxiedBy: TL0P290CA0003.ISRP290.PROD.OUTLOOK.COM
(2603:1096:950:5::18) To IA1PR12MB9031.namprd12.prod.outlook.com
(2603:10b6:208:3f9::19)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: IA1PR12MB9031:EE_|CY8PR12MB7564:EE_
X-MS-Office365-Filtering-Correlation-Id: 8aff3af4-03e9-48d5-8d19-08dd9dc7e02b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?MTYzNXpOZnBDbEVFeWQwZ0Z5RzZuRERJMTU3QlM3MFVCRzNCL1pVZ0ZJaHJp?=
=?utf-8?B?NUtONGlZQ2FiNjVldnU5Yi9ycER1UVRCK1JrS1g3d25BblFHOTZsU3RHN3VT?=
=?utf-8?B?S2UweExqS1dPUE90WVBKQ2swK2M0eEZ5bTIzZTNlaUNTdFdYa1VGMzkxcTRW?=
=?utf-8?B?OE1iaCtxUk9SdlR6cTZJVXlNb2RPV1FJbHpPaUdCayt5bzlrVEltTFZGQ0Nq?=
=?utf-8?B?MVpkdVNNN2NzdENXTU4xOVljSktyZkRSUnh4eWRLc3lXbXRNcGZoNjc0VlU5?=
=?utf-8?B?blVLRE10NG5FU1g1SUJjM0RKUU1QODlYQU85a2wvV1JucnVOVFBNd2tVK01u?=
=?utf-8?B?OUhFNzVrQ2M0WWJoSlR0MlJURnNwRlhzeDFvOEJLVjRtT3p1a2xjNzltV0hX?=
=?utf-8?B?VnhKQlpNeWJzUCt5amwzTlNzVFo2Zytsb05YeElxcWJEc3FRb250bjZZUEZP?=
=?utf-8?B?WGRkV2NZSTNPTENRU0ZEdDgvYnplUzhNYm9IbFh3TmNjYm9YcGRkVjNCWERT?=
=?utf-8?B?c2MrMTVtMFp4WXZxVXJ2WHBYdEhxQ01XSWlxalBrSjJVTHNRMnVOSzVSYVNu?=
=?utf-8?B?eUlMdFJjb2Q3TjlySk1GQStFeXloWlBMV2RmOW9GNmIyMW9ZSnpEdUpLVEsw?=
=?utf-8?B?RTJzQ3ZUemdJajAwUnIyVkpQNUxCUGh3TWRVOXRTRG9GdHpMZGZoV0lveHVP?=
=?utf-8?B?TFphMnV4VHJJc1BmbVJ2VDdFdW5ncnlZUUc4dUpKUjd6MmtRTmxMWXo0dTgw?=
=?utf-8?B?ei9ham9KeDNjSFUzc3h0L20xa1g4UlUzbEVuQ2EyaXB6Y210ck1DdE9EVG5o?=
=?utf-8?B?T2RzaGtrMEdqZVBjb3NhV3hIOFNDYmZNNjFYMjA1em91SkFuaUN1YWt4dW9F?=
=?utf-8?B?dVZqTDBmZGo4RVovWkdDeXlzZisxYTNLNWwybzNJMGZ5bE1wMzRHSGJRelBM?=
=?utf-8?B?NGlIdUI5VFhsZ1FlYWpJaVgrZ3N6YUtzdHN0Q0VPOUFpK092MWExbGljaHMz?=
=?utf-8?B?ZEF6eUl6UG9SOXZLVWwxNFhLMmZtRHJnakVaMnR3YWxvVGFyNWFNZWNaaWVE?=
=?utf-8?B?MDd2anFzZ2xuMys5N0VHeFN3dU9pZG51YTVhNGMvTWFIWjVySTN5OGZ2QStJ?=
=?utf-8?B?emw0SEpGYkd4bWRIcHZ5NmM3VVg5SFdpVXNmckRPN2J6T1A4bThZb1FkeXVz?=
=?utf-8?B?bzdmN3p3eTgraDVZTWFQUUtlcXhGTVBRQkhJOGFvR2FzWitNWFRaSVhsdktR?=
=?utf-8?B?OTU5ZFF4Z1FtZ1RoVWo2ZitJSVhhdmptQ3F3VXgyVFZGeUJJNmdqWXBXVk5M?=
=?utf-8?B?TXp5ZUh4emNIVWJ3YkRBZDZwaW5ZZE1CVDZST2RrOXQybDBQZm9uUy9jbzdi?=
=?utf-8?B?cU9QSUZlUVFDVEF0OStQWG9mRHI0am5aR2pkZnNSUzcwekJaenRrdHptS2lR?=
=?utf-8?B?SHVkeEx3NGpPZWpVRHc3M21YSDlLVVpFWDZnZXBMeUVYOXlUWHhUalBGckVk?=
=?utf-8?B?akp5U2Vvd1BaVngrcy9zVm0wUHdWZUFDQjd5Z3QwRVIxZ01FNDlaQjJyTUVk?=
=?utf-8?B?RGwxMjRZeFMyUzFzVGNVL2V0ZlRIUSsxN3ZJRmxqTEowcm90ZysxVmVTbldM?=
=?utf-8?B?RXF4VVcxaW5vSzNFaGRBYVpuTFduaExtTFRhTjVNdWlzVFJBVnFVQlQ1RG83?=
=?utf-8?B?R2g5cUozWXpudUtiQVV3dE0yMjkrcjF5VU9lV0F3UXMzb3lnWFBYeW5KRy9G?=
=?utf-8?B?bDhzeHFDT2pnRkN0cVIrZTRaaXpQaElnclBhS2FNUDFYdDBBNGE0NDdnVWE1?=
=?utf-8?B?OTROakxEckxBQTcxR3BjeUZXQWtiQzBxZFY3M0o5MVJuL3BsMnlhYWIzK2lx?=
=?utf-8?B?K080UkJ3M3JJL1c4SnUwMEJBbmRtZ2FISzFranVjVnlnWGs2SkJzV3VsLzRn?=
=?utf-8?Q?WuQ7/9avS1A=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR12MB9031.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?Q2w2QXlTUjI3M1VVVWo2elF2Y0hDZjBveGg2UEtMTU9NT1BvenNURzJWTXFh?=
=?utf-8?B?K29raW1hT25RSUw5S08rUFZxUTl6SGJqWURLM2FValQ5aTRGUmRVUVdocGRR?=
=?utf-8?B?MGE4NGUxbVNHSnhDdHUyWXV3L2FzUm9US1I5ckpkeXJJdWorL1NmRUgvZzZZ?=
=?utf-8?B?cTR0ZEgyYVRpSDVOZTFNMndOUW4yTDc1VFFlbHdseWpQV1Q5TEpCVWpFZ0J1?=
=?utf-8?B?TnBCL2JYa2c0QlM2OGlxS0oxS0JnTVlaWTloZW5YV1gzdXBNbUtzZ1JMOTdr?=
=?utf-8?B?SnBEeDk0Q1c3bzliK2pIaTFDRVVXcHhScGVDSWZuQjYvREN4TXp3eUF6S2Zp?=
=?utf-8?B?TDI4VUJSdXVySXNqSVZqWHBydEdGcTVwOGJvMWh5bW5pSTh1R2piUmNqczZM?=
=?utf-8?B?cDcyaUhFZmo2NGVIYU1kZGhsWDZFaEx6bWhkQThwOS9LMmJTamFYdnRnSUhP?=
=?utf-8?B?RUJPUjZrOFJ5REVDZURLMHl1elc3cmdrdXcwM0NOQmVOaTdwY3N3OUxuTisx?=
=?utf-8?B?YzdSMFR3Z2I1MExKZ1pmUjFMTWtmbTg1N05RaUlSb3A3T3BHQkkydEFEL1Fz?=
=?utf-8?B?QW4xdTdMNFJKTThSekZFZkp2RjA4SU9iQTl5eXNxRmw4YysyK0tjbWtNUi81?=
=?utf-8?B?a2NZNjRCanV2WFE3ajVJc2JUd0czN0ZVVzF1V2h3c3hqK3ppT3RKMUNZWnpu?=
=?utf-8?B?OFA2RDhDZGZpR2RzU0hSZXpPVlZGMnl4WnFkU09oUVBQcG5pWUVDSFVqVWdN?=
=?utf-8?B?enZRclVZNFlwYjlaUnhsMkxibWRHWURNanpoNlA4M1FrZzFqS2YrbW5CeEFs?=
=?utf-8?B?N2hIMlBmWjdMQjUzMHJuQUdoL3FrSGpRNG1INmwrS3NZKzhlWG5sVG9nV09M?=
=?utf-8?B?V1JxcEpQc3hHdGFqalFFdUxTdTNJc2plTmpmNTQvVXFMQU10aFg4Qlo3QVRu?=
=?utf-8?B?V2dxU0JvMzR2YUdjMXZqMktHRWtROGd5Q0g0eXZZcHBBZDRqazB0UTJtN3lO?=
=?utf-8?B?ZWhuaDFmaW9PeS9aQ3hvdGt5TlM1Y2QvUklFWG1jQWJIZHNoZ253Ymc4alFJ?=
=?utf-8?B?eW1NaEFTYTFCcUkzb25uc1R0VnBVOFJKR1JTM2tZMmdtaG9LWXE3ZlE0cklB?=
=?utf-8?B?bWE5SDNEZVRaeXFBQXNJUDlqWjVwK1ZidWZCNkZ6alBpVUZDaFd0TDJoWGFQ?=
=?utf-8?B?VnVaMVU2Nytpd1dHaGZkcFVIcXNWQUhQaFhhdHp0OVZyWndqa1pnaEJOMms5?=
=?utf-8?B?UEZ0ZWtpYnR1RFhxanZSZXRnNGFjS0lLVEV2RXp6dEhXdTZveFNMdllTSUx4?=
=?utf-8?B?TTVCbzY2TUZxcXdLY1gzaEhWWHRCYXF1VHphUHRwKzh3aDJjTktnTmswVVRK?=
=?utf-8?B?TUM2cGxqTGxpa3RtbHZGcXJPZ0gxVHdNUEhNcU5ocC9oN3FNZ0dSNEVrQjdn?=
=?utf-8?B?NUlpbUlqQllEdUYrVXBIU0JDOVkxVEZOeUNqbVp6NmZQWU8zMTZPcGNCT0RZ?=
=?utf-8?B?ZFRkZE1TeWlKOVRoYThPVGlpQmU3elQrL1p1QnpmL3BuamdSalNlMFRsU0hw?=
=?utf-8?B?UXRBNExBTXl2V3BzMFZ3V0ljQS9aRXhoVVNtNmVRM3hjVlJiRk1hVVNTbnJQ?=
=?utf-8?B?VU5ZZFUwS2tnOGZQMzlTSGlDWXlPNW5wZXBrUFhYRUYraHlZMmhyUE5mYUJK?=
=?utf-8?B?UTdSZTBhWlpxbVFUVFJaMi9ycHQwN0RBYS9mdjlrM1VEeitTUis5cXA1cXgx?=
=?utf-8?B?VEtMNnVLejJGQVJ5RStYU2tmdld6MURYeEZnTkpxampoQm8xOXk3aDhHNjV0?=
=?utf-8?B?eDlMd2tEcWg4RzJidThZb3QzYlp0WTJQdkdJcU9DRE5HSDZMVkR4ZHdpenJu?=
=?utf-8?B?OFhTSDY2MzJCenFEVEh4TjA0L0NYd1VHZFZwcU9UZk9aWSt0WWpQeTE0eU1h?=
=?utf-8?B?NWNqY09EUzFYOEZRN2FvZzZzWmtSMEdRckJKQjRCZWFpQVN0b0VKRGNYWDgx?=
=?utf-8?B?UjZXWWcvdlRWV3ZTWXdycTN0ZVhHWVdGUi93MzdIeVppL3FsNHhSNmV1RTh4?=
=?utf-8?B?NXE4NG9CUGh4anRPclREWUVreGRLei9reUsxWWZRQktDRWpsYUp1dXJMSEVy?=
=?utf-8?Q?e1483u5WPYNKcWmgf6q/pehJ4?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8aff3af4-03e9-48d5-8d19-08dd9dc7e02b
X-MS-Exchange-CrossTenant-AuthSource: IA1PR12MB9031.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 09:13:14.4328
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5kN1eHhTM4q7oCdtYQVIeZq++ns+iK2F70y/Jqg4a/PoX28lmfmOeSRLNn6cJ0SnPs9FUbaEZNf1f2i3QWY3tw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7564
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Sun, May 25, 2025 at 10:44:43AM -0700, Mina Almasry wrote:
> On Sun, May 25, 2025 at 6:04â?¯AM Dragos Tatulea <dtatulea@xxxxxxxxxx> wrote:
> >
> > On Thu, May 22, 2025 at 04:09:35PM -0700, Mina Almasry wrote:
> > > On Thu, May 22, 2025 at 2:43â?¯PM Tariq Toukan <tariqt@xxxxxxxxxx> wrote:
> > > >
> > > > From: Dragos Tatulea <dtatulea@xxxxxxxxxx>
> > > >
> > > > Allow drivers that have moved over to netmem to do fragment coalescing.
> > > >
> > > > Signed-off-by: Dragos Tatulea <dtatulea@xxxxxxxxxx>
> > > > Signed-off-by: Cosmin Ratiu <cratiu@xxxxxxxxxx>
> > > > Signed-off-by: Tariq Toukan <tariqt@xxxxxxxxxx>
> > > > ---
> > > > include/linux/skbuff.h | 12 ++++++++++++
> > > > 1 file changed, 12 insertions(+)
> > > >
> > > > diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
> > > > index 5520524c93bf..e8e2860183b4 100644
> > > > --- a/include/linux/skbuff.h
> > > > +++ b/include/linux/skbuff.h
> > > > @@ -3887,6 +3887,18 @@ static inline bool skb_can_coalesce(struct sk_buff *skb, int i,
> > > > return false;
> > > > }
> > > >
> > > > +static inline bool skb_can_coalesce_netmem(struct sk_buff *skb, int i,
> > > > + const netmem_ref netmem, int off)
> > > > +{
> > > > + if (i) {
> > > > + const skb_frag_t *frag = &skb_shinfo(skb)->frags[i - 1];
> > > > +
> > > > + return netmem == skb_frag_netmem(frag) &&
> > > > + off == skb_frag_off(frag) + skb_frag_size(frag);
> > > > + }
> > > > + return false;
> > > > +}
> > > > +
> > >
> > > Can we limit the code duplication by changing skb_can_coalesce to call
> > > skb_can_coalesce_netmem? Or is that too bad for perf?
> > >
> > > static inline bool skb_can_coalesce(struct sk_buff *skb, int i, const
> > > struct page *page, int off) {
> > > skb_can_coalesce_netmem(skb, i, page_to_netmem(page), off);
> > > }
> > >
> > > It's always safe to cast a page to netmem.
> > >
> > I think it makes sense and I don't see an issue with perf as everything
> > stays inline and the cast should be free.
> >
> > As netmems are used only for rx and skb_zcopy() seems to be used
> > only for tx (IIUC), maybe it makes sense to keep the skb_zcopy() check
> > within skb_can_coalesce(). Like below. Any thoughts?
> >
>
> [net|dev]mems can now be in the TX path too:
> https://lore.kernel.org/netdev/20250508004830.4100853-1-almasrymina@xxxxxxxxxx/
>
> And even without explicit TX support, IIUC from Kuba RX packets can
> always be looped back to the TX path via forwarding or tc and what
> not. So let's leave the skb_zcopy check in the common path for now
> unless we're sure the move is safe.
>
Makes sense. Will be done.
Thanks,
Dragos
Return-Path: <linux-kernel+bounces-665196-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6A07341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:14:49 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 6523018860F7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:15:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DAD2027511B;
Wed, 28 May 2025 09:14:30 +0000 (UTC)
Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 82D9E20CCD0;
Wed, 28 May 2025 09:14:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=166.125.252.92
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423670; cv=none; b=ie3tIrygHEdL/4yoV4D+omHGARXVjmuXL/6yRpebnrRcdQROM75tTXO0Usp3wyuVxGK6fcE03aiSHYK7itKwAP2dautu0G6vYsksFuQSpiVxbRF3snACbiYyWPwb48EyigeMHxQpOs/96L1bmyUmJJ7mK0lImOYJjMMqZxyDZiE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423670; c=relaxed/simple;
bh=zyvjLg/hY8UCWc5yJms8u/bhLNJ5o5BQnWkTrB0wzlQ=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=mfy6GTm65cNrZZeTu4M1qXWJdMMy2K6D5YM0qsNwjh+fks60ZvWUMXStzCLqAFfQF/4szck/47M4VRu/KOV7DHTIuf+Z3xqyow3T8QF+RnXSo9Eknwytvb81ROPkrldRQhmqVO2oLgoxuWBLt82+Jcv5E8joHn2E0N4ukKanuB0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com; spf=pass smtp.mailfrom=sk.com; arc=none smtp.client-ip=166.125.252.92
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sk.com
X-AuditID: a67dfc5b-681ff7000002311f-71-6836d3edca26
Date: Wed, 28 May 2025 18:14:16 +0900
From: Byungchul Park <byungchul@xxxxxx>
To: Pavel Begunkov <asml.silence@xxxxxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx,
ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx, toke@xxxxxxxxxx,
tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx,
daniel@xxxxxxxxxxxxx, david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx,
Liam.Howlett@xxxxxxxxxx, vbabka@xxxxxxx, rppt@xxxxxxxxxx,
surenb@xxxxxxxxxx, mhocko@xxxxxxxx, horms@xxxxxxxxxx,
linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access
page->pp_magic in page_pool_page_is_pp()
Message-ID: <20250528091416.GA54984@xxxxxxxxxxxxxxxxxxx>
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
<a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
<20250528081403.GA28116@xxxxxxxxxxxxxxxxxxx>
<06fca2f8-39f6-4abb-8e0d-bef373d9be0f@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <06fca2f8-39f6-4abb-8e0d-bef373d9be0f@xxxxxxxxx>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Brightmail-Tracker: H4sIAAAAAAAAA02SWUwTYRDH83W3u0ulca2oH1RRildQ8YiSeUAl8vL5YGJijMG7ymqrXCmH
YELkDGAACWqCpZgSBLGS1NTaghKPioDxIkWloAIBQVGQyBWQyxYk8vbLzH/mNw/DUbISsRen
jogRNBHKMAUjoSV97sWb+hoDVFs+3gLQGSsYuDsaD7fbK8WgM1gQDI19YmGwpo6BkuIRCnTv
0mgYNv6hoKu2g4W2sm4aqjOsFHRcqWcgJ22cgpTKchE0WHLFcO1PKQXWpHYWGh/qGGitmBZD
ty2HhpfaOzS05QZBrX4pjLzqRVBjtIpgJLuIgat2PQOdaW0I7M87aChMzkVgfOwQw/iojgny
IeY7zSJSpf3CEr0pltwv9yOXHXaKmAxZDDEN5LPk88dqhtQXjNOkqnJQRHJSfzHkd1cLTfof
f2CI0fyBJq/1NSwZNHnv5w9LAkOFMHWcoNm866RE1V9fx0Zdlce35b9BSajL4zJy4zC/HTus
r9EcT02WsS6m+TW4WWuiXczw67DDMUa52IPfgH822ZwZCUfxvWJszLDMhBbz53B2yzfGxVIe
cG3Ze5ErJOP7RDi5MP1fYxF+eePrzADl3Dpx0+7cyjlZjm9PcbPllTj1QeGMzI3fiXsmhsQu
XsL74qeWOtHsoWYOP8qSzrInflbuoPPQIu08g3aeQfvfoJ1n0CPagGTqiLhwpTpsu78qIUId
7386MtyEnK9TljhxpBINNBywIZ5DCncpubdDJRMr46ITwm0Ic5TCQ5qyO0Alk4YqEy4KmsgT
mtgwIdqG5BytWCbdNnIhVMafVcYI5wUhStDMdUWcm1cS8gq3q/L2fF9Vs7xn78F99xuHCzJ9
ltYXxtrk6zMNrwKC7a2TZ594nnlr3Hg0sujQ2KnjDWyidONaWr7aN8ZwqaR3gWOt58KowA2n
OGv1ihCPQPNJ9z2Z09dDzN13j8ssqQHHvD+r6krzzcExVRfzmnL6O9t3mV74/AhJHz6vLnW0
EgUdrVJu9aM00cq/tzO2DTYDAAA=
X-Brightmail-Tracker: H4sIAAAAAAAAA02SfUzMcRzH9/09dzp+ncNv9Ye5mKdVGrWPkfzFdzbGHx7mYRz91l0q3FXK
ZjsVrfREbPw6HObSYWdX6lhrdj0Pk8vDKTpKySqFaj3nLkz/vfZ5vz+vzz8fjlRk0P6cNj5B
1MWrY1WMjJJtW5cW1NsUrlklFS8Go/U+A/eGk6Hok50Go6UMwcBICwu/qusYuH1ziATjy3QK
Bq2jJHTUtrHgNndSUJFRTkJbXj0DOeljJKTa7xJQda2BhsayXBoujd4hodzwiYWmJ0YGWu9P
0dDpyKGgQSqmwJ27EWpN82HoWQ+Cams5AUPZ1xgocJoYaE93I3BWtVFQeCYXgbXSRcPYsJHZ
qMKlxe8J/Fj6yGKTLRGX3F2Bs1xOEtssmQy2/bzI4g9vKxhcf2WMwo/tvwick/adwT86minc
V/mGwbe7+glsLX1D4eemana7317Z+igxVpsk6kI2HJJp+urr2OMFAcnuiy+QAXUos5APJ/Br
hMkJM+tlil8ivJdslJcZfqngco2QXlbyK4Xudw5PR8aRfA8tWDPKpktz+Rghu/kr42U5D0Kt
+TXhLSn4XkI4U3j2b+AnNFz9Mr1Aeqzj150eK+fhAKFokvszXiikPSqcPubDRwjfxgdoL8/j
A4WnZXVEPpotzTBJM0zSf5M0w2RClAUptfFJcWptbFiw/qgmJV6bHHzkWJwNed7DfHr8gh0N
NG12IJ5DKl85fhimUdDqJH1KnAMJHKlSylMjwzUKeZQ65ZSoO3ZQlxgr6h0ogKNUC+RbdouH
FHy0OkE8KorHRd2/lOB8/A1oB+UMeR2haL+Vv2sixrC6u29rjzGwJszv3DCdGbo8z1wkxa13
mZJ1kZpNs1r6oxNPcMsCEwxRa+salR8O+I4sku+2X36VtWOOJa+LbGqdyK55UfJgi292UcHJ
qiN5lj07gyr6DdC1H7mnzreG3NjXMBxwPZwV/QcPxwRRkZ8vm1SUXqMOXUHq9Orf/1LMbxoD
AAA=
X-CFilter-Loop: Reflected
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 10:07:52AM +0100, Pavel Begunkov wrote:
> On 5/28/25 09:14, Byungchul Park wrote:
> > On Wed, May 28, 2025 at 08:51:47AM +0100, Pavel Begunkov wrote:
> > > On 5/26/25 03:23, Byungchul Park wrote:
> > > > On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
> > > > > On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
> > > > > >
> > > > > > To simplify struct page, the effort to seperate its own descriptor from
> > > > > > struct page is required and the work for page pool is on going.
> > > > > >
> > > > > > To achieve that, all the code should avoid accessing page pool members
> > > > > > of struct page directly, but use safe APIs for the purpose.
> > > > > >
> > > > > > Use netmem_is_pp() instead of directly accessing page->pp_magic in
> > > > > > page_pool_page_is_pp().
> > > > > >
> > > > > > Signed-off-by: Byungchul Park <byungchul@xxxxxx>
> > > > > > ---
> > > > > > include/linux/mm.h | 5 +----
> > > > > > net/core/page_pool.c | 5 +++++
> > > > > > 2 files changed, 6 insertions(+), 4 deletions(-)
> > > > > >
> > > > > > diff --git a/include/linux/mm.h b/include/linux/mm.h
> > > > > > index 8dc012e84033..3f7c80fb73ce 100644
> > > > > > --- a/include/linux/mm.h
> > > > > > +++ b/include/linux/mm.h
> > > > > > @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
> > > > > > #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
> > > > > >
> > > > > > #ifdef CONFIG_PAGE_POOL
> > > > > > -static inline bool page_pool_page_is_pp(struct page *page)
> > > > > > -{
> > > > > > - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
> > > > > > -}
> > > > >
> > > > > I vote for keeping this function as-is (do not convert it to netmem),
> > > > > and instead modify it to access page->netmem_desc->pp_magic.
> > > >
> > > > Once the page pool fields are removed from struct page, struct page will
> > > > have neither struct netmem_desc nor the fields..
> > > >
> > > > So it's unevitable to cast it to netmem_desc in order to refer to
> > > > pp_magic. Again, pp_magic is no longer associated to struct page.
> > > >
> > > > Thoughts?
> > >
> > > Once the indirection / page shrinking is realized, the page is
> > > supposed to have a type field, isn't it? And all pp_magic trickery
> > > will be replaced with something like
> > >
> > > page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; }
> >
> > Agree, but we need a temporary solution until then. I will use the
> > following way for now:
>
> The question is what is the problem that you need another temporary
> solution? If, for example, we go the placeholder way, page_pool_page_is_pp()
I prefer using the place-holder, but Matthew does not. I explained it:
https://lore.kernel.org/all/20250528013145.GB2986@xxxxxxxxxxxxxxxxxxx/
Now, I'm going with the same way as the other approaches e.g. ptdesc.
Byungchul
> can continue using page->netmem_desc->pp_magic as before, and mm folks
> will fix it up to page->type when it's time for that. And the compiler
> will help by failing compilation if forgotten. You should be able to do
> the same with the overlay option.
>
> And, AFAIU, they want to remove/move the lru field in the same way?
> In which case we'll get the same problem and need to re-alias it to
> something else.
>
> --
> Pavel Begunkov
Return-Path: <linux-kernel+bounces-665197-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5E8B841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:15:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 654533AB40E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:15:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2017D274FFD;
Wed, 28 May 2025 09:15:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="pn4kTPQj"
Received: from out-186.mta0.migadu.com (out-186.mta0.migadu.com [91.218.175.186])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89CCD2750FA
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:15:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.186
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423723; cv=none; b=VT+qKKLTcBU7h0xwxK/JjcxtNeubMEbSc35TLdJs1sjZZGtgGbtDpewN5+fvfpnezRURhhIMnP5r5wec2fKgYl7lpx2x/c6IeDn5Tiogbgd9/t/5KKRhhUzCV06P/qy91WKpZ8fSxhqWsJ+U4mPbyUw6XM3uaooynTroKPajOYo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423723; c=relaxed/simple;
bh=4cXf7MErAkLA9U3B2oNG6s7tbUnnuq7wfLX8Cx+1mvM=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=H1uWw7KIPfpmNQAKCbcrmLeo/AH846cpErVHqLsTjr57sqcKlCX2CDlndEopC7H+Pvp6GgFmzjlXV76RtWknCUivRKIlWCMpfxszdaag0t2EoXQaYzm324uj7Q4KAdrEc4SnJAFLKa/EBkWSPEaM4n5jZdzxcAvvRadA3hNIln0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=pn4kTPQj; arc=none smtp.client-ip=91.218.175.186
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Message-ID: <0b328692-f333-4bba-9572-6f3c86dbed29@xxxxxxxxx>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1748423709;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=FI9HKlKAfdwWrEKUw5etibdxZ+5o3KFvUbDhmI3SbF0=;
b=pn4kTPQjC7e1P+nXW2gDru2pUb+AApmOIFcvMaQQcceHjVel2fhXM4qGNuOjhIe8RJ3Tuh
h/pNN3yQAx9UsrZwpptM2jrubF5d11fQiql17wRMxC5c7x1plULl8WB2aidGKwNaCq3y3D
+NCJy9gWuRc8lQu3Isla4IudqVTf/Mg=
Date: Wed, 28 May 2025 17:14:16 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Subject: Re: [PATCH v10 0/5] Add Loongson Security Engine chip driver
To: Huacai Chen <chenhuacai@xxxxxxxxxx>, Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx,
jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx>
<CAAhV-H7hBksA2P+vfMbpDVnbjW1Mo09Out_wOQLgLRXPLaFCfA@xxxxxxxxxxxxxx>
<cda7ef56-87b3-6594-c2b6-2a4f5a1b63ce@xxxxxxxxxxx>
<CAAhV-H557CLtoF23nbRQaoDPdzuM5xgsS-+-1p_VeX0OreG2vQ@xxxxxxxxxxxxxx>
Content-Language: en-US
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Yanteng Si <si.yanteng@xxxxxxxxx>
In-Reply-To: <CAAhV-H557CLtoF23nbRQaoDPdzuM5xgsS-+-1p_VeX0OreG2vQ@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
å?¨ 5/28/25 4:17 PM, Huacai Chen å??é??:
> On Wed, May 28, 2025 at 4:06â?¯PM Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx> wrote:
>>
>>
>> å?¨ 2025/5/28 ä¸?å??3:17, Huacai Chen å??é??:
>>> Hi, Qunqin,
>>>
>>> As I said before, why the patch "MAINTAINERS: Add entry for Loongson
>>> Security Module driver" is missing?
>>
>> Hi, Huacai
>>
>> https://lore.kernel.org/all/8e55801a-a46e-58d5-cf84-2ee8a733df9a@xxxxxxxxxxx/
> Sorry, I missed this email. But if you put all files in one entry, you
> can merge Patch-3 and Patch-5 as the last patch (then you will also
> not meet the 5 patches limit).
We are cutting the foot to fit the shoe. Sigh...
Thanks,
Yanteng
>
> Huacai
>
>>
>> Thanks,
>>
>> Qunqin.
>>
>>>
>>> Huacai
Return-Path: <linux-kernel+bounces-665198-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 97C8341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:16:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 51C29188E1D3
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:16:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5379C2522A7;
Wed, 28 May 2025 09:16:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="nvHJMyo4"
Received: from out-187.mta1.migadu.com (out-187.mta1.migadu.com [95.215.58.187])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0B3771ACEAC
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:16:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.187
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423792; cv=none; b=O8TzjgnRNae1h9Bu6CYW3KHGNNcJZDtf73AcJCCe4jl2Nr2uz6Cm4fpjiyuHaEZYdAa/m0hJnYdnhXzUXOn7eptAXNJ65/zm0GhTCYrhWoMzhz6EFAqdaMumcik51QmPywpWv1cnczWZ51NfTJXah670OO8V7ueOa53t8rgOgqk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423792; c=relaxed/simple;
bh=qahWzOC9XfJSDsBM1Z15UHDUGAcWCWI7sJ8U8vqAHZM=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=TwDik3Pmg2xihHKA+Wq4dkN49R6v206fwcqsp+UsVXxCc1PO5wRlIdQ8bnxEudwJXNmQvpAdDtklr6ReDMVfEvZuVuzO4Sx9wod2P7YBtu3e5rxQGXMbexvxjDYrsjRQ4NywP+uf/tZ8mGCo+4o2Rswwb+xP8sbqdQJ+6L9DhGw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=nvHJMyo4; arc=none smtp.client-ip=95.215.58.187
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1748423776;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:
content-transfer-encoding:content-transfer-encoding;
bh=Re+0CfHFPp2+XEq5Eas2GB9V8vWyFYXfz2FQ+a6YE58=;
b=nvHJMyo43wymkPFRmv4HWt/fOCHgseR+XsxmVgRVGRQg7J/UXcabhdvI31jeyPMQ4QjFrF
00DfZ4QD4aB2xdJ8OSQ1n1WT7xFbZVUxS8ZUN7ZSSYzGZxHyfypyAxYzkgl//I+cEe2VBF
dlT4QBmRvemQv6M1NfwKy1sd69Z6JFM=
From: Ye Liu <ye.liu@xxxxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx
Cc: linux-debuggers@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx,
linux-toolchains@xxxxxxxxxxxxxxx,
osandov@xxxxxxxxxxx,
paulmck@xxxxxxxxxx,
sweettea-kernel@xxxxxxxxxx,
liuye@xxxxxxxxxx,
ye.liu@xxxxxxxxx,
fweimer@xxxxxxxxxx,
sj@xxxxxxxxxx
Subject: [PATCH v4] tools/mm: Add script to display page state for a given PID and VADDR
Date: Wed, 28 May 2025 17:15:43 +0800
Message-Id: <20250528091543.355386-1-ye.liu@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
From: Ye Liu <liuye@xxxxxxxxxx>
Introduces a new drgn script, `show_page_info.py`, which allows users
to analyze the state of a page given a process ID (PID) and a virtual
address (VADDR). This can help kernel developers or debuggers easily
inspect page-related information in a live kernel or vmcore.
The script extracts information such as the page flags, mapping, and
other metadata relevant to diagnosing memory issues.
Output example:
sudo ./show_page_info.py 1 0x7fb3eb1b2000
PID: 1 Comm: systemd mm: 0xffff8d27279f9cc0
Raw: 0017ffffc000416c fffff31105a61b08 fffff31105a63608 ffff8d27121326a8
Raw: 0000000000000000 ffff8d271b9dcc40 0000002500000007 ffff8d2711f12700
User Virtual Address: 0x7fb3eb1b2000
Page Address: 0xfffff31106356a00
Page Flags: PG_referenced|PG_uptodate|PG_lru|PG_head|PG_active|
PG_private|PG_reported|PG_has_hwpoisoned
Page Size: 4096
Page PFN: 0x18d5a8
Page Physical: 0x18d5a8000
Page Virtual: 0xffff8d274d5a8000
Page Refcount: 37
Page Mapcount: 7
Page Index: 0x0
Page Memcg Data: 0xffff8d2711f12700
Memcg Name: init.scope
Memcg Path: /sys/fs/cgroup/memory/init.scope
Page Mapping: 0xffff8d27121326a8
Page Anon/File: File
Page VMA: 0xffff8d26cac47600
VMA Start: 0x7fb3eb1b2000
VMA End: 0x7fb3eb1b6000
This page is part of a compound page.
This page is the head page of a compound page.
Head Page: 0xfffff31106356a00
Compound Order: 2
Number of Pages: 4
Signed-off-by: Ye Liu <liuye@xxxxxxxxxx>
Changes in v4:
- Add error and exception handling.
- Adjust the way to obtain PAGE_SIZE.
- Fix the acquisition of memcg.
- Link to v3:https://lore.kernel.org/all/20250423014850.344501-1-ye.liu@xxxxxxxxx/
Changes in v3:
- Adjust display style.
- Link to v2:https://lore.kernel.org/all/20250421080748.114750-1-ye.liu@xxxxxxxxx/
Changes in v2:
- Move the show_page_info.py file to tools/mm.
- Link to v1: https://lore.kernel.org/all/20250415075024.248232-1-ye.liu@xxxxxxxxx/
---
MAINTAINERS | 5 ++
tools/mm/show_page_info.py | 152 +++++++++++++++++++++++++++++++++++++
2 files changed, 157 insertions(+)
create mode 100755 tools/mm/show_page_info.py
diff --git a/MAINTAINERS b/MAINTAINERS
index 0cb9e55021cb..3cbd46bf1eab 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18726,6 +18726,11 @@ F: Documentation/mm/page_table_check.rst
F: include/linux/page_table_check.h
F: mm/page_table_check.c
+PAGE STATE DEBUG SCRIPT
+M: Ye Liu <liuye@xxxxxxxxxx>
+S: Maintained
+F: tools/mm/show_page_info.py
+
PANASONIC LAPTOP ACPI EXTRAS DRIVER
M: Kenneth Chan <kenneth.t.chan@xxxxxxxxx>
L: platform-driver-x86@xxxxxxxxxxxxxxx
diff --git a/tools/mm/show_page_info.py b/tools/mm/show_page_info.py
new file mode 100755
index 000000000000..5c46501e24f4
--- /dev/null
+++ b/tools/mm/show_page_info.py
@@ -0,0 +1,152 @@
+#!/usr/bin/env drgn
+# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (C) 2025 Ye Liu <liuye@xxxxxxxxxx>
+
+import argparse
+from drgn import Object, FaultError
+from drgn.helpers.linux import find_task, follow_page, page_size
+from drgn.helpers.linux.mm import (
+ decode_page_flags, page_to_pfn, page_to_phys, page_to_virt, vma_find,
+ PageSlab, PageCompound, PageHead, PageTail, compound_head, compound_order, compound_nr
+)
+from drgn.helpers.linux.cgroup import cgroup_name, cgroup_path
+
+DESC = """
+This is a drgn script to show the page state.
+For more info on drgn, visit https://github.com/osandov/drgn.
+"""
+
+MEMCG_DATA_OBJEXTS = 1 << 0
+MEMCG_DATA_KMEM = 1 << 1
+__NR_MEMCG_DATA_FLAGS = 1 << 2
+
+def format_page_data(data):
+ """Format raw page data into a readable hex dump."""
+ try:
+ chunks = [data[i:i+8] for i in range(0, len(data), 8)]
+ hex_chunks = ["".join(f"{b:02x}" for b in chunk[::-1]) for chunk in chunks]
+ lines = [" ".join(hex_chunks[i:i+4]) for i in range(0, len(hex_chunks), 4)]
+ return "\n".join(f"Raw: {line}" for line in lines)
+ except Exception as e:
+ return f"Error formatting page data: {e}"
+
+def get_memcg_info(page):
+ """Retrieve memory cgroup information for a page."""
+ try:
+ memcg_data = page.memcg_data.value_()
+ if memcg_data & MEMCG_DATA_OBJEXTS:
+ slabobj_ext = Object(prog, "struct slabobj_ext *", address=memcg_data & ~(__NR_MEMCG_DATA_FLAGS - 1))
+ memcg_value = slabobj_ext.objcg.memcg.value_()
+ elif memcg_data & MEMCG_DATA_KMEM:
+ objcg = Object(prog, "struct obj_cgroup *", address=memcg_data & ~(__NR_MEMCG_DATA_FLAGS - 1))
+ memcg_value = objcg.memcg.value_()
+ else:
+ memcg_value = memcg_data & ~(__NR_MEMCG_DATA_FLAGS - 1)
+
+ if memcg_value == 0:
+ return "none", "/sys/fs/cgroup/memory/"
+
+ memcg = Object(prog, "struct mem_cgroup *", address=memcg_value)
+ cgrp = memcg.css.cgroup
+ return cgroup_name(cgrp).decode(), f"/sys/fs/cgroup/memory{cgroup_path(cgrp).decode()}"
+ except FaultError as e:
+ return "unknown", f"Error retrieving memcg info: {e}"
+ except Exception as e:
+ return "unknown", f"Unexpected error: {e}"
+
+def show_page_state(page, addr, mm, pid, task):
+ """Display detailed information about a page."""
+ try:
+ print(f'PID: {pid} Comm: {task.comm.string_().decode()} mm: {hex(mm)}')
+ try:
+ print(format_page_data(prog.read(page.value_(), 64)))
+ except FaultError as e:
+ print(f"Error reading page data: {e}")
+
+ fields = {
+ "User Virtual Address": hex(addr),
+ "Page Address": hex(page.value_()),
+ "Page Flags": decode_page_flags(page),
+ "Page Size": prog["PAGE_SIZE"].value_(),
+ "Page PFN": hex(page_to_pfn(page).value_()),
+ "Page Physical": hex(page_to_phys(page).value_()),
+ "Page Virtual": hex(page_to_virt(page).value_()),
+ "Page Refcount": page._refcount.counter.value_(),
+ "Page Mapcount": page._mapcount.counter.value_(),
+ "Page Index": hex(page.__folio_index.value_()),
+ "Page Memcg Data": hex(page.memcg_data.value_()),
+ }
+
+ memcg_name, memcg_path = get_memcg_info(page)
+ fields["Memcg Name"] = memcg_name
+ fields["Memcg Path"] = memcg_path
+ fields["Page Mapping"] = hex(page.mapping.value_())
+ fields["Page Anon/File"] = "Anon" if page.mapping.value_() & 0x1 else "File"
+
+ try:
+ vma = vma_find(mm, addr)
+ fields["Page VMA"] = hex(vma.value_())
+ fields["VMA Start"] = hex(vma.vm_start.value_())
+ fields["VMA End"] = hex(vma.vm_end.value_())
+ except FaultError as e:
+ fields["Page VMA"] = "Unavailable"
+ fields["VMA Start"] = "Unavailable"
+ fields["VMA End"] = "Unavailable"
+ print(f"Error retrieving VMA information: {e}")
+
+ # Calculate the maximum field name length for alignment
+ max_field_len = max(len(field) for field in fields)
+
+ # Print aligned fields
+ for field, value in fields.items():
+ print(f"{field}:".ljust(max_field_len + 2) + f"{value}")
+
+ # Additional information about the page
+ if PageSlab(page):
+ print("This page belongs to the slab allocator.")
+
+ if PageCompound(page):
+ print("This page is part of a compound page.")
+ if PageHead(page):
+ print("This page is the head page of a compound page.")
+ if PageTail(page):
+ print("This page is the tail page of a compound page.")
+ print(f"{'Head Page:'.ljust(max_field_len + 2)}{hex(compound_head(page).value_())}")
+ print(f"{'Compound Order:'.ljust(max_field_len + 2)}{compound_order(page).value_()}")
+ print(f"{'Number of Pages:'.ljust(max_field_len + 2)}{compound_nr(page).value_()}")
+ else:
+ print("This page is not part of a compound page.")
+ except FaultError as e:
+ print(f"Error accessing page state: {e}")
+ except Exception as e:
+ print(f"Unexpected error: {e}")
+
+def main():
+ """Main function to parse arguments and display page state."""
+ parser = argparse.ArgumentParser(description=DESC, formatter_class=argparse.RawTextHelpFormatter)
+ parser.add_argument('pid', metavar='PID', type=int, help='Target process ID (PID)')
+ parser.add_argument('vaddr', metavar='VADDR', type=str, help='Target virtual address in hexadecimal format (e.g., 0x7fff1234abcd)')
+ args = parser.parse_args()
+
+ try:
+ vaddr = int(args.vaddr, 16)
+ except ValueError:
+ print(f"Error: Invalid virtual address format: {args.vaddr}")
+ return
+
+ try:
+ task = find_task(args.pid)
+ mm = task.mm
+ page = follow_page(mm, vaddr)
+
+ if page:
+ show_page_state(page, vaddr, mm, args.pid, task)
+ else:
+ print(f"Address {hex(vaddr)} is not mapped.")
+ except FaultError as e:
+ print(f"Error accessing task or memory: {e}")
+ except Exception as e:
+ print(f"Unexpected error: {e}")
+
+if __name__ == "__main__":
+ main()
--
2.25.1
Return-Path: <linux-kernel+bounces-665199-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 435CC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:17:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id AEA8B7AD89C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:15:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8D277275863;
Wed, 28 May 2025 09:16:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="AVq7ARmD"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B00661ACEAC;
Wed, 28 May 2025 09:16:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423814; cv=none; b=b3jAhYheWQgxpCdL56Xvs9bsNFVxqk8qa/86ywBedkwNXoaPncMlilxa2Z3ryA1tP/x+RrwFsCQwxanl/zOcwVRjx7EOFYxAlP5PCpeT6q3iizJEAH6SpGLnbFSNk/DvJSaNguJAtfpKKpeaXMqNtf9LpuegqAZb29neGsWASx0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423814; c=relaxed/simple;
bh=E1VZlDayTeelg1Va8WrCJ2LwubtDxVbGxcQBYhQLuH4=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=dqlDrOyTjl8+LcZrjCyDdtsVhGHsXntKPAqrkvGQtQS6h042VQT5HCNogz8e9Nx7bqKvjPFmidC/hehYUKxJyG6LbfNj8Mln/tihhF8Yw4gg3kRdMZOQuRCGpSGgi65GmyOW7X4Oq1zTB5DUw9hWNDGnyOsjyYNzClggnI/VQH4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=AVq7ARmD; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 88697C4CEED;
Wed, 28 May 2025 09:16:52 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
s=korg; t=1748423813;
bh=E1VZlDayTeelg1Va8WrCJ2LwubtDxVbGxcQBYhQLuH4=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=AVq7ARmDM8BqK4z0G9TBY50sVK2I71L2ScZQ/xaP23Yn+1bmLKuOJYL6MGR0QHqH8
YCoYun0bPvXSHEx3pVw2BifFv4XIv3JULTGhQm87rocfMtUlVx0m/vHge8NBkxhseF
OkkqIpOsAaToHIisnXY3FlTV1mNfd9G4ZVvXK0tc=
Date: Wed, 28 May 2025 11:14:58 +0200
From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
To: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
Cc: mathias.nyman@xxxxxxxxx, gargaditya08@xxxxxxxx, kekrby@xxxxxxxxx,
jeff.johnson@xxxxxxxxxxxxxxxx, quic_zijuhu@xxxxxxxxxxx,
andriy.shevchenko@xxxxxxxxxxxxxxx, ben@xxxxxxxxxxxxxxx,
broonie@xxxxxxxxxx, quic_wcheng@xxxxxxxxxxx,
krzysztof.kozlowski@xxxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v13 2/4] usb: add apis for offload usage tracking
Message-ID: <2025052808-shown-sitting-1ff9@gregkh>
References: <20250528090849.2095085-1-guanyulin@xxxxxxxxxx>
<20250528090849.2095085-3-guanyulin@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528090849.2095085-3-guanyulin@xxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 09:04:07AM +0000, Guan-Yu Lin wrote:
> Introduce offload_usage and corresponding apis to track offload usage
> on each USB device. Offload denotes that there is another co-processor
> accessing the USB device via the same USB host controller. To optimize
> power usage, it's essential to monitor whether the USB device is
> actively used by other co-processor. This information is vital when
> determining if a USB device can be safely suspended during system power
> state transitions.
>
> Signed-off-by: Guan-Yu Lin <guanyulin@xxxxxxxxxx>
> ---
> drivers/usb/core/driver.c | 125 ++++++++++++++++++++++++++++++++++++++
> drivers/usb/core/usb.c | 1 +
> drivers/usb/host/Kconfig | 11 ++++
> include/linux/usb.h | 18 ++++++
> 4 files changed, 155 insertions(+)
>
> diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
> index 460d4dde5994..0690619454fe 100644
> --- a/drivers/usb/core/driver.c
> +++ b/drivers/usb/core/driver.c
> @@ -2036,6 +2036,131 @@ int usb_disable_usb2_hardware_lpm(struct usb_device *udev)
>
> #endif /* CONFIG_PM */
>
> +#if IS_ENABLED(CONFIG_USB_XHCI_SIDEBAND_SUSPEND)
ifdef in .c files are messy and hard to maintain.
Also, why is an xhci-specific option enabling/disabling core USB
functions like this? Shouldn't it be a generic USB config option name
instead?
> +
> +/**
> + * usb_offload_get - increment the offload_usage of a USB device
> + * @udev: the USB device to increment its offload_usage
> + *
> + * Incrementing the offload_usage of a usb_device indicates that offload is
> + * enabled on this usb_device; that is, another entity is actively handling USB
> + * transfers. This information allows the USB driver to adjust its power
> + * management policy based on offload activity.
> + *
> + * Return: 0 on success. A negative error code otherwise.
> + */
> +int usb_offload_get(struct usb_device *udev)
> +{
> + int ret;
> +
> + usb_lock_device(udev);
> + if (udev->state == USB_STATE_NOTATTACHED) {
> + ret = -ENODEV;
> + goto unlock_device;
Shouldn't we using the guard logic here instead? That would make all of
this look much simpler and easier to maintain over time.
> + } else if (udev->state == USB_STATE_SUSPENDED ||
> + udev->offload_at_suspend) {
> + ret = -EBUSY;
> + goto unlock_device;
> + }
> +
> + /*
> + * offload_usage could only be modified when the device is active, since
> + * it will alter the suspend flow of the device.
> + */
> + ret = usb_autoresume_device(udev);
> +
> + if (ret < 0)
Why the blank line?
> + goto unlock_device;
> +
> + udev->offload_usage++;
> + usb_autosuspend_device(udev);
> +
> +unlock_device:
> + usb_unlock_device(udev);
> +
> + return ret;
> +}
> +EXPORT_SYMBOL_GPL(usb_offload_get);
> +
> +/**
> + * usb_offload_put - drop the offload_usage of a USB device
> + * @udev: the USB device to drop its offload_usage
> + *
> + * The inverse operation of usb_offload_get, which drops the offload_usage of
> + * a USB device. This information allows the USB driver to adjust its power
> + * management policy based on offload activity.
> + *
> + * Return: 0 on success. A negative error code otherwise.
> + */
> +int usb_offload_put(struct usb_device *udev)
> +{
> + int ret;
> +
> + usb_lock_device(udev);
> + if (udev->state == USB_STATE_NOTATTACHED) {
> + ret = -ENODEV;
> + goto unlock_device;
> + } else if (udev->state == USB_STATE_SUSPENDED ||
> + udev->offload_at_suspend) {
> + ret = -EBUSY;
> + goto unlock_device;
> + }
> +
> + /*
> + * offload_usage could only be modified when the device is active, since
> + * it will alter the suspend flow of the device.
> + */
> + ret = usb_autoresume_device(udev);
> +
> + if (ret < 0)
> + goto unlock_device;
> +
> + /* Drop the count when it wasn't 0, ignore the operation otherwise. */
> + if (udev->offload_usage)
> + udev->offload_usage--;
> + usb_autosuspend_device(udev);
> +
> +unlock_device:
> + usb_unlock_device(udev);
> +
> + return ret;
> +}
> +EXPORT_SYMBOL_GPL(usb_offload_put);
> +
> +/**
> + * usb_offload_check - check offload activities on a USB device
> + * @udev: the USB device to check its offload activity.
> + *
> + * Check if there are any offload activity on the USB device right now. This
> + * information could be used for power management or other forms of resource
> + * management.
> + *
> + * The caller must hold @udev's device lock. In addition, the caller should
> + * ensure downstream usb devices are all either suspended or marked as
> + * "offload_at_suspend" to ensure the correctness of the return value.
> + *
> + * Returns true on any offload activity, false otherwise.
> + */
> +bool usb_offload_check(struct usb_device *udev)
> +{
> + struct usb_device *child;
> + bool active;
> + int port1;
> +
> + usb_hub_for_each_child(udev, port1, child) {
> + usb_lock_device(child);
> + active = usb_offload_check(child);
> + usb_unlock_device(child);
> + if (active)
> + return true;
> + }
> +
> + return !!udev->offload_usage;
I think you forgot to mark this function as requiring that the lock be
held, right? Just documenting it isn't going to be simple to notice or
maintain over time...
thanks,
greg k-h
Return-Path: <linux-kernel+bounces-665200-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 18E5F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:17:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 9D96F7AEF8B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:16:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 07D55276033;
Wed, 28 May 2025 09:17:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="piJtdrwH"
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2048.outbound.protection.outlook.com [40.107.223.48])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F2CC274FFD;
Wed, 28 May 2025 09:17:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.48
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423835; cv=fail; b=dsD1No8bpfvlxKNIJGms+y7ymH+6qVPWTLJjxX7ROspHBcZOEIW9lUSTkQa2by5dgVzUXVm8zuXu6SugSUOoL9D6e/hSn8FsHVTZpehisEJjSJIYp+IEW9ruR9nVPITjzTF6rstXcvsskJiqSbKCfo1yCz7DRZLqDjUfM9gHDvA=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423835; c=relaxed/simple;
bh=Vr+R/Y//PGBe2/NqK89hI2WET5PUHGNYChvxUl+0s5I=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=AaI43ltEiza8xXWTlnIASAOBhLE7ey6t+7M6pRkOeozpohmb5Ua1mzUyxn/ZInD0hCRy/nK0urXuHuteJfVjiZxG8eQwNWia3G2Ekxh75DHt+ziyJPf0UUG+JCBu8gtZY31WapPof60yC8X1P7gKvnNtPw89Z91bGEEU1RPX9Mg=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=piJtdrwH; arc=fail smtp.client-ip=40.107.223.48
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=zFH5+g9nmA3w6MwFAZZMPG7skrZHBllmZ66UVoYyJK9G2NvSkM3AhN4ru8npvb8IphFf6SR6C7A/X0sR9UimDiIZ86TyE7UX8ExYlPTssPD2mie+xFvJXU9nwa86cmu5LB9w9uFa2QxWvh+ArrDtVLv6NAvankIiot39EE9VMPT/j8vKCqCziLEgUU4qCm2v/RoTXZhLQ9TF8jG8x5Ns9i/oHlLzncR2VALnLdGK0iGXxUCYZiy2q9rI6DgjqM7BHPR/sWYXHi4jix9PZ5f0UA49/kKtDXK9n9KV+fSSZ6kVlIv+XJNKMYuySTBinrdc20g+dvZaaL8ve3y4OVrQyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=GBizN3gkf6Rtj6KfgJTDf0u68s8AjZAPQ/eMr5+2BDM=;
b=CSZel/2kwEU5H2NAuDVqkpUkoNCgP11it46RQlAQr3ZlSNas8AjMjO308xYsWmz27tED2AiZiVQNBiBClwgW3nacItXyUZCNRnD/naUrApVeDblLqi4nfLLWztNA5PIJ+zcHZ9RuCEeDXFI3c+05BASrY8LafWP9kiGTP9ofIjpmZ7wOTGfSh4XLT+5Vlxe2Ue6kxLAXGpvvKkaIvg3KxgKrB6FA4i9ylmsjMHxnGgloV2ccmidG7k1UjLzuidJJaGVQCH5vxxQFzt1CU67xX3qng412QnC0c0iDT4pNBJpfC4e6hL6ED6vwy14gzNE8do+qxNGJs0OjLZy5b981vQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=GBizN3gkf6Rtj6KfgJTDf0u68s8AjZAPQ/eMr5+2BDM=;
b=piJtdrwHzpuzwNkv5a/sN4rR79cYJ3sztiG36A+sNFK0Mmv8K2ctecJpvDeeE2ANYRFpDlu3Mv1uWhdY9uEIeHceUIAzX9tEnMBD/SJxeTSvh+5QOWX2xIt2UsS0V54ingXczO9G0G3DA4H5uFB/XcIO+T38z6YcWSmCcGihLh7qZmYoTq8VwqIbTr+0P5YmM36QGUZ8zQGujVd+zv+l2X14D1YA1QqD3wUJsMFkwfbMXB0/cDvn4VLXSqeJR+Iae1GbxQrF6ZCXXtLKaSJJ/qOOjV9V2PSb54DJrAgiN7COFuB6TzgaiO/X2Smeo9Y59F8+bDyYFt3BFZoZrYX9Uw==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=nvidia.com;
Received: from IA1PR12MB9031.namprd12.prod.outlook.com (2603:10b6:208:3f9::19)
by CY8PR12MB7564.namprd12.prod.outlook.com (2603:10b6:930:97::8) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Wed, 28 May
2025 09:17:11 +0000
Received: from IA1PR12MB9031.namprd12.prod.outlook.com
([fe80::1fb7:5076:77b5:559c]) by IA1PR12MB9031.namprd12.prod.outlook.com
([fe80::1fb7:5076:77b5:559c%5]) with mapi id 15.20.8769.022; Wed, 28 May 2025
09:17:10 +0000
Date: Wed, 28 May 2025 09:17:06 +0000
From: Dragos Tatulea <dtatulea@xxxxxxxxxx>
To: Stanislav Fomichev <stfomichev@xxxxxxxxx>,
Tariq Toukan <tariqt@xxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>, Andrew Lunn <andrew+netdev@xxxxxxx>,
Saeed Mahameed <saeedm@xxxxxxxxxx>, Leon Romanovsky <leon@xxxxxxxxxx>,
Richard Cochran <richardcochran@xxxxxxxxx>, Alexei Starovoitov <ast@xxxxxxxxxx>,
Daniel Borkmann <daniel@xxxxxxxxxxxxx>, Jesper Dangaard Brouer <hawk@xxxxxxxxxx>,
John Fastabend <john.fastabend@xxxxxxxxx>, netdev@xxxxxxxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx, Moshe Shemesh <moshe@xxxxxxxxxx>,
Mark Bloch <mbloch@xxxxxxxxxx>, Gal Pressman <gal@xxxxxxxxxx>, Cosmin Ratiu <cratiu@xxxxxxxxxx>
Subject: Re: [PATCH net-next V2 00/11] net/mlx5e: Add support for devmem and
io_uring TCP zero-copy
Message-ID: <izjshibliwhxfqiidy24xmxsq6q6te4ydmcffucwrhikaokqgg@l5tn6arxiwgo>
References: <1747950086-1246773-1-git-send-email-tariqt@xxxxxxxxxx>
<aDXi3VpAOPHQ576e@mini-arch>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aDXi3VpAOPHQ576e@mini-arch>
X-ClientProxiedBy: TLZP290CA0004.ISRP290.PROD.OUTLOOK.COM
(2603:1096:950:9::15) To IA1PR12MB9031.namprd12.prod.outlook.com
(2603:10b6:208:3f9::19)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: IA1PR12MB9031:EE_|CY8PR12MB7564:EE_
X-MS-Office365-Filtering-Correlation-Id: e24f50c3-e0c9-4412-07df-08dd9dc86d30
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?L2/SVLyiGbON23HDYFhQQBSZzeGMiTSByC8bV1KmBb5ASFkwz2iqiQgsZ4gP?=
=?us-ascii?Q?nN6Hf4S+SP2GsolAkSBabLFyClVvQopJBCVTh2eYXxmSuQzFcaVeumcQOIrm?=
=?us-ascii?Q?WItyBs7gKj37++yOovVNYtij4Lm8XOnanJXvb6OFV/rQMLgPV0obn9pf7ebU?=
=?us-ascii?Q?UhtHpIliU80uNwBxAR7czGjDUHBMZ5dq0hTyaRFOZSzlSnPjF6g0AAGU5png?=
=?us-ascii?Q?ovw7JI4N5CLeOa/JxqC/eR4EFmViediI+Sm9uspTqJoi8ful8qZdTdk1Up5/?=
=?us-ascii?Q?wKjeaV7QMDcKWnuQgQKz8CrPYCmQ32O1DtclIC3YEnJgPoxdzhcIx+RObsHK?=
=?us-ascii?Q?jp948+Dm6oxhbkRPE2GBAgnoZh4vHepN2ALwS079m49wUuc7X4kRFf61xP68?=
=?us-ascii?Q?IWE/5w1uD9SoWC83iST1IQqIjDlwV6fNbyPknneTAFqvqGJB3qqbPOi/R+LH?=
=?us-ascii?Q?PbA/Ic2bKOA+6pyxgLUHq9yJVJ7P5dbrdsnvlW2T9M+AVcbDGH3qJzEeyJxu?=
=?us-ascii?Q?NKk/y4YEW26TcrhDzvgTcnc53EBbmiftco89CBtkSyGp7fhum6774tDJ9t3j?=
=?us-ascii?Q?CNt/k0ybwZ5bW+AQzppLUNPqVbYUx3rCkd62R1Aj+GUn1BucX+vVIJ1plWUc?=
=?us-ascii?Q?VvMLwlQE7DrrgqlN0YLt1GtJIKOwYLZAldwn3rpl6Ywdk4VoCxSiT8yzGVQV?=
=?us-ascii?Q?27PSoHURzuRl0GeWafKZyFg9N3qlt2P2y0V00V1PBdyjRSwmT95aXDZzsiE9?=
=?us-ascii?Q?WspBvyt3/FnPQEyLbaRbXwT3UDkn+VozPN+iugLMCchKeff/XcvdfocF7dpI?=
=?us-ascii?Q?XyLYi4j0lk+ZqYDTKV0P56h7c0/420kg+gEM0twVDNhARW9CK1+E9SZgVAi8?=
=?us-ascii?Q?sb2vxszq4daV0W3zw2+bYvnNVnbi+R/K9dVBGaG+EXUPbGD/btSetkjWCRJa?=
=?us-ascii?Q?TF2HgPJkcK+7Clg9gOc4GCYlH2OHuyoYStQW67z4lLYiAUhtwHrR/WKkHWLG?=
=?us-ascii?Q?sN+wwFPTBbyIQ56A0TG3nWnSuBaN2vncTQx2WkjTUok6aLyjhrso7czi9iuZ?=
=?us-ascii?Q?L/BnCkh+aF2HXfvtyKAwiNcfAdSZGEy6Nhx1Fm5+SYvItDJZEkgTX44b41QM?=
=?us-ascii?Q?XrlikxFJjyFg+adNgtzAcRW5sQ+s27OP6GyL+8gpV/sPy4Rckpf4XOxdvYbi?=
=?us-ascii?Q?XsttjnHEVeEzvIzMGFvdzqRllgX/qJg0ZjPQGVGdxBEsCgrr+lZ7vfAT/P1f?=
=?us-ascii?Q?Ah+AiUyJzhD7NX4LOFBXlBhaUCfgc/fookCXDBA0Edh1W5METLoaUwfdmEkl?=
=?us-ascii?Q?txw2vg/PDryp/sJQvXwZJkRNr7EzsfG6QZk/JJ/bzevHSZHNRFo0BWhrRLqe?=
=?us-ascii?Q?jqaQb84/b8ksUM15+jh7BsJM6oCkU0kvg/bfTdxx2JXANG03EABniOP9wj4v?=
=?us-ascii?Q?jAA0rh6ysrs=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR12MB9031.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?6X3vy2zjndqF9/8Uu6FhM8mlfJhKxWcfKBNUO2iC5fVn3Oow+1oOTIwzmaaP?=
=?us-ascii?Q?0gFE840yCjLUrK1Qcw7M1tOWzfngBDf8R/badv0OMu6I3xGfZscWv/lSPLkz?=
=?us-ascii?Q?GdbfCfZ/6348mU3tK4beN+ZM1MTGgr1l7I30O7wu7k3Sk8j6xoew7XocKEHE?=
=?us-ascii?Q?sCy4jTzY8ldpKRpkIhHLQGfXJEYSNIcxmn9KluzduahVSUrjHfUctYOQmw1y?=
=?us-ascii?Q?SjqrXYrMQkk7KOGp6nl6aLFUg3XC3GiFwY5T8EcAJRV9lT8e4QchXK3qS7BJ?=
=?us-ascii?Q?C8KdxaSoXf1m9Lwp7uumYrhGw+YC1RvmPXA4P0aa5/YfVw0mwc1j97g6h5ue?=
=?us-ascii?Q?mX3DGxCeOhIrw2UlbKZkbVoSUiOsg1ZiSG3Vv+Rt0QIucDD5rUQ31Ud3utnJ?=
=?us-ascii?Q?MVUF5T7exp8oWCG+DYeptuvly5hq7IsvPUzWWirQZ2zmLt8PPwbcJts7jjr0?=
=?us-ascii?Q?aKqqVCX7O7S2eA+Kq8G+yagQJecYgmF7VbVJUCd7dJLeKxL5sZA+v0bpObNp?=
=?us-ascii?Q?ogIqp3ck3lwOPFCpvkvKtlqYdrPUj7P8pTPqA+O6hWXhyCpxKDNAzwLvtM4d?=
=?us-ascii?Q?Oiyh9DTtTuK7aryXBshIyeCcbcJJIGb+ouT9umbuqxuQFohdS1UxV0GLlVte?=
=?us-ascii?Q?weSbwXOKWCDsUATZP5cihaJRiuBGZO3M1iMwB9dSuaqOsUVDvehTQlT5YRhh?=
=?us-ascii?Q?odcCuHXMQclbBszvVCT3ob/hugerlwb74PqjkGgQe0DrRBq79jZmflrmr03C?=
=?us-ascii?Q?0C2/GBhyaC4juwQqAZWcifpxzlOpyHxdRbIV2wZl661/ZYC4O7LxBaKH4x/a?=
=?us-ascii?Q?dyBLZfHifY5MBSfoVyWErQ4p0NJ4Lr9LHOUlOnZUSOCPjKChwRlquB38PHbz?=
=?us-ascii?Q?WkHsH+Yg1VDuLKiajWpt77nK/ewJbgbtwH+d5U4jvsO0tyD/1G5KhiRKRq5W?=
=?us-ascii?Q?20mqCQ2ns+vQmmd7ACxlQaregbnudY8R2fyu3jU0g04MrNB9dZudG8KNhBS3?=
=?us-ascii?Q?C5Zpph5u86KS1vJPaRNtPlgrcsHXsWw3t5ayVzqDDSK98645EjOqU83rzq1U?=
=?us-ascii?Q?xX1J3D6Vop2fZ0EhHpB3fM8Rjof2LyBhuvXlDFI5+7Ddx1lR4cfFTR5E1aYy?=
=?us-ascii?Q?jVZ4YLxapCo9/6S14qTZ4x2+vMUt+rUqSZP/MAmJ3kmoDRi4MZkhKXHmWVXt?=
=?us-ascii?Q?yx31kx98zcQpvjHHzWIs0ohs3Oef7L61D2BHIGvFGxFSErqHAxk9QVGoKwUf?=
=?us-ascii?Q?uzsTEdN/rFBQrH8INcv07ygDGIROcYOGdbyoUJeiGfRdj24fNtkgCnUeEcF2?=
=?us-ascii?Q?Xxy/+VhTgcPxOX0u5NLDCvtAhiEK+5UmRabMMIW+RS1FL8HoeS6y8GiFkYCL?=
=?us-ascii?Q?P6SJFLfcVxsttvjh95Uq6hI/m15JNzC1Fp248q6SNUSxTyr0GwZbRneWZgfo?=
=?us-ascii?Q?TKpvlvDU/+kf6UPhN1tYqDW8jQj//KNpJOnASDPck6QR2OTod5TxLMgR/ILk?=
=?us-ascii?Q?SIKv+Wn5CfDL9FvvOXDQQbCvtiS7aPIvxikcnfFtVPcoMTQaadZdgXUQu5Cn?=
=?us-ascii?Q?1AcZI62kCVKBuZhnvq8W4qbe1YtXC1ItQyxk0ZV4?=
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e24f50c3-e0c9-4412-07df-08dd9dc86d30
X-MS-Exchange-CrossTenant-AuthSource: IA1PR12MB9031.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 09:17:10.8627
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XKCdJPVw+9ScYjvfd/xMcQBvKdUFIx9JpNH50lPafZevL/aCBAhwHJoyIZ5648WJJt41yI3Syf9KfM13SNIipw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7564
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 09:05:49AM -0700, Stanislav Fomichev wrote:
> On 05/23, Tariq Toukan wrote:
> > This series from the team adds support for zerocopy rx TCP with devmem
> > and io_uring for ConnectX7 NICs and above. For performance reasons and
> > simplicity HW-GRO will also be turned on when header-data split mode is
> > on.
> >
> > Find more details below.
> >
> > Regards,
> > Tariq
> >
> > Performance
> > ===========
> >
> > Test setup:
> >
> > * CPU: Intel(R) Xeon(R) Platinum 8380 CPU @ 2.30GHz (single NUMA)
> > * NIC: ConnectX7
> > * Benchmarking tool: kperf [1]
> > * Single TCP flow
> > * Test duration: 60s
> >
> > With application thread and interrupts pinned to the *same* core:
> >
> > |------+-----------+----------|
> > | MTU | epoll | io_uring |
> > |------+-----------+----------|
> > | 1500 | 61.6 Gbps | 114 Gbps |
> > | 4096 | 69.3 Gbps | 151 Gbps |
> > | 9000 | 67.8 Gbps | 187 Gbps |
> > |------+-----------+----------|
> >
> > The CPU usage for io_uring is 95%.
> >
> > Reproduction steps for io_uring:
> >
> > server --no-daemon -a 2001:db8::1 --no-memcmp --iou --iou_sendzc \
> > --iou_zcrx --iou_dev_name eth2 --iou_zcrx_queue_id 2
> >
> > server --no-daemon -a 2001:db8::2 --no-memcmp --iou --iou_sendzc
> >
> > client --src 2001:db8::2 --dst 2001:db8::1 \
> > --msg-zerocopy -t 60 --cpu-min=2 --cpu-max=2
> >
> > Patch overview:
> > ================
> >
> > First, a netmem API for skb_can_coalesce is added to the core to be able
> > to do skb fragment coalescing on netmems.
> >
> > The next patches introduce some cleanups in the internal SHAMPO code and
> > improvements to hw gro capability checks in FW.
> >
> > A separate page_pool is introduced for headers. Ethtool stats are added
> > as well.
> >
> > Then the driver is converted to use the netmem API and to allow support
> > for unreadable netmem page pool.
> >
> > The queue management ops are implemented.
> >
> > Finally, the tcp-data-split ring parameter is exposed.
> >
> > Changelog
> > =========
> >
> > Changes from v1 [0]:
> > - Added support for skb_can_coalesce_netmem().
> > - Avoid netmem_to_page() casts in the driver.
> > - Fixed code to abide 80 char limit with some exceptions to avoid
> > code churn.
>
> Since there is gonna be 2-3 weeks of closed net-next, can you
> also add a patch for the tx side? It should be trivial (skip dma unmap
> for niovs in tx completions plus netdev->netmem_tx=1).
>
Seems indeed trivial. We will add it.
> And, btw, what about the issue that Cosmin raised in [0]? Is it addressed
> in this series?
>
> 0: https://lore.kernel.org/netdev/9322c3c4826ed1072ddc9a2103cc641060665864.camel@xxxxxxxxxx/
We wanted to fix this afterwards as it needs to change a more subtle
part in the code that replenishes pages. This needs more thinking and
testing.
Thanks,
Dragos
Return-Path: <linux-kernel+bounces-665201-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D71A641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:19:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 08EC13A4947
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:18:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5BDCF275874;
Wed, 28 May 2025 09:18:59 +0000 (UTC)
Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2860E275842;
Wed, 28 May 2025 09:18:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423938; cv=none; b=T6hx5vcTTVSDBuwdePLdxe9PuGx109VvwSoAhpu0zDb2L9WMHDrmKXSjMLPONi3TAHmjdfsZP4xuSw/tN7dlnCeJ31yipekBcwwSoxROsMZqPE8tH53GPMT8OHIsgkj1HYMR8rGxGQ+1u2FxooJMnyvFcpMsaRwEhg2fSIHgH9Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423938; c=relaxed/simple;
bh=VZ+mBZ7sZVKrevaJyUxvu7xHNhh5PUFzarPAmfRJRUg=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=m5V8AJ5p/ajbP6Sf8B8j1f45+Qe605qsl13pDqflqQnoLaNvFCi7mLuS+dVEhVbGhf4JEyZRmrwxjlxl9AbCDpwTmUykA+bbYk4W7XRngBExne4ta6+eQfyIk5QqEcK3n9HwKVT0ymYau8/DlYdiHfypL7ZkIYDGxHwfIYYxswA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.218.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-ad89ee255easo99985166b.3;
Wed, 28 May 2025 02:18:56 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423935; x=1749028735;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=0pW4psWyw4mqAnBUvE51G8YcPcvTVt9THPNyFYZHPLU=;
b=EMUd8iwUP6j0NRqLT5BRvtgqwrUVaDPAmeUGCMaGpO01fqEfXS+yN8copjyPfMuwvU
PHWIejoUEWupIoVkBkkYxYY6hgKla8kV20FNSE+mcDUoCbS5LFIce8bngPD2shNSR3sk
xbA1YjFbq9hNcde0iBdBSyTJbjaD2hFmD7tGPiRkEVz1k+Dbix8yKDUXcVAICv+lfoLr
zrOqsEGgVOVR084YXYdu96kNuhkZSDPOZiB2gotM7TZABAtqGzAAWxdgpvUJKilAIF6U
4FW9Ncj2RSNWQyT0MsptfPdC7JJOn8382vbWAJCKL4ETl+Z5WFK8fi+OIwSxkdy7GJnU
ysyA==
X-Forwarded-Encrypted: i=1; AJvYcCUXegXyFI9+w6uAg5aCOd2uYKHRpAdYMT2RizrWksG4RZT061rj/oOcGE8BSzxobmGr+s4fKgGXwLRSgESL@xxxxxxxxxxxxxxx, AJvYcCVSiYWZbjbtMVQmBRkUlHGsJY1OKwu1d3dDfpSkaKL1SuQDThgihGTqpm4JLpExWWeKHLQ2J6t8@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxQjvLDv5OB0srS/z8iaSUjMPz5faiqshyw6tYoHoH+oZ2j+iRI
dpSWKq/wtlDKJYwABck9vV6henDK/WnyCiJiFX+4GuvFvgFHFA189Byr
X-Gm-Gg: ASbGncvqGVc0QJTxCz7y91eUMMEGwWfvKddpS09XNuav2HYdoZBycY6LXemJjvtaxcU
WQFPtwIqa/9WoM5MK+XDkKa/o5rq5zV35JGm+VYf3vdBVK2AQCFZuVD/YeYnWAyUgPtl9XOXWUX
tci4Nk3kF1VKptkIe8o/q7Cd8BXlHwvadwnb+KEtKUkEwpTkfQ2iX/oMzzvvU7xBL1CAEcMjwb4
me3yZs71eJXonkXQ8024+UQ7+lywYCse3QffPiASp4qJ1S11RZGSQ502C+USSljU4QDLZUF2Aru
bbRlUbNjxUeZdzhv+pz4mOUOiRpcN8sruT7WrOXuQY3dEi584zgG
X-Google-Smtp-Source: AGHT+IGoYdO47+oM6ou2U9T7Lb1yWxp8JxvcXflAlkbBf+bOi50F2wX/HLD+grDtDSMRecSopi9I/g==
X-Received: by 2002:a17:907:25c7:b0:ad5:3156:2c06 with SMTP id a640c23a62f3a-ad85b076d18mr1584393166b.28.1748423935039;
Wed, 28 May 2025 02:18:55 -0700 (PDT)
Received: from gmail.com ([2a03:2880:30ff:6::])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a19ad4bbsm76379266b.15.2025.05.28.02.18.53
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:18:54 -0700 (PDT)
Date: Wed, 28 May 2025 02:18:52 -0700
From: Breno Leitao <leitao@xxxxxxxxxx>
To: Shakeel Butt <shakeel.butt@xxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxxxx>,
Roman Gushchin <roman.gushchin@xxxxxxxxx>,
Muchun Song <muchun.song@xxxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Chen Ridong <chenridong@xxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Michal Hocko <mhocko@xxxxxxxx>, cgroups@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
kernel-team@xxxxxxxx, Michael van der Westhuizen <rmikey@xxxxxxxx>,
Usama Arif <usamaarif642@xxxxxxxxx>,
Pavel Begunkov <asml.silence@xxxxxxxxx>,
Rik van Riel <riel@xxxxxxxxxxx>
Subject: Re: [PATCH] memcg: Always call cond_resched() after fn()
Message-ID: <aDbU/ApoHK9SRXzv@xxxxxxxxx>
References: <20250523-memcg_fix-v1-1-ad3eafb60477@xxxxxxxxxx>
<ucarls72c6j7xzhdjsbb2wj5ovlzthatmh7kzwhepvudszap4h@xetgnupdm5ui>
<aDWN9mP3wPQnwo4m@xxxxxxxxx>
<zxorog2mv54v5dpl5cmmkd3j4hznyxbj435hjtbtzljwspm6mt@tj446cjrclcg>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <zxorog2mv54v5dpl5cmmkd3j4hznyxbj435hjtbtzljwspm6mt@tj446cjrclcg>
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello Shakeel,
On Tue, May 27, 2025 at 09:54:10AM -0700, Shakeel Butt wrote:
> On Tue, May 27, 2025 at 03:03:34AM -0700, Breno Leitao wrote:
> >
> > Not sure I followed you here. __oom_kill_process is doing the following:
> >
> > static void __oom_kill_process(struct task_struct *victim, const char *message)
> > {
> > ...
> > pr_err("%s: Killed process %d (%s) total-vm:%lukB, anon-rss:%lukB, file-rss:%lukB, shmem-rss:%lukB, UID:%u pgtables:%lukB oom_score_adj:%hd\n",
> >
> >
> > Would you use a buffer to print to, and them flush it at the same time
> > (with pr_err()?)
> >
>
> Something similar to what mem_cgroup_print_oom_meminfo() does with
> seq_buf.
Right, where do you want to flush this buffer? I suppose we want to do
it at once, in the caller (mem_cgroup_scan_tasks()), otherwise we will
have the same problem, I would say.
This is the code flow we are executing when I got this issue:
mem_cgroup_scan_tasks() {
for_each_mem_cgroup_tree(iter, memcg) {
ret = fn(task, arg); //where fn() is oom_kill_memcg_member()
oom_kill_memcg_member() {
__oom_kill_process() {
pr_info()
pr_err()
}
}
}
}
So, basically it prints one/two message(s) for each process, and goes to
2k processes, so, __oom_kill_process() is called 2k times when the memcg
is dying out.
mem_cgroup_print_oom_meminfo() seems a bit different, where it coalesces
a bunch of message in the same function and print them all at the same
time.
Another option is to create a buffer to mem_cgroup_scan_tasks(), but
then we need to pass it to all fn(), and pushing down the
replacement of printk() by seq_buf_printf(). Is this what you meant?
If so, another concern I have is the buffer size to be printed at once.
Let's suppose we have 2k "Killed process..." message in the buffer. Do
we want to print it at once? (without a cond_resched()?)
Thanks for the discussion,
--breno
Return-Path: <linux-kernel+bounces-665202-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A9CB841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:19:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D1AB51897D3E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:19:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0BFD11C84AA;
Wed, 28 May 2025 09:19:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RKdzr+Yg"
Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1351152E02
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:19:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423965; cv=none; b=dZ+3FErucBnUN1QXzqyoM8I+poCkX4zByp3tf9O0ZZe8n+Hvko7UWNbFHV4SMMo98tUzaabck+gbMFgmtlWclhjdn8/3/5kZmBIEZRdhXjBlNB1GNt6R/XDY+E2zmdmOzti1dT3J8RQgIHS1tuwJsCBGbyB9k2koxC4Cn5k3Spw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423965; c=relaxed/simple;
bh=AObyPIAlkz/iEol0kDjh0nEk2Pvox4pj3DBy7SpXZ1g=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=uNeaevz3qouiYRoGxc7IQRFYLgy230hXNnaDER4IU9tWgGY1leQxuHtyblE4TaNyYs1usLAxEio4FJa29RcjDiDvZdgIKTqQiVQU2tceQSflJcyRYFkG6NuMOQ3MGjfrbij/t+3Crd9bNjVx9tpxsFQeNhd7J2FfSdWx37mbpX0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RKdzr+Yg; arc=none smtp.client-ip=209.85.210.171
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-742c27df0daso3249466b3a.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:19:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748423961; x=1749028761; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=QN5imKHK8bvg+c1FfkOpe5yMcpVZLbQsbE6cktPXDCI=;
b=RKdzr+YgLidcpsPEvkBH4w1KLVaT7kO1cwY7ekdA1QEag8KQgnh+ngRxkFVvwIuv8+
FFEQbL6l4hwdZUWlnUuMdnXXJlj+7hmlQwdrqwXI+tI2kniXmspWsThOMfRhttjpZt9X
RUGtv17Efqf6q4Sz9oLmIT5fxs2Fc8aaearTj+XImOCmExqpZ6YtcnxyDmEIXV568dgE
8W9wya7adFfAcG1792C2Z35fs/56oHTw4qe3tTso4FB+3r3DaTObYG9qL9lXKQDHAtUe
ahLSZ/zB9Z5cRAyKXowcYWMc7QSCRzcJ/kSTELmOEyHi3GKRQs/W0J9XqOoN6iEAsBfb
zkEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423961; x=1749028761;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=QN5imKHK8bvg+c1FfkOpe5yMcpVZLbQsbE6cktPXDCI=;
b=U64cmPfnOKFW1R8sfpxq8cTaBuuF+10lr+j5Zo0bkE1gZCcRu4TLTodJ8hru0xcdJ6
c2mCAetOPOPAv8NwrYmUb1vhAHv/tVIXalmNY/sGy5VNkPMk5YtQ0HBAi/G9UCFotqPB
1ulkXZpQxdl4mgJsFmvlXb53ORptVWSQObWtwFsZX7kLlsp004oGPgpE0bsdSQ+PXAg1
+UmFL4AuL3z5iPRasJTMNM9w3K7QnntZhvjkcn2yPtd0ZdstiTua773wVz2hMCfCQLoU
dfPWxzEJajDJUntn3rVFdKTXZUJjKyD4X0/rQ7rbAT/RVsG3gxQWLgo6skut33SnPBqc
ugzQ==
X-Forwarded-Encrypted: i=1; AJvYcCUOdCs/muhnftgFZZg1275Q+HzgmMRAp5YaFKdbGMHNNNPCaZepVSQZm/2a7nPcCZMeo5U53bY6LCRL/E8=@vger.kernel.org
X-Gm-Message-State: AOJu0YzTVnAvw4S9qakCERboNhm3oHJmeXbKu2MEpcd2rpfCrPC7KnLD
+f+wg1bpZVMwL3z3He4bvqywaL/RaYuGNWKsioP82UOkNfIBeR9J0TyO
X-Gm-Gg: ASbGncuSXONQ7Hb0RG46LlhR8QWYUAPomFbO9CnlM0OTobUO+RI/o4jTMaeaMDbj0lt
oPGyyIOALTcSU6wEGD16MQrmNWcwOcqZ/RwWGaV22fERntLHfAmzkVKe8y/WAdt+DhRdMEJkGdF
Q3g/fceRWTtRkLoUTaBaMzXX474/Uzie95NQ3n8xPcRDTk/6CMFZ5zhFN4+ZRFag+0baPOOfZWD
3uUnm5cuzrfl4v5U0GoRal2BEtz2L2KwlskKG+8wR/Wm+i9uur18ttzLmgLo6vr2y9mGWfHtgEv
nNrwK3f6/pRNU42VTLxkGCfKT3vG8826rK7xpdr851PvD2ongWRyc3OFgNOd6WNdbi7z9WFYFer
g3irAI98wH9PH6tkFxKzdZ6M=
X-Google-Smtp-Source: AGHT+IGbdveEtu7Y+O8HQ50c+v8XrzYBayHMIbjLH7orvobtBNrjcD7mvRBPJTBfrfL8/ZvDCWvV3w==
X-Received: by 2002:a05:6a21:3992:b0:1ee:d8c8:4b82 with SMTP id adf61e73a8af0-2188c327f47mr31175262637.31.1748423961081;
Wed, 28 May 2025 02:19:21 -0700 (PDT)
Received: from localhost.localdomain ([103.40.79.6])
by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b2d99ed8ef9sm749598a12.69.2025.05.28.02.19.18
(version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
Wed, 28 May 2025 02:19:20 -0700 (PDT)
From: Shawn Hua <shawnhuasz@xxxxxxxxx>
X-Google-Original-From: Shawn Hua <yixuanhuashawn@xxxxxxxxxxxx>
To: linux-staging@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: gregkh@xxxxxxxxxxxxxxxxxxx,
philipp.g.hortmann@xxxxxxxxx,
dan.carpenter@xxxxxxxxxx,
pkshih@xxxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx,
yixuanhuashawn@xxxxxxxxxxxx
Subject: [PATCH] staging: rtl8723bs: fix checkpatch issues in rtw_pwrctrl.c
Date: Wed, 28 May 2025 17:19:14 +0800
Message-Id: <20250528091914.2963-1-yixuanhuashawn@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This patch addresses several style issues in rtw_pwrctrl.c, as reported by checkpat
ch.pl. Iâ??ve fixed most warnings and errors, but left CamelCase and one type of CHECK unresolved.
Iâ??m new to kernel development and submitting this for learning purposes. Please let me know if this type of patch is still helpful, or if it should be reworked or dropped.
Best regards,
Shawn Hua
-----
This patch fixes ~80 checkpatch.pl style issues, including spacing, indentation, and alignment.
Remaining issues:
- CamelCase warnings were left unchanged to avoid breaking interface consistency across related files.
- One CHECK regarding alignment with open parenthesis could not be resolved despite several attempts.
No functional changes were made.
Signed-off-by: Shawn Hua <yixuanhuashawn@xxxxxxxxxxxx>
---
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c | 152 +++++++++----------
1 file changed, 71 insertions(+), 81 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
index e67a225d4fb3..97f5792013d3 100644
--- a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
+++ b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
@@ -8,7 +8,6 @@
#include <hal_data.h>
#include <linux/jiffies.h>
-
void _ips_enter(struct adapter *padapter)
{
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
@@ -30,14 +29,12 @@ void _ips_enter(struct adapter *padapter)
pwrpriv->rf_pwrstate = rf_off;
}
pwrpriv->bips_processing = false;
-
}
void ips_enter(struct adapter *padapter)
{
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
-
hal_btcoex_IpsNotify(padapter, pwrpriv->ips_mode_req);
mutex_lock(&pwrpriv->lock);
@@ -56,9 +53,8 @@ int _ips_leave(struct adapter *padapter)
pwrpriv->ips_leave_cnts++;
result = rtw_ips_pwr_up(padapter);
- if (result == _SUCCESS)
+ if (result == _SUCCESS)
pwrpriv->rf_pwrstate = rf_on;
-
pwrpriv->bips_processing = false;
pwrpriv->bkeepfwalive = false;
@@ -86,7 +82,7 @@ int ips_leave(struct adapter *padapter)
static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
{
struct adapter *buddy = adapter->pbuddy_adapter;
- struct mlme_priv *pmlmepriv = &(adapter->mlmepriv);
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
struct xmit_priv *pxmit_priv = &adapter->xmitpriv;
bool ret = false;
@@ -97,33 +93,33 @@ static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
if (time_before(jiffies, adapter_to_pwrctl(adapter)->ips_deny_time))
goto exit;
- if (check_fwstate(pmlmepriv, WIFI_ASOC_STATE|WIFI_SITE_MONITOR)
- || check_fwstate(pmlmepriv, WIFI_UNDER_LINKING|WIFI_UNDER_WPS)
- || check_fwstate(pmlmepriv, WIFI_AP_STATE)
- || check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE|WIFI_ADHOC_STATE)
+ if (check_fwstate(pmlmepriv, WIFI_ASOC_STATE | WIFI_SITE_MONITOR) ||
+ check_fwstate(pmlmepriv, WIFI_UNDER_LINKING | WIFI_UNDER_WPS) ||
+ check_fwstate(pmlmepriv, WIFI_AP_STATE) ||
+ check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE)
)
goto exit;
/* consider buddy, if exist */
if (buddy) {
- struct mlme_priv *b_pmlmepriv = &(buddy->mlmepriv);
+ struct mlme_priv *b_pmlmepriv = &buddy->mlmepriv;
- if (check_fwstate(b_pmlmepriv, WIFI_ASOC_STATE|WIFI_SITE_MONITOR)
- || check_fwstate(b_pmlmepriv, WIFI_UNDER_LINKING|WIFI_UNDER_WPS)
- || check_fwstate(b_pmlmepriv, WIFI_AP_STATE)
- || check_fwstate(b_pmlmepriv, WIFI_ADHOC_MASTER_STATE|WIFI_ADHOC_STATE)
+ if (check_fwstate(b_pmlmepriv, WIFI_ASOC_STATE | WIFI_SITE_MONITOR) ||
+ check_fwstate(b_pmlmepriv, WIFI_UNDER_LINKING | WIFI_UNDER_WPS) ||
+ check_fwstate(b_pmlmepriv, WIFI_AP_STATE) ||
+ check_fwstate(b_pmlmepriv, WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE)
)
goto exit;
}
if (pxmit_priv->free_xmitbuf_cnt != NR_XMITBUFF ||
- pxmit_priv->free_xmit_extbuf_cnt != NR_XMIT_EXTBUFF) {
+ pxmit_priv->free_xmit_extbuf_cnt != NR_XMIT_EXTBUFF) {
netdev_dbg(adapter->pnetdev,
"There are some pkts to transmit\n");
netdev_dbg(adapter->pnetdev,
- "free_xmitbuf_cnt: %d, free_xmit_extbuf_cnt: %d\n",
- pxmit_priv->free_xmitbuf_cnt,
- pxmit_priv->free_xmit_extbuf_cnt);
+ "free_xmitbuf_cnt: %d, free_xmit_extbuf_cnt: %d\n",
+ pxmit_priv->free_xmitbuf_cnt,
+ pxmit_priv->free_xmit_extbuf_cnt);
goto exit;
}
@@ -133,7 +129,6 @@ static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
return ret;
}
-
/*
* ATTENTION:
*rtw_ps_processor() doesn't handle LPS.
@@ -164,7 +159,7 @@ void rtw_ps_processor(struct adapter *padapter)
if (!rtw_pwr_unassociated_idle(padapter))
goto exit;
- if ((pwrpriv->rf_pwrstate == rf_on) && ((pwrpriv->pwr_state_check_cnts%4) == 0)) {
+ if ((pwrpriv->rf_pwrstate == rf_on) && ((pwrpriv->pwr_state_check_cnts % 4) == 0)) {
pwrpriv->change_rfpwrstate = rf_off;
{
ips_enter(padapter);
@@ -190,8 +185,6 @@ void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets
u8 bLeaveLPS = false;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-
-
if (tx) { /* from tx */
xmit_cnt += tx_packets;
@@ -200,9 +193,9 @@ void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets
if (jiffies_to_msecs(jiffies - start_time) > 2000) { /* 2 sec == watch dog timer */
if (xmit_cnt > 8) {
- if (adapter_to_pwrctl(padapter)->bLeisurePs
- && (adapter_to_pwrctl(padapter)->pwr_mode != PS_MODE_ACTIVE)
- && !(hal_btcoex_IsBtControlLps(padapter))) {
+ if (adapter_to_pwrctl(padapter)->bLeisurePs &&
+ (adapter_to_pwrctl(padapter)->pwr_mode != PS_MODE_ACTIVE) &&
+ !(hal_btcoex_IsBtControlLps(padapter))) {
bLeaveLPS = true;
}
}
@@ -213,16 +206,16 @@ void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets
} else { /* from rx path */
if (pmlmepriv->LinkDetectInfo.NumRxUnicastOkInPeriod > 4/*2*/) {
- if (adapter_to_pwrctl(padapter)->bLeisurePs
- && (adapter_to_pwrctl(padapter)->pwr_mode != PS_MODE_ACTIVE)
- && !(hal_btcoex_IsBtControlLps(padapter)))
+ if (adapter_to_pwrctl(padapter)->bLeisurePs &&
+ (adapter_to_pwrctl(padapter)->pwr_mode != PS_MODE_ACTIVE) &&
+ !(hal_btcoex_IsBtControlLps(padapter)))
bLeaveLPS = true;
}
}
if (bLeaveLPS)
/* rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, 1); */
- rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, tx?0:1);
+ rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, tx ? 0 : 1);
}
/*
@@ -246,7 +239,6 @@ void rtw_set_rpwm(struct adapter *padapter, u8 pslv)
if (pwrpriv->rpwm == pslv ||
(pwrpriv->rpwm >= PS_STATE_S2 && pslv >= PS_STATE_S2))
return;
-
}
if ((padapter->bSurpriseRemoved) || !(padapter->hw_init_completed)) {
@@ -299,15 +291,16 @@ void rtw_set_rpwm(struct adapter *padapter, u8 pslv)
break;
}
} while (1);
- } else
+ } else {
pwrpriv->cpwm = pslv;
+ }
}
static u8 PS_RDY_CHECK(struct adapter *padapter)
{
unsigned long curr_time, delta_time;
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
- struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
if (pwrpriv->bInSuspend)
return false;
@@ -319,11 +312,11 @@ static u8 PS_RDY_CHECK(struct adapter *padapter)
if (delta_time < LPS_DELAY_TIME)
return false;
- if (check_fwstate(pmlmepriv, WIFI_SITE_MONITOR)
- || check_fwstate(pmlmepriv, WIFI_UNDER_LINKING|WIFI_UNDER_WPS)
- || check_fwstate(pmlmepriv, WIFI_AP_STATE)
- || check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE|WIFI_ADHOC_STATE)
- || rtw_is_scan_deny(padapter)
+ if (check_fwstate(pmlmepriv, WIFI_SITE_MONITOR) ||
+ check_fwstate(pmlmepriv, WIFI_UNDER_LINKING | WIFI_UNDER_WPS) ||
+ check_fwstate(pmlmepriv, WIFI_AP_STATE) ||
+ check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE) ||
+ rtw_is_scan_deny(padapter)
)
return false;
@@ -337,7 +330,8 @@ static u8 PS_RDY_CHECK(struct adapter *padapter)
return true;
}
-void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_ant_mode, const char *msg)
+void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps,
+ u8 bcn_ant_mode, const char *msg)
{
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
@@ -348,14 +342,13 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_a
if (ps_mode == PS_MODE_ACTIVE)
return;
-
mutex_lock(&pwrpriv->lock);
/* if (pwrpriv->pwr_mode == PS_MODE_ACTIVE) */
if (ps_mode == PS_MODE_ACTIVE) {
- if (!(hal_btcoex_IsBtControlLps(padapter))
- || (hal_btcoex_IsBtControlLps(padapter)
- && !(hal_btcoex_IsLpsOn(padapter)))) {
+ if (!(hal_btcoex_IsBtControlLps(padapter)) ||
+ (hal_btcoex_IsBtControlLps(padapter) &&
+ !(hal_btcoex_IsLpsOn(padapter)))) {
pwrpriv->pwr_mode = ps_mode;
rtw_set_rpwm(padapter, PS_STATE_S4);
@@ -365,9 +358,10 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_a
hal_btcoex_LpsNotify(padapter, ps_mode);
}
} else {
- if ((PS_RDY_CHECK(padapter) && check_fwstate(&padapter->mlmepriv, WIFI_ASOC_STATE)) ||
- ((hal_btcoex_IsBtControlLps(padapter)) && (hal_btcoex_IsLpsOn(padapter)))
- ) {
+ if ((PS_RDY_CHECK(padapter) &&
+ check_fwstate(&padapter->mlmepriv, WIFI_ASOC_STATE)) ||
+ ((hal_btcoex_IsBtControlLps(padapter)) && (hal_btcoex_IsLpsOn(padapter)))
+ ) {
u8 pslv;
hal_btcoex_LpsNotify(padapter, ps_mode);
@@ -410,7 +404,6 @@ s32 LPS_RF_ON_check(struct adapter *padapter, u32 delay_ms)
u8 bAwake = false;
s32 err = 0;
-
start_time = jiffies;
while (1) {
rtw_hal_get_hwreg(padapter, HW_VAR_FWLPS_RF_ON, &bAwake);
@@ -426,16 +419,16 @@ s32 LPS_RF_ON_check(struct adapter *padapter, u32 delay_ms)
err = -1;
break;
}
- msleep(1);
+ msleep(20);
}
return err;
}
-/* */
-/* Description: */
-/* Enter the leisure power save mode. */
-/* */
+/* */
+/* Description: */
+/* Enter the leisure power save mode. */
+/* */
void LPS_Enter(struct adapter *padapter, const char *msg)
{
struct dvobj_priv *dvobj = adapter_to_dvobj(padapter);
@@ -447,7 +440,7 @@ void LPS_Enter(struct adapter *padapter, const char *msg)
return;
/* Skip lps enter request if number of associated adapters is not 1 */
- if (check_fwstate(&(dvobj->padapters->mlmepriv), WIFI_ASOC_STATE))
+ if (check_fwstate(&dvobj->padapters->mlmepriv, WIFI_ASOC_STATE))
n_assoc_iface++;
if (n_assoc_iface != 1)
return;
@@ -461,17 +454,19 @@ void LPS_Enter(struct adapter *padapter, const char *msg)
if (pwrpriv->pwr_mode == PS_MODE_ACTIVE) {
scnprintf(buf, sizeof(buf), "WIFI-%s", msg);
pwrpriv->bpower_saving = true;
- rtw_set_ps_mode(padapter, pwrpriv->power_mgnt, padapter->registrypriv.smart_ps, 0, buf);
+ rtw_set_ps_mode(padapter, pwrpriv->power_mgnt,
+ padapter->registrypriv.smart_ps, 0, buf);
}
- } else
+ } else {
pwrpriv->LpsIdleCount++;
+ }
}
}
-/* */
-/* Description: */
-/* Leave the leisure power save mode. */
-/* */
+/* */
+/* Description: */
+/* Leave the leisure power save mode. */
+/* */
void LPS_Leave(struct adapter *padapter, const char *msg)
{
#define LPS_LEAVE_TIMEOUT_MS 100
@@ -499,7 +494,7 @@ void LPS_Leave(struct adapter *padapter, const char *msg)
void LeaveAllPowerSaveModeDirect(struct adapter *Adapter)
{
struct adapter *pri_padapter = GET_PRIMARY_ADAPTER(Adapter);
- struct mlme_priv *pmlmepriv = &(Adapter->mlmepriv);
+ struct mlme_priv *pmlmepriv = &Adapter->mlmepriv;
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(Adapter);
if (Adapter->bSurpriseRemoved)
@@ -539,7 +534,7 @@ void LeaveAllPowerSaveMode(struct adapter *Adapter)
if (Adapter->bSurpriseRemoved)
return;
- if (check_fwstate(&(dvobj->padapters->mlmepriv), WIFI_ASOC_STATE))
+ if (check_fwstate(&dvobj->padapters->mlmepriv, WIFI_ASOC_STATE))
n_assoc_iface++;
if (n_assoc_iface) { /* connect */
@@ -549,9 +544,8 @@ void LeaveAllPowerSaveMode(struct adapter *Adapter)
LPS_Leave_check(Adapter);
} else {
- if (adapter_to_pwrctl(Adapter)->rf_pwrstate == rf_off)
+ if (adapter_to_pwrctl(Adapter)->rf_pwrstate == rf_off)
ips_leave(Adapter);
-
}
}
@@ -584,7 +578,7 @@ void LPS_Leave_check(struct adapter *padapter)
if (jiffies_to_msecs(jiffies - start_time) > 100)
break;
- msleep(1);
+ msleep(20);
}
}
@@ -619,7 +613,6 @@ void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportp
exit:
mutex_unlock(&pwrpriv->lock);
-
}
static void cpwm_event_callback(struct work_struct *work)
@@ -639,7 +632,6 @@ static void rpwmtimeout_workitem_callback(struct work_struct *work)
struct dvobj_priv *dvobj;
struct pwrctrl_priv *pwrpriv;
-
pwrpriv = container_of(work, struct pwrctrl_priv, rpwmtimeoutwi);
dvobj = pwrctl_to_dvobj(pwrpriv);
padapter = dvobj->if1;
@@ -695,7 +687,6 @@ static inline void unregister_task_alive(struct pwrctrl_priv *pwrctrl, u32 tag)
pwrctrl->alives &= ~tag;
}
-
/*
* Description:
*Check if the fw_pwrstate is okay for I/O.
@@ -777,7 +768,6 @@ void rtw_unregister_task_alive(struct adapter *padapter, u32 task)
if (pwrctrl->cpwm > pslv)
if ((pslv >= PS_STATE_S2) || (pwrctrl->alives == 0))
rtw_set_rpwm(padapter, pslv);
-
}
mutex_unlock(&pwrctrl->lock);
@@ -996,7 +986,6 @@ void rtw_init_pwrctrl_priv(struct adapter *padapter)
pwrctrlpriv->wowlan_ap_mode = false;
}
-
void rtw_free_pwrctrl_priv(struct adapter *adapter)
{
}
@@ -1004,15 +993,16 @@ void rtw_free_pwrctrl_priv(struct adapter *adapter)
inline void rtw_set_ips_deny(struct adapter *padapter, u32 ms)
{
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
+
pwrpriv->ips_deny_time = jiffies + msecs_to_jiffies(ms);
}
/*
-* rtw_pwr_wakeup - Wake the NIC up from: 1)IPS. 2)USB autosuspend
-* @adapter: pointer to struct adapter structure
-* @ips_deffer_ms: the ms will prevent from falling into IPS after wakeup
-* Return _SUCCESS or _FAIL
-*/
+ * rtw_pwr_wakeup - Wake the NIC up from: 1)IPS. 2)USB autosuspend
+ * @adapter: pointer to struct adapter structure
+ * @ips_deffer_ms: the ms will prevent from falling into IPS after wakeup
+ * Return _SUCCESS or _FAIL
+ */
int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *caller)
{
@@ -1033,7 +1023,6 @@ int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *cal
if (time_before(pwrpriv->ips_deny_time, deny_time))
pwrpriv->ips_deny_time = deny_time;
-
if (pwrpriv->ps_processing)
while (pwrpriv->ps_processing && jiffies_to_msecs(jiffies - start) <= 3000)
mdelay(10);
@@ -1081,7 +1070,6 @@ int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *cal
if (time_before(pwrpriv->ips_deny_time, deny_time))
pwrpriv->ips_deny_time = deny_time;
return ret;
-
}
int rtw_pm_set_lps(struct adapter *padapter, u8 mode)
@@ -1091,18 +1079,19 @@ int rtw_pm_set_lps(struct adapter *padapter, u8 mode)
if (mode < PS_MODE_NUM) {
if (pwrctrlpriv->power_mgnt != mode) {
- if (mode == PS_MODE_ACTIVE)
+ if (mode == PS_MODE_ACTIVE) {
LeaveAllPowerSaveMode(padapter);
- else
+ } else {
pwrctrlpriv->LpsIdleCount = 2;
+ }
pwrctrlpriv->power_mgnt = mode;
pwrctrlpriv->bLeisurePs =
pwrctrlpriv->power_mgnt != PS_MODE_ACTIVE;
}
- } else
+ } else {
ret = -EINVAL;
-
+ }
return ret;
}
@@ -1117,8 +1106,9 @@ int rtw_pm_set_ips(struct adapter *padapter, u8 mode)
rtw_ips_mode_req(pwrctrlpriv, mode);
if ((padapter->bSurpriseRemoved == 0) && (rtw_pwr_wakeup(padapter) == _FAIL))
return -EFAULT;
- } else
+ } else {
return -EINVAL;
+ }
return 0;
}
--
2.39.5 (Apple Git-154)
Return-Path: <linux-kernel+bounces-665203-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8315A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:19:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A91031BC2BF4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:19:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C7DE4275866;
Wed, 28 May 2025 09:19:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fofja7hj"
Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2BC04275842;
Wed, 28 May 2025 09:19:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423967; cv=none; b=RJ5jz/3pvKbBj8zWNpobn1FxsYu00GaISxLgI2i4pzpoz9rRswkHeboG4enNELg0hZXW7NuPJZpuTtFRd+R/obbuYRChJDjrQJ1+zVnwtZPrLYq2U9h9gishrFx606wMURFwEuDx+NoxkvuZ2d2v4iF9Ixi4cS4ZGYY6p5D6wx4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423967; c=relaxed/simple;
bh=0nqBvlClGGVftjhIj76UIA4iGWi8W5biejuedgY8s7E=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=ilJImwNlp3lOt4R6Y/UPo7FeyiIZUe3ZakMOy8q0kPfDvFULvh82HiJBsnDv0lIxXpkO7Z/fMtcQK1I7q4Dj02HiuHJbxDU5cmqO1vXUZE9rIMJ+JGuZyrq8iH5AX0HyfP16YRyhQRHgPpDli/dYwwIIV73NGjsEcq8Z4YpiSh8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fofja7hj; arc=none smtp.client-ip=209.85.208.43
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-604e299b5b6so1352719a12.0;
Wed, 28 May 2025 02:19:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748423963; x=1749028763; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=wlRiXiMydg8Ng6zdXcXHZ9C9WqC7917J7z9TLlV4E6Y=;
b=fofja7hjod2Nuf5AGVgGgmsHIXE0wuNbuZXhUDZghBuF2D3YrvNBitDRMOXagsgxFs
xerA3ss1eyIUrm5qd/r3LXIi74Mn7nYFPR9PkYe5bsYOSlIhy1QmbteaTARLcy3dQg9v
8mgR9qRVRpPSaopVtH9Z14QJS0lt99FuCYEfMwUgw4+RbysUbmFZA1fOFA0N8fpJNaWC
caTahAqDI+qIUb7S6/Wx7YbmX8HhlnA2ce8vHmxqonEwK1Onnr0KxbGpg4CrSeaFkFIs
3r1WbKcGKzzXomREkHE3gOQJxtmTQT+vQhS75BsZC+UhKrsgwQXTC2tImGmskuxfxlHA
h5jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748423963; x=1749028763;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=wlRiXiMydg8Ng6zdXcXHZ9C9WqC7917J7z9TLlV4E6Y=;
b=CA0htJApZ5CP6uyF6D0EC0t/ygyENF+c6e/+VBfBnTyXHw8G+oShPwIc4hQjwc1gLH
1YbRuF17GeiCCelYfcANGg5u1I7Hv763nVRjhYte+twsqE4ubp1KZBBvZc6MEPgdR6eI
RDpoTpZjtQFQzF1g5TWKlOvrZPqzUhtelyYmGX4TiS/DzmCEdEzXeQBlyGnKz9GS2RNh
ZSce6dcfz0F8dLHX/HHTyFVV5kCK/U6jGQ1H7hzzr1ueQWfKaFdS+UiRytwVKxQkD7ET
zySj0GR49+GMzR06N2GE3zfk6TDSTjKVFF6cPa06105qMK90UBzY99GJTmwpdmcZU4YJ
2FFQ==
X-Forwarded-Encrypted: i=1; AJvYcCVWfQJHNHVy25qb1UenI+E6AWfhnKZp4hm4r8kij6LXp/L7ARUX15lk2fF3PkoeYFKQEL55rmARpb6Wqg==@vger.kernel.org, AJvYcCXcE8GcisVDTs12cGuWnd32bhdut0TrTO1NIt6wr23Ofd17yxqC+0KYRILtHgIB5K48CPh9XyHUSydzKbY7@xxxxxxxxxxxxxxx, AJvYcCXia8bYPKbYzn5cS2ze2XL/uulPoI5Ym/Lj5CKpwwrKC5CHxV7Lg34aOlft35uORMpU0m2fTvA3@xxxxxxxxxxxxxxx, AJvYcCXmarxevsGQNBW/V5jnm5lgUFDpynA/Dk+Apnc5xEO5w4gTfeHwGHx1iiVTMeE/huMgYI4=@vger.kernel.org
X-Gm-Message-State: AOJu0YyibO2faaMDsEdn4+X5bK2UPRpdCjnMBJY2bHVk7g9i0NiPgf6v
zmNoTPWJAx0ZgunrkXfdsiNQMS7Nxb1wVmwWnb7GdmMtYLanpIrWE3FdpBI3xUwk
X-Gm-Gg: ASbGncsww0xNT2VLkjpzAJp/BOc9YYUBB+HVcEB1jqoZgTYwYOlO+MnQCTsaWOCCSN4
tkpRzKM0KUpExhYDOciuFcb1SATA+ljfFDqppoDvvffU+2bogPL9IdairGQLvFyQZfBVjRCaSD/
N61ivvGoZ07kXRTpQFrKpnnFurvM3aZXolmFzB2e3GZqOzXmEnf8pzg5EwUN2A8DR4KzobC6m+E
2fAIJf4lx7cHgu1YU4xj1hxijE4vqx8Nmq/LSFQUpze9DEibE94aKSco4SHJBYm4Pe9JceCV85Y
cpC75rM/4zUn6OvuFjAE6hIm2x34bGF+S2lOZWwIKfFHozlYugzB4uOlV78lItHxSVZ3j8q0ug=
=
X-Google-Smtp-Source: AGHT+IEq6tM8RdZXXvDSkGfL6LGlhKbzABi9NzIAuOCCNVVdVvH3+0hfCaQJlqqdguwEgPZkuM1QBw==
X-Received: by 2002:a17:907:7f91:b0:ad5:4cde:fb97 with SMTP id a640c23a62f3a-ad898a1de29mr346968866b.29.1748423962900;
Wed, 28 May 2025 02:19:22 -0700 (PDT)
Received: from ?IPV6:2620:10d:c096:325::6f? ([2620:10d:c092:600::1:c447])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1a1323bsm75303366b.84.2025.05.28.02.19.16
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:19:17 -0700 (PDT)
Message-ID: <b7efa56b-e9fd-4ca6-9ecf-0d5f15b8d0c1@xxxxxxxxx>
Date: Wed, 28 May 2025 10:20:29 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access page->pp_magic
in page_pool_page_is_pp()
To: Byungchul Park <byungchul@xxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx, ilias.apalodimas@xxxxxxxxxx,
harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx,
toke@xxxxxxxxxx, tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx,
david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx,
vbabka@xxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx, mhocko@xxxxxxxx,
horms@xxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
<a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
<20250528081403.GA28116@xxxxxxxxxxxxxxxxxxx>
<06fca2f8-39f6-4abb-8e0d-bef373d9be0f@xxxxxxxxx>
<20250528091416.GA54984@xxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Pavel Begunkov <asml.silence@xxxxxxxxx>
In-Reply-To: <20250528091416.GA54984@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 10:14, Byungchul Park wrote:
> On Wed, May 28, 2025 at 10:07:52AM +0100, Pavel Begunkov wrote:
>> On 5/28/25 09:14, Byungchul Park wrote:
>>> On Wed, May 28, 2025 at 08:51:47AM +0100, Pavel Begunkov wrote:
>>>> On 5/26/25 03:23, Byungchul Park wrote:
>>>>> On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
>>>>>> On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
>>>>>>>
>>>>>>> To simplify struct page, the effort to seperate its own descriptor from
>>>>>>> struct page is required and the work for page pool is on going.
>>>>>>>
>>>>>>> To achieve that, all the code should avoid accessing page pool members
>>>>>>> of struct page directly, but use safe APIs for the purpose.
>>>>>>>
>>>>>>> Use netmem_is_pp() instead of directly accessing page->pp_magic in
>>>>>>> page_pool_page_is_pp().
>>>>>>>
>>>>>>> Signed-off-by: Byungchul Park <byungchul@xxxxxx>
>>>>>>> ---
>>>>>>> include/linux/mm.h | 5 +----
>>>>>>> net/core/page_pool.c | 5 +++++
>>>>>>> 2 files changed, 6 insertions(+), 4 deletions(-)
>>>>>>>
>>>>>>> diff --git a/include/linux/mm.h b/include/linux/mm.h
>>>>>>> index 8dc012e84033..3f7c80fb73ce 100644
>>>>>>> --- a/include/linux/mm.h
>>>>>>> +++ b/include/linux/mm.h
>>>>>>> @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
>>>>>>> #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
>>>>>>>
>>>>>>> #ifdef CONFIG_PAGE_POOL
>>>>>>> -static inline bool page_pool_page_is_pp(struct page *page)
>>>>>>> -{
>>>>>>> - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
>>>>>>> -}
>>>>>>
>>>>>> I vote for keeping this function as-is (do not convert it to netmem),
>>>>>> and instead modify it to access page->netmem_desc->pp_magic.
>>>>>
>>>>> Once the page pool fields are removed from struct page, struct page will
>>>>> have neither struct netmem_desc nor the fields..
>>>>>
>>>>> So it's unevitable to cast it to netmem_desc in order to refer to
>>>>> pp_magic. Again, pp_magic is no longer associated to struct page.
>>>>>
>>>>> Thoughts?
>>>>
>>>> Once the indirection / page shrinking is realized, the page is
>>>> supposed to have a type field, isn't it? And all pp_magic trickery
>>>> will be replaced with something like
>>>>
>>>> page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; }
>>>
>>> Agree, but we need a temporary solution until then. I will use the
>>> following way for now:
>>
>> The question is what is the problem that you need another temporary
>> solution? If, for example, we go the placeholder way, page_pool_page_is_pp()
>
> I prefer using the place-holder, but Matthew does not. I explained it:
>
> https://lore.kernel.org/all/20250528013145.GB2986@xxxxxxxxxxxxxxxxxxx/
>
> Now, I'm going with the same way as the other approaches e.g. ptdesc.
Sure, but that doesn't change my point
--
Pavel Begunkov
Return-Path: <linux-kernel+bounces-665204-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9756D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:20:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 990DB1BC3F77
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:20:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BDFCE27814B;
Wed, 28 May 2025 09:19:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b="RbQzFo7N";
dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b="RbQzFo7N"
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4EA0627586F
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:19:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748423968; cv=none; b=R2sr6hg8LJFnfbxJcpzNcbYGwLoNxS5JdN1eqYP+iX2MHA0OV6aMrc2h0XwSR0XpcnNuZfKwzQRs8V6n33sT/dQw2DwImjXjbVurre3HEQZdm2r/TPomW3NUg0n0fgk0VqcGQ4oo6Klr5tVOpj9d7rDE5pVErtLxG9OXi2t5IbM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748423968; c=relaxed/simple;
bh=/bbXwXbMMbqjIGL9TQHrgrD5OA0YP+lJA+Klu5DT5YY=;
h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References:
In-Reply-To:Content-Type; b=e2ceo5U+wtHdC21J9cju6Wp4VfbLOcJud91L4w/UXN4GJ/FFJAH5fao1FiqMkH4WNUyK+iFhFiFjb828ozx+wTX8JngXmQugs5++7ALj22yniIA7qM9Pv+0kRRNwsgewGBCBbplVV9/7euKv3f+vTkdy5GCFP5ft/L1piqHD8bY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b=RbQzFo7N; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b=RbQzFo7N; arc=none smtp.client-ip=195.135.223.130
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out1.suse.de (Postfix) with ESMTPS id 7650421BAF;
Wed, 28 May 2025 09:19:24 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
t=1748423964; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=/bbXwXbMMbqjIGL9TQHrgrD5OA0YP+lJA+Klu5DT5YY=;
b=RbQzFo7NLL/u9GxubmTPQ1DT5464wPLD0RdQCWQCQxCLcgrqYexFhB4E0Pj3FYHOIasy92
OY/wNE/+ypOvlLTzOfKKUJYX1cTCQKz30oFBHW2uGbs6Ezm4vxMuh9OS2hSIXI3vusJM4X
Z6ylzYu0WrRkWHco/wiK+QxsQ8XLrt0=
Authentication-Results: smtp-out1.suse.de;
none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
t=1748423964; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=/bbXwXbMMbqjIGL9TQHrgrD5OA0YP+lJA+Klu5DT5YY=;
b=RbQzFo7NLL/u9GxubmTPQ1DT5464wPLD0RdQCWQCQxCLcgrqYexFhB4E0Pj3FYHOIasy92
OY/wNE/+ypOvlLTzOfKKUJYX1cTCQKz30oFBHW2uGbs6Ezm4vxMuh9OS2hSIXI3vusJM4X
Z6ylzYu0WrRkWHco/wiK+QxsQ8XLrt0=
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 11900136E3;
Wed, 28 May 2025 09:19:24 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id 8XmRAhzVNmh1aAAAD6G6ig
(envelope-from <jgross@xxxxxxxx>); Wed, 28 May 2025 09:19:24 +0000
Message-ID: <a71e7aba-759b-47aa-9170-a4045c52239a@xxxxxxxx>
Date: Wed, 28 May 2025 11:19:19 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [Bug Report] Linux v6.15-rc7 boot failure on Xen-4.17
From: Juergen Gross <jgross@xxxxxxxx>
To: Xin Li <xin@xxxxxxxxx>, Zijlstra Peter <peterz@xxxxxxxxxxxxx>
Cc: Gupta Pawan <pawan.kumar.gupta@xxxxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx,
Hansen Dave <dave.hansen@xxxxxxxxxxxxxxx>, alexandre.chartre@xxxxxxxxxx,
Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Zhang Tao1 <tao1.zhang@xxxxxxxxx>
References: <607917bc-6788-425a-8051-181a078ddb49@xxxxxxxx>
<C28A8745-02AD-489E-B2F3-6DE81C511783@xxxxxxxxx>
<081152ba-79b5-477e-8248-02bf289ff9ce@xxxxxxxxxx>
<227db775-f4ce-4dd3-ba14-30232ab3ab6f@xxxxxxxx>
<1b8e565e-2ed6-4f1d-9138-fbf12662c404@xxxxxxxx>
<1226c371-5d44-4206-973f-3c10152c4195@xxxxxxxxx>
<400ee15a-12fa-4477-ba03-123eb8e07dc2@xxxxxxxxx>
<760c96da-a8da-49be-bc4e-b82a8b2a1623@xxxxxxxx>
Content-Language: en-US
Autocrypt: addr=jgross@xxxxxxxx; keydata=
xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <760c96da-a8da-49be-bc4e-b82a8b2a1623@xxxxxxxx>
Content-Type: multipart/signed; micalg=pgp-sha256;
protocol="application/pgp-signature";
boundary="------------3MNdmTEmocVC00pJoKvINUXt"
X-Spamd-Result: default: False [-6.20 / 50.00];
BAYES_HAM(-3.00)[100.00%];
SIGNED_PGP(-2.00)[];
NEURAL_HAM_LONG(-1.00)[-1.000];
MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
NEURAL_HAM_SHORT(-0.20)[-0.999];
MIME_BASE64_TEXT(0.10)[];
MIME_UNKNOWN(0.10)[application/pgp-keys];
ARC_NA(0.00)[];
MID_RHS_MATCH_FROM(0.00)[];
MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
RCPT_COUNT_SEVEN(0.00)[9];
RCVD_VIA_SMTP_AUTH(0.00)[];
RCVD_TLS_ALL(0.00)[];
TO_DN_SOME(0.00)[];
FROM_EQ_ENVFROM(0.00)[];
FROM_HAS_DN(0.00)[];
FUZZY_BLOCKED(0.00)[rspamd.com];
RCVD_COUNT_TWO(0.00)[2];
TO_MATCH_ENVRCPT_ALL(0.00)[];
DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:email,suse.com:mid];
DKIM_SIGNED(0.00)[suse.com:s=susede1];
HAS_ATTACHMENT(0.00)[]
X-Spam-Level:
X-Spam-Score: -6.20
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3MNdmTEmocVC00pJoKvINUXt
Content-Type: multipart/mixed; boundary="------------E81FZrA6R5X3ilhdh0soFZC7";
protected-headers="v1"
From: Juergen Gross <jgross@xxxxxxxx>
To: Xin Li <xin@xxxxxxxxx>, Zijlstra Peter <peterz@xxxxxxxxxxxxx>
Cc: Gupta Pawan <pawan.kumar.gupta@xxxxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx,
Hansen Dave <dave.hansen@xxxxxxxxxxxxxxx>, alexandre.chartre@xxxxxxxxxx,
Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Zhang Tao1 <tao1.zhang@xxxxxxxxx>
Message-ID: <a71e7aba-759b-47aa-9170-a4045c52239a@xxxxxxxx>
Subject: Re: [Bug Report] Linux v6.15-rc7 boot failure on Xen-4.17
References: <607917bc-6788-425a-8051-181a078ddb49@xxxxxxxx>
<C28A8745-02AD-489E-B2F3-6DE81C511783@xxxxxxxxx>
<081152ba-79b5-477e-8248-02bf289ff9ce@xxxxxxxxxx>
<227db775-f4ce-4dd3-ba14-30232ab3ab6f@xxxxxxxx>
<1b8e565e-2ed6-4f1d-9138-fbf12662c404@xxxxxxxx>
<1226c371-5d44-4206-973f-3c10152c4195@xxxxxxxxx>
<400ee15a-12fa-4477-ba03-123eb8e07dc2@xxxxxxxxx>
<760c96da-a8da-49be-bc4e-b82a8b2a1623@xxxxxxxx>
In-Reply-To: <760c96da-a8da-49be-bc4e-b82a8b2a1623@xxxxxxxx>
--------------E81FZrA6R5X3ilhdh0soFZC7
Content-Type: multipart/mixed; boundary="------------ggWArFCDyOmUVH0CSrX7w4Yk"
--------------ggWArFCDyOmUVH0CSrX7w4Yk
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64
T24gMjguMDUuMjUgMTA6NTcsIErDvHJnZW4gR3Jvw58gd3JvdGU6DQo+IE9uIDI4LjA1LjI1
IDEwOjI2LCBYaW4gTGkgd3JvdGU6DQo+PiBPbiA1LzI4LzIwMjUgMTI6MjcgQU0sIFhpbiBM
aSB3cm90ZToNCj4+PiBPbiA1LzI3LzIwMjUgMTE6NDkgUE0sIEp1ZXJnZW4gR3Jvc3Mgd3Jv
dGU6DQo+Pj4+IE9uIDI4LjA1LjI1IDA3OjExLCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0KPj4+
Pj4gT24gMjcuMDUuMjUgMjE6MjksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+Pj4+Pj4gT24g
MjcvMDUvMjAyNSA4OjIxIHBtLCBYaW4gTGkgd3JvdGU6DQo+Pj4+Pj4+PiBPbiBNYXkgMjcs
IDIwMjUsIGF0IDExOjM24oCvQU0sIErDvHJnZW4gR3Jvw58gPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4g77u/T24gMjcuMDUuMjUgMTk6NTQsIFhpbiBM
aSB3cm90ZToNCj4+Pj4+Pj4+PiBPbiA1LzI3LzIwMjUgMTA6NDYgQU0sIFBhd2FuIEd1cHRh
IHdyb3RlOg0KPj4+Pj4+Pj4+Pj4gQXR0YWNoZWQgaXMgdGhlIHNlcmlhbCBjb25zb2xlIGxv
ZyBhbmQgbXkga2VybmVsIGNvbmZpZy4NCj4+Pj4+Pj4+Pj4gU2VyaWFsIGxvZ3MgYXJlbid0
IHRlbGxpbmcgbXVjaC4gSSBkbyBub3QgaGF2ZSBhIFhlbiBzZXR1cCB0byB0ZXN0LCANCj4+
Pj4+Pj4+Pj4gd2l0aG91dA0KPj4+Pj4+Pj4+PiBYZW4gdGhlIGNvbmZpZyB0aGF0IHlvdSBw
cm92aWRlZCBpcyBib290aW5nIGEgS1ZNIGd1ZXN0IGp1c3QgZmluZS4NCj4+Pj4+Pj4+PiBZ
ZWFoLCBhcyBJIHJlcGxpZWQgdG8gSnVlcmdlbiwgdGhlIHNhbWUga2VybmVsIGJpbmFyeSBi
b290cyBmaW5lIGFzDQo+Pj4+Pj4+Pj4gIm5hdGl2ZSIuDQo+Pj4+Pj4+Pj4gVW5mb3J0dW5h
dGVseSB3aGVuIGJvb3RpbmcgYXMgZG9tMCBvbiBYZW4sIGl0IGtlZXBzIHJlYm9vdGluZyB3
L28NCj4+Pj4+Pj4+PiBoZWxwZnVsIGxvZy4NCj4+Pj4+Pj4+IFdoYXQgYWJvdXQgYm9vdGlu
ZyBYZW4gb24gYmFyZSBtZXRhbCwgaS5lLiBubyBLVk0gYmVpbmcgaW52b2x2ZWQ/DQo+Pj4+
Pj4+IFRoZSBzYW1lIGV4YWN0IHByb2JsZW0gaGFwcGVucyBvbiBJbnRlbCBTaW1pY3MuwqAg
QW5kIEkgZ290IHRvIHNlZSBpdOKAmXMgYSANCj4+Pj4+Pj4gTlggcGFnZSBmYXVsdCBpbiBk
b20wIGtlcm5lbCBkdXJpbmcgYXBwbHkgYWx0ZXJuYXRpdmVzLg0KPj4+Pj4+DQo+Pj4+Pj4g
SW4gd2hpY2ggY2FzZSBpdCdzIGxpa2VseSB0aGF0IHRoZXJlJ3MgYW4gb3BlbmNvZGVkIFBU
RSB1cGRhdGUsIHJhdGhlcg0KPj4+Pj4+IHRoYW4gdXNpbmcgdGhlIGhvb2tzICh3aGljaCBh
cmUgc3VpdGFibHkgcGFyYXZpcnQnZCkuDQo+Pj4+Pg0KPj4+Pj4gSSdkIHN1c3BlY3QgYSBi
dWcgd2hlbiBOT1QgdXNpbmcgMk0gcGFnZXMgZm9yIGV4ZWNtZW0uDQo+Pj4+Pg0KPj4+Pj4g
SSdsbCBoYXZlIGEgbG9vay4NCj4+Pj4NCj4+Pj4gQ291bGQgeW91IGhhdmUgYSB0cnkgdXNp
bmcgIm5vaHVnZXZtYWxsb2MiIGRvbTAga2VybmVsIGJvb3QgcGFyYW1ldGVyPw0KPj4+Pg0K
Pj4+DQo+Pj4gVHJpZWQgaW4gYSBLVk0gZ3Vlc3QsIHN0aWxsIHRoZSBzYW1lIHByb2JsZW0s
IGFuZCBub3RoaW5nIG5ldyBpbiB0aGUNCj4+PiBzZXJpYWwgbG9nLg0KPj4NCj4+IEF0dGFj
aGVkIGlzIGEgZG9tMCBsb2cgd2l0aCBzdGFjayB0cmFjZXMuDQo+Pg0KPj4gQnV0IEkgcmVh
bGx5IGRpZCBOT1QgY2hhbmdlIGFueXRoaW5nIHRvIG1ha2UgaXQgaGFwcGVuLi4uDQo+IA0K
PiBUaGFua3MuDQo+IA0KPiBJIHRoaW5rIHRoaXMgbWlnaHQgYmUgcmVsYXRlZCB0byBYZW4g
bm90IGFkdmVydGlzaW5nIFg4Nl9GRUFUVVJFX1BTRS4NCj4gDQo+IFRoaXMgd2lsbCB1c2Ug
UEFHRV9LRVJORUwgcGFnZSBwcm90ZWN0aW9uIGZvciBleGVjbWVtX2FsbG9jKCkgcGFnZSBw
cm90ZWN0aW9uLA0KPiB3aGlsZSB3aXRoIFg4Nl9GRUFUVVJFX1BTRSBQQUdFX0tFUk5FTF9S
T1ggaXMgYmVpbmcgdXNlZC4NCj4gDQo+IEZvciB0aGUga2VybmVsIChzbyBub3QgaW4gYSBt
b2R1bGUpIHRoZXJlIGlzIG5vIGV4ZWNtZW1fcmVzdG9yZV9yb3goKSBjYWxsDQo+IGludm9s
dmVkLCBzbyB0aGUgTlggYml0IHdpbGwgYmUga2VwdCBmb3Iga2VybmVsIHNpZGUgSVRTIHRo
dW5rcy4NCj4gDQo+IFBldGVyLCBjYW4geW91IGNvbmZpcm0gbXkgc3VzcGljaW9uPw0KDQpJ
IGp1c3QgbWFkZSBhIHNtYWxsIHRlc3Qgb24gbXkgKHJhdGhlciBvbGQpIHN5c3RlbToNCg0K
SSB2ZXJpZmllZCB0aGF0IGtlcm5lbCA2LjE1IGlzIGJvb3RpbmcgZmluZSBhcyBYZW4gZG9t
MCAoSVRTIG1pdGlnYXRpb24NCm5vdCBuZWVkZWQgZHVlIHRvIG9sZCBjcHUpLiBUaGVuIEkg
bW9kaWZpZWQgYWx0ZXJuYXRpdmUuYyB0byBhcHBseSB0aGUNCklUUyBtaXRpZ2F0aW9ucyBu
ZXZlcnRoZWxlc3MsIHdoaWNoIG1hZGUgdGhlIGtlcm5lbCBjcmFzaCBhcyBYZW4gZG9tMC4N
Cg0KV2l0aCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgbW9kaWZpY2F0aW9uIGJvb3Qgd2Fz
IHdvcmtpbmcgYWdhaW46DQoNCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9pbml0LmMgYi9h
cmNoL3g4Ni9tbS9pbml0LmMNCmluZGV4IGJmYTQ0NGE3ZGJiMC4uZmFjNGY5ZDI2MTMyIDEw
MDY0NA0KLS0tIGEvYXJjaC94ODYvbW0vaW5pdC5jDQorKysgYi9hcmNoL3g4Ni9tbS9pbml0
LmMNCkBAIC0xMDkwLDcgKzEwOTAsNyBAQCBzdHJ1Y3QgZXhlY21lbV9pbmZvIF9faW5pdCAq
ZXhlY21lbV9hcmNoX3NldHVwKHZvaWQpDQogICAgICAgICAgICAgICAgIHBncHJvdCA9IFBB
R0VfS0VSTkVMX1JPWDsNCiAgICAgICAgICAgICAgICAgZmxhZ3MgPSBFWEVDTUVNX0tBU0FO
X1NIQURPVyB8IEVYRUNNRU1fUk9YX0NBQ0hFOw0KICAgICAgICAgfSBlbHNlIHsNCi0gICAg
ICAgICAgICAgICBwZ3Byb3QgPSBQQUdFX0tFUk5FTDsNCisgICAgICAgICAgICAgICBwZ3By
b3QgPSBQQUdFX0tFUk5FTF9FWEVDOw0KICAgICAgICAgICAgICAgICBmbGFncyA9IEVYRUNN
RU1fS0FTQU5fU0hBRE9XOw0KICAgICAgICAgfQ0KDQoNCkp1ZXJnZW4NCg==
--------------ggWArFCDyOmUVH0CSrX7w4Yk
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----
--------------ggWArFCDyOmUVH0CSrX7w4Yk--
--------------E81FZrA6R5X3ilhdh0soFZC7--
--------------3MNdmTEmocVC00pJoKvINUXt
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"
-----BEGIN PGP SIGNATURE-----
wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmg21RcFAwAAAAAACgkQsN6d1ii/Ey9l
+Af/WtMeaVM0A2XJskrLN3rjrX5MiFl3p2UwaewCkMlTbMl/4RozukUZJcy++ppVV63bu2rOPbaY
ZVbg4Ay9U7uSGYuSFpn6Vw/ORSxqY/WIKk9aPOFcshuaON0W0d2+uDuit8A/js0C/zPGNACdfJ7u
6c/MCCixgrpk/8rdAN2d2svvPb8fklnlrOKU39BJckF6NDjyoEXyLmACSxNupDk3XniUG2mARU/9
UhJYFpy1cbdQHF//G6xg6Pt03XElR8ecPSFp4nd/+/WiOWYMwPU/xuqf+TgnQExRUpp/mLXGgJK5
K1Jr0FXX8J5wZsvDA24/cRDFbpYAj8/qnklbkHMoKg==
=naJz
-----END PGP SIGNATURE-----
--------------3MNdmTEmocVC00pJoKvINUXt--
Return-Path: <linux-kernel+bounces-665205-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8911241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:21:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9FF333B5753
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:20:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D78A6276020;
Wed, 28 May 2025 09:21:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=genexis.eu header.i=@genexis.eu header.b="f+mTSq50"
Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11023107.outbound.protection.outlook.com [40.107.162.107])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1EFD3152E02;
Wed, 28 May 2025 09:21:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.162.107
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424067; cv=fail; b=cO2sMWWErN8J73QpOPZ1+gnjlR+PpLkvmykcVD7gtwsEzJLDYoO1LfYCDlt2xBjUlvpZBKlcDaH5YkeN4c320rSwIO/ukWo7apARe3d7GzAAL8B0wU5ayhk/+pI59bypbCDLNYT+IUnmyV36NGAqFEx0dVDaLrne/543MpWU/Nc=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424067; c=relaxed/simple;
bh=clsLgmbXMrG8mK9z9LgmXIBBuv3vvTFemmavVBWFMTw=;
h=Message-ID:Date:Subject:To:References:From:In-Reply-To:
Content-Type:MIME-Version; b=dSrCu258Y2RxUm/OErY8PfvQYWWs13G9O9MevcAgWq/IyIU3sJr7so4fH0Ch3b0N+w39zk9ygzkEMO1uQ2wImh08x08xpuKJIEf53RUjnQPeN0/uT/Ll8fMOBJ/E4cCMsFL3FUtB5U3TCpjFYjEJEsK57E12ZS5ZjfAQzeOX87s=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=genexis.eu; spf=pass smtp.mailfrom=genexis.eu; dkim=pass (2048-bit key) header.d=genexis.eu header.i=@genexis.eu header.b=f+mTSq50; arc=fail smtp.client-ip=40.107.162.107
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=genexis.eu
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=genexis.eu
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=vhTFZKSL45k5WDvxTMpKap5zOZxC1hMKNX6aeUp0+N6hHSyS9hrpagYw+lQnpZWRAbjUT0n5BIzSVifK5n5RZgmGxqj/t3RuYo1yYPGR/wbDnsJOBbhK0NQp9JWf2P2QAvOEwqpCTbRbH2vH3brScPs5M456Ab3okO8HxujoZ27M9obNsVt8Er9bCRWzVyY1hanQaaBeAiXI+ocNVXiGtgEgp/cjxt/mmswpqSxz/uAgFQWPefF2MMIjjYgezEMZkEPf1hFeJDU+EnDPBhBNOoZwNKqlD8tpQWqa481pIhaKT1OTc3LWXsSuT8W4B/Pw0iSX4dY/i9DHPKyQVS6Q6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=gz/Xh3ZL3C2+Zw0PCetO3VgLrD3Rzu/DdkijnqDwc9c=;
b=Io6SsJWgglnQDe2lv3aklz8HOvMVQVTJt7Ia40LZ4/ZZsu2h9BTRpTF9f9gkgR+4tW5gtYN3nu5DO7a2jqyjjUFIijGN5laDiKlhMwBUqbPprdbCPO6fLbvgdjYiv2d1WzS0y21lveriDsqsk+WTL2ESrDg5k3mgPMVpJPDegUlVaWN1X3frqPpfQg166sptbJh9xmm0LUdALElaXoB9L5FLWHdXyDa8FB1l6KjZSjGVZOK09mD/vP1t9AgOgVACrRohkrVFFcv85bYpzdCuuH5Tt5207jIcGVdUhuyX0tELPbZHBPAd7bsOX87nW85e+mTZX93Nfg0mOIm83yQMnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=genexis.eu; dmarc=pass action=none header.from=genexis.eu;
dkim=pass header.d=genexis.eu; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=genexis.eu;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=gz/Xh3ZL3C2+Zw0PCetO3VgLrD3Rzu/DdkijnqDwc9c=;
b=f+mTSq501uEHI8P9WBnZqIRNNPmGqJZAO8JDgPKxVD4zd1BeHhy+soCpZh9h0yRdqMpTzKv0hZIL0yqFLdDuSOHcTQAqxcjm35Ds9cumuPtvahXzuRNLs+ybHDGmhWNZLo81OzRuWC2MlDsyh5LXPsmi3BxlzBcg3N57GZv2SF5i6Be+whDw2slSpjcZ/RSDSCyeQILskjE0HFDswBeSeLEHlPvnapYYiyidkDcEVjEh7j3odqlEoac1tz1U3xH+wUVO9WAqK6ov6Oi0Uy0GZQy+G8+Bd7IWxa07et2GjIQGbzRm3s9sIGiVCXbj6Y0rrSD1HdwT+VKhv3NolFY55g==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=genexis.eu;
Received: from AM6PR08MB4215.eurprd08.prod.outlook.com (2603:10a6:20b:90::16)
by PAVPR08MB9481.eurprd08.prod.outlook.com (2603:10a6:102:319::8) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Wed, 28 May
2025 09:21:00 +0000
Received: from AM6PR08MB4215.eurprd08.prod.outlook.com
([fe80::f8bd:a866:322f:7b42]) by AM6PR08MB4215.eurprd08.prod.outlook.com
([fe80::f8bd:a866:322f:7b42%5]) with mapi id 15.20.8722.027; Wed, 28 May 2025
09:21:00 +0000
Message-ID: <b1f58f49-83b3-48c3-8c44-4c82fcd2f69b@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:20:53 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] pinctrl: airoha: add support for Airoha AN7583 PINs
To: Christian Marangi <ansuelsmth@xxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>,
Linus Walleij <linus.walleij@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-gpio@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
References: <20250527222040.32000-1-ansuelsmth@xxxxxxxxx>
<20250527222040.32000-7-ansuelsmth@xxxxxxxxx>
Content-Language: en-US
From: Benjamin Larsson <benjamin.larsson@xxxxxxxxxx>
In-Reply-To: <20250527222040.32000-7-ansuelsmth@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: CH0PR08CA0023.namprd08.prod.outlook.com
(2603:10b6:610:33::28) To AM6PR08MB4215.eurprd08.prod.outlook.com
(2603:10a6:20b:90::16)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR08MB4215:EE_|PAVPR08MB9481:EE_
X-MS-Office365-Filtering-Correlation-Id: a0b36d26-73fb-4ee3-a9a9-08dd9dc8f621
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|366016|1800799024|7416014|376014|921020|7053199007;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?VENyc2JNK1plSTM0b25IWU4zUXFuNm1QR2IvWmhxK3l6bjhrcGJoaVpFb3Ev?=
=?utf-8?B?Vlo4eHZjTnUyd3pOT1BYZWZEeWNpak1aSnd4enQ2VmZtbzZkb1JsYnBzWndy?=
=?utf-8?B?NDMzU3oxV2Fzbjg0ZWFhRy94OEZ0MWRKUG5lVVJVdTFvL29wN09ibUhGUWp3?=
=?utf-8?B?ZGd0UG4raGxYTGdCRloxbWFZNkRocVlmYjdURWNPSWU0bFRUc2Z1Qy9rR0hO?=
=?utf-8?B?aklabitiQVB6NW1XRHBTOSttRDRWUUo2RGM2LzdEOE5TdTJVTVVTMVEwZDFk?=
=?utf-8?B?ZndVVjg4UDFuR1JHTm9jekZLYThLREpHZ3RnQXlzK2NOUlNLSjB5UklIdU5z?=
=?utf-8?B?SkRLL2NkaEVuMUdNNEFuaDMyTEtFd3MrdGVrSk12OFJYeFNFRkk2OTVkcC9P?=
=?utf-8?B?TWFEeVkxNngvSmVqOE5mYUJvWFlzbDV1MTdTbitMNkVqNm85clFQV05FdjdJ?=
=?utf-8?B?ZzJBd2ttRVRrb045NjhzeEFhVEZTS3Uxa2FjY0NPdXVlTkhYY2tCUnhIcW9l?=
=?utf-8?B?V3IzQ1BGdDEzdUJZV1owNlVnSTVETmFxcGNpdGN6cmoxOEUxOGpUR0ZYalQ3?=
=?utf-8?B?ZXJuS0Z1UUcxSGNXZndZZ3AweWNPZ3RLc05OK2V2TytmQXpuVWdkY0lzdXpy?=
=?utf-8?B?ZFdiYjRjcUhIbFk2eGxudTRzazBGdDJKaTJDMnNOQThrem1rS0d0cGY5TUdx?=
=?utf-8?B?a3FkWkREdXRTc0tPVUtXK2J0NzM4NUd0ZDQ0MWROZ0JENVFSd3NzaThyMG5J?=
=?utf-8?B?TlJIT01FWFBVR2dTQUw1NW5Kek51b1J4dWN4R2l3Rk1uWllhYmVnOXQwV1F4?=
=?utf-8?B?ZWsybWNrSEkrWWRpamRCQlFJUUl0aXBxaGZUYkVhZUNKU3FEdm9wNUdFNFdN?=
=?utf-8?B?Wm5sdnYxYjNGZ1RoY3YvS05idzIraWdnZjJycER2S3FJeWlrcDRXS2p0eHJT?=
=?utf-8?B?c29XcGErMk8vU2tjVkV2WFFJMUFwVURjbUVsb21jQUxUZDlUcHVYSTBNZGR6?=
=?utf-8?B?U2tVSExHWVZaaVltYjFUQndFWFdnZ0d2MUZPYWp5QmlPbjF2SWZ3RnF1ZlNa?=
=?utf-8?B?OGgvQUhOdWVBYmU3ZG1qMWxhZmxxaWxjRkU2KzQ2VVpnYy9KVkxQb0hkT0Ur?=
=?utf-8?B?aDdVVkRVNXVvWjkyaTNkN2YvNHg1ZkpUY20yY1hjdDJscHFsSUVYdkNiQ2Jh?=
=?utf-8?B?UEFZWkNNMWh4bGlWQWkyRzJVcnh6Qzc2WU1ZWkJ2SVFPOW00VXVPMlUvdkQv?=
=?utf-8?B?ay8rS0E2dGZZaThmVmV0OFhTeHJtRDNCd1pudXlpUjRkckxWVUJ1SHFCQmMy?=
=?utf-8?B?NDNXb1dIQ2tYcXRrbVNqSU9NMTloOUdvUDJWYlB6RTZNUXhSRFRPOW1HR0Uz?=
=?utf-8?B?bVFPYnNHdXVTVVkyQnUweVM4Yy9JVURWbFhiNkpJaWYyS3lzc2h1TXNsQ2Vn?=
=?utf-8?B?MktLeVBScm41S3dOT0FTNXpaSzErMzE5alZ2NENnOWEwaHhIcGdObWNkU001?=
=?utf-8?B?UGVSb1Nrd3Q1eHJyUkpIWlNvallXRmlwRW9MUFVKZ0tWT3RFeUhVQ2pzclVv?=
=?utf-8?B?UmR4VlFTbDlPdWltbjhXYUMxaUpIMWxSV2dqaHdyUTNqV2c0cHczU3pER1lM?=
=?utf-8?B?QkNucUk4NmFxb0FET0t4dklsMEZoZEFyQlBnSDJhYjV2OVkxQXdKcFRqc0tq?=
=?utf-8?B?VmFvYnlqam83QnMvOG90MnJWeUl0QnJ4cjltc1ZCRldBaGREcG1oU0dmUHRk?=
=?utf-8?B?Nnc0U2JZVExUTTZUS2hrUXlqdFBTRE51OEhGdVlteE5VaHVsaEZ0WDRRclZ0?=
=?utf-8?B?bGE4ZjhFRS9YVENDcnNaekZ0d3pjbnFpSTRVajMwaWdqYUxXRjdwQjY0V1Yz?=
=?utf-8?B?R2F4T0d3K09LcTNHdFh2QnZuT3l0U2pacGMzdW1NQnh6R3JaM0NUOFFzSE5a?=
=?utf-8?B?eE5vRjVkT1ZOYUpMZm5kUjN4dDJPVi9IaWcvNGYzYTRqUzRkcUpaTDhuSHFW?=
=?utf-8?B?MVVzeTZXNmV3PT0=?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB4215.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(921020)(7053199007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?aktways2SzlWZ1VQbC9VYWg3MTAxbWFEUzlaSkJVeFZKMVpETzRpaVJoaHpR?=
=?utf-8?B?dTBJa3QzZitHbnV4NlBmVHdoMnZiNUt6eGtEV0NkVmg4ZHVjQjhVVkozN2Fy?=
=?utf-8?B?Ni95OXF0TmUvUUZZSzhHemRpY0laM0ZOdnVrVFVYL0dVMTNNeEZRak1XTTVP?=
=?utf-8?B?dU1vSWF5ajRBZlBidTFFSU9CTkFwbXB1K0VjdUVqQ2MzdG90eHZ1NFZNNnNj?=
=?utf-8?B?U2xGY0FpT1ROSzJkdy9IdFpFQlRVQkNadi9ETU1iWmFHL0NKWnVZcHZaMklz?=
=?utf-8?B?c1ZtZkEzSWhsNGNPckl1OTFCbXlmYzl1azA4cC9GNU8xb3RZOHhzODBLdHh4?=
=?utf-8?B?VStzNHY1K1k2S0JYWWR2dzhwOG1ybjZmTHZXTUcvZkREaHVqa1ZWeXpPK3JR?=
=?utf-8?B?ZlJaclFMc3RkSS80L0htVUl2blp4aG9Lb3Awcm5CZWJyWUo3WHNIWjZtYkUv?=
=?utf-8?B?cDgwLzhkRUVxcE5CLzM1c1dZVGIwbm5PbVpTMDZ5RDZKU25Pejg0UGxWY1ly?=
=?utf-8?B?R0FtbHIwOUFSOFlCbFFMS1dQMDJLV3VOaXpSQTBEWmxya2VFZEhnK29YODNi?=
=?utf-8?B?alVjU0tTMjhvSzJ6Wjg3NmJhQXJURWdYcTFlbW81eFFtNXluWnNnUDJVTnhy?=
=?utf-8?B?TmZ2MVFYSHcvQ1ltQ3FTenNvOGwwWHp0R3RVZk01NCs1cTVRd3hOcEE3MzRX?=
=?utf-8?B?MjRNYk1ObVN1N0JZOCtPMjBLUVJTc3FuR0MvR3RqRlhmTXU4TjNkVmUybE43?=
=?utf-8?B?VmplWjd0TWdCZzVER1RxWTJPZGlzZW9icVg2TVRvaHpwOWd4eFNvZTg2SWRn?=
=?utf-8?B?VDNFRzJvaHdDOWdaQ05pNFhHek1hSDMvNGRubTdzeDB5bnFDYnVsN2hyOXNO?=
=?utf-8?B?SnpSUTRMV0pwNDBaWlVMcDUrc0VCWStZdXZlTWRiazRkK0tEWTdZV0VTWWFJ?=
=?utf-8?B?V2VMbDlWQThXNkJMc0czeEhwM2ZKRUFzNExrVTZEQmVGQ0hnb2oxN05HaXhi?=
=?utf-8?B?UHBkMFo2b1JRblpGcy9Kb0JHTkpOV1p3MHVKc1l6UVlHa1cvYzl1TE1hNFVF?=
=?utf-8?B?M1VTQy8wMmErWVR2M0g3Lzk2WUxSdFB3VVBIS1d6UGI3aXpNUm9naTlTVWp5?=
=?utf-8?B?a0pZenY3Mkwvd1pJY1FsYlM1MDl3elNqMCtxRktJT01aUlZ3RWtlSEc5YkdM?=
=?utf-8?B?UlhIN1pxY0hlMmd1Y1U5cFdTdWJHSmJWS2dqVk1IOE1NOEJjOXhyTS9NWnh3?=
=?utf-8?B?aGdBZHJvRGc4ZTJ6OEh2QnlDSEs1U1Z4OVRUQkg0MzVOM3oyaDdZZ0J5cSt0?=
=?utf-8?B?QlRaNUgzTEtDMkFoczc0MGYvMnF0NW5McUNycVBDM1pHYTgzanZuWnJqamZv?=
=?utf-8?B?NGJkeVNXOFQ1Z2Y1QnJZclYrWk1oSVZxSVc1dHBHREo1aC9sQmVPMm5Xcmdm?=
=?utf-8?B?MCtTamRXbGtlRGFoMkd0SW9ta2QrZ3VKQnFBd3pPL2o4NTZGQkxCSWFTVmRW?=
=?utf-8?B?eHNHalhqcEp1Q0psNXJ2U0ZVUkxqWU1pZTlxdW5Gd1hJajh1K0plQ2tObllu?=
=?utf-8?B?dUFYdkI5VDJMRDZaYWRrdlF0OWsrUkJZc0Mwd2FERmgxMFhOWTdnTjZMWjBJ?=
=?utf-8?B?UU1Ha1BucjFXUlBUWUpMREZTdTIybUZyTEdOcFNxTlJmNXJEMGRiMHpPL1dR?=
=?utf-8?B?V0RWSVlqSXRRQW45UzhyYXBweUFzWUhnRDFQMUJ0Q3VCd1ZpeUpKRjVlTjBZ?=
=?utf-8?B?c2NJY1pSUW9zLzBDclBNV3JwRlRWMzZZYkFBSnlOa2YwM1BBVVN0cW9IOUlk?=
=?utf-8?B?WWRlVnRFK0NPU2Z2T3pPNGJnUTEvWjZNZ3RCOWh6S08yRHdFK3ZjdS9rd0ty?=
=?utf-8?B?V1ZDQVdOeHVpVGlsSDYwZ2VsaDdFNGovMHgwWFhSbUtabitybTBET1JDU2px?=
=?utf-8?B?UlpxWlRxZzN1aWV0WC80OFlhS21zUGpWVEkyNWhtOHVPd1JRU0NNZHJXakxz?=
=?utf-8?B?emJaMmIzamVoRm1ZVGNVZDRhTkVlZ0pSa0pVNVVaem1EZldJUVhvcVdITVQ4?=
=?utf-8?B?M3NLQllaRDZFUHNrUnpLSGlsV0xkMk15Z0E4MTJpdTB4L2V5OGxhV29YQ3p4?=
=?utf-8?B?cVNVNlM1Q1lTNDBRd0ZybnpjeU94eE16R2F4QXlHVlM5NEs0UEdrM0l3M3Yx?=
=?utf-8?B?VXc9PQ==?=
X-OriginatorOrg: genexis.eu
X-MS-Exchange-CrossTenant-Network-Message-Id: a0b36d26-73fb-4ee3-a9a9-08dd9dc8f621
X-MS-Exchange-CrossTenant-AuthSource: AM6PR08MB4215.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 09:21:00.7903
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 8d891be1-7bce-4216-9a99-bee9de02ba58
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZlZvR07DX5wAbeGmEHkD4f29XxxdMJqnh+vp6YseLoiygCTDIwUfT/+pKrYf0FjlA07+qfqHE/8n0LEtMpIAh9A5NgY0TUu8ExquR4VQa14=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9481
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi.
On 28/05/2025 00:20, Christian Marangi wrote:
> Add all the required entry to add suppot for Airoha AN7583 PINs.
>
> Where possible the same function group are used from Airoha EN7581 to
> reduce code duplication.
>
> Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
> ---
> drivers/pinctrl/mediatek/pinctrl-airoha.c | 733 ++++++++++++++++++++++
> 1 file changed, 733 insertions(+)
>
> diff --git a/drivers/pinctrl/mediatek/pinctrl-airoha.c b/drivers/pinctrl/mediatek/pinctrl-airoha.c
> index 8c8d5b598f4f..0960649d5d66 100644
> --- a/drivers/pinctrl/mediatek/pinctrl-airoha.c
> +++ b/drivers/pinctrl/mediatek/pinctrl-airoha.c
> @@ -75,6 +75,7 @@
> #define GPIO_PCM_SPI_CS3_MODE_MASK BIT(20)
> #define GPIO_PCM_SPI_CS2_MODE_P156_MASK BIT(19)
> #define GPIO_PCM_SPI_CS2_MODE_P128_MASK BIT(18)
> +#define AN7583_GPIO_PCM_SPI_CS2_MODE_MASK BIT(18)
> #define GPIO_PCM_SPI_CS1_MODE_MASK BIT(17)
> #define GPIO_PCM_SPI_MODE_MASK BIT(16)
> #define GPIO_PCM2_MODE_MASK BIT(13)
Missing are the pinmuxes for the following:
{ RG_BCDR_FLUSH_EN, IOMUX3, 1<<28},
{ RG_GPIO_PON2_MODE, IOMUX3, 1<<27},
{ RG_MDIO_0_GPIO_MODE, IOMUX3, 1<<26},
{ RG_MDC_0_GPIO_MODE, IOMUX3, 1<<25},
{ RG_UART_RXD_GPIO_MODE, IOMUX3, 1<<24},
{ RG_UART_TXD_GPIO_MODE, IOMUX3, 1<<23},
{ RG_SPI_MISO_GPIO_MODE, IOMUX3, 1<<22},
{ RG_SPI_MOSI_GPIO_MODE, IOMUX3, 1<<21},
{ RG_SPI_CS_GPIO_MODE, IOMUX3, 1<<20},
{ RG_SPI_CLK_GPIO_MODE, IOMUX3, 1<<19},
{ RG_I2C1_SDA_GPIO_MODE, IOMUX3, 1<<18},
{ RG_I2C1_SCL_GPIO_MODE, IOMUX3, 1<<17},
{ RG_I2C0_SDA_GPIO_MODE, IOMUX3, 1<<16},
{ RG_I2C0_SCL_GPIO_MODE, IOMUX3, 1<<15},
> @@ -129,6 +130,8 @@
>
> /* CONF */
> #define REG_I2C_SDA_E2 0x001c
> +#define AN7583_I2C1_SCL_E2_MASK BIT(16)
> +#define AN7583_I2C1_SDA_E2_MASK BIT(15)
> #define SPI_MISO_E2_MASK BIT(14)
> #define SPI_MOSI_E2_MASK BIT(13)
> #define SPI_CLK_E2_MASK BIT(12)
> @@ -136,12 +139,16 @@
> #define PCIE2_RESET_E2_MASK BIT(10)
> #define PCIE1_RESET_E2_MASK BIT(9)
> #define PCIE0_RESET_E2_MASK BIT(8)
> +#define AN7583_MDIO_0_E2_MASK BIT(5)
> +#define AN7583_MDC_0_E2_MASK BIT(4)
> #define UART1_RXD_E2_MASK BIT(3)
> #define UART1_TXD_E2_MASK BIT(2)
> #define I2C_SCL_E2_MASK BIT(1)
> #define I2C_SDA_E2_MASK BIT(0)
>
> #define REG_I2C_SDA_E4 0x0020
> +#define AN7583_I2C1_SCL_E4_MASK BIT(16)
> +#define AN7583_I2C1_SDA_E4_MASK BIT(15)
> #define SPI_MISO_E4_MASK BIT(14)
> #define SPI_MOSI_E4_MASK BIT(13)
> #define SPI_CLK_E4_MASK BIT(12)
> @@ -149,6 +156,8 @@
> #define PCIE2_RESET_E4_MASK BIT(10)
> #define PCIE1_RESET_E4_MASK BIT(9)
> #define PCIE0_RESET_E4_MASK BIT(8)
> +#define AN7583_MDIO_0_E4_MASK BIT(5)
> +#define AN7583_MDC_0_E4_MASK BIT(4)
> #define UART1_RXD_E4_MASK BIT(3)
> #define UART1_TXD_E4_MASK BIT(2)
> #define I2C_SCL_E4_MASK BIT(1)
> @@ -160,6 +169,8 @@
> #define REG_GPIO_H_E4 0x0030
>
> #define REG_I2C_SDA_PU 0x0044
> +#define AN7583_I2C1_SCL_PU_MASK BIT(16)
> +#define AN7583_I2C1_SDA_PU_MASK BIT(15)
> #define SPI_MISO_PU_MASK BIT(14)
> #define SPI_MOSI_PU_MASK BIT(13)
> #define SPI_CLK_PU_MASK BIT(12)
> @@ -167,12 +178,16 @@
> #define PCIE2_RESET_PU_MASK BIT(10)
> #define PCIE1_RESET_PU_MASK BIT(9)
> #define PCIE0_RESET_PU_MASK BIT(8)
> +#define AN7583_MDIO_0_PU_MASK BIT(5)
> +#define AN7583_MDC_0_PU_MASK BIT(4)
> #define UART1_RXD_PU_MASK BIT(3)
> #define UART1_TXD_PU_MASK BIT(2)
> #define I2C_SCL_PU_MASK BIT(1)
> #define I2C_SDA_PU_MASK BIT(0)
>
> #define REG_I2C_SDA_PD 0x0048
> +#define AN7583_I2C1_SDA_PD_MASK BIT(16)
> +#define AN7583_I2C1_SCL_PD_MASK BIT(15)
> #define SPI_MISO_PD_MASK BIT(14)
> #define SPI_MOSI_PD_MASK BIT(13)
> #define SPI_CLK_PD_MASK BIT(12)
> @@ -180,6 +195,8 @@
> #define PCIE2_RESET_PD_MASK BIT(10)
> #define PCIE1_RESET_PD_MASK BIT(9)
> #define PCIE0_RESET_PD_MASK BIT(8)
> +#define AN7583_MDIO_0_PD_MASK BIT(5)
> +#define AN7583_MDC_0_PD_MASK BIT(4)
> #define UART1_RXD_PD_MASK BIT(3)
> #define UART1_TXD_PD_MASK BIT(2)
> #define I2C_SCL_PD_MASK BIT(1)
> @@ -627,10 +644,223 @@ static const struct pingroup en7581_pinctrl_groups[] = {
> PINCTRL_PIN_GROUP("pcie_reset2", en7581_pcie_reset2),
> };
>
> +static struct pinctrl_pin_desc an7583_pinctrl_pins[] = {
> + PINCTRL_PIN(2, "gpio0"),
> + PINCTRL_PIN(3, "gpio1"),
> + PINCTRL_PIN(4, "gpio2"),
> + PINCTRL_PIN(5, "gpio3"),
> + PINCTRL_PIN(6, "gpio4"),
> + PINCTRL_PIN(7, "gpio5"),
> + PINCTRL_PIN(8, "gpio6"),
> + PINCTRL_PIN(9, "gpio7"),
> + PINCTRL_PIN(10, "gpio8"),
> + PINCTRL_PIN(11, "gpio9"),
> + PINCTRL_PIN(12, "gpio10"),
> + PINCTRL_PIN(13, "gpio11"),
> + PINCTRL_PIN(14, "gpio12"),
> + PINCTRL_PIN(15, "gpio13"),
> + PINCTRL_PIN(16, "gpio14"),
> + PINCTRL_PIN(17, "gpio15"),
> + PINCTRL_PIN(18, "gpio16"),
> + PINCTRL_PIN(19, "gpio17"),
> + PINCTRL_PIN(20, "gpio18"),
> + PINCTRL_PIN(21, "gpio19"),
> + PINCTRL_PIN(22, "gpio20"),
> + PINCTRL_PIN(23, "gpio21"),
> + PINCTRL_PIN(24, "gpio22"),
> + PINCTRL_PIN(25, "gpio23"),
> + PINCTRL_PIN(26, "gpio24"),
> + PINCTRL_PIN(27, "gpio25"),
> + PINCTRL_PIN(28, "gpio26"),
> + PINCTRL_PIN(29, "gpio27"),
> + PINCTRL_PIN(30, "gpio28"),
> + PINCTRL_PIN(31, "gpio29"),
> + PINCTRL_PIN(32, "gpio30"),
> + PINCTRL_PIN(33, "gpio31"),
> + PINCTRL_PIN(34, "gpio32"),
> + PINCTRL_PIN(35, "gpio33"),
> + PINCTRL_PIN(36, "gpio34"),
> + PINCTRL_PIN(37, "gpio35"),
> + PINCTRL_PIN(38, "gpio36"),
> + PINCTRL_PIN(39, "gpio37"),
> + PINCTRL_PIN(40, "gpio38"),
> + PINCTRL_PIN(41, "i2c0_scl"),
> + PINCTRL_PIN(42, "i2c0_sda"),
> + PINCTRL_PIN(43, "i2c1_scl"),
> + PINCTRL_PIN(44, "i2c1_sda"),
> + PINCTRL_PIN(45, "spi_clk"),
> + PINCTRL_PIN(46, "spi_cs"),
> + PINCTRL_PIN(47, "spi_mosi"),
> + PINCTRL_PIN(48, "spi_miso"),
> + PINCTRL_PIN(49, "uart_txd"),
> + PINCTRL_PIN(50, "uart_rxd"),
> + PINCTRL_PIN(51, "pcie_reset0"),
> + PINCTRL_PIN(52, "pcie_reset1"),
> + PINCTRL_PIN(53, "mdc_0"),
> + PINCTRL_PIN(54, "mdio_0"),
> +};
> +
> +static const int an7583_pon_pins[] = { 15, 16, 17, 18, 19, 20 };
I have other pin numbers listed in my documentation (my numbers align
with gpio number).
static const int pon_pins0[] = { 13, 14, 17, 18 };
static const int pon_pins1[] = { 36, 37, 38 };
static const int olt_pins0[] = { 34, 35, 36, 37, 38 };
MvH
Benjamin Larsson
Return-Path: <linux-kernel+bounces-665206-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DCC8441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:21:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 1C90A4E2D77
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 635DC276045;
Wed, 28 May 2025 09:21:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Ln52FnII"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DDBA31EB193
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424103; cv=none; b=Iq34RhYi38VSqo4CkwwLMsUwQwNuZxfcOrOGDq5drU8xQAa86BSxVSm6fM90F09pus0TsC9WPV47cdiFrAWxCH6sc/MPd0lNufBxOSUFtrhfxm1tPhcA+Ch97ynY5X4u/AeBCRuZe4c/VzRPiMr3aRyPXYgiRrgqqUCGXaQBAZI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424103; c=relaxed/simple;
bh=rJtVL3NDhF4y5DFmGfxRMVAXGO+BDTrt0EJ0QuEI6ns=;
h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=WfvUTcrwDruCefR/pdT5YRjKQbashYy3JhMSlwLe/BapIjB5s9dbvph0UAji56MNvpkUhGHdX2TrMyo2cpYPuWWesByb4rCNHC3mdcD2FMsz/SKkV7C/4QpLuQQIWdqN7/6QWtpEu+BXw5He5Y7tuB28gC52GeEpACXVaAnB8E0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Ln52FnII; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279863.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S66LL1029183
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:40 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:message-id
:mime-version:subject:to; s=qcppdkim1; bh=3DRqMWuo/9LCc7qXzV/bil
l0X/zQ8yils3PttskPMyk=; b=Ln52FnIIbU37T6u197rbpe+MsSp1FgXQN73aIH
xnYK3I41VSJYck2I5t2X0g+ufSJxBDTUuoeXPnai5ajAaSu7J9yEeS1ozH4gIRVa
Cc7OV57kJ3SZiAxLq1Zk4dr/UdsHF94ScfBB0KR1+MRBmtjWw8E2RmU273gCXOT+
9qTmc5LRHsPlmme31VEzZ7eO49Ci+2WSltJ+f4jUEdB25LAPPmv0pSD5Yx4qxVZ8
2EAhfoNx0HG5G4cXnQrFE9zLYGnxPRTCPZwUmnPS7rQP1IhZpdVCVGearQyQw885
YIsdn+SbzWeAoyuCzDXs1cd5IvfRLZ9IDFekxA9a6/Jw/oQw==
Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46whuf23rh-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:39 +0000 (GMT)
Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-234dbbc4899so3539655ad.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:21:39 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424099; x=1749028899;
h=cc:to:content-transfer-encoding:mime-version:message-id:date
:subject:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=3DRqMWuo/9LCc7qXzV/bill0X/zQ8yils3PttskPMyk=;
b=I85dyO3eQ9CdZ7bLutqY8GqPjlFWnO4jkUFWix3N3nr4+T5PLqfvR4I+YEwSGHwR0I
2j4tobN3kIv/cMH53v45kQDEdFRvBUMXKdC0emsuCPCvx0pPqCggyYIclpRUWj1z1ZEu
tw/tn6GnLrt+tEGepnUXF1ZEjv05WMQxIQ0q1xaj+xMtPj9gRQ3Yn4oRyCJK7++lAK2O
9fyXS/sYYDVAMUGj3j29Yv0soWjJwigyu+3k7vE0zqSs3hkRpzNZ0KWzhaDxVJpBvEFF
O2Myi0znu3KJX0CabbvXm9qVfA5sf7YempEJzz6KH5rG/X/54+wVJf/yjrEpD4v/qP37
BcoQ==
X-Forwarded-Encrypted: i=1; AJvYcCXjZwL7fdl1zO+i9OpuxxmTRCyi9gpIts7unHQnB6CiQCOGjgMxxQKc8UT0shXajoD08nX9UGTQjBdphsM=@vger.kernel.org
X-Gm-Message-State: AOJu0YzbEzWrunAuaAfB8uxVqrSfydR8RyUWR0mePClxOpDzEZiLbpYz
gfTSMdPzClLsd5DE3+2L353BJ1AmwiZvnDQwQ5rSHvU6dVTJ1jIYDlMuZe7FQPnWt1PPwPMQJkj
gfbOQp4YCHeI1+L8N/pb1IEjlLITwgtVrhiyZbQ+ehgQlj10dN21TSMVeJ9RPe48zAfM=
X-Gm-Gg: ASbGnctVSMy3Uo3lpCvBWY15KHlSiZGu4lyS+1+YlEpIc1wCiSM9bteJlxs2bv+RkNi
rV9MtLwKgylWRx5uPDjtY1rV5F9mRHZ7EIohSrOefICdJmK8XNGBkPLz++XRnY0cBgXfDBrEhxR
tos9+9hYF8+9zev1QL4B0N+sobKrwDjQk+bsjp7/3flb2OrVbd0YxUufP7wiblDA9M3p3j582YO
OVTbPX4/WWz7QWlwz0O9aFOdAmjfOnSIYB8+QbfHeBROrGAlQ9OUneur9VCuebPLW0PnlqCO6Z5
PRXgXxjhYHbxPqOE63HzRMpKiw==
X-Received: by 2002:a05:6a21:4a4c:b0:1f5:889c:3cbd with SMTP id adf61e73a8af0-2188c3b0db2mr28606027637.35.1748424099049;
Wed, 28 May 2025 02:21:39 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IH5o37DFxUmG5HSgtWJ9sRbQCeAReZRpjvgn4XA+4dS7Xr21VlTaAbQtVXKeq6pE2AJOFOE4Q==
X-Received: by 2002:a05:6a21:4a4c:b0:1f5:889c:3cbd with SMTP id adf61e73a8af0-2188c3b0db2mr28606004637.35.1748424098724;
Wed, 28 May 2025 02:21:38 -0700 (PDT)
Received: from [10.213.103.17] ([202.46.23.25])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-746e343c2c6sm833456b3a.134.2025.05.28.02.21.35
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:21:38 -0700 (PDT)
From: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
Subject: [PATCH v4 0/3] soc: qcom: qcom_stats: Add DDR stats
Date: Wed, 28 May 2025 14:51:30 +0530
Message-Id: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIAJrVNmgC/3XO2wqCQBCA4VeJvW5ljx666j0iZPZgLqTWrkkhv
nurECnUzcA/MB8zomC9swEddiPydnDBdW0Msd8hXUN7sdiZ2IgRJolgKTbGl6GHPpSYF1QSqbi
BFFA8uHlbueeCnc6xaxf6zr8We6Dz9sMUa2agmGBR6ZzmACpT6tiFkNwfcNVd0yRxoFkb2FeQj
G4EFgWmpbAQHZLRPwJfC3Ij8PmHArimVjCjsh/CNE1vkKF6FC8BAAA=
X-Change-ID: 20250426-ddr_stats_-391505b3da6a
To: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
Doug Anderson <dianders@xxxxxxxxxxxx>,
Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748424095; l=3340;
i=maulik.shah@xxxxxxxxxxxxxxxx; s=20240109; h=from:subject:message-id;
bh=rJtVL3NDhF4y5DFmGfxRMVAXGO+BDTrt0EJ0QuEI6ns=;
b=VO7z4/3CUDsnlfSgN+Ac7UZ7EIHTaUqmcGU9py6Z2lgOZYZ2YSSY0lNvY7KZrQHdgfaZDmaWK
f+NRcQfEdNzDkrJ8JmGyyvQh9yis/CABVVUTxpFnCh8qf9KXGygTb40
X-Developer-Key: i=maulik.shah@xxxxxxxxxxxxxxxx; a=ed25519;
pk=bd9h5FIIliUddIk8p3BlQWBlzKEQ/YW5V+fe759hTWQ=
X-Authority-Analysis: v=2.4 cv=OslPyz/t c=1 sm=1 tr=0 ts=6836d5a3 cx=c_pps
a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8
a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=ubf2v9fuHxWRXcPCyOcA:9 a=QEXdDO2ut3YA:10
a=GvdueXVYPmCkWapjIL-Q:22 a=cvBusfyB2V15izCimMoJ:22 a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-ORIG-GUID: B9PHME1wtw9L1-Ln1fsi2OOu576UZCnj
X-Proofpoint-GUID: B9PHME1wtw9L1-Ln1fsi2OOu576UZCnj
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4MCBTYWx0ZWRfX9bym7A24JAr/
NQo2XxWrVfY0Cs+WHt6kUA89sfBYhoL7eyzhqbNqW665XQa+8AxevKrHm0vwiBu41u8t+yuuMmn
e8rUFcYEKrFpPuczJOuBs6zsJaRic9gXiA/2uG9FQa1b/j499gVR18nH7tRbMiVaJyh2q3Eg+Va
I1t5/ZoYbYmRAPX36woOrHzyR3lrpbrHawZQgMZf6JTNYiBWaH5eyoKZhnKN42jcBjznEqV0jR6
L9zunGCpAD2kAOZ93XuvIg80OcJsvDT10bto4Bkqz4JnWDJ1o8T4y3Ny4D4ROeXP7BqznVX7eJR
mYhH6C3kMPKDCf0LCKOBHH12Nuk4E9DQFvIG/NjVU80DDiUnOtMSGDU4J2qxq5E1MdVWfV6zYqE
ibDIFeYXmFu9hR4SWjsh0RcrrCGeTX0l6sruC6TTR/qLa7SPLujaA7szBmdpnd615du661oD
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
impostorscore=0 phishscore=0 mlxlogscore=999 adultscore=0 malwarescore=0
bulkscore=0 priorityscore=1501 clxscore=1015 mlxscore=0 lowpriorityscore=0
spamscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280080
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This series adds support to read various DDR low power mode and frequency
stats. This was added in past with series [1] but reverted with [4] due
to some SoCs boot up failures. This series is more aligned to downstream
implementation and fixes the issues mentioned in [4].
The series [1] tried to add three feature support
A. Reading DDR Frequency and low power stats from MSG RAM
(targets where DDR stats are readily available in MSG RAM to read)
B. Trigger QMP to ask AOP to populate DDR Frequency and low power stats
(targets where DDR stats are available but duration field syncing
requires QMP message to be sent to AOP)
C. Trigger QMP to ask AOP to populate DDR vote table information
(To read different DRV / Direct Resource Voter, CPUSS, DSPs's votes
for DDR frequency)
Current series do not include reading the DDR vote table information (C)
part from [1] which is to be separately sent potentially including reading
other resources votes like Cx Rail level vote information. These vote
tables details are not strictly related to DDR Frequency and low power
stats (A) and (B) this series is adding.
This series updates respective SoC devicetree with QMP handle (where DDR
stats syncing is required) and it is backward compatible with older
devicetree as without the QMP handle present, ddr stats can be still be
read (duration field will be read as 0).
Note that [1] was only partially reverted and hence device binding update
for QMP handle [2] is already present along with the fix to have
dependency on AOSS QMP driver in Kconfig [3].
[1] https://lore.kernel.org/all/20231130-topic-ddr_sleep_stats-v1-0-5981c2e764b6@xxxxxxxxxx/
[2] https://lore.kernel.org/all/20231130-topic-ddr_sleep_stats-v1-2-5981c2e764b6@xxxxxxxxxx/
[3] https://lore.kernel.org/lkml/20231205-qcom_stats-aoss_qmp-dependency-v1-1-8dabe1b5c32a@xxxxxxxxxxx/T/
[4] https://lore.kernel.org/all/20231214-topic-undo_ddr_stats-v1-1-1fe32c258e56@xxxxxxxxxx/
Signed-off-by: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
---
Changes in v4:
- Handle clean up for qmp_get() probe defer case
- Link to v3: https://lore.kernel.org/r/20250525-ddr_stats_-v3-0-49a3c1e42db7@xxxxxxxxxxxxxxxx
Changes in v3:
- Use correct format specifiers
- Handle qmp_get() failure cases
- Link to v2: https://lore.kernel.org/r/20250521-ddr_stats_-v2-0-2c54ea4fc071@xxxxxxxxxxxxxxxx
Changes in v2:
- Mention count in decimal instead of hex
- Update read failure cases to return error code instead of success
- Fix typo in comment
- Link to v1: https://lore.kernel.org/r/20250429-ddr_stats_-v1-0-4fc818aab7bb@xxxxxxxxxxxxxxxx
---
Maulik Shah (3):
soc: qcom: qcom_stats: Add support to read DDR statistic
soc: qcom: qcom_stats: Add QMP support for syncing ddr stats
arm64: dts: qcom: Add QMP handle for qcom_stats
arch/arm64/boot/dts/qcom/sm8450.dtsi | 1 +
arch/arm64/boot/dts/qcom/sm8550.dtsi | 1 +
arch/arm64/boot/dts/qcom/sm8650.dtsi | 1 +
arch/arm64/boot/dts/qcom/sm8750.dtsi | 1 +
drivers/soc/qcom/qcom_stats.c | 131 +++++++++++++++++++++++++++++++++++
5 files changed, 135 insertions(+)
---
base-commit: 393d0c54cae31317deaa9043320c5fd9454deabc
change-id: 20250426-ddr_stats_-391505b3da6a
Best regards,
--
Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665207-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8F58341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:22:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C2BA83B5775
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D6F171EB193;
Wed, 28 May 2025 09:21:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="QBzGFsb8"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 37334276057
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424106; cv=none; b=jIMS7Sg6MeyjXfrHU8BPAo+88qE2tuQw/BtwTs82umFSZQMx9nudY5Wleu+TKanb7Sv1SFgrEqDduY6YST5g5im2s1++Gq3CwNKaaUz6rk5L1vUiRe+pv9r5UiBX3a5otzqi5QnwNRdRnF3EuNVHpT3Bp4aS1k0CV79LTU6+RoE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424106; c=relaxed/simple;
bh=vRR6szynldY94FYUj5qNjs3DmteWmQfiTljj3mxMF78=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=L3WsJpBmicaJoiiKWUyIXwWD4gSyLyCMt7jf3yjURVFBh8w7Cgg8UXJ0BNIdd79RsFjmx78uuGSo+ZmFMXoEPMEnPQ8XZQRfgn+8e4KP9ZIll+p6weteB6vfh8cdDAW3+W3WYisO0p2klkeG4tZuQLVgKOj2j8a/5AjNRdfe58U=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=QBzGFsb8; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279868.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S1wtIo006866
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:44 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
LdmcYDeR3oxl4uFyKw3pkSyRmu08N2XqrqgvurqEKN0=; b=QBzGFsb8QvT/YLEc
14HhK5zHN3mSsKt3rfJJh/6un/CYR2/tCrSl2Zelpjpe0mx5j0jEs4jekWRAzkHR
SKmZWkQe4crnS08r4iMPGKyJnW7be2fkegf62UbW4WZTZ/sqds7qerC0h2i1YCdt
lXrP+DKGYkRZBsmZ6jIDVxYPiZfA23tFDClsVw7uHmlP/mhvhEXT9tA2Fvyyh85V
e1IJdZ6Ib9CJDgUR36wSPdYsjwbnyIj0EIhBA3zAo6mHklCHVhm7HGUGrtQBWH9V
5Rz60u7+OCpnkCZHMdkUmrX7bhzsi1p9a0Q+OXuxdzsPX4AO78XeDzJE05wiHqFZ
nsF6QQ==
Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u5ek1n9a-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:43 +0000 (GMT)
Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-742d077bdfaso5205222b3a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:21:43 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424103; x=1749028903;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=LdmcYDeR3oxl4uFyKw3pkSyRmu08N2XqrqgvurqEKN0=;
b=tHtwg4d7X0yyVR321h4daHuTBL0MtxBD5V3dM6uJeBZTS2yb8temDelFevYxJ9aGrQ
mU33uP7cNKkHnhjD95ueLTARHt9/81uJiu+0xfevHMkV8M1+NRP/ZM4zwPpp5m+RYrwA
OXpfbgPxKXHb1nmh1gRANRHFR44GzeKsImkuX6TAVwtyi86fr6O+fN3ZOsg86iY7kwjK
0fOB6DoHx/3WKQ5g/lEIJdpNeLK8XEH+C9VeH+dlYSDmYhEcLz4IilSA3UM8WQvHzPfr
BmIlKkrtTXOaDe0xSjJjREEb+jUxYYh7tfwszDRPfZc8/nNrO1XFOQURnT+Vmzm0QcEL
qjQQ==
X-Forwarded-Encrypted: i=1; AJvYcCW9fXl8LTkS2JofN6l13WWuqmsJfuCiMCSfBVn5xVeWcT31CplnMwIw5jYzW5jHlFC9WaCWiibMICZ8C/s=@vger.kernel.org
X-Gm-Message-State: AOJu0YznXEklJeJEKRc3d8Z9yzezvvcasLtA7Iaez1lCqVt7cbuQMq2T
wnNKgAPwoKktv7Rgc+COiVssfR+2aPUw9c3PTYgc6m8ICaYlvhTG2CpNkn/h/JKn2YrOOnDRgSo
WJHKSBvMfhiQXDG+E4mBlUzW6zs3gKA1Lvlxne+pxSFFkxR1Zo2UoWpaBd36Vq6vcpy8=
X-Gm-Gg: ASbGncvYSL8lAboagb88EeoQQhMUiu+v5qdwmFOw1UvqhRN1uoKBR/XJwbloLYwUlEw
+obHl1tUxz5IcQnJ6rdEUOGrgexb+J0G5l/gZCVCQPsPvR+QsDEWVy+5v0WkJlTwpi/r0UnqjR+
dEHvBP8gJuQSSkLxcapzoFA6TNrcWfxPUhwR6+NwWF56kZbBbR3KiaVwdNygu6RsvkAIZ6LdqYB
rbQc1DLNktdKoXTM8jrneNActaIltO/6kH5NpqZcmEq84vpFydJRHPS+KDXa6mxcysB5/1W073h
9fZWqxn5wP+dvqdRZ2/wGC+4zw==
X-Received: by 2002:a05:6a00:2e84:b0:730:95a6:3761 with SMTP id d2e1a72fcca58-745fde797f3mr24323795b3a.3.1748424102588;
Wed, 28 May 2025 02:21:42 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHOHf36e4dkNlG6DMsyRTtIAf5lz2596DKm1iPCMiu2jr/91WaEtWmAHAW/0U0SViuukeLjeA==
X-Received: by 2002:a05:6a00:2e84:b0:730:95a6:3761 with SMTP id d2e1a72fcca58-745fde797f3mr24323768b3a.3.1748424102157;
Wed, 28 May 2025 02:21:42 -0700 (PDT)
Received: from [10.213.103.17] ([202.46.23.25])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-746e343c2c6sm833456b3a.134.2025.05.28.02.21.39
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:21:41 -0700 (PDT)
From: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 14:51:31 +0530
Subject: [PATCH v4 1/3] soc: qcom: qcom_stats: Add support to read DDR
statistic
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-ddr_stats_-v4-1-b4b7dae072dc@xxxxxxxxxxxxxxxx>
References: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
To: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
Doug Anderson <dianders@xxxxxxxxxxxx>,
Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748424095; l=5260;
i=maulik.shah@xxxxxxxxxxxxxxxx; s=20240109; h=from:subject:message-id;
bh=vRR6szynldY94FYUj5qNjs3DmteWmQfiTljj3mxMF78=;
b=wyg0HxlBt9+CHjpyV/krOmIWGoJbdWC5A52CQmU5BRZ9BOYY6tmJnIQEUtum6PX7YjgxleFAJ
Owu/bpw0QjuBhM/JrDxCEq0uXp0YllZUeVLkZO7lC5jIAP/YeYltPbe
X-Developer-Key: i=maulik.shah@xxxxxxxxxxxxxxxx; a=ed25519;
pk=bd9h5FIIliUddIk8p3BlQWBlzKEQ/YW5V+fe759hTWQ=
X-Authority-Analysis: v=2.4 cv=GIgIEvNK c=1 sm=1 tr=0 ts=6836d5a7 cx=c_pps
a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=4QwxTSDsR6DxlQvKCcYA:9
a=QEXdDO2ut3YA:10 a=2VI0MkxyNR6bbpdq8BZq:22
X-Proofpoint-ORIG-GUID: vqweQfGI0MVPwoigCQeDguiw4Ge-kQX6
X-Proofpoint-GUID: vqweQfGI0MVPwoigCQeDguiw4Ge-kQX6
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA3OSBTYWx0ZWRfX7ntniwONoP6/
bW7k0WlRIE9HBVmdQsjj3Yho7W2mnZAdkRrkHLuBeQRkyuatnh6/q0bTj8kH5wgZFGfIy0AxNEK
/+SJe9PGhIcHchIEzlsnGnHtIx/4MoS0+rS8eK/HlpBmgGW0nmfiQmHu1vbn20zv6F2MnusX4x+
7zqieQl3jizrqPsou1w49RdsyykvPHnJq10Ny3lp2NQzsoVzxrEoI/AYZLuHBmI5+NWMpcQRbsg
uuy3F5TVzo1y7okgC0bi4sUdQZoSXGjCH8IkMKzE+5rVa6hnL2i+Q7/96SKQKxT8gLPIhyaRW9N
pOt7Hlq3jfyabPk2K0UZjM5tICKsThDsrmLg1QfT0Bsxy+9xOawhge7WXoqtf0VJZIImif6arUV
w4/MTIyPtpaaM/mDojgiLQm2PhlzgWpUZCN5+h/jp7OdP2lygVzsNnAcn0x21vWZYsA4nLyM
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
impostorscore=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0
adultscore=0 priorityscore=1501 mlxscore=0 phishscore=0 spamscore=0
suspectscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280079
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
DDR statistic provide different DDR LPM and DDR frequency statistic.
Add support to read from MSGRAM and display via debugfs.
Signed-off-by: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
---
drivers/soc/qcom/qcom_stats.c | 99 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 99 insertions(+)
diff --git a/drivers/soc/qcom/qcom_stats.c b/drivers/soc/qcom/qcom_stats.c
index 5de99cf59b9fbe32c0580e371c3cc362dfabb895..33fd2a1574464768bd07289e743fbb79ba415e84 100644
--- a/drivers/soc/qcom/qcom_stats.c
+++ b/drivers/soc/qcom/qcom_stats.c
@@ -1,8 +1,10 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2011-2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022-2025, Qualcomm Innovation Center, Inc. All rights reserved.
*/
+#include <linux/bitfield.h>
#include <linux/debugfs.h>
#include <linux/device.h>
#include <linux/io.h>
@@ -24,6 +26,17 @@
#define ACCUMULATED_OFFSET 0x18
#define CLIENT_VOTES_OFFSET 0x20
+#define DDR_STATS_MAGIC_KEY 0xA1157A75
+#define DDR_STATS_MAX_NUM_MODES 20
+#define DDR_STATS_MAGIC_KEY_ADDR 0x0
+#define DDR_STATS_NUM_MODES_ADDR 0x4
+#define DDR_STATS_ENTRY_START_ADDR 0x8
+
+#define DDR_STATS_CP_IDX(data) FIELD_GET(GENMASK(4, 0), data)
+#define DDR_STATS_LPM_NAME(data) FIELD_GET(GENMASK(7, 0), data)
+#define DDR_STATS_TYPE(data) FIELD_GET(GENMASK(15, 8), data)
+#define DDR_STATS_FREQ(data) FIELD_GET(GENMASK(31, 16), data)
+
struct subsystem_data {
const char *name;
u32 smem_item;
@@ -48,12 +61,19 @@ static const struct subsystem_data subsystems[] = {
struct stats_config {
size_t stats_offset;
+ size_t ddr_stats_offset;
size_t num_records;
bool appended_stats_avail;
bool dynamic_offset;
bool subsystem_stats_in_smem;
};
+struct ddr_stats_entry {
+ u32 name;
+ u32 count;
+ u64 duration;
+};
+
struct stats_data {
bool appended_stats_avail;
void __iomem *base;
@@ -122,8 +142,85 @@ static int qcom_soc_sleep_stats_show(struct seq_file *s, void *unused)
return 0;
}
+static void qcom_ddr_stats_print(struct seq_file *s, struct ddr_stats_entry *data)
+{
+ u32 cp_idx;
+
+ /*
+ * DDR statistic have two different types of details encoded.
+ * (1) DDR LPM Stats
+ * (2) DDR Frequency Stats
+ *
+ * The name field have details like which type of DDR stat (bits 8:15)
+ * along with other details as explained below
+ *
+ * In case of DDR LPM stat, name field will be encoded as,
+ * Bits - Meaning
+ * 0:7 - DDR LPM name, can be of 0xd4, 0xd3, 0x11 and 0xd0.
+ * 8:15 - 0x0 (indicates its a LPM stat)
+ * 16:31 - Unused
+ *
+ * In case of DDR FREQ stats, name field will be encoded as,
+ * Bits - Meaning
+ * 0:4 - DDR Clock plan index (CP IDX)
+ * 5:7 - Unused
+ * 8:15 - 0x1 (indicates its Freq stat)
+ * 16:31 - Frequency value in Mhz
+ */
+ switch (DDR_STATS_TYPE(data->name)) {
+ case 0:
+ seq_printf(s, "DDR LPM Stat Name:0x%lx\tcount:%u\tDuration (ticks):%llu\n",
+ DDR_STATS_LPM_NAME(data->name), data->count, data->duration);
+ break;
+ case 1:
+ if (!data->count || !DDR_STATS_FREQ(data->name))
+ return;
+
+ cp_idx = DDR_STATS_CP_IDX(data->name);
+ seq_printf(s, "DDR Freq %luMhz:\tCP IDX:%u\tcount:%u\tDuration (ticks):%llu\n",
+ DDR_STATS_FREQ(data->name), cp_idx, data->count, data->duration);
+ break;
+ }
+}
+
+static int qcom_ddr_stats_show(struct seq_file *s, void *d)
+{
+ struct ddr_stats_entry data[DDR_STATS_MAX_NUM_MODES];
+ void __iomem *reg = (void __iomem *)s->private;
+ u32 entry_count;
+ int i;
+
+ entry_count = readl_relaxed(reg + DDR_STATS_NUM_MODES_ADDR);
+ if (entry_count > DDR_STATS_MAX_NUM_MODES)
+ return -EINVAL;
+
+ reg += DDR_STATS_ENTRY_START_ADDR;
+ memcpy_fromio(data, reg, sizeof(struct ddr_stats_entry) * entry_count);
+
+ for (i = 0; i < entry_count; i++)
+ qcom_ddr_stats_print(s, &data[i]);
+
+ return 0;
+}
+
DEFINE_SHOW_ATTRIBUTE(qcom_soc_sleep_stats);
DEFINE_SHOW_ATTRIBUTE(qcom_subsystem_sleep_stats);
+DEFINE_SHOW_ATTRIBUTE(qcom_ddr_stats);
+
+static void qcom_create_ddr_stat_files(struct dentry *root, void __iomem *reg,
+ const struct stats_config *config)
+{
+ u32 key;
+
+ if (!config->ddr_stats_offset)
+ return;
+
+ key = readl_relaxed(reg + config->ddr_stats_offset + DDR_STATS_MAGIC_KEY_ADDR);
+ if (key == DDR_STATS_MAGIC_KEY)
+ debugfs_create_file("ddr_stats", 0400, root,
+ (__force void *)reg + config->ddr_stats_offset,
+ &qcom_ddr_stats_fops);
+}
static void qcom_create_soc_sleep_stat_files(struct dentry *root, void __iomem *reg,
struct stats_data *d,
@@ -212,6 +309,7 @@ static int qcom_stats_probe(struct platform_device *pdev)
qcom_create_subsystem_stat_files(root, config);
qcom_create_soc_sleep_stat_files(root, reg, d, config);
+ qcom_create_ddr_stat_files(root, reg, config);
platform_set_drvdata(pdev, root);
@@ -254,6 +352,7 @@ static const struct stats_config rpmh_data_sdm845 = {
static const struct stats_config rpmh_data = {
.stats_offset = 0x48,
+ .ddr_stats_offset = 0xb8,
.num_records = 3,
.appended_stats_avail = false,
.dynamic_offset = false,
--
2.34.1
Return-Path: <linux-kernel+bounces-665208-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B214E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:22:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id BEBC7189207B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:22:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C88F927815C;
Wed, 28 May 2025 09:21:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ppHM1wiz"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 822CD277808
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424108; cv=none; b=U2iFrUI+/xtFdxDj1oJM/EpZx/azi2p3fJjdCubH1UDv1qfK0dwFrpgLT6inrYROmdX5h6xJQ5FMg9cri8Bw/470qyNlaN3uH1gHrntnbMUPcra1D9URmq/avQqHOldvdazbeAnfkfLS7FZvK/OYM/1pjX/+Hl2aBazaY5loLQU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424108; c=relaxed/simple;
bh=T0qYIbqFmqXVvM8maSPUINWxr6ffxALcDRq37QKDpUE=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=ub7OBXGM+8qKGP0gU7ZveMMQFe/agI5yhQ1rwUiSXO1DTa4NPzX8yMMNjWlimMWLibduaiXykdrjLfhdqZ6dmTV29AyI/XRtFFX3GU3nhlhix4EEFbNCU9+rc2UCPztDe8/5iHxL2Maq9U3/h8aqb0nNuCH/FDwSnHauno/z5+0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ppHM1wiz; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279864.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S0GWhT025125
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:47 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
B3e5gD1TIG3daxgo7uyZ1bho3H0+oAlBxtTqaML4VOk=; b=ppHM1wiz35/e14BJ
rg3mpo6uNPruYpkZuXVhQaJBJnCYjDujdXVcdwnkVNTlrxIZhV+khD4nW2C0GC+U
XNcZq3a4Yp5sa6YMDHBMZ5sYRiDWwTaHNlNn80TerMqxJV6VOE11X27cjJmUa+tu
puBCLJ55CesNIHXt51wDVD7ptmfYefM4U8Un3RUrWwKEGDIxbCBz0udzIlNEuRyt
VtQn//uo0hn+88IVnuzwrGa158NNxY1LPiymPGvV6T2fkFt0YVogblK0ezeHkqIv
GYpE4kqooAve0ufqdsUpKtphzGi56kYZyogZG40qhZ9Pb2KLD4WxUGthNK6GbH95
v6L/Gg==
Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u79p9ry9-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:46 +0000 (GMT)
Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-742c7227d7dso3213288b3a.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:21:46 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424106; x=1749028906;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=B3e5gD1TIG3daxgo7uyZ1bho3H0+oAlBxtTqaML4VOk=;
b=izYK71Uz+jW0M0j6mu9QAAGQAcjx2Enp3B7+HqspJk4pWsi06+GmebwnqKd/858qET
R6Qpfv7JmCABFnqif+gQpA42ninPa1x2hrB/58voGZpYvVfJOPL1zgcApRoUXTaSws/0
r8ZxpycEAe0hZnn2DdKUvCPwS9Y19H8gY+ci2cyi5BmMojsnThcngMPEMxu1wVWL2aho
LxVQIknhvcXDzlKY/zk0JrsVhYwZxflcVSWCbcFJ9ZJR4J3Eq9IRjPGxyG6m21oXQdqG
CnBfNhgUG5rZ0wMhC9JOFrqJWhfXlOrddKbTd2GKP/Oc7a9wu5ctd8SX0jNx1W61MMg1
qOZQ==
X-Forwarded-Encrypted: i=1; AJvYcCVnB8MFPIgg8xTSmiwmVLMRRrDNZgbiEvV8bVNFKWHAXNSS03Dvyxlp8kY7mUZmG3WlOmc/hQ7bxBtnx50=@vger.kernel.org
X-Gm-Message-State: AOJu0YzLh002SD0LGank9/x6mJAVeYW5gW4HGCzP9rN6J1UE5L1QD4RB
lTmNbINX3Wc6Sx4+a1WZB2BPGUayBSWATqh0G01w/HB7VIBB7php7CnZsBXdu7JrRAlg0Xd5B/E
T2ktONvh+1GElPkWDoKVEX0yHEf1PzorJ/MoZ4ie9IFcNy6sWV6wRMwnNZHJj25cw2dk=
X-Gm-Gg: ASbGncs8eKY8uKGoB5+Yi/QNrioSaOcbMNJIdOkId8e8sMiqK2KgfL/622cbI8pd+Uw
K7Miuuaq47TX4Mw52sIqiHu/kNjM0/cCf8MecTXAQA1FzzJ92A7GvoSHY4dEdz96rTdwEEXj4Ju
bn4pXbJqKiTuT3W4oW3AvMp4tAYrtjeKKgmyyQdYo6x561HCNcfxRnb9r7V525qfY9PpT4cBj1u
tPfh4ZH73gHZua8wPvhPscgl/3O8NJpJcsT9pyMU6W+YhCTDvQeBJHsND4HWlREVfXvGh75kVCV
621qg8aVLs10NDQn59CNQlWH9A==
X-Received: by 2002:a05:6a00:6f1b:b0:746:2706:a7fc with SMTP id d2e1a72fcca58-7462706a9a7mr8987448b3a.12.1748424105955;
Wed, 28 May 2025 02:21:45 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHEXmimPDwaXlupcBQXflbX55k4GLlXfzZNdxsktITY1gbSKn/j9w2AKmwk2GPM1FYEG7Z2Mg==
X-Received: by 2002:a05:6a00:6f1b:b0:746:2706:a7fc with SMTP id d2e1a72fcca58-7462706a9a7mr8987413b3a.12.1748424105590;
Wed, 28 May 2025 02:21:45 -0700 (PDT)
Received: from [10.213.103.17] ([202.46.23.25])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-746e343c2c6sm833456b3a.134.2025.05.28.02.21.42
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:21:45 -0700 (PDT)
From: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 14:51:32 +0530
Subject: [PATCH v4 2/3] soc: qcom: qcom_stats: Add QMP support for syncing
ddr stats
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-ddr_stats_-v4-2-b4b7dae072dc@xxxxxxxxxxxxxxxx>
References: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
To: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
Doug Anderson <dianders@xxxxxxxxxxxx>,
Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748424095; l=2841;
i=maulik.shah@xxxxxxxxxxxxxxxx; s=20240109; h=from:subject:message-id;
bh=T0qYIbqFmqXVvM8maSPUINWxr6ffxALcDRq37QKDpUE=;
b=wVOZUEvKvoGhedr3yzrqmQMTShbymVV7iWXl2rRbQJHFFPz/HBRxb11xzEHex1TYPINp7IN3M
v/DY+hZM1ukCSok/O7Tjx+XdERUg2Ap7re/x4rspVYkVCCnQffJH+Oh
X-Developer-Key: i=maulik.shah@xxxxxxxxxxxxxxxx; a=ed25519;
pk=bd9h5FIIliUddIk8p3BlQWBlzKEQ/YW5V+fe759hTWQ=
X-Proofpoint-GUID: uZA3T4dIudFTtEbm1fGYouyEyk-1wyUc
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4MCBTYWx0ZWRfX/mPLt/WJUul0
4mpOa9Q5/ys26IUCV3V53s54fcI/xyUfGQewHsHMfQTQdTOQfTFv87FIbRcqHLBRgP6u0fO0YEQ
B5KAYnG/PtYiGqbgvkx40G8Z7krKtbZtceryp4pdMIrSLBzHLG1rQ+JFaIODlEalm8y7O+0GuI4
ySIFyTYK9O9ye3V9nkiOvZq4twmitW5NBFD9glg4nqjdSt/YAyAnaM6uhmI+Cgzw/nk3JTGDCAA
3HId5w6J0JARFKqh2ow6NByY7eosoSjGOT7sZC3dGRnDCNO3ynXQRH+yyNdM5IJFetzB/yC243f
cVWe9drp9fLZ4xFNSMjM1oA8eJfeuXHFA6m++fd1Oanm2nakAVsrmtSMvRCkoUer+Zcyn3U6sn5
CWTqR+Nf0d57yoqJiJ48qLUng2q0hvZawNzCIRTOeio6Q17tR89S1MR21S+sMo6GLly8JIWx
X-Authority-Analysis: v=2.4 cv=HNnDFptv c=1 sm=1 tr=0 ts=6836d5aa cx=c_pps
a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=BT90xxDHZu-g9S-RVkkA:9
a=QEXdDO2ut3YA:10 a=IoOABgeZipijB_acs4fv:22
X-Proofpoint-ORIG-GUID: uZA3T4dIudFTtEbm1fGYouyEyk-1wyUc
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
clxscore=1015 suspectscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0
priorityscore=1501 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0
bulkscore=0 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280080
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Recent SoCs (SM8450 onwards) require QMP command to be sent before reading
ddr stats. The duration field of ddr stats will get populated only if QMP
command is sent.
Add support to send ddr stats freqsync QMP command.
Signed-off-by: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
---
drivers/soc/qcom/qcom_stats.c | 34 +++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/drivers/soc/qcom/qcom_stats.c b/drivers/soc/qcom/qcom_stats.c
index 33fd2a1574464768bd07289e743fbb79ba415e84..0545c8cbefb8f18758d4eb51638e4ecb94e05422 100644
--- a/drivers/soc/qcom/qcom_stats.c
+++ b/drivers/soc/qcom/qcom_stats.c
@@ -13,6 +13,7 @@
#include <linux/platform_device.h>
#include <linux/seq_file.h>
+#include <linux/soc/qcom/qcom_aoss.h>
#include <linux/soc/qcom/smem.h>
#include <clocksource/arm_arch_timer.h>
@@ -37,6 +38,8 @@
#define DDR_STATS_TYPE(data) FIELD_GET(GENMASK(15, 8), data)
#define DDR_STATS_FREQ(data) FIELD_GET(GENMASK(31, 16), data)
+static struct qmp *qcom_stats_qmp;
+
struct subsystem_data {
const char *name;
u32 smem_item;
@@ -188,12 +191,28 @@ static int qcom_ddr_stats_show(struct seq_file *s, void *d)
struct ddr_stats_entry data[DDR_STATS_MAX_NUM_MODES];
void __iomem *reg = (void __iomem *)s->private;
u32 entry_count;
- int i;
+ int i, ret;
entry_count = readl_relaxed(reg + DDR_STATS_NUM_MODES_ADDR);
if (entry_count > DDR_STATS_MAX_NUM_MODES)
return -EINVAL;
+ if (qcom_stats_qmp) {
+ /*
+ * Recent SoCs (SM8450 onwards) do not have duration field
+ * populated from boot up onwards for both DDR LPM Stats
+ * and DDR Frequency Stats.
+ *
+ * Send QMP message to Always on processor which will
+ * populate duration field into MSG RAM area.
+ *
+ * Sent every time to read latest data.
+ */
+ ret = qmp_send(qcom_stats_qmp, "{class: ddr, action: freqsync}");
+ if (ret)
+ return ret;
+ }
+
reg += DDR_STATS_ENTRY_START_ADDR;
memcpy_fromio(data, reg, sizeof(struct ddr_stats_entry) * entry_count);
@@ -304,6 +323,19 @@ static int qcom_stats_probe(struct platform_device *pdev)
for (i = 0; i < config->num_records; i++)
d[i].appended_stats_avail = config->appended_stats_avail;
+ /*
+ * QMP is used for DDR stats syncing to MSG RAM for recent SoCs (SM8450 onwards).
+ * The prior SoCs do not need QMP handle as the required stats are already present
+ * in MSG RAM, provided the DDR_STATS_MAGIC_KEY matches.
+ */
+ qcom_stats_qmp = qmp_get(&pdev->dev);
+ if (IS_ERR(qcom_stats_qmp)) {
+ if (PTR_ERR(qcom_stats_qmp) == -EPROBE_DEFER)
+ return -EPROBE_DEFER;
+
+ /* We assume any other error means it's not defined/needed */
+ qcom_stats_qmp = NULL;
+ }
root = debugfs_create_dir("qcom_stats", NULL);
--
2.34.1
Return-Path: <linux-kernel+bounces-665209-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7762B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:22:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1AFEC9E7335
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:22:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6869C278E6A;
Wed, 28 May 2025 09:21:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="SLawmlCP"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E89BF278771
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424114; cv=none; b=EzKRxRDI0sVIFqPx51BaOjFKE5C8osyM1doxduFneZolxCPaWGj7D8P3QL5UJme9WWoUTNpjF6BH98r8aQjLt7YnfSnioFVrtEz5k4lCyUNo6nxvN2pLLSZTMKph9JN9gQNb3qM7rwJhngRcBLrIM+btK87fuiwKKFtxSa7mWes=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424114; c=relaxed/simple;
bh=vNy7Hg/TiGtEZictJW89jX/dHyDjn42M2TrCGJb8CAM=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=tB2iMcy8j53y6OBjATwrvlORy9Z95P4zPmkmCU0dxvPALcWBtX1C5bnVeqiv5DHCz9GQ7J4GU6oLyCX77jvKM5WnpW9Ya1LV5sQ/hJgX+RGK81Y0nkdqDICUymFyl5TR21E6FnjPh/g5mZo2+XaCMfa13fi/4y9XoCoSrU54NNE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=SLawmlCP; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279868.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S93rt4023955
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:51 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
5YbBsH4zeCrmK/Ek4rH6YPASrY2/sAhfKu9QU9dC1zs=; b=SLawmlCPUdvWI+tZ
o6QRN/0BbsAv6qG8FrX7W881ZHZqUgVvqGH42PiKfYe80K8uOKwW1x8aM6+GdKEx
lUOyrzR+47CLTc7PIIPKOGIBa8ut5IACGuvMJ5ZJB6+1QTIkXXTwJB16qb70tw0Q
KyqJHvbBfTEXL4uyGaTztlvftb2kZdCrLG2hGax1ezUP0N69JmR04XP9wVrmMeYO
R8xtHq6RmLS6PblTJswR59AofWbKM8qtasYsVgZOXikUbuCzYBYmOiPIe/U8UYA0
po9WPfhtHDvfIKVrz2xIH7JXU3dV0J7u8TQ/VsNMLsWXIJxl8mSLmfw0ZQyXLeAK
kcXPtQ==
Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u5ek1n9y-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:50 +0000 (GMT)
Received: by mail-pf1-f199.google.com with SMTP id d2e1a72fcca58-73c09e99069so5034278b3a.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:21:50 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424109; x=1749028909;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=5YbBsH4zeCrmK/Ek4rH6YPASrY2/sAhfKu9QU9dC1zs=;
b=asjVUdu6IU6XPBQEfKbEy7vmadcXk5p7G5Y7X0Lk0Bu/BS95eDzrktgh9UFFD+X3HS
H/QH44IwMRoHAdv8OKh7p01HDpwYxH3XvxFC1g5/cScKN50cCq04idVFF+oz1yoOUd4R
CxtSMmAGMh6aJVgdgDkQXpV62fDmW0GNiRVE2XxJ7sEyB4Md2GGPFlUbu3E17tVKl/Ah
mycXiHSR8gYYuaCVieb5Ir4ZtspQSVkByGYBlIrgpuRcKHHeT/Pq2tLs8+JDQ9bjGb9l
OAgAxhQTRcxQZg5KyuJyIzXaxdL2mcz6fJSH9JtqJekDIsFuFTmeYXg+h9Uiw6AduwMf
G+kQ==
X-Forwarded-Encrypted: i=1; AJvYcCVXb4SzJ5drCBmxZn44xUvHZCPSPKuREknNWRvlG9etrA4KPfK4Q0fgbJmeP6t2A8KjSJwCDfJbOrifxQM=@vger.kernel.org
X-Gm-Message-State: AOJu0YyvIMQdjL7JlBMqkf5lhxKw0lR4ux3slVRhO0gaeDR2joWuKyIt
6zQY1AkoGHDLDjTGmwLtOTGbwfGsUflGbiDABf/ROHtgMoEJHqWE4rOne/pdTDLmA1dpnkEw2tS
HNHDSnV3OMVm+kVN+mM4SijUO3r8NyIyLnVsY+yl68ZtW4Ac14biCQTwbmgJGoYS/a6M=
X-Gm-Gg: ASbGnctypud0j+z0gDTcVoSuUhLMHHDkf4q5Zb1aAFjYLcJZbxaRguNMKRBPdv6UkRH
0EZ3l7RNMezHaOWRoqet51BwBjgCbzFhEYUfXfi08sjuGaVoH7433ILviltpTAFJ5SHm7PryXkm
EXa7CU3F2M5pK7Lrb30jGTUTt8mfRN0ujc/kX2chzSFzXzJE8coJbwhcwruOmEM9koK/C46oiM7
n+jDAJruB/muDUqqN70O7mDeimloELkBekHW5feK54k1VFBAspxbf8qPCM3g5STtqkBPGqrAPeF
Ah4yDQHmYxXCEAI2WDGDgM9wLw==
X-Received: by 2002:a05:6a00:140f:b0:742:da7c:3f30 with SMTP id d2e1a72fcca58-745fe035e87mr23787274b3a.19.1748424109392;
Wed, 28 May 2025 02:21:49 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IH8F1Leeb8hvqWanbPhFDRIXbSQk+YihOTKHY3m3CJ7M+ZPDA0t/uCx0hLnU+pvOhLg+qqIGg==
X-Received: by 2002:a05:6a00:140f:b0:742:da7c:3f30 with SMTP id d2e1a72fcca58-745fe035e87mr23787223b3a.19.1748424108964;
Wed, 28 May 2025 02:21:48 -0700 (PDT)
Received: from [10.213.103.17] ([202.46.23.25])
by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-746e343c2c6sm833456b3a.134.2025.05.28.02.21.45
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:21:48 -0700 (PDT)
From: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 14:51:33 +0530
Subject: [PATCH v4 3/3] arm64: dts: qcom: Add QMP handle for qcom_stats
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-ddr_stats_-v4-3-b4b7dae072dc@xxxxxxxxxxxxxxxx>
References: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
To: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
Doug Anderson <dianders@xxxxxxxxxxxx>,
Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=ed25519-sha256; t=1748424095; l=2423;
i=maulik.shah@xxxxxxxxxxxxxxxx; s=20240109; h=from:subject:message-id;
bh=vNy7Hg/TiGtEZictJW89jX/dHyDjn42M2TrCGJb8CAM=;
b=RVhu3aYygw1jl79Ka7vUZ/MHVDs5AnJ/SXP1NxKfVCri/JIKo0YFwrKfUNK45qGAa8Ez9gbqa
9fhVIsnDbnxDxUyyrlmeXQXK7TH1j97wTIakKGHennXv6lV72Sr1BKb
X-Developer-Key: i=maulik.shah@xxxxxxxxxxxxxxxx; a=ed25519;
pk=bd9h5FIIliUddIk8p3BlQWBlzKEQ/YW5V+fe759hTWQ=
X-Authority-Analysis: v=2.4 cv=GIgIEvNK c=1 sm=1 tr=0 ts=6836d5ae cx=c_pps
a=WW5sKcV1LcKqjgzy2JUPuA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=GL-xn7CBy2CN3rfaf34A:9
a=QEXdDO2ut3YA:10 a=OpyuDcXvxspvyRM73sMx:22
X-Proofpoint-ORIG-GUID: -vVi2_56pu9SHoa7lYE5joqtAp_O1-A5
X-Proofpoint-GUID: -vVi2_56pu9SHoa7lYE5joqtAp_O1-A5
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA3OSBTYWx0ZWRfXzShTNKJbTOk/
L8HQ6TeEIaugkP/9dvRnbGy9dTWo4Wt+hXGUFeJXF+8h/oGMCwjAXPg0enZNcEwKNyeI2ZWI30C
73r8cH4pvPtU/nbPvBGPBNunxiprphDAyg4cZuHNY2LlQAzmTH3HNA1vd/BBrLvFver1u5WBemo
ckbjNItZJ6zAWZzfEnoP4qtCz99AebH7ZY8o6ucz7rz/yGL7AKJD9zmAKKVlcFtV4gF/1hlcgi9
2bJuheLkvwlawOwm3GZt9AXF4r1TxK9c+QE/I8gQMYD4XCzl78v4eUW5qTJmql/n2ctSjIie+qO
uuAZOEd9LnTNqsvCUCm4mI9onlAU2feR+rFvlLXe+JEXT9YwUPfIomBohaz0puxnVerUt1xQBZs
UHywitIiKIoYjgiKld2ku2EMFqs7PGmJ1Yz8sypCmUxaf+NepS7Ioa73o0ZV7P84zMTEJGRh
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_04,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
impostorscore=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0
adultscore=0 priorityscore=1501 mlxscore=0 phishscore=0 spamscore=0
suspectscore=0 mlxlogscore=688 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280079
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add QMP handle which is used to send QMP command to always on processor
to populate DDR stats. Add QMP handle for SM8450/SM8550/SM8650/SM8750.
Signed-off-by: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/sm8450.dtsi | 1 +
arch/arm64/boot/dts/qcom/sm8550.dtsi | 1 +
arch/arm64/boot/dts/qcom/sm8650.dtsi | 1 +
arch/arm64/boot/dts/qcom/sm8750.dtsi | 1 +
4 files changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 54c6d0fdb2afa51084c510eddc341d6087189611..33574ad706b915136546c7f92c7cd0b8a0d62b7e 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -3739,6 +3739,7 @@ aoss_qmp: power-management@c300000 {
sram@c3f0000 {
compatible = "qcom,rpmh-stats";
reg = <0 0x0c3f0000 0 0x400>;
+ qcom,qmp = <&aoss_qmp>;
};
spmi_bus: spmi@c400000 {
diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
index 82cabf777cd2c1dc87457aeede913873e7322ec2..e8371a90b9b98fbc12a429def8f6246c6418540a 100644
--- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
@@ -3943,6 +3943,7 @@ aoss_qmp: power-management@c300000 {
sram@c3f0000 {
compatible = "qcom,rpmh-stats";
reg = <0 0x0c3f0000 0 0x400>;
+ qcom,qmp = <&aoss_qmp>;
};
spmi_bus: spmi@c400000 {
diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
index c2937f7217943c4ca91a91eadc8259b2d6a01372..875b5a89d2555f258665c881ee3d96965b6d7a6a 100644
--- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
@@ -5725,6 +5725,7 @@ aoss_qmp: power-management@c300000 {
sram@c3f0000 {
compatible = "qcom,rpmh-stats";
reg = <0 0x0c3f0000 0 0x400>;
+ qcom,qmp = <&aoss_qmp>;
};
spmi_bus: spmi@c400000 {
diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
index 149d2ed17641a085d510f3a8eab5a96304787f0c..4c54ed84e2d1ec836438448e2a02b6fe028f4c24 100644
--- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
@@ -2490,6 +2490,7 @@ aoss_qmp: power-management@c300000 {
sram@c3f0000 {
compatible = "qcom,rpmh-stats";
reg = <0x0 0x0c3f0000 0x0 0x400>;
+ qcom,qmp = <&aoss_qmp>;
};
spmi_bus: spmi@c400000 {
--
2.34.1
Return-Path: <linux-kernel+bounces-665210-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C283241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:22:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 7F0757B2A7C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:21:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BA5BB2777E9;
Wed, 28 May 2025 09:22:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ECxbcPC1"
Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2323927587D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:22:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424133; cv=none; b=AaDXDCKNck+rNMY+71vcSNKBLClk/t/GF6zNU6uOvmHSiV+rLlYZKHssDsT0i/H0xvKTwOJdn7da9QBDAkGHmdvQSZB00w4Q/+R/VxQLK+Yd4+kJ2zO9CAN8cZVc5Kzo88LevV4lnC+7eNsavOZl9rTmZTI0oTMOLaLLhML3/II=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424133; c=relaxed/simple;
bh=NBrvQMrhx/6hLM6e+tUOgjMzy9y+05NeL0rQjwNG5cg=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=nntjn2ECDbsyq2NtrIN1GG/62LyCmvfecU8BgrtpqcKJRhq0kXwyMYVuWO4ipKLmfIa9q3DgR2Zuyx3fHjeQGnIaOU4/SlUW39L9YsIHQvd5/Ps7zKu+wWuCO66TYJ1pns7cJ2PZOhDqzafVV45L+iR3WeHHZ3K0d82Qz4vLqaw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ECxbcPC1; arc=none smtp.client-ip=209.85.221.48
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3a362e099cfso721019f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:22:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748424129; x=1749028929; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=Rx2tOr2eY+H+fF6DPR+iLBfDIJ9wmmt75sHUbD+GTn4=;
b=ECxbcPC1ydBl4yLBQgv/GGSpkdnxTqo+47dQCTLN17F3tHi7wbu5/1KtGkvny8tAT1
uoXban1vEGgzL55napFURZbapa1c84rVkLwcWOQv0CD5VE9SeM3YFQKvjtzAG9hWsxVT
Oy50027rbutS3az3vTy116YKiXYnT5C9+BlcOiXG52EwE6ylTDbJGCZobZgSg9ElBN09
S9DlMST/oPLT9AAXoT4cQ7pcgQGquUBpVzr8hmkZ82+ZVQj4bZsZJXl2Dkc1LN6B7FGE
PqtTXV4W/oko5hzUDLsDQkYZ6l/Kr2tmzZxkTE9Spu4yu6zgTCcubC2m6n0gslXrNEFn
Mb7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424129; x=1749028929;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=Rx2tOr2eY+H+fF6DPR+iLBfDIJ9wmmt75sHUbD+GTn4=;
b=ksTDFFkB1OtaS92luvLxMpnJpdg6tyQpaJguuUO/miNuV4ZhOb06mocs1JlJZ4Aibw
RKZYWY5AQiYYSXQ+GiG8V5gEWzsPGrusGGXOgrutayLKdFSV3/37OhEia9C7vUFjeJpB
h8bG1dAZ1tgyj/6xFkC5Xh81FtVJxqWvxL2Y4Duv1m+XAWLUim23IANFVkVHlItJpwxs
Rb0bnXQPIoZndWp7/3lBLWq1wnU5NDRbT+Z9jgnihlO105EWvGFs41Pef3LorXtzzQ81
Nf1Cqus9xACL90z1GrRs5v3/xz0mfS6YQpEYTNwNgh7R9pqkb6hIu3OW8EgtZnEMzgF8
gfeg==
X-Forwarded-Encrypted: i=1; AJvYcCVQTYcgf33zFLIJF1XT3sySgN/jN6dXvf/WyyFQ0Qr6RWM5WS5Yb5TruXe4u5ik/uoTesnX6JBli6HzAyg=@vger.kernel.org
X-Gm-Message-State: AOJu0YwWHTY0zgF3pAdWraKysl77qvD9m6HjPwv7JGa4lE5n39JRRpAZ
vWwx3iPqaSePQTiYrDdc2s7NrIUdt7gn28o4YL3bfFWWNgIjBJrmiVRigpXrzb2aG+E=
X-Gm-Gg: ASbGnctGBB1qfY6fF1CEPXqoHqjxqo+AM078XCq9OmgU3l4GGgIZtcBBg0DsZL9/ulS
7PZerPFuq5qSnutPXyS70ZcW+gxyCtWDi5I9GvPph/MWZvZAS42KIVEj5Xg1oddTSLNDmxCJY9/
RGbQg/5dkUK5bVIkuT7M+ImzEbX9Av1FNt3ZT3F21SZhOf02iZBsI6x5KhqeiKU0ao55JK29DCh
aUHtjqnMczroXSq71Qs/1HVyjtT+rYivCezeQBUKD64McjT3hvCCV1oXKxliAoJMkuZ+s2K73T3
JZiGhIrusw5BhXuQ/cSsNDMFK8AxySHAZUc6dRGpqSWjC8fXoJ8GJijiZtakMA==
X-Google-Smtp-Source: AGHT+IH5TQnhBjLCtJ2q/cfEBit7Ui0hALJWg1qthF8GaTLBAj1glOoq4NR08mgOFCiTUbTFHl0ZOQ==
X-Received: by 2002:a05:600c:4752:b0:441:b397:e324 with SMTP id 5b1f17b1804b1-44c93caeb6amr53578465e9.9.1748424129243;
Wed, 28 May 2025 02:22:09 -0700 (PDT)
Received: from kuoka.. ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450787d3be4sm11249795e9.35.2025.05.28.02.22.07
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:22:08 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
To: Patrice Chotard <patrice.chotard@xxxxxxxxxxx>,
Linus Walleij <linus.walleij@xxxxxxxxxx>,
Srinivas Kandagatla <srini@xxxxxxxxxx>,
Mark Brown <broonie@xxxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-gpio@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Subject: [PATCH] pinctrl: st: Drop unused st_gpio_bank() function
Date: Wed, 28 May 2025 11:22:02 +0200
Message-ID: <20250528092201.52132-2-krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Developer-Signature: v=1; a=openpgp-sha256; l=858; i=krzysztof.kozlowski@xxxxxxxxxx;
h=from:subject; bh=NBrvQMrhx/6hLM6e+tUOgjMzy9y+05NeL0rQjwNG5cg=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNtW5SA81tOIk5iN4B9Z+3BqC9/qHt646YY3YJ
uI9jWgBt8WJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDbVuQAKCRDBN2bmhouD
19i9D/0eBMcTsNOBBePfRl2DZ3L4ypubeOhVG44mTQpYX2zsIdOEgGmwhjuOd077CghdZii0sJk
qdSkTwdpZ28eXWCuOkwDDskSzmWCaZF/9Ex5OQFRSEsJQe337Ltz4y3+KFb/E5hh09XzvuVMbCG
aPwR0jTfawKW8vW72lIZ70d/gyNq2gM9/pRpb6Nci1v8b7d1f0RNr623SXEO9fd6ELCz8aKP83k
mJ3aoCIqhO6iXRbo2mwKoEmdyI5x6qqyWlYZrDsC+UsgNNiPS6nzSUq7Dvbg1i90WdlEylZGv8M
cl6GK84UxYlWEmYX5abbyMAdsT0O0/MTHOua6jdDgbjZapsX+ypR/cBmzjjcVwVuJvr4j0PYjrX
pVY5fxYML23Z60GMa+8SSNTHEZgQZ9p+CUqmEdV3KBWStCv5ufMECiXT8tnYpbnWaaUrr9ggYd9
sB69rRw2YhtFFpAj00TrAkfzVzHyDRBo6LgDCu82aOjC6wInFLqaLOeCSkVEn8NHWgDcGs80eL5
rILPvqvOCf45rWEOVgDTL/i42dseGOcwN0CjxDZ5p2foOGCt3EYQdn6RewBhkmhviwZIcWA7a3c
JgiZtccCOEtRxwsNF8G6PLwEecG4yqwi7MZIbcK/AI3iNZIkIx9G41SX9Iy9kjb35LpddAxw/6G eIDbZeugPNeCrQg==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Static inline st_gpio_bank() function is not referenced:
pinctrl-st.c:377:19: error: unused function 'st_gpio_bank' [-Werror,-Wunused-function]
Fixes: 701016c0cba5 ("pinctrl: st: Add pinctrl and pinconf support.")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/pinctrl-st.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
index fe2d52e434db..8a2ef74862d3 100644
--- a/drivers/pinctrl/pinctrl-st.c
+++ b/drivers/pinctrl/pinctrl-st.c
@@ -374,11 +374,6 @@ static struct st_pio_control *st_get_pio_control(
}
/* Low level functions.. */
-static inline int st_gpio_bank(int gpio)
-{
- return gpio/ST_GPIO_PINS_PER_BANK;
-}
-
static inline int st_gpio_pin(int gpio)
{
return gpio%ST_GPIO_PINS_PER_BANK;
--
2.45.2
Return-Path: <linux-kernel+bounces-665211-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6774F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:23:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id AE90EA21449
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:22:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B920A278E5D;
Wed, 28 May 2025 09:22:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="h9unDjaG"
Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.3])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 232AF27603D;
Wed, 28 May 2025 09:22:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.3
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424136; cv=none; b=N685tu2ZWvTMQXv7y2VxRy5xJI3clczJ1VW+LKRBk//WGPdgn/CVO0L0YWWlxghBPaALJK+6NHud/HqHnvuozyfgVz7exeFHnA8XkptbCj5b7cjhbra4N7DmUunGQpzmsw890oPB6i/SFLoz5ZydD9m3WaJncmSSPIfA2m87skU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424136; c=relaxed/simple;
bh=ux5z/bwI4YZWWsbINLJ1ROHKtgYZ4+IDPSRy5k50n4U=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=rLjOGseHyC1M1bz2D+2V3Hr+HanYTooJ9SnR4WUXPimWo2MykYl7AvQBExpSK97dEtXYIprkn9QpAZEBOhA6GgowCFHVL1oYPo3jj2V8Ht4KbqQYicPTQ+HxHn10mqqE2S3cwRl9D+hhaXPtUyGSjY3robMMD1C1Hv2sbOL4ok0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=h9unDjaG; arc=none smtp.client-ip=117.135.210.3
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
s=s110527; h=Message-ID:Date:MIME-Version:Subject:To:From:
Content-Type; bh=q7O5zjtGMuNTZ2eB8CHCX4rdma8dMuUmcapZAjPpK/s=;
b=h9unDjaGRRCRLZCw25/Akg+VhyEf7XB9AaR15IXqqsAyYfjjkFD9/hAyE5mjUo
Ux+AqsJ5NYQ0F5OzzlsgqLxShVCGRR63zl7WI7UjhtNFHvSBrX793DCQVrLmmHlu
SNUG0qy3c+JISjRIJjYcfkWzjUOMZZLVTIjNBeoj7kmYc=
Received: from [172.21.12.155] (unknown [])
by gzsmtp1 (Coremail) with SMTP id PCgvCgAnO5yY1TZodryFCA--.55361S2;
Wed, 28 May 2025 17:21:30 +0800 (CST)
Message-ID: <98542eca-d5ba-470e-b6af-990dda167cec@xxxxxxx>
Date: Wed, 28 May 2025 17:21:23 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] driver core:add device's platform_data set for faux
device
To: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: rafael@xxxxxxxxxx, dakr@xxxxxxxxxx, markgross@xxxxxxxxxx, arnd@xxxxxxxx,
eric.piel@xxxxxxxxxxxxxxxx, valentina.manea.m@xxxxxxxxx, shuah@xxxxxxxxxx,
i@xxxxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Zongmin Zhou <zhouzongmin@xxxxxxxxxx>
References: <cover.1746662386.git.zhouzongmin@xxxxxxxxxx>
<b03b374bc3adad275893e2ad60d4bf5a0ad358e3.1746662386.git.zhouzongmin@xxxxxxxxxx>
<2025050854-breeching-had-c9b3@gregkh>
<0ef733c0-a945-4eae-8af2-2fe7bb60ed92@xxxxxxx>
<2025052139-credibly-dealt-c8aa@gregkh>
Content-Language: en-US
From: Zongmin Zhou <min_halo@xxxxxxx>
In-Reply-To: <2025052139-credibly-dealt-c8aa@gregkh>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-CM-TRANSID:PCgvCgAnO5yY1TZodryFCA--.55361S2
X-Coremail-Antispam: 1Uf129KBjvJXoW7Kr13Jr1fKw1rtFWrJw1DJrb_yoW5JF18pa
yIgFyayr4qgay2krnFvw4rZw1ftr4ft3y5trn8Jryjk34SkrnavFy7Kr4vyayDGFWFk3W2
q3yDX34kAFZ8A3DanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07UeuWLUUUUU=
X-CM-SenderInfo: pplqsxxdorqiywtou0bp/1tbiUAVaq2g1KS6GHgACsk
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 2025/5/21 18:51, Greg KH wrote:
> On Fri, May 09, 2025 at 10:41:11AM +0800, Zongmin Zhou wrote:
>> On 2025/5/8 17:45, Greg KH wrote:
>>> On Thu, May 08, 2025 at 05:11:47PM +0800, Zongmin Zhou wrote:
>>>> From: Zongmin Zhou <zhouzongmin@xxxxxxxxxx>
>>>>
>>>> Most drivers based on platform bus may have specific data
>>>> for the device.And will get this specific data to use
>>>> after device added.
>>>> So keep the setting for device's platform_data is necessary
>>>> for converting platform device to faux device.
>>> I do not understand, why not just use the platform_data field directly
>>> in the faux device structure? Why change all callers to now have to
>>> keep track of an additional pointer in these create functions? That
>>> just adds complexity for everyone when almost no one will need it.
>> In fact, I have tried other approaches.
>> However, I found that it must be set after creating faux_dev and before
>> calling the device_add() function.
>>
>> Because the execution of the driver init and the device probe function is
>> asynchronous,
>> and the actual test shows that the probe function is executed
>> before faux_device_create_with_groups () returns faux_device for the caller.
>> But the probe and related functions may need to get plat_data.If plat_data
>> is set after
>> faux_device_create_with_groups() is completed and fdev is returned, the
>> probe function will get NULL.
>>
>> Take vhci-hcd as an example:
>> vhci_hcd_init() calls faux_device_create_with_groups(),
>> Once device_add() is called, vhci_hcd_probe() will be executed immediately.
>> Therefore, the probe function will attempt to obtain plat_data
>> before vhci_hcd_init() receives the return value of faux_device.
>> It's too late to set plat_data after get the return value of faux_device.
>>
>> If there is anything not clearly or other good ways to handle this, please
>> let me know.
> I think you need to unwind the "probe" logic here as it's not needed at
> all. After you create the faux device, then continue on with the logic
> that is currently in the probe callback. No need to split this out at
> all, it's the same device being used/handled here, just unwind the logic
> a bit and you should be ok.
I'm very sorry for the late reply.
Yes,actually vhci_hcd_init() can call probe directly without
by the faux_probe call it automatically.
I can make this change for vhci-hcd driver.
Thanks for your suggestion.
>
> hope this helps,
>
> greg k-h
Return-Path: <linux-kernel+bounces-665212-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 59C9041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:23:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 104181BC044F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:23:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 33F3527815F;
Wed, 28 May 2025 09:22:36 +0000 (UTC)
Received: from mail-io1-f78.google.com (mail-io1-f78.google.com [209.85.166.78])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C52A0275868
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:22:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.78
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424155; cv=none; b=XnfKrPNBvUbk0eJLzdBasSY9MytbFQp6p99JAOYaruk+l8YpackcxdGKhL8fyYWk5s1CFobzHd8+iLIcsKpVCGg8xFErmzVm9lB51LFi5GfTEoglqVftoyEVtUJ9kG5VK6bBjwJcI6imv4vzeB39O5hAKvKEI4JbaBQeiVnMXpA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424155; c=relaxed/simple;
bh=EH1mMXQI5wxXfEugUS09ywjvRboZIQjKHsBHP/oQu+A=;
h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=ekbnl6lcjfCziqqTSGlAsEw6gFwsFXf9oQ9w1n+Xrx5Mw/iNvy7Iw5tYVjGMIUSWRQ9RGT2D59u1td8efNKlNqMVV6dYo4+TsrFj9DkLsT7n21NgWXckNpdM2HDsdLGLG2JnXbQQSw3IXQZJI8ComUDaLXyVmxIFBgpHPL7oRdo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.78
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-io1-f78.google.com with SMTP id ca18e2360f4ac-86cd99974d7so287099739f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:22:33 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424153; x=1749028953;
h=to:from:subject:message-id:date:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=QaxN9yI31Cw8gE+zvX2r8p8Olm+56SyVzimumhvEfJc=;
b=E6xhXPfxIZjDH5TYco9dRDcgxRX9S+0cSAlG62oKWLflI/crndsRyMsIh3N9okdv12
5iJqqv0qGJBrjgVrLechArGwtg9kRv8XQE4vIn+MamUSQWfglh72QnBPsQViONECVjJD
C1w2mFyScFAMFxGbOCIVjot2jFr+h6sXQMxwwmwC3tRF3bwl2E2p+YmtcPVjlX+Q3SG0
Jm3e+rQPD2SaNVwqzxPNCwDhBellMdiH+7eMllzdJCU5xF70KnKsuwCz8g6KxiT3T649
EF13K3rqm3cGwg/honqO6kTmTBbyLWcNhcEDemrXJpi/EtUm3K3NRoEcw6ughVhkYBtg
Pzgw==
X-Forwarded-Encrypted: i=1; AJvYcCUWiUA0W1o9gCxQFxPm2bZ6vtOVjItnJo3HaMsWoquGHPiK6jUSF9NiIqL0CrK1ctcvrZGHtkUcXVYlGNw=@vger.kernel.org
X-Gm-Message-State: AOJu0YxBbaEOF+d8RYHX7FicSd4GD1yf/WduFyhz9FixQVvdH0azc0J+
kgTi7pkaokdm6BzzDko7ZrACA/100Uy256HwlevXR//8R0dt5NHxYvNbzenodk9LLbhg0Bwnnbo
/j6JCP3g1e84Wz4fBhow2ciklqLnkNI8BO+R8LFY2MVoMU3g3RPqV4vamXF4=
X-Google-Smtp-Source: AGHT+IEU8oC+KFnoYP3nDRWZ403fy3i4VUTZQ8/uDd7pju+VTyPCCQ2XA+O9zAdIm7tXNHqKPXfH4qvZVoL4nJW5cEwGqe+QDBym
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6602:7509:b0:867:2374:49cd with SMTP id
ca18e2360f4ac-86cbb7b73demr1657350139f.2.1748424152959; Wed, 28 May 2025
02:22:32 -0700 (PDT)
Date: Wed, 28 May 2025 02:22:32 -0700
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6836d5d8.a70a0220.253bc2.00c5.GAE@xxxxxxxxxx>
Subject: [syzbot] [fbdev?] KASAN: vmalloc-out-of-bounds Write in fillrect
From: syzbot <syzbot+7a63ce155648954e749b@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: deller@xxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx,
linux-fbdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, simona@xxxxxxxx,
soci@xxxxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-0.5 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SORTED_RECIPS,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no
version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello,
syzbot found the following issue on:
HEAD commit: a5806cd506af Linux 6.15-rc7
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=12afde70580000
kernel config: https://syzkaller.appspot.com/x/.config?x=87b7b87abbf1a67f
dashboard link: https://syzkaller.appspot.com/bug?extid=7a63ce155648954e749b
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/d0398ca67d9a/disk-a5806cd5.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/dccdb3c5ff14/vmlinux-a5806cd5.xz
kernel image: https://storage.googleapis.com/syzbot-assets/3d94cf3493b5/bzImage-a5806cd5.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+7a63ce155648954e749b@xxxxxxxxxxxxxxxxxxxxxxxxx
==================================================================
BUG: KASAN: vmalloc-out-of-bounds in fb_write_offset drivers/video/fbdev/core/sysmem.h:30 [inline]
BUG: KASAN: vmalloc-out-of-bounds in bitfill drivers/video/fbdev/core/fb_fillrect.h:134 [inline]
BUG: KASAN: vmalloc-out-of-bounds in fb_fillrect_static drivers/video/fbdev/core/fb_fillrect.h:220 [inline]
BUG: KASAN: vmalloc-out-of-bounds in fb_fillrect drivers/video/fbdev/core/fb_fillrect.h:279 [inline]
BUG: KASAN: vmalloc-out-of-bounds in sys_fillrect+0x15d4/0x17b0 drivers/video/fbdev/core/sysfillrect.c:22
Write of size 8 at addr ffffc90003849000 by task syz.1.1552/13525
CPU: 1 UID: 0 PID: 13525 Comm: syz.1.1552 Tainted: G U 6.15.0-rc7-syzkaller #0 PREEMPT(full)
Tainted: [U]=USER
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120
print_address_description mm/kasan/report.c:408 [inline]
print_report+0xc3/0x670 mm/kasan/report.c:521
kasan_report+0xe0/0x110 mm/kasan/report.c:634
fb_write_offset drivers/video/fbdev/core/sysmem.h:30 [inline]
bitfill drivers/video/fbdev/core/fb_fillrect.h:134 [inline]
fb_fillrect_static drivers/video/fbdev/core/fb_fillrect.h:220 [inline]
fb_fillrect drivers/video/fbdev/core/fb_fillrect.h:279 [inline]
sys_fillrect+0x15d4/0x17b0 drivers/video/fbdev/core/sysfillrect.c:22
drm_fbdev_shmem_defio_fillrect+0x22/0x140 drivers/gpu/drm/drm_fbdev_shmem.c:37
bit_clear+0x17a/0x220 drivers/video/fbdev/core/bitblit.c:73
__fbcon_clear+0x600/0x780 drivers/video/fbdev/core/fbcon.c:1292
fbcon_scroll+0x48b/0x690 drivers/video/fbdev/core/fbcon.c:1851
con_scroll+0x45c/0x690 drivers/tty/vt/vt.c:579
csi_M drivers/tty/vt/vt.c:2072 [inline]
csi_ECMA drivers/tty/vt/vt.c:2483 [inline]
do_con_trol drivers/tty/vt/vt.c:2657 [inline]
do_con_write+0x6869/0x7c90 drivers/tty/vt/vt.c:3092
con_write+0x23/0xb0 drivers/tty/vt/vt.c:3432
process_output_block drivers/tty/n_tty.c:561 [inline]
n_tty_write+0x40f/0x1160 drivers/tty/n_tty.c:2377
iterate_tty_write drivers/tty/tty_io.c:1015 [inline]
file_tty_write.constprop.0+0x502/0x9b0 drivers/tty/tty_io.c:1090
tty_write drivers/tty/tty_io.c:1111 [inline]
redirected_tty_write drivers/tty/tty_io.c:1134 [inline]
redirected_tty_write+0xd4/0x150 drivers/tty/tty_io.c:1114
new_sync_write fs/read_write.c:591 [inline]
vfs_write+0x5ba/0x1180 fs/read_write.c:684
ksys_write+0x12a/0x240 fs/read_write.c:736
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xcd/0x230 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f457158e969
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f457244f038 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f45717b5fa0 RCX: 00007f457158e969
RDX: 0000000000000013 RSI: 0000200000000000 RDI: 0000000000000005
RBP: 00007f4571610ab1 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f45717b5fa0 R15: 00007ffddb9e8a38
</TASK>
The buggy address ffffc90003849000 belongs to a vmalloc virtual mapping
Memory state around the buggy address:
ffffc90003848f00: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
ffffc90003848f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
>ffffc90003849000: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
^
ffffc90003849080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
ffffc90003849100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
==================================================================
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
Return-Path: <linux-kernel+bounces-665213-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6730E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:23:45 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B8614188D31A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:23:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BC879275868;
Wed, 28 May 2025 09:22:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YsAd1fAK"
Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D5DC275100;
Wed, 28 May 2025 09:22:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424168; cv=none; b=AsqVxzG6BX/IFpZ6DRmDM5APicwULjTZiqxBpZ6dZTWN988xWOdouZOvZlq4SJxubGVSsaN+Dp4ZqkdvnfHFXpgpwrxQQrg5oU9Oj+b8cv0RqWpn1hNUs0i/uvKL2NDA5oxngAXoGC5yHuUQabrxJ18MAq9mLITZSchha2EYflM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424168; c=relaxed/simple;
bh=Z5HyxWdH0KaGnOZO7JeE8+gXZA+GfoyeQH+lmP4o4As=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=UOWDM70C9KrBH0+jrcVkWav40ufS95c8AuwbCqMY8hbQ/3zNuAZNpNF1RTG8e1ZqfUV9HlRszR8TDLuiSABepNpkPk6SzE//QUnW5wHjjTzR/BDpLr4hY6OMq3MDZOuFg05FQADd5wDVVzfaN5A7hU6PVTXc02mgwd34zsYUDzM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YsAd1fAK; arc=none smtp.client-ip=209.85.218.41
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-ad52d9be53cso639974866b.2;
Wed, 28 May 2025 02:22:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748424164; x=1749028964; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=Z5HyxWdH0KaGnOZO7JeE8+gXZA+GfoyeQH+lmP4o4As=;
b=YsAd1fAKA31OgV/R3qlpxx1gZPIn+r97hykZDGK/LpI+jGcQ8DMflT3uo1nuHfuGuD
xgs/HsCCCjRhKA0QJr5IG7UGjlL4Sw4PES8PBTjF/DAdppGVY51ToUM85J1ZPtzVu0eJ
sv4af1Vg/5ax7aylfeDgfX5OEOafXWZMJrNDEy3Biq9g9uBx7CubiS3WSsbNL65c5h2/
UfL6oy291HvFEQXw6LiRqwkW1WN1hwW3BeuC7cTIF+Km68MK44tlH3JHkQ3rjgOQ17Vt
1zNaBdIK3v66AOpARq/TIVEpeCvljG1MbRXJNH3syWO/2OghlFigV19A19q0uHdCCYaa
a4hQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424164; x=1749028964;
h=content-transfer-encoding:cc:to: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=Z5HyxWdH0KaGnOZO7JeE8+gXZA+GfoyeQH+lmP4o4As=;
b=Ud6ZcD5XN2BcY1ZEMEd5xWKMMMagCtNMVHgxXf5ISOOfO+aKaRQI8VND5Xh7SSU/gz
1bu7ZV9pR7+chQ7qYZXhLDwA8xxA1S/2wi3I8fPGUcT/e+Qre/KTSLD/sEAmmBICdMNi
jNjv4g2BSF7z8ddHncBmfLtV4/QoiZPOhloFWOx7Wsa1uCg7+bgQrae35KoCdvyxTcoC
3bHZBOshu8iVWEmzF+6KywQNLipGupLgCG4MwwIt6G/WtG0audvqW5L/eah+BJCP9TsC
isXV5vOD9X6JisFBq9m1aU0/bSkz/6Q4Fp9q1a4FuND5X9OJF7y1o8l8/CqZZeI+2E1z
pK3w==
X-Forwarded-Encrypted: i=1; AJvYcCViGr4I26EolfpycoJKLSuOGLlFVT1jWmPULFRhrf/c4iLCOc/GH8tNvS7Fz2nWZhhcXyTs++fD77Z/8fY7@xxxxxxxxxxxxxxx, AJvYcCWJUFMjvCp1BZd/x/UHyR2KbAZ9hrY30HcqYcxwC+kIUHxEn/40fo0/9JdRdSS5rONUBRtHwZGOS7o=@vger.kernel.org
X-Gm-Message-State: AOJu0Ywud1tloyzEiVXx3uhKtRXG295zJ2B8nQsS7dPYyPAG7JvHOA2B
WJf4lPGHW8ZNgQf2UFUT5l2qSJ8O9OOo8ocQTCvknEk2ZG93ZAtm2sMQ1gUgD1cKqz9DC09TxFj
4hhhi7sXasgjmKyRafh/kODGeZ5p56TY=
X-Gm-Gg: ASbGncttv1XUFMyzxdNHRH6qSD3WvkIXxMllIOYS4OKm/OegyQZhnnZHnUBPWlQ62w4
/4piCitQE4LJX6rgK/0LgcshvpH0RUJQNFV6PONd/fzJd2273tbNUcW2/JBgIV8bjwIWtzd65an
ZkP8u4eE5pMLGGGJ5GNsl3Z0eRoz97+t4DIYw=
X-Google-Smtp-Source: AGHT+IFKYN9n2rkV2PZefCaqRfYU3re0P4utva0VpHPFE+K2BVhU6PWrUUJ2nKg/dYSV1lYeauSugGZrxtVP3B7ICIU=
X-Received: by 2002:a17:906:f587:b0:ad8:a2a8:23db with SMTP id
a640c23a62f3a-ad8a2a825bbmr104381166b.56.1748424164196; Wed, 28 May 2025
02:22:44 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250528080119.9380-1-gye976@xxxxxxxxx>
In-Reply-To: <20250528080119.9380-1-gye976@xxxxxxxxx>
From: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
Date: Wed, 28 May 2025 11:22:07 +0200
X-Gm-Features: AX0GCFvCaaze7T6kJScaIwxolgrLro7kCQGTu5210iyv7oSEWYbCeoX0cpurpd4
Message-ID: <CAHp75VdhgftCKAuBuoDJ4d9HcKLqkGJ+bdx5gxQmkCSWO7SBAw@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v2] iio: trigger: Avoid data race
To: Gyeyoung Baek <gye976@xxxxxxxxx>
Cc: Jonathan Cameron <jic23@xxxxxxxxxx>, David Lechner <dlechner@xxxxxxxxxxxx>,
=?UTF-8?B?TnVubyBTw6E=?= <nuno.sa@xxxxxxxxxx>,
Andy Shevchenko <andy@xxxxxxxxxx>, linux-iio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 10:01=E2=80=AFAM Gyeyoung Baek <gye976@xxxxxxxxx> w=
rote:
>
> A data race could occur between `atomic_read()` and `atomic_set()`.
> Use `atomic_cmpxchg_relaxed()` to group them atomically.
>
> Previously the main logic was executed when `use_count` was 0.
> Now it returns early when `use_count` was not 0.
This needs Fixes tag, otherwise LGTM,
Reviewed-by: Andy Shevchenko <andy@xxxxxxxxxx>
--=20
With Best Regards,
Andy Shevchenko
Return-Path: <linux-kernel+bounces-665214-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B719A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:23:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id BC37E16AA07
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:23:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8088D277818;
Wed, 28 May 2025 09:23:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="Stkx4be7"
Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.3])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 22728152E02;
Wed, 28 May 2025 09:23:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.3
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424184; cv=none; b=T445n1joH1iGjSfsQxzWurA98ZkE4ss1Fp7Dv6s9loxGjO5IBFNyrlpOIb/H5z/iUpJLJiY//2hzErlJ1mdbGFTM9RxJeVLLC6igTqxJ5ypYJvSb74VrtKriz6xMOUCx//t5zvzKF6TpEdPHJcR6Vx4Vx03Ek8Qh6imaJWBm04I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424184; c=relaxed/simple;
bh=xkNiKYgODlSY9yyRlPkx7iULzopxvQVIpmtbhyv/rTA=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=msDDlPNC0r6X/BslLLZ0OK0JHoBfaLBZaFFX9m79u8Gt/615dEWiz1iAQ5QBjKlhV5HC5kEQHtkS2wRvFPUtaW8HLthh0fdF6X6iMt2vs3ro4wuDKK6XV6eOomMtjx7EJZq22jSvonkVOfbfVQ1rhwJk1VwTvqI4y6H9/yhoXRA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=Stkx4be7; arc=none smtp.client-ip=117.135.210.3
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;
s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=3j
2smcIYQQg9AX7JiG4sdGXoPpomEDE53IFAHBoEZdQ=; b=Stkx4be72PteeZ5DEC
pUc8I/3Ny1Yl2Ef5+6aAVkKppN+yqCG5TG6caQ2p7uA/oUqzqjwmuMS7DFVxwglL
rmo9+rpG4dx5KbEvBF0DmIUmbcNGSO9fE5bg+M2Nwmwu1eqnpJ6vyTL44TV3MRWp
g7zTe2TeU2Fs6Z8Ouf/lTCsqw=
Received: from localhost.localdomain (unknown [])
by gzga-smtp-mtada-g1-1 (Coremail) with SMTP id _____wCnjVLa1TZoOyU7Eg--.4046S2;
Wed, 28 May 2025 17:22:35 +0800 (CST)
From: Slark Xiao <slark_xiao@xxxxxxx>
To: manivannan.sadhasivam@xxxxxxxxxx,
johan+linaro@xxxxxxxxxx,
mhi@xxxxxxxxxxxxxxx
Cc: linux-arm-msm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Slark Xiao <slark_xiao@xxxxxxx>
Subject: [PATCH v2] bus: mhi: host: pci_generic: Add Foxconn T99W696
Date: Wed, 28 May 2025 17:22:32 +0800
Message-Id: <20250528092232.16111-1-slark_xiao@xxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:_____wCnjVLa1TZoOyU7Eg--.4046S2
X-Coremail-Antispam: 1Uf129KBjvJXoWxWF13Cw15Kr4kZw4kWF43GFg_yoWrurWkpF
WIv3y5KrWkJa1Fg3y0y34kKas5Zan3Xr93Krnrtw10g3WYk3y5XrWkt342qFWYv34qqrWI
vFykuFy7uanrJr7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pRqsUtUUUUU=
X-CM-SenderInfo: xvod2y5b0lt0i6rwjhhfrp/1S2mRxpbZGg2zteGcAABsS
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
T99W696 is designed based on Qualcomm SDX61 chip which is a cost
down chip refer to previous SDX62/SDX65. Though we have a support
on SDX62/SDX65, we create a new channel config for SDX61 since
we add a NMEA channel support from this product.
For new products we are allowed to customize the subVID and
subPID only.
Signed-off-by: Slark Xiao <slark_xiao@xxxxxxx>
---
v2: Correct the ch_cfg as sdx61 channels
---
drivers/bus/mhi/host/pci_generic.c | 52 ++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
index a4a62429c784..a90ab31c46a9 100644
--- a/drivers/bus/mhi/host/pci_generic.c
+++ b/drivers/bus/mhi/host/pci_generic.c
@@ -490,6 +490,23 @@ static const struct mhi_channel_config mhi_foxconn_sdx55_channels[] = {
MHI_CHANNEL_CONFIG_HW_DL(101, "IP_HW0_MBIM", 128, 3),
};
+static const struct mhi_channel_config mhi_foxconn_sdx61_channels[] = {
+ MHI_CHANNEL_CONFIG_UL(0, "LOOPBACK", 32, 0),
+ MHI_CHANNEL_CONFIG_DL(1, "LOOPBACK", 32, 0),
+ MHI_CHANNEL_CONFIG_UL(4, "DIAG", 32, 1),
+ MHI_CHANNEL_CONFIG_DL(5, "DIAG", 32, 1),
+ MHI_CHANNEL_CONFIG_UL(12, "MBIM", 32, 0),
+ MHI_CHANNEL_CONFIG_DL(13, "MBIM", 32, 0),
+ MHI_CHANNEL_CONFIG_UL(32, "DUN", 32, 0),
+ MHI_CHANNEL_CONFIG_DL(33, "DUN", 32, 0),
+ MHI_CHANNEL_CONFIG_UL_FP(34, "FIREHOSE", 32, 0),
+ MHI_CHANNEL_CONFIG_DL_FP(35, "FIREHOSE", 32, 0),
+ MHI_CHANNEL_CONFIG_UL(50, "NMEA", 32, 0),
+ MHI_CHANNEL_CONFIG_DL(51, "NMEA", 32, 0),
+ MHI_CHANNEL_CONFIG_HW_UL(100, "IP_HW0_MBIM", 128, 2),
+ MHI_CHANNEL_CONFIG_HW_DL(101, "IP_HW0_MBIM", 128, 3),
+};
+
static struct mhi_event_config mhi_foxconn_sdx55_events[] = {
MHI_EVENT_CONFIG_CTRL(0, 128),
MHI_EVENT_CONFIG_DATA(1, 128),
@@ -506,6 +523,15 @@ static const struct mhi_controller_config modem_foxconn_sdx55_config = {
.event_cfg = mhi_foxconn_sdx55_events,
};
+static const struct mhi_controller_config modem_foxconn_sdx61_config = {
+ .max_channels = 128,
+ .timeout_ms = 20000,
+ .num_channels = ARRAY_SIZE(mhi_foxconn_sdx61_channels),
+ .ch_cfg = mhi_foxconn_sdx61_channels,
+ .num_events = ARRAY_SIZE(mhi_foxconn_sdx55_events),
+ .event_cfg = mhi_foxconn_sdx55_events,
+};
+
static const struct mhi_controller_config modem_foxconn_sdx72_config = {
.max_channels = 128,
.timeout_ms = 20000,
@@ -615,6 +641,17 @@ static const struct mhi_pci_dev_info mhi_foxconn_dw5934e_info = {
.sideband_wake = false,
};
+static const struct mhi_pci_dev_info mhi_foxconn_t99w696_info = {
+ .name = "foxconn-t99w696",
+ .edl = "qcom/sdx61/foxconn/prog_firehose_lite.elf",
+ .edl_trigger = true,
+ .config = &modem_foxconn_sdx61_config,
+ .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
+ .dma_data_width = 32,
+ .mru_default = 32768,
+ .sideband_wake = false,
+};
+
static const struct mhi_channel_config mhi_mv3x_channels[] = {
MHI_CHANNEL_CONFIG_UL(0, "LOOPBACK", 64, 0),
MHI_CHANNEL_CONFIG_DL(1, "LOOPBACK", 64, 0),
@@ -863,6 +900,21 @@ static const struct pci_device_id mhi_pci_id_table[] = {
/* Telit FE990A */
{ PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, 0x1c5d, 0x2015),
.driver_data = (kernel_ulong_t) &mhi_telit_fe990a_info },
+ /* Foxconn T99W696.01, Lenovo Generic SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe142),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
+ /* Foxconn T99W696.02, Lenovo X1 Carbon SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe143),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
+ /* Foxconn T99W696.03, Lenovo X1 2in1 SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe144),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
+ /* Foxconn T99W696.04, Lenovo PRC SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe145),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
+ /* Foxconn T99W696.00, Foxconn SKU */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_QCOM, 0x0308, PCI_VENDOR_ID_FOXCONN, 0xe146),
+ .driver_data = (kernel_ulong_t) &mhi_foxconn_t99w696_info },
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0309),
--
2.25.1
Return-Path: <linux-kernel+bounces-665215-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A547841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:24:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9DD9C4E1A4B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:24:01 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AB6DD152E02;
Wed, 28 May 2025 09:23:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (4096-bit key) header.d=alien8.de header.i=@alien8.de header.b="MwCo+B4S"
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5570D27585C;
Wed, 28 May 2025 09:23:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=65.109.113.108
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424194; cv=none; b=nNvmb1MvKBXXBGMCBTQxxUL9oYAZJ/FzcRpakmIk5i+NwUClbni697rX52fZx2y6Xxw8zg5JEK+zmgE7Ve6C5Tiy2O8/YLqwYbwS+rr+MmaXiWRtpTCg1nO/7NcAqqzR4xJidQmce4PcJ1QkxLa23wNtSxJidepBowmOlracw3o=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424194; c=relaxed/simple;
bh=XwVcsM0Ke27QaXVu4HALsNtN2BuTrzEyaowisRAZRTo=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ZaERraTyQfFkQLsm9vJjuPQs7NUq5/NVNArclvP3KhoeZhiPNnuPmSflUCTU4SZieWn1JeW8hkwHBLLmJ3I3iVyLYmOdSW2rEH1AfB+YGdRaLPhI5wLcYPgu9WDoqRu031S01HK1/brrEXg+Cep0HaOS79wM+vUuR2+W46COLLQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=alien8.de; spf=pass smtp.mailfrom=alien8.de; dkim=fail (4096-bit key) header.d=alien8.de header.i=@alien8.de header.b=MwCo+B4S reason="signature verification failed"; arc=none smtp.client-ip=65.109.113.108
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=alien8.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=alien8.de
Received: from localhost (localhost.localdomain [127.0.0.1])
by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 9D2DA40E01AD;
Wed, 28 May 2025 09:23:07 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key)
reason="fail (body has been altered)" header.d=alien8.de
Received: from mail.alien8.de ([127.0.0.1])
by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
with ESMTP id 6k1iIRKJfFlA; Wed, 28 May 2025 09:23:03 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
t=1748424182; bh=si5vjMB3rqYmyMn24gD/zflzQ5T1gxEmIVKPQTemnUs=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=MwCo+B4SRUadtIe1XUxkBce8rFMI6dulfrRCIQeV3A/qP5P4UrULAs//ut1GGt8+J
9cddGaZsgFOhZ/f7kdnmMZlk8VIDBzPOuasIQm8Qum51RnHfLzrPaGcQMYORD23uhs
yDXcDlf7ilZ+EjBjxFxdDeCXbOjQyT4YAflvjvn0anDy6S305curU6phw351VdLwFo
1tzAj8ndKknisMKZ4HE0bxEnzWlDSyH65EUH4UuFWAOG40AL8G9Aa0He++7W04oP/u
q+rIDZ3iylb9GLu4mlDOxqv4td3pOfZ/3NUvtP7FVrvsqjzBvGgkW0muYsEj/Vk9DK
V3uMCtuXN1CTURb9BADn9kTtTU+Jnf3qBNxhp2+ZiV7vY5dqyU0W09bVkEOyRbeyWO
5acH68wcAQ/Pv8c4IdbW9yZND1szWbqX/o/wyxzDepbSZsdEI4jdUMPGPP9lYeDp5E
sOnn3m7TLbXQan6OtBfgNSxomfAbw7SKLFjkJGbOOB69ME28Fw7sCDaZza7S3lW4YE
YpyiTTDOcSviSuAJCdGI/v6Ig8FUkI5hwGEsblInpI7axuw38BeiQZQ4A48LdpKGFH
dbV06SpVtBjqJAvgf4TMYdMne7uEHnzZuMET81tnV7XWX8G21DLMYjEMGb6uG4Iga9
G1QxEwJ2RSUvJZyJ5OM7ZCXo=
Received: from zn.tnic (p57969c58.dip0.t-ipconnect.de [87.150.156.88])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256)
(No client certificate requested)
by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 6159540E01B5;
Wed, 28 May 2025 09:22:56 +0000 (UTC)
Date: Wed, 28 May 2025 11:22:50 +0200
From: Borislav Petkov <bp@xxxxxxxxx>
To: Avadhut Naik <avadhut.naik@xxxxxxx>
Cc: linux-edac@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
avadnaik@xxxxxxx,
=?utf-8?Q?=C5=BDilvinas_=C5=BDaltiena?= <zilvinas@xxxxxxxxx>,
Yazen Ghannam <yazen.ghannam@xxxxxxx>
Subject: Re: [PATCH v4] EDAC/amd64: Fix size calculation for Non-Power-of-Two
DIMMs
Message-ID: <20250528092250.GAaDbV6oEqvE3279dJ@fat_crate.local>
References: <20250513192221.784445-1-avadhut.naik@xxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20250513192221.784445-1-avadhut.naik@xxxxxxx>
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 13, 2025 at 07:20:11PM +0000, Avadhut Naik wrote:
> Each Chip-Select (CS) of a Unified Memory Controller (UMC) on AMD's
> modern Zen-based SOCs has an Address Mask and a Secondary Address Mask
> register associated with it. The amd64_edac module logs DIMM sizes on a
> per-UMC per-CS granularity during init using these two registers.
>=20
> Currently, the module primarily considers only the Address Mask registe=
r
> for computing DIMM sizes. The Secondary Address Mask register is only
> considered for odd CS. Additionally, if it has been considered, the
> Address Mask register is ignored altogether for that CS. For
> power-of-two DIMMs, this is not an issue since only the Address Mask
What are power-of-two DIMMs?
The number of DIMMs on the system is a 2^x?
Their ranks are a power of two?
Their combined size is not power of two?
One can only guess...
> register is used.
>=20
> For non-power-of-two DIMMs, however, the Secondary Address Mask registe=
r
> is used in conjunction with the Address Mask register. However, since t=
he
> module only considers either of the two registers for a CS, the size
> computed by the module is incorrect.
Yah, it must be something about the size...
> The Secondary Address Mask register
> is not considered for even CS, and the Address Mask register is not
> considered for odd CS.
>=20
> Introduce a new helper function so that both Address Mask and Secondary
> Address Mask registers are considered, when valid, for computing DIMM
> sizes. Furthermore, also rename some variables for greater clarity.
So it is non-power-of-two sized DIMMs?
IOW, DIMMs whose size is not a power of two?
> Fixes: 81f5090db843 ("EDAC/amd64: Support asymmetric dual-rank DIMMs")
> Reported-by: =C5=BDilvinas =C5=BDaltiena <zilvinas@xxxxxxxxx>
> Closes: https://lore.kernel.org/dbec22b6-00f2-498b-b70d-ab6f8a5ec87e@na=
trix.lt
> Signed-off-by: Avadhut Naik <avadhut.naik@xxxxxxx>
> Tested-by: =C5=BDilvinas =C5=BDaltiena <zilvinas@xxxxxxxxx>
> Reviewed-by: Yazen Ghannam <yazen.ghannam@xxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
All that changelog stuff...
> ```
> Changes in v2:
> 1. Avoid unnecessary variable initialization.
> 2. Modify commit message to accurately reflect the changes.
> 3. Move check for non-zero Address Mask register into the new helper.
>=20
> Changes in v3:
> 1. Add the missing Closes tag and rearrange tags per tip tree handbook.
> 3. Slightly modify commit message to properly reflect the SOCs that may
> encounter this issue.
> 4. Rebase on top of edac-for-next.
>=20
> Changes in v4:
> 1. Rebase on top of edac-for-next.
>=20
> Links:
> v1: https://lore.kernel.org/all/20250327210718.1640762-1-avadhut.naik@a=
md.com/
> v2: https://lore.kernel.org/all/20250415213150.755255-1-avadhut.naik@am=
d.com/
> v3: https://lore.kernel.org/all/20250416222552.1686475-1-avadhut.naik@a=
md.com/
> ---
<--- ... goes here, under the --- line so that patch handling tools can i=
gnore
it.
> drivers/edac/amd64_edac.c | 57 ++++++++++++++++++++++++---------------
> 1 file changed, 36 insertions(+), 21 deletions(-)
...
> +static int __addr_mask_to_cs_size(u32 addr_mask, u32 addr_mask_sec,
> + unsigned int cs_mode, int csrow_nr, int dimm)
> +{
> + int size;
> =20
> edac_dbg(1, "CS%d DIMM%d AddrMasks:\n", csrow_nr, dimm);
> - edac_dbg(1, " Original AddrMask: 0x%x\n", addr_mask_orig);
> - edac_dbg(1, " Deinterleaved AddrMask: 0x%x\n", addr_mask_deinterleav=
ed);
> + edac_dbg(1, " Primary AddrMask: 0x%x\n", addr_mask);
> =20
> /* Register [31:1] =3D Address [39:9]. Size is in kBs here. */
> - size =3D (addr_mask_deinterleaved >> 2) + 1;
> + size =3D calculate_cs_size(addr_mask, cs_mode);
> +
> + edac_dbg(1, " Secondary AddrMask: 0x%x\n", addr_mask_sec);
> + size +=3D calculate_cs_size(addr_mask_sec, cs_mode);
> =20
> /* Return size in MBs. */
> return size >> 10;
> @@ -1270,7 +1284,7 @@ static int umc_addr_mask_to_cs_size(struct amd64_=
pvt *pvt, u8 umc,
> unsigned int cs_mode, int csrow_nr)
> {
> int cs_mask_nr =3D csrow_nr;
> - u32 addr_mask_orig;
> + u32 addr_mask =3D 0, addr_mask_sec =3D 0;
> int dimm, size =3D 0;
The EDAC tree preferred ordering of variable declarations at the
beginning of a function is reverse fir tree order::
struct long_struct_name *descriptive_name;
unsigned long foo, bar;
unsigned int tmp;
int ret;
The above is faster to parse than the reverse ordering::
int ret;
unsigned int tmp;
unsigned long foo, bar;
struct long_struct_name *descriptive_name;
And even more so than random ordering::
unsigned long foo, bar;
int ret;
struct long_struct_name *descriptive_name;
unsigned int tmp;
--=20
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
Return-Path: <linux-kernel+bounces-665216-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BB6CB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:25:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E874B3AD5BD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:25:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 895C52777EA;
Wed, 28 May 2025 09:25:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="Xu6n2n/G"
Received: from out-181.mta0.migadu.com (out-181.mta0.migadu.com [91.218.175.181])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F2961EB193;
Wed, 28 May 2025 09:25:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.181
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424323; cv=none; b=oE1zhJlIaEVHdQaZ0eANNr3fGeDtyb67gBQNvuvIE5TjRZpLAmSlcGgkPwbfnZbHPRY+jeOTfR7FWGaV5i/GktCk/YcTXJbY9lURHrtQ9+Cl3RGyXGStB6RbZ23dX7/IZnKbXsNOh9mUYFBrfBRsECW6tIekMhEwOVTG1UoSMCI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424323; c=relaxed/simple;
bh=N1s+EAnE4QksMuJkGOXKpbTVBre+UINn2yE45vNS4fc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ElcDh+Cg08GPWzQW1LF1QUC9BMKSh204GIWxtoikXHnRXMfLGZK0h34Ve6Ihz26phwndKMbk6T24BK58BG7WKih/TUGNsECTCk1z7Zlukjxsx7s9YAJX7KOTlD5ogLmlYIMH2ADL3Nrlflwx/fd6WpjlUecYcSsOOtbdnDSZTnQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=Xu6n2n/G; arc=none smtp.client-ip=91.218.175.181
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Date: Wed, 28 May 2025 11:25:06 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1748424309;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=PI9dqXcHsvuMiIRgJ1QC3uTmfdcNnM4s+Ml7A/VgMkA=;
b=Xu6n2n/GymRMG8uaqCgeu6oxjq1uhEB73MIy3PcgZuBp+GFEmKqlY0AFQi8Fx4fDkSMcR2
3W9UB9AgD+AC2XzYBaTyStJg7TTNmoWQQNoCtwYw3S1TONke4tJ8Aq/pmbV7dJPekpC9kb
VJmZTz83atGdCLiT9qZHZTGkyOMkvqQ=
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Richard Leitner <richard.leitner@xxxxxxxxx>
To: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Cc: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>,
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>, Lee Jones <lee@xxxxxxxxxx>, Pavel Machek <pavel@xxxxxxxxxx>,
Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>, Hans Verkuil <hverkuil@xxxxxxxxx>, linux-media@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-leds@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v4 10/10] media: i2c: ov9282: implement try_ctrl for
strobe_duration
Message-ID: <eqtrzwtlptlh5wrma24p2fwm626mwwzlfxl7cwfucbqkg7hyat@s2nnu7mgmijf>
References: <20250507-ov9282-flash-strobe-v4-0-72b299c1b7c9@xxxxxxxxx>
<20250507-ov9282-flash-strobe-v4-10-72b299c1b7c9@xxxxxxxxx>
<aDTNd7sswLyBNbzd@kekkonen.localdomain>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <aDTNd7sswLyBNbzd@kekkonen.localdomain>
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Mon, May 26, 2025 at 08:22:15PM +0000, Sakari Ailus wrote:
> Hi Richard,
>
> Thanks for the update.
Thank you for the review!
>
> On Wed, May 07, 2025 at 09:51:39AM +0200, Richard Leitner wrote:
> > As the granularity of the hardware supported values is lower than the
> > control value, implement a try_ctrl() function for
> > V4L2_CID_FLASH_DURATION. This function calculates the nearest possible
> > µs strobe duration for the given value and returns it back to the
> > caller.
> >
> > Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxx>
> > ---
> > drivers/media/i2c/ov9282.c | 56 ++++++++++++++++++++++++++++++++++++++++++++--
> > 1 file changed, 54 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/i2c/ov9282.c b/drivers/media/i2c/ov9282.c
> > index 09d522d5977ec6fb82028ddb6015f05c9328191d..f75882dcb73bea0e00e2cb37ffc19ec3c3a8b126 100644
> > --- a/drivers/media/i2c/ov9282.c
> > +++ b/drivers/media/i2c/ov9282.c
> > @@ -128,6 +128,8 @@
> > #define OV9282_REG_MIN 0x00
> > #define OV9282_REG_MAX 0xfffff
> >
> > +#define OV9282_STROBE_SPAN_FACTOR 192
> > +
> > static const char * const ov9282_supply_names[] = {
> > "avdd", /* Analog power */
> > "dovdd", /* Digital I/O power */
> > @@ -691,7 +693,7 @@ static int ov9282_set_ctrl_flash_led_mode(struct ov9282 *ov9282, int mode)
> > current_val);
> > }
> >
> > -static int ov9282_set_ctrl_flash_duration(struct ov9282 *ov9282, int value)
> > +static u32 ov9282_us_to_flash_duration(struct ov9282 *ov9282, u32 value)
> > {
> > /*
> > * Calculate "strobe_frame_span" increments from a given value (µs).
> > @@ -702,7 +704,31 @@ static int ov9282_set_ctrl_flash_duration(struct ov9282 *ov9282, int value)
> > * The formula below is interpolated from different modes/framerates
> > * and should work quite well for most settings.
> > */
> > - u32 val = value * 192 / (ov9282->cur_mode->width + ov9282->hblank_ctrl->val);
> > + u32 frame_width = ov9282->cur_mode->width + ov9282->hblank_ctrl->val;
> > +
> > + return value * OV9282_STROBE_SPAN_FACTOR / frame_width;
> > +}
> > +
> > +static u32 ov9282_flash_duration_to_us(struct ov9282 *ov9282, u32 value)
> > +{
> > + /*
> > + * As the calculation in ov9282_us_to_flash_duration uses an integer
> > + * divison calculate in ns here to get more precision. Then check if
> > + * we need to compensate that divison by incrementing the µs result.
> > + */
> > + u32 frame_width = ov9282->cur_mode->width + ov9282->hblank_ctrl->val;
> > + u64 ns = value * 1000 * frame_width / OV9282_STROBE_SPAN_FACTOR;
> > + u32 us = ns / 1000;
> > + u32 remainder = ns % 1000;
> > +
> > + if (remainder > 0)
> > + us++;
>
> It looks like you're trying to round up here. Wouldn't
>
> return DIV_ROUND_UP(ns, 1000);
>
> do the same?
Yes, thanks for the suggestion. I wasn't thinking of DIV_ROUND_UP here,
but this makes the code way more readable :-)
Will adapt this in v5.
>
> > + return us;
> > +}
> > +
> > +static int ov9282_set_ctrl_flash_duration(struct ov9282 *ov9282, int value)
> > +{
> > + u32 val = ov9282_us_to_flash_duration(ov9282, value);
> >
> > ov9282_write_reg(ov9282, OV9282_REG_FLASH_DURATION, 1, (val >> 24) & 0xff);
> > ov9282_write_reg(ov9282, OV9282_REG_FLASH_DURATION + 1, 1, (val >> 16) & 0xff);
> > @@ -792,9 +818,35 @@ static int ov9282_set_ctrl(struct v4l2_ctrl *ctrl)
> > return ret;
> > }
> >
> > +static int ov9282_try_ctrl(struct v4l2_ctrl *ctrl)
> > +{
> > + struct ov9282 *ov9282 =
> > + container_of(ctrl->handler, struct ov9282, ctrl_handler);
> > +
> > + if (ctrl->id == V4L2_CID_FLASH_DURATION) {
> > + u32 fd = ov9282_us_to_flash_duration(ov9282, ctrl->val);
> > + u32 us = ctrl->val;
> > + u32 us0 = ov9282_flash_duration_to_us(ov9282, fd);
> > + u32 us1 = ov9282_flash_duration_to_us(ov9282, (fd + 1));
> > +
> > + if ((us1 - us) < (us - us0))
>
> Is this missing abs?
IMHO this abs() isn't required here, as the (fd + 1) value should be
always higher than the fd one. But nonetheless it doesn't hurt, so I'll
add it in v5. Thanks!
>
> > + ctrl->val = us1;
> > + else
> > + ctrl->val = us0;
> > +
> > + if (us != ctrl->val) {
> > + dev_dbg(ov9282->dev, "using next valid strobe_duration %u instead of %u\n",
> > + ctrl->val, us);
> > + }
> > + }
> > +
> > + return 0;
> > +}
> > +
> > /* V4l2 subdevice control ops*/
> > static const struct v4l2_ctrl_ops ov9282_ctrl_ops = {
> > .s_ctrl = ov9282_set_ctrl,
> > + .try_ctrl = ov9282_try_ctrl,
> > };
> >
> > /**
> >
>
> --
> Regards,
>
> Sakari Ailus
thanks & regards;rl
Return-Path: <linux-kernel+bounces-665217-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1F07941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:25:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 336DE17F1A9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:25:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 30F3227781E;
Wed, 28 May 2025 09:25:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b="nCYWvLDY"
Received: from out30-133.freemail.mail.aliyun.com (out30-133.freemail.mail.aliyun.com [115.124.30.133])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C778276057;
Wed, 28 May 2025 09:25:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.30.133
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424331; cv=none; b=t9BO+vkUnj3+upD8PK/HJdybtWWEM2/g+rffYBn6Xbgs7/2/O8R21/HNMWkQg7d16tCN76IZcX6M36XSFu1C3veU3LcQ0iEqsfO/mEoWdf+tfePUMaCdS+N8yjsPLVCXlW62fW0Y4zxlz2qJGuGt7XmZq73KAGRW2tFuVORfmOg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424331; c=relaxed/simple;
bh=HCvYs3EACZejkxRL2rmH/4+LEh3Pb2GukpYgVteU7fc=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=PGYVDrN8MEE7yGdyqED7PPVfi9OYnCZLwiwEmltzOBgTOVWuQMaGwVzvRgKYNwuTSglAofFr0FTJj2iEzz1rXKJEXQukcvlAlrNNUKjYA6iHf8/PQjYcdUcJLCB0Nm6UspJonoNU6wfeLtQwYQkZaaGd9j4yWzx13s4zUEAygXk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com; spf=pass smtp.mailfrom=linux.alibaba.com; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b=nCYWvLDY; arc=none smtp.client-ip=115.124.30.133
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.alibaba.com
DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linux.alibaba.com; s=default;
t=1748424325; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type;
bh=RqprY+g1l59D1pr1yuCrzP+m/b/mIv1Qp17gecL4d0w=;
b=nCYWvLDY125/90XwSRVCBQz9YAYtbSLLNf8qOnGoFPOSUG60KGxpJ0nJwAHCAKPQsmKc4XBEBljkpFRu3BcMy02PAnICrVhjkpz4eitpESmz8ROmDasdTCkSsbtEArr5I3tmTlnX2WDikbMlBAw3vRnTzo1nlawK7Sf7t54vcTQ=
Received: from 30.221.130.248(mailfrom:hsiangkao@xxxxxxxxxxxxxxxxx fp:SMTPD_---0WcCsI6O_1748424324 cluster:ay36)
by smtp.aliyun-inc.com;
Wed, 28 May 2025 17:25:25 +0800
Message-ID: <4b8a0273-92a5-4f56-bafa-719e73828788@xxxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 17:25:24 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [QUESTION] cachefiles: Recovery concerns with on-demand loading
after unexpected power loss
To: Zizhi Wo <wozizhi@xxxxxxxxxxxxxxx>, netfs@xxxxxxxxxxxxxxx,
dhowells@xxxxxxxxxx, jlayton@xxxxxxxxxx, brauner@xxxxxxxxxx
Cc: jefflexu@xxxxxxxxxxxxxxxxx, zhujia.zj@xxxxxxxxxxxxx,
linux-erofs@xxxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, libaokun1@xxxxxxxxxx, yangerkun@xxxxxxxxxx,
houtao1@xxxxxxxxxx, yukuai3@xxxxxxxxxx
References: <20250528080759.105178-1-wozizhi@xxxxxxxxxxxxxxx>
<d0e08cbf-c6e4-4ecd-bcaf-40c426279c4f@xxxxxxxxxxxxxxxxx>
<f177a0e4-c2da-40b7-9d47-8968f3c2bc50@xxxxxxxxxxxxxxx>
From: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>
In-Reply-To: <f177a0e4-c2da-40b7-9d47-8968f3c2bc50@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-10.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,
USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 2025/5/28 16:53, Zizhi Wo wrote:
>
>
> å?¨ 2025/5/28 16:35, Gao Xiang å??é??:
>> Hi Zizhi,
>>
>> On 2025/5/28 16:07, Zizhi Wo wrote:
>>> Currently, in on-demand loading mode, cachefiles first calls
>>> cachefiles_create_tmpfile() to generate a tmpfile, and only during the exit
>>> process does it call cachefiles_commit_object->cachefiles_commit_tmpfile to
>>> create the actual dentry and making it visible to users.
>>>
>>> If the cache write is interrupted unexpectedly (e.g., by system crash or
>>> power loss), during the next startup process, cachefiles_look_up_object()
>>> will determine that no corresponding dentry has been generated and will
>>> recreate the tmpfile and pull the complete data again!
>>>
>>> The current implementation mechanism appears to provide per-file atomicity.
>>> For scenarios involving large image files (where significant amount of
>>> cache data needs to be written), this re-pulling process after an
>>> interruption seems considerable overhead?
>>>
>>> In previous kernel versions, cache dentry were generated during the
>>> LOOK_UP_OBJECT process of the object state machine. Even if power was lost
>>> midway, the next startup process could continue pulling data based on the
>>> previously downloaded cache data on disk.
>>>
>>> What would be the recommended way to handle this situation? Or am I
>>> thinking about this incorrectly? Would appreciate any feedback and guidance
>>> from the community.
>>
>> As you can see, EROFS fscache feature was marked as deprecated
>> since per-content hooks already support the same use case.
>>
>> the EROFS fscache support will be removed after I make
>> per-content hooks work in erofs-utils, which needs some time
>> because currently I don't have enough time to work on the
>> community stuff.
>>
>> Thanks,
>> Gao Xiang
>
> Thanks for your reply.
>
> Indeed, the subsequent implementations have moved to using fanotify.
> Moreover, based on evaluation, this approach could indeed lead to
> performance improvements.
>
> However, in our current use case, we are still working with a kernel
> version that only supports the fscache-based approach, so this issue
> still exists for us. :(
Since it's deprecated (because that fscache improvement will
take much long time to upstream and netfs dependency is
redundant in addition to new pre-content hooks), could you
improve it downstream directly?
Or if you have some simple proposal you could post, but no one
avoids you to use fscache downstream but it seems pre-content
hooks are more cleaner for this use case..
Thanks,
Gao Xiang
>
> Thanks,
> Zizhi Wo
>
>>
>>>
>>> Thanks,
>>> Zizhi Wo
>>
Return-Path: <linux-kernel+bounces-665218-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3A11941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:26:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C59E83B0374
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:25:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 40BBC277808;
Wed, 28 May 2025 09:25:39 +0000 (UTC)
Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B261227816E;
Wed, 28 May 2025 09:25:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424338; cv=none; b=rbP6J4bOLx88tpYLz+bSJLzGB5qs2xZb/5aDMAkDvzNxem2t/NMIVtiyHju3pSu5XULCCnWsN2wWPX5PM/2cuse+uosPdZzg4lmPrDNgs+gDRSLs1zk7hbRSNL11Eyqm34u4RVrLAadzSUS8owY4E3mgjTDJjMwHNrbDBfH+IMQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424338; c=relaxed/simple;
bh=WPpeY/zBkK9qBadSKYMZngbU/LDpStkIL2YVjLK9fEo=;
h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version:
In-Reply-To:Content-Type; b=gn/SbIuiD2JYFp+1P7Uca/YUMfeZzUX4GCz9dvMvHNIAPy28hqmH7g1lkuPSTsZ2IV5Hs81zbtwcjL1tOXTE/a9hoqk4ngGrjEmYvowMwtW7IbcBboS/VTqDGyPdtXQZyTUR54kZYJXgX1zYwKwhH8pexyWAKqZgd0tqjOAnaFQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn
Received: from loongson.cn (unknown [10.20.42.164])
by gateway (Coremail) with SMTP id _____8AxaeGM1jZoeeD_AA--.40694S3;
Wed, 28 May 2025 17:25:32 +0800 (CST)
Received: from [10.20.42.164] (unknown [10.20.42.164])
by front1 (Coremail) with SMTP id qMiowMAxTsWH1jZoY6_3AA--.63172S2;
Wed, 28 May 2025 17:25:29 +0800 (CST)
Subject: Re: [PATCH v10 4/5] tpm: Add a driver for Loongson TPM device
To: Stefano Garzarella <sgarzare@xxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx,
jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx,
Yinggang Gu <guyinggang@xxxxxxxxxxx>, Huacai Chen <chenhuacai@xxxxxxxxxxx>
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx>
<20250528065944.4511-5-zhaoqunqin@xxxxxxxxxxx>
<7ifsmhpubkedbiivcnfrxlrhriti5ksb4lbgrdwhwfxtp5ledc@z2jf6sz4vdgd>
<afaeb91a-afb4-428a-2c17-3ea5f098da22@xxxxxxxxxxx>
<gymx5tbghi55gm76ydtuzzd6r522expft36twwtvpkbgcl266a@zelnthnhu7kq>
From: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Message-ID: <ccb1927d-c06a-9fde-6cbb-652974464f4b@xxxxxxxxxxx>
Date: Wed, 28 May 2025 17:24:30 +0800
User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:68.0) Gecko/20100101
Thunderbird/68.7.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
In-Reply-To: <gymx5tbghi55gm76ydtuzzd6r522expft36twwtvpkbgcl266a@zelnthnhu7kq>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-CM-TRANSID:qMiowMAxTsWH1jZoY6_3AA--.63172S2
X-CM-SenderInfo: 52kd01pxqtx0o6or00hjvr0hdfq/
X-Coremail-Antispam: 1Uk129KBj93XoW7tr1rXryUJFyfZr13WF1fXwc_yoW8WF1xp3
47Way7Gay3Jr48tw1qqa1jyFZF9Fs5Aa1UCas5Xr9ay3s8trnIgF10qrsYgF47uw4xW34f
XF45Z39xua4YvrXCm3ZEXasCq-sJn29KB7ZKAUJUUUUx529EdanIXcx71UUUUU7KY7ZEXa
sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU
0xBIdaVrnRJUUUPFb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2
IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v
e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI
0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_
GcCE3s1ln4kS14v26r126r1DM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2
x26I8E6xACxx1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r126r1D
McIj6I8E87Iv67AKxVW8JVWxJwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc7
I2V7IY0VAS07AlzVAYIcxG8wCY1x0262kKe7AKxVWUAVWUtwCF04k20xvY0x0EwIxGrwCF
x2IqxVCFs4IE7xkEbVWUJVW8JwCFI7km07C267AKxVW8ZVWrXwC20s026c02F40E14v26r
1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2Ij
64vIr41lIxAIcVC0I7IYx2IY67AKxVWUCVW8JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr
0_Gr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26F4j6r4UJwCI
42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxU4SoGDUUUU
X-Spam-Status: No, score=-5.9 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
å?¨ 2025/5/28 ä¸?å??5:00, Stefano Garzarella å??é??:
> On Wed, May 28, 2025 at 04:42:05PM +0800, Qunqin Zhao wrote:
>>
>> å?¨ 2025/5/28 ä¸?å??3:57, Stefano Garzarella å??é??:
>>>> +Â Â Â chip = tpmm_chip_alloc(dev, &tpm_loongson_ops);
>>>> +Â Â Â if (IS_ERR(chip))
>>>> +Â Â Â Â Â Â Â return PTR_ERR(chip);
>>>> +Â Â Â chip->flags = TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_IRQ;
>>>
>>> Why setting TPM_CHIP_FLAG_IRQ?
>>
>> When tpm_engine completes TPM_CC* command,
>>
>> the hardware will indeed trigger an interrupt to the kernel.
>
> IIUC that is hidden by loongson_se_send_engine_cmd(), that for this
> driver is completely synchronous, no?
>
>>
>>>
>>> IIUC this driver is similar to ftpm and svsm where the send is
>>> synchronous so having .status, .cancel, etc. set to 0 should be
>>> enough to call .recv() just after send() in tpm_try_transmit(). See
>>> commit 980a573621ea ("tpm: Make chip->{status,cancel,req_canceled}
>>> opt")
>> The send callback would wait until the TPM_CC* command complete. We
>> don't need a poll.
>
> Right, that's what I was saying too, send() is synchronous (as in ftpm
> and svsm). The polling in tpm_try_transmit() is already skipped since
> we are setting .status = 0, .req_complete_mask = 0, .req_complete_val
> = 0, etc. so IMHO this is exactly the same of ftpm and svsm, so we
> don't need to set TPM_CHIP_FLAG_IRQ.
I see, but why not skip polling directly in "if (chip->flags &
TPM_CHIP_FLAG_IRQ)"Â instead of do while?
And TPM_CHIP_FLAG_IRQ flag can remind us this hardware is "IRQ" not "POLL".
Thanks,
Qunqin.
>
> Thanks,
> Stefano
Return-Path: <linux-kernel+bounces-665219-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EEBC141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:26:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 088C2189EFD1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:26:56 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AD47D277804;
Wed, 28 May 2025 09:26:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="F6ehlvNr"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E788727587D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:26:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424394; cv=none; b=nwgJRcoKizzpqAW4OtTUpxSTmpFvdhdSDdFvfBh7FRtw+hKNVvxyoRag7yAQk0d7YoUGV3Z+7abzpBN8GgErl7KxGIU3ebFMk2T8c8PGsaubR44omNLFq11o15hauTxNGFhMVUR3p1TRPqR8KBLKpHeh6AdVXNoHDHtqFAP0fzo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424394; c=relaxed/simple;
bh=vj1+j1lPmffXy+nhdyFU/7u5jP6qvFv0RIg0cfeRFbQ=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=ZYP+QBLX2J2n7wkMfYg4CWQfiZqtv7QfNqzBoRQ2HV3SXUWX4Ga/AsbyAhzdj+wx/sr85uaNEAX9+vaMrOhRMLi2voaglUZOGwAbqR81WJBfM3doxMH36T+Lg8XLbLsvBeDDzu/kcaE+5WQQy1brz7/m2++7ERjBSF/O1YpI31k=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=F6ehlvNr; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748424391;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=/IPo0SrIcdmv1Mt6IhlShcwG0axbL9uVKe88/cZWdGg=;
b=F6ehlvNrVJRFZPn5Q9s6wBY4e0XHBJNfGA03J/QuevBn5lb8cGD2kD3GX+lfL8UXkESQjl
fa+b0Z5sqFP2kOyDL1owBJwiqtUXoxT56t3n3Y/kmdN2dxY/7WApJ+CGp29sJwXO+SL13x
0wiCgC4tS2wkKWYkjSk8nlf6xR4zICk=
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
[209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-434-M1asZFsAPaOI9JnxyNNKzA-1; Wed, 28 May 2025 05:26:30 -0400
X-MC-Unique: M1asZFsAPaOI9JnxyNNKzA-1
X-Mimecast-MFC-AGG-ID: M1asZFsAPaOI9JnxyNNKzA_1748424389
Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-450cb8f8b1bso801625e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:26:30 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424389; x=1749029189;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:from:references:cc:to:subject:user-agent
:mime-version:date:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=/IPo0SrIcdmv1Mt6IhlShcwG0axbL9uVKe88/cZWdGg=;
b=Am/FuD7PmCS0i5yuQ54639cl1KDnT0yH1Kdp8/RnaSXwfQLQhb/73+8sSzg3B/SM/i
8uyRpXLLpagB9MvEofM1odffSV0aIh9geQ/S25wbNM4tD2mA8+Q8vssj8XG0aXu6YDba
Xmpuhr3WuatXKaCam49Dgru66WLFHqo9RNMJlSgkC9c7+/PvRbq8sTDTo0F5XGBeFbMC
oD5tUUYwcp0wrwWvJrLPOsXJItc6ToEQbLMWtF2+4bSd4bDeI3WNz5Q4hKJWfZTv6zEg
0ff2700E1JxjiRZ2KWmitMGlcx7QwDKqGzqF8BSaqlt5GTuzKJefUWly5FuREzKP5EOP
r8ag==
X-Forwarded-Encrypted: i=1; AJvYcCWxyjhZSvX68cAqcTbwHX/IrKa2FqE/SqeOe7h8jPja5qALX1vRZpurvPXeqjnbp1Yfi19l0ImmWBPGNNs=@vger.kernel.org
X-Gm-Message-State: AOJu0Yx7xW3uFMsipnSEL9gGgxhx0DFYdvRuXWJ8nI2E3Tnj3rE36Hnc
KpY/aA4tTCUnYy05PpBTKSSq/u290lX0HVLROWjZTf12+m1gLCzzE9pBxBtV2OmfwBLtjZ2A9Gx
qOuAWp2e1uv/GrT+e+JGWcVwWebfWafoiLunlsbi4mgl6hMeviv02VAeWgp1z9MYaKA==
X-Gm-Gg: ASbGnctjtZ2DV/VrpsTFVpZGmzEIHJYt9+S0t1nJOjy0pUSNoehoQjxYUM0F0oXkGg4
nuSuWC5Skv4OE0/MWGOqHLEmcVfHwOfA6ZY5LABMnRq3E7wdtgG/ZwJ2FuXuE/lY7cKDdJ+TPys
dnVoS0vGlOxBV22HX+Uq9RjsIcMzS6stg1TgNNqvxrEAM4EEe+mV5VvuJ/UfzA+9iuBTUgoXVT4
iaYFGp0SKPtMJ19E3lB7U4Ws/Tsyb8WTJt9YbwPVpXrj/OhI5tO7XZjlMlvyTYcTvZpGqPhFCef
8rRodDZ/24DL8IMKLTrzmVZQ1uFBha0LxUvKYlo2XcIYi1hbD2QJjVb/GDobLOD5u9vIl9hBoph
4jeps+1GaYPPPyN1Yi5m1zMKHQNdr69PN9cKkg9k=
X-Received: by 2002:a05:600c:1d28:b0:43d:abd:ad1c with SMTP id 5b1f17b1804b1-44c9141d817mr146189055e9.6.1748424389318;
Wed, 28 May 2025 02:26:29 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGalrtI0HwZaMrepFXd4F1+zcxY5naKOu8XqoCC1vfYgf8Dk2wh+4oAhih6mGXHyBbyAf6+hQ==
X-Received: by 2002:a05:600c:1d28:b0:43d:abd:ad1c with SMTP id 5b1f17b1804b1-44c9141d817mr146188475e9.6.1748424388770;
Wed, 28 May 2025 02:26:28 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36? (p200300d82f30ec008f7e58a4ebf06a36.dip0.t-ipconnect.de. [2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064a1ba1sm15277355e9.16.2025.05.28.02.26.26
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:26:28 -0700 (PDT)
Message-ID: <cf33ff99-ac97-4a33-9df0-01a59d5b8424@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:26:25 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 06/12] khugepaged: introduce khugepaged_scan_bitmap for
mTHP support
To: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>,
Nico Pache <npache@xxxxxxxxxx>, David Rientjes <rientjes@xxxxxxxxxx>,
zokeefe@xxxxxxxxxx
Cc: linux-mm@xxxxxxxxx, linux-doc@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-trace-kernel@xxxxxxxxxxxxxxx,
ziy@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx,
ryan.roberts@xxxxxxx, dev.jain@xxxxxxx, corbet@xxxxxxx, rostedt@xxxxxxxxxxx,
mhiramat@xxxxxxxxxx, mathieu.desnoyers@xxxxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, baohua@xxxxxxxxxx, willy@xxxxxxxxxxxxx,
peterx@xxxxxxxxxx, wangkefeng.wang@xxxxxxxxxx, usamaarif642@xxxxxxxxx,
sunnanyong@xxxxxxxxxx, vishal.moola@xxxxxxxxx,
thomas.hellstrom@xxxxxxxxxxxxxxx, yang@xxxxxxxxxxxxxxxxxxxxxx,
kirill.shutemov@xxxxxxxxxxxxxxx, aarcange@xxxxxxxxxx, raquini@xxxxxxxxxx,
anshuman.khandual@xxxxxxx, catalin.marinas@xxxxxxx, tiwai@xxxxxxx,
will@xxxxxxxxxx, dave.hansen@xxxxxxxxxxxxxxx, jack@xxxxxxx, cl@xxxxxxxxxx,
jglisse@xxxxxxxxxx, surenb@xxxxxxxxxx, hannes@xxxxxxxxxxx, mhocko@xxxxxxxx,
rdunlap@xxxxxxxxxxxxx
References: <20250515032226.128900-1-npache@xxxxxxxxxx>
<20250515032226.128900-7-npache@xxxxxxxxxx>
<9c54397f-3cbf-4fa2-bf69-ba89613d355f@xxxxxxxxxxxxxxxxx>
<CAA1CXcC9MB2Nw4MmGajESfH8DhAsh4QvTj4ABG3+Rg2iPi087w@xxxxxxxxxxxxxx>
<ed1d1281-ece3-4d2c-8e58-aaeb436d3927@xxxxxxxxxxxxxxxxx>
<CAA1CXcAWcahkxzsvK_bcWei6or_gKBjt+97dqhuSem8N7cBAQw@xxxxxxxxxxxxxx>
<1f00fdc3-a3a3-464b-8565-4c1b23d34f8d@xxxxxxxxxxxxxxxxx>
From: David Hildenbrand <david@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <1f00fdc3-a3a3-464b-8565-4c1b23d34f8d@xxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 22.05.25 11:39, Baolin Wang wrote:
>
>
> On 2025/5/21 18:23, Nico Pache wrote:
>> On Tue, May 20, 2025 at 4:09â?¯AM Baolin Wang
>> <baolin.wang@xxxxxxxxxxxxxxxxx> wrote:
>>>
>>> Sorry for late reply.
>>>
>>> On 2025/5/17 14:47, Nico Pache wrote:
>>>> On Thu, May 15, 2025 at 9:20â?¯PM Baolin Wang
>>>> <baolin.wang@xxxxxxxxxxxxxxxxx> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On 2025/5/15 11:22, Nico Pache wrote:
>>>>>> khugepaged scans anons PMD ranges for potential collapse to a hugepage.
>>>>>> To add mTHP support we use this scan to instead record chunks of utilized
>>>>>> sections of the PMD.
>>>>>>
>>>>>> khugepaged_scan_bitmap uses a stack struct to recursively scan a bitmap
>>>>>> that represents chunks of utilized regions. We can then determine what
>>>>>> mTHP size fits best and in the following patch, we set this bitmap while
>>>>>> scanning the anon PMD. A minimum collapse order of 2 is used as this is
>>>>>> the lowest order supported by anon memory.
>>>>>>
>>>>>> max_ptes_none is used as a scale to determine how "full" an order must
>>>>>> be before being considered for collapse.
>>>>>>
>>>>>> When attempting to collapse an order that has its order set to "always"
>>>>>> lets always collapse to that order in a greedy manner without
>>>>>> considering the number of bits set.
>>>>>>
>>>>>> Signed-off-by: Nico Pache <npache@xxxxxxxxxx>
>>>>>
>>>>> Sigh. You still haven't addressed or explained the issues I previously
>>>>> raised [1], so I don't know how to review this patch again...
>>>> Can you still reproduce this issue?
>>>
>>> Yes, I can still reproduce this issue with today's (5/20) mm-new branch.
>>>
>>> I've disabled PMD-sized THP in my system:
>>> [root]# cat /sys/kernel/mm/transparent_hugepage/enabled
>>> always madvise [never]
>>> [root]# cat /sys/kernel/mm/transparent_hugepage/hugepages-2048kB/enabled
>>> always inherit madvise [never]
>>>
>>> And I tried calling madvise() with MADV_COLLAPSE for anonymous memory,
>>> and I can still see it collapsing to a PMD-sized THP.
>> Hi Baolin ! Thank you for your reply and willingness to test again :)
>>
>> I didn't realize we were talking about madvise collapse-- this makes
>> sense now. I also figured out why I could "reproduce" it before. My
>> script was always enabling the THP settings in two places, and I only
>> commented out one to test this. But this time I was doing more manual
>> testing.
>>
>> The original design of madvise_collapse ignores the sysfs and
>> collapses even if you have an order disabled. I believe this behavior
>> is wrong, but by design. I spent some time playing around with madvise
>> collapses with and w/o my changes. This is not a new thing, I
>> reproduced the issue in 6.11 (Fedora 41), and I think its been
>> possible since the inception of madvise collapse 3 years ago. I
>> noticed a similar behavior on one of my RFC since it was "breaking"
>> selftests, and the fix was to reincorporate this broken sysfs
>> behavior.
>
> OK. Thanks for the explanation.
>
>> 7d8faaf15545 ("mm/madvise: introduce MADV_COLLAPSE sync hugepage collapse")
>> "This call is independent of the system-wide THP sysfs settings, but
>> will fail for memory marked VM_NOHUGEPAGE."
>>
>> The second condition holds true (and fails for VM_NOHUGEPAGE), but I
>> dont know if we actually want madvise_collapse to be independent of
>> the system-wide.
>
> This design principle surprised me a bit, and I failed to find the
> reason in the commit log. I agree that "never should mean never," and we
> should respect the THP/mTHP sysfs setting. Additionally, for the
> 'shmem_enabled' sysfs interface controlled for shmem/tmpfs, THP collapse
> can still be prohibited through the 'deny' configuration. The rules here
> are somewhat confusing.
I recall that we decided to overwrite "VM_NOHUGEPAGE", because the
assumption is that the same app that triggered MADV_NOHUGEPAGE triggers
the collapse. So the app decides on its own behavior.
Similarly, allowing for collapsing in a VM without VM_HUGEPAGE in the
"madvise" mode would be fine.
But in the "never" case, we should just "never" collapse.
--
Cheers,
David / dhildenb
Return-Path: <linux-kernel+bounces-665220-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EE6B041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:27:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0C7084E3B12
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:27:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9D449277808;
Wed, 28 May 2025 09:27:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gzHKjDwU"
Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 408AC2459E6;
Wed, 28 May 2025 09:27:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424429; cv=none; b=F1eqZv8WPiWOizXbpsrf3G4HUL7Z7BS6+jhD3dJarRNzx1NpHbvwy91tbPal4tFzGSkgrrpbpJxHH16hOni4xS0HpWQ+1kDbcYo1wPtzUP3Wp8IX5Kny5171/nKaJffCrrDpY7FBl2gsNBhiGvGwGYr6eJIDcklMXIK71Qb5jyM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424429; c=relaxed/simple;
bh=Rkl9MnMzfps/nZK5j3AhdUB2c0gHsAoIEhsLJwN4W20=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=rVsqSN2b2lOyBu6DzLpOa5hGc/d1UJa7bU3hl7rtVCAAezhhOZj7hcup9y6LQoEV7+T3ASiI3z1lw8NibLmbg43NzdOrCoXsmASQT5XLenHd2jwpYfRwI/dfSqyQDZ4jA1wibSv4dUKzUGNNSgiJ/AX5sV7l0WIfIvSIiUVNFJM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=gzHKjDwU; arc=none smtp.client-ip=209.85.128.44
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43edb40f357so36731785e9.0;
Wed, 28 May 2025 02:27:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748424426; x=1749029226; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=DADbSQp6yUGzEJGyGZDGlB+r00LCI7Uhk326gSg6NQ0=;
b=gzHKjDwUwmku/JbteNmo0SbauFqxVf5yCd0iF5LcoW98ZDJyTH/vJ4O9wg/OZH2p1D
UpQKDYphN87U4XoLfhb34QUAxefTtIrgM937LU/R2ldggr8vJFMHtvBtfNtiLO4N0m8q
QGgHEAdYnqH34VWncPTT3I3vKDTJKgCeVybyp0MJ3swtUe7Smk40+hcqFQx+hxj1kObz
Ohvhmou1pqdNmFWbYyyb99Y18ZqSirXNnsj4IeIEdAeEY0eRCEat8tcwIb8LAhe2Nt+q
6xBHQ6SyTBJee4h01CZRJNKelb9Sq609hApsYVqBR+lZ2jxR/0bRTVo6RcgVcldNPJHi
4pmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424426; x=1749029226;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=DADbSQp6yUGzEJGyGZDGlB+r00LCI7Uhk326gSg6NQ0=;
b=BJsq4+AQPimNCg5QaoSjziemaPzgRIlmQqVCAjGuNxsQd5JrcJwc1xV7rSPuUrhZYj
JMKQeqwpa4ExcTx2+qSkBFgfgRzdqEgjpQQ4mcJWL09hMxXhEOJtYe0rvZVBQGL2Jzk5
sANEuOVYgy66L1Sc6XGMuhmqfnJi3tbiP8zm+mE+Mj01RWAqM9B3YrC6suHt0PykiOUy
Wp6plBsPqki2+7+7dWRjaN/8cjnH2c+Y/uo7uXsMLFlIAAFqW74DlzE5sZ79203t9PH1
1KKMK5+/wzYr+xNY1CPPQiyKZbodEDFk8VzUxm7dGReymh7Es4/wodjW8ljBfl2KxAm4
Dk1Q==
X-Forwarded-Encrypted: i=1; AJvYcCUy6TwbdysiGCsrAvTnQTyVVOTF0lREOZO6rzQTwx7TXJv6bcytpe+6EszBvYnD+ALtZ6xECkfxkzz4jCM=@vger.kernel.org, AJvYcCXncl3pJWTE1fiCN3hPzL//aWBNmr+z8qfR58uS8AWVTjsF4x1xlZo92EYMelAddIigrdYBgQU4lpD+Eg==@vger.kernel.org
X-Gm-Message-State: AOJu0YzJ44YdA+ldS4djPt47HIR5DlArCsZzm7leUV6ldY+cziq3JL7t
48R7PorryiZT7VI0PNjNH+6YhK9LADv6WrkU6JF+9QflFowvapGBlFbN4YzJRFVkjjY=
X-Gm-Gg: ASbGncs/zNVOJt9atSpHWgVJ1hv+w4a57dvDWNxxSKxh4kUkAMUpY2iTZ3BRcDEkNdz
7CMkguxLyz4ijnMfoJtjhArZukBKjGR2w62qo2Cgh1Wecs8pwickYqUkKSCI94JUbTqnIZGBzbE
eGw13LU3AvpVllrql1k1CuKMVShPxq6gOCXePVBC4Hk+vgS1Zyx/NrzrHIP05tfFhoRXNfDI5J9
NpZiDgZEl2gUA7E6fFoFB8O/WrlMBkolJal+us1TGW9dbmE6UTpAOufbDvG8mPpN3PknoYrLb6H
AoyDwh362hGIiKPhyKuph4WS8Aw2yghpVhxS5h/k/7zW2CM/16YGOjxjMQ==
X-Google-Smtp-Source: AGHT+IHF6OaK+bSac6ECH1IPMqyc2b/hXMEmiIYiRExLKW0p4wvXpqkSjymxtwCMsKX4jY6/QmRP3A==
X-Received: by 2002:a05:600c:870b:b0:450:c210:a01b with SMTP id 5b1f17b1804b1-450c210a070mr12108165e9.17.1748424426206;
Wed, 28 May 2025 02:27:06 -0700 (PDT)
Received: from [10.43.17.62] ([85.93.96.130])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d8671sm15371465e9.29.2025.05.28.02.27.05
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:27:05 -0700 (PDT)
Message-ID: <c60f5fc9-6053-49d7-852f-fc581bd10169@xxxxxxxxx>
Date: Wed, 28 May 2025 11:27:04 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] md/raid1,raid10: don't handle IO error for REQ_RAHEAD
and REQ_NOWAIT
To: Xiao Ni <xni@xxxxxxxxxx>, Yu Kuai <yukuai1@xxxxxxxxxxxxxxx>
Cc: mpatocka@xxxxxxxxxx, song@xxxxxxxxxx, linux-raid@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, yi.zhang@xxxxxxxxxx, yangerkun@xxxxxxxxxx,
johnny.chenyi@xxxxxxxxxx, "yukuai (C)" <yukuai3@xxxxxxxxxx>,
Heinz Mauelshagen <heinzm@xxxxxxxxxx>
References: <20250527081407.3004055-1-yukuai1@xxxxxxxxxxxxxxx>
<190d2a22-b858-1320-cd2e-c71f057b233d@xxxxxxxxxxxxxxx>
<CALTww2-_QoC7OCVSXHy=XfYE3K9m_CQ05HKX7QqJ504qnN=0cA@xxxxxxxxxxxxxx>
Content-Language: en-US, cs
From: Zdenek Kabelac <zdenek.kabelac@xxxxxxxxx>
In-Reply-To: <CALTww2-_QoC7OCVSXHy=XfYE3K9m_CQ05HKX7QqJ504qnN=0cA@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Dne 28. 05. 25 v 3:28 Xiao Ni napsal(a):
> CC Heinz who is a dm-raid expert. But he is on holiday this week.
>
> On Tue, May 27, 2025 at 4:24â?¯PM Yu Kuai <yukuai1@xxxxxxxxxxxxxxx> wrote:
>>
>> Hi, Zdenek Kabelac
>>
>> å?¨ 2025/05/27 16:14, Yu Kuai å??é??:
>>> From: Yu Kuai <yukuai3@xxxxxxxxxx>
>>>
>>> IO with REQ_RAHEAD or REQ_NOWAIT can fail early, even if the storage medium
>>> is fine, hence record badblocks or remove the disk from array does not
>>> make sense.
>>>
>>> This problem if found by lvm2 test lvcreate-large-raid, where dm-zero
>>> will fail read ahead IO directly.
>>>
>>> Reported-and-tested-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
>>> Closes: https://lore.kernel.org/all/34fa755d-62c8-4588-8ee1-33cb1249bdf2@xxxxxxxxxx/
>>> Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
>>> ---
>>> Changes in v2:
>>> - handle REQ_NOWAIT as well.
>>>
>>> drivers/md/raid1-10.c | 10 ++++++++++
>>> drivers/md/raid1.c | 19 ++++++++++---------
>>> drivers/md/raid10.c | 11 ++++++-----
>>> 3 files changed, 26 insertions(+), 14 deletions(-)
>>>
>>
>> Just to let you know that while testing lvcreate-large-raid, the test
>> can fail sometime:
>>
>> [ 0:12.021] ## DEBUG0: 08:11:43.596775 lvcreate[8576]
>> device_mapper/ioctl/libdm-iface.c:2118 device-mapper: create ioctl on
>> LVMTEST8371vg1-LV1_rmeta_0
>> LVM-iqJjW9HItbME2d4DC2S7D58zd2omecjf0yQN83foinyxHaPoZqGEnX4rRUN7i0kH
>> failed: Device or resource busy
Hi
This issue is caused by occasional race with udev - which holds open our
internal device open while we are deactivating raid LV.
We are currently trying to resolve this issue.
Regards
Zdenek
Return-Path: <linux-kernel+bounces-665221-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4FEAC41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:28:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 111E7A2203E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:27:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 61AC5277808;
Wed, 28 May 2025 09:27:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="n+W2arJC";
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="PLgbUBee";
dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b="n+W2arJC";
dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b="PLgbUBee"
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B744275859
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:27:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424475; cv=none; b=pnAYpgGRoMg8HgIDk7laEl0yyfurZ7w/zwTlIhJSqmFgElZtXsA+LICa/kFo6NoLMi+1FVMuNB389MmZPAaLDhERZ8cWBVGaVsj+yHmidlufre7MQ1kMiUg57nXIoCZownGd1efFHGJphTW8RVYwGvEin7ly3lyABaKfPhDXcos=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424475; c=relaxed/simple;
bh=QA8Tu+x5uJNtSj2hb1PFx7cIXbvT0/ULNV68F0rxeTs=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ZIeG8rZeL1q/g6rnOi6WEQbnt7sCvPtCTa1kouLYEXlgj0yFVYNPmEGga5Z2OdzP1gkJVc3DH8Pqmsu/jBFVCoMMaEXsS69NsW/FdOoz2FjqkZeg+QiL9JfolUJQ5MBv9bkyEz1un0r6sGeHqmajWdWbehx/I6dUGEcjz4ZvwZs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de; spf=pass smtp.mailfrom=suse.de; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=n+W2arJC; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=PLgbUBee; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.b=n+W2arJC; dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de header.b=PLgbUBee; arc=none smtp.client-ip=195.135.223.130
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=suse.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.de
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by smtp-out1.suse.de (Postfix) with ESMTPS id 3959221BFC;
Wed, 28 May 2025 09:27:50 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
t=1748424470; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=B4mwwW9r0OHxt1yikCbUfXebtF5UgdxJ9FNgvzHDIfE=;
b=n+W2arJC9K4LnK8d5fiG8AWGKKHDpg2CEWV2F7309g7HyeUKZS8KPrbC70sqLPwSwr2jZu
F94CF4I9wfrIvAUic+im00Q29l49NvTK33VFQksiJuk+WfP27KHDdJ6S4RM/oqIiAOrbdE
9KMGpN56EZlNIg3Quv9Zdg4WW5/vXSk=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
s=susede2_ed25519; t=1748424470;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=B4mwwW9r0OHxt1yikCbUfXebtF5UgdxJ9FNgvzHDIfE=;
b=PLgbUBeeeE9X8XNwWP958G8cg9vwCEdd90usoWLBmPLRdkns9WWz6AyA7Mdc+WIgALZnUr
f75JSjED5VJg2YAg==
Authentication-Results: smtp-out1.suse.de;
none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
t=1748424470; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=B4mwwW9r0OHxt1yikCbUfXebtF5UgdxJ9FNgvzHDIfE=;
b=n+W2arJC9K4LnK8d5fiG8AWGKKHDpg2CEWV2F7309g7HyeUKZS8KPrbC70sqLPwSwr2jZu
F94CF4I9wfrIvAUic+im00Q29l49NvTK33VFQksiJuk+WfP27KHDdJ6S4RM/oqIiAOrbdE
9KMGpN56EZlNIg3Quv9Zdg4WW5/vXSk=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
s=susede2_ed25519; t=1748424470;
h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=B4mwwW9r0OHxt1yikCbUfXebtF5UgdxJ9FNgvzHDIfE=;
b=PLgbUBeeeE9X8XNwWP958G8cg9vwCEdd90usoWLBmPLRdkns9WWz6AyA7Mdc+WIgALZnUr
f75JSjED5VJg2YAg==
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 8073C136E3;
Wed, 28 May 2025 09:27:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
by imap1.dmz-prg2.suse.org with ESMTPSA
id BQmlHBXXNmgyawAAD6G6ig
(envelope-from <osalvador@xxxxxxx>); Wed, 28 May 2025 09:27:49 +0000
Date: Wed, 28 May 2025 11:27:46 +0200
From: Oscar Salvador <osalvador@xxxxxxx>
To: Gavin Guo <gavinguo@xxxxxxxxxx>
Cc: linux-mm@xxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, muchun.song@xxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, mike.kravetz@xxxxxxxxxx,
kernel-dev@xxxxxxxxxx, stable@xxxxxxxxxxxxxxx,
Hugh Dickins <hughd@xxxxxxxxxx>, Florent Revest <revest@xxxxxxxxxx>,
Gavin Shan <gshan@xxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>,
Peter Xu <peterx@xxxxxxxxxx>
Subject: Re: [PATCH v3] mm/hugetlb: fix a deadlock with pagecache_folio and
hugetlb_fault_mutex_table
Message-ID: <aDbXEnqnpDnAx4Mw@localhost.localdomain>
References: <20250528023326.3499204-1-gavinguo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528023326.3499204-1-gavinguo@xxxxxxxxxx>
X-Spam-Score: -4.30
X-Spamd-Result: default: False [-4.30 / 50.00];
BAYES_HAM(-3.00)[100.00%];
NEURAL_HAM_LONG(-1.00)[-1.000];
NEURAL_HAM_SHORT(-0.20)[-1.000];
MIME_GOOD(-0.10)[text/plain];
RCVD_VIA_SMTP_AUTH(0.00)[];
ARC_NA(0.00)[];
MIME_TRACE(0.00)[0:+];
MISSING_XM_UA(0.00)[];
RCPT_COUNT_TWELVE(0.00)[13];
RCVD_TLS_ALL(0.00)[];
DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
FUZZY_BLOCKED(0.00)[rspamd.com];
FROM_HAS_DN(0.00)[];
TO_DN_SOME(0.00)[];
FROM_EQ_ENVFROM(0.00)[];
TO_MATCH_ENVRCPT_ALL(0.00)[];
RCVD_COUNT_TWO(0.00)[2];
DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo]
X-Spam-Level:
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 10:33:26AM +0800, Gavin Guo wrote:
> There is ABBA dead locking scenario happening between hugetlb_fault()
> and hugetlb_wp() on the pagecache folio's lock and hugetlb global mutex,
> which is reproducible with syzkaller [1]. As below stack traces reveal,
> process-1 tries to take the hugetlb global mutex (A3), but with the
> pagecache folio's lock hold. Process-2 took the hugetlb global mutex but
> tries to take the pagecache folio's lock.
>
> Process-1 Process-2
> ========= =========
> hugetlb_fault
> mutex_lock (A1)
> filemap_lock_hugetlb_folio (B1)
> hugetlb_wp
> alloc_hugetlb_folio #error
> mutex_unlock (A2)
> hugetlb_fault
> mutex_lock (A4)
> filemap_lock_hugetlb_folio (B4)
> unmap_ref_private
> mutex_lock (A3)
>
> Fix it by releasing the pagecache folio's lock at (A2) of process-1 so
> that pagecache folio's lock is available to process-2 at (B4), to avoid
> the deadlock. In process-1, a new variable is added to track if the
> pagecache folio's lock has been released by its child function
> hugetlb_wp() to avoid double releases on the lock in hugetlb_fault().
> The similar changes are applied to hugetlb_no_page().
>
> Link: https://drive.google.com/file/d/1DVRnIW-vSayU5J1re9Ct_br3jJQU6Vpb/view?usp=drive_link [1]
> Fixes: 40549ba8f8e0 ("hugetlb: use new vma_lock for pmd sharing synchronization")
> Cc: <stable@xxxxxxxxxxxxxxx>
> Cc: Hugh Dickins <hughd@xxxxxxxxxx>
> Cc: Florent Revest <revest@xxxxxxxxxx>
> Reviewed-by: Gavin Shan <gshan@xxxxxxxxxx>
> Signed-off-by: Gavin Guo <gavinguo@xxxxxxxxxx>
...
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 6a3cf7935c14..560b9b35262a 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -6137,7 +6137,8 @@ static void unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
> * Keep the pte_same checks anyway to make transition from the mutex easier.
> */
> static vm_fault_t hugetlb_wp(struct folio *pagecache_folio,
> - struct vm_fault *vmf)
> + struct vm_fault *vmf,
> + bool *pagecache_folio_locked)
> {
> struct vm_area_struct *vma = vmf->vma;
> struct mm_struct *mm = vma->vm_mm;
> @@ -6234,6 +6235,18 @@ static vm_fault_t hugetlb_wp(struct folio *pagecache_folio,
> u32 hash;
>
> folio_put(old_folio);
> + /*
> + * The pagecache_folio has to be unlocked to avoid
> + * deadlock and we won't re-lock it in hugetlb_wp(). The
> + * pagecache_folio could be truncated after being
> + * unlocked. So its state should not be reliable
> + * subsequently.
> + */
> + if (pagecache_folio) {
> + folio_unlock(pagecache_folio);
> + if (pagecache_folio_locked)
> + *pagecache_folio_locked = false;
> + }
I am having a problem with this patch as I think it keeps carrying on an
assumption that it is not true.
I was discussing this matter yesterday with Peter Xu (CCed now), who has also some
experience in this field.
Exactly against what pagecache_folio's lock protects us when
pagecache_folio != old_folio?
There are two cases here:
1) pagecache_folio = old_folio (original page in the pagecache)
2) pagecache_folio != old_folio (original page has already been mapped
privately and CoWed, old_folio contains
the new folio)
For case 1), we need to hold the lock because we are copying old_folio
to the new one in hugetlb_wp(). That is clear.
But for case 2), unless I am missing something, we do not really need the
pagecache_folio's lock at all, do we? (only old_folio's one)
The only reason pagecache_folio gets looked up in the pagecache is to check
whether the current task has mapped and faulted in the file privately, which
means that a reservation has been consumed (a new folio was allocated).
That is what the whole dance about "old_folio != pagecache_folio &&
HPAGE_RESV_OWNER" in hugetlb_wp() is about.
And the original mapping cannot really go away either from under us, as
remove_inode_hugepages() needs to take the mutex in order to evict it,
which would be the only reason counters like resv_huge_pages (adjusted in
remove_inode_hugepages()->hugetlb_unreserve_pages()) would
interfere with alloc_hugetlb_folio() from hugetlb_wp().
So, again, unless I am missing something there is no need for the
pagecache_folio lock when pagecache_folio != old_folio, let alone the
need to hold it throughout hugetlb_wp().
I think we could just look up the cache, and unlock it right away.
So, the current situation (previous to this patch) is already misleading
for case 2).
And comments like:
/*
* The pagecache_folio has to be unlocked to avoid
* deadlock and we won't re-lock it in hugetlb_wp(). The
* pagecache_folio could be truncated after being
* unlocked. So its state should not be reliable
* subsequently.
*/
Keep carrying on the assumption that we need the lock.
Now, if the above is true, I would much rather see this reworked (I have
some ideas I discussed with Peter yesterday), than keep it as is.
Let me also CC David who tends to have a good overview in this.
--
Oscar Salvador
SUSE Labs
Return-Path: <linux-kernel+bounces-665222-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E2FC841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:29:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 14A694E1439
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:29:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E1927277807;
Wed, 28 May 2025 09:29:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="YFc33oKl"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76A401C3F36
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:29:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424542; cv=none; b=IkfssVRkEXKRQxW+2Fq9bdVWUvfEnRHhbd4RzIt+5FKSF9guw7Q80vsUU/pP4w0t1gVtcbbQGNS/SNX0lQFAd/z/hnMX1NMvsU0+28UcNMtF4kuyYxvHx7H+Btyqu1SQyx6AJD06efakRZmXifhj+DiD+Ci5tZQXSNEsNh9ylvc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424542; c=relaxed/simple;
bh=RVRBM0RuYVyvhcotX52kpZx1R8EMcidpMsxxq8Rgg5k=;
h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:
MIME-Version:Content-Type; b=E+5qjf9BlxTZH4aCOpntvxhfh95QJcy0pbZE10VidhrFjGbng6uzrcu9i78cJ8Gr2t0vrAEEPr236NZZeRh8YDvbIw1AXHCyG+6/GqyXtYCN+6PiFn1W5Am9WaerRwKOe5VMX6VVvgfGp27DdSoMKW5+mn2JE0E5GFMG5tZV5MM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=YFc33oKl; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748424539;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=RVRBM0RuYVyvhcotX52kpZx1R8EMcidpMsxxq8Rgg5k=;
b=YFc33oKl38kF6sNf2bfN3WbAT3OSGsJwv+aGJhNQvpyQdgI6R4lF1xhCUr46qc2WAEEPsL
GyS43gQ6y7UJxmPiqK3sSFP3vdqE+Dk6UYfUhbQ2QMadC4E25tDB8CVB3eXN3xMighO2y1
bkjEXhbUJ9gmK8izShEAyM6NO3uIyTs=
Received: from mail-lf1-f71.google.com (mail-lf1-f71.google.com
[209.85.167.71]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-661-Gigd-kiJOL-5khYoIc7zcQ-1; Wed, 28 May 2025 05:28:58 -0400
X-MC-Unique: Gigd-kiJOL-5khYoIc7zcQ-1
X-Mimecast-MFC-AGG-ID: Gigd-kiJOL-5khYoIc7zcQ_1748424537
Received: by mail-lf1-f71.google.com with SMTP id 2adb3069b0e04-5531fe7f143so1903377e87.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:28:58 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424536; x=1749029336;
h=content-transfer-encoding:mime-version:message-id:date:references
:in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=RVRBM0RuYVyvhcotX52kpZx1R8EMcidpMsxxq8Rgg5k=;
b=AZpAiZLIF1yhiQyIF/QsRjA3CSq5lQGYnBxpJSu3IRNd2mXr0nsMNrlL+HYkqx7Q4N
vFE5sGZu6wLJlMucnbYfm/72xH0rTRZSjPc/pyKKkhNLAdAioYu5MTmP+R9vE59SXCgI
aXwjzzlynaP5znB5QXhLgIeZe0ckoo0ShX6OcJNmTZl2eJQDKIZYcvkvVHv/78RoTh9B
YNNXv+BeqZLKm9DyUGKoaQJJCYb/YGw9uxXKG7xsGBIdI8yPjV4ZZRNRdkZz410SSwQk
I3sIpxe+jj8VOD1l3ddTtLRrt9oEbP5uinDdleTbSgLMiLN2P+2Tho2ZtUheLWtLy3jt
9Uog==
X-Forwarded-Encrypted: i=1; AJvYcCVc7gIRWAbq8z2xnxhC3QFVSMAi2fa4tjlkZwUxh0kgG/URuD27LCwt48BLQcRY8Z/J6GW3J6eRqKLfxt4=@vger.kernel.org
X-Gm-Message-State: AOJu0Yyl0SJpaUVlIEUDs2CEVfDnSBQa6Y+oHYkMz2x517oUNJEMbIvW
g4Gge3leK7QzdYhyxRR6Uix6aKNdFHwqh+FdjlqLV68JazkTYDBjXCIgOov+jKGhajKTpAWRuQv
LL7jxjaehZAbgoBWp2Xp+EuYPCzjrxUIp6ur4DuM/2ybbz+I12CwwvLERNvf/d+xLNldh6zNn2K
fU
X-Gm-Gg: ASbGncvKrEWOqaIepC0pYzt+vwj7hkagR7iLevjTs5+igvakqwzmGI8LL8BKtUthWgF
6FMLjn13p5O4nU91auAgRTYEVljyrdrGeFcY8ejjHNuLdz9vrd2sgGhp1GGNsN5qx19staIBCqP
7SubOgAsWnB/123EsaRV8DKVnX+8ijkKMxCH0wCamT/zlycptYplGjZchiDrVw6PNUSKM3JeT4+
MyH6ilY9zU3cbwAxoF8ykqsTsxkK9dB5drb6/T4aSRBzd3uQ5pOALx6kpRiieTPI/rJI0LeND9g
7QRTapkW
X-Received: by 2002:a05:6512:3b24:b0:553:2ca4:39e2 with SMTP id 2adb3069b0e04-5532ca43ae5mr1082645e87.52.1748424536325;
Wed, 28 May 2025 02:28:56 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IERtNwL1FkFyF5XJrwQ/6eIIimnsdoqLDXrIrCZO1fju6zFy9XmVXSsHiIUEFU+SKOJJmRqCA==
X-Received: by 2002:a05:6512:3b24:b0:553:2ca4:39e2 with SMTP id 2adb3069b0e04-5532ca43ae5mr1082627e87.52.1748424535858;
Wed, 28 May 2025 02:28:55 -0700 (PDT)
Received: from alrua-x1.borgediget.toke.dk ([2a0c:4d80:42:443::2])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5532f6b3f0esm199717e87.221.2025.05.28.02.28.54
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:28:55 -0700 (PDT)
Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000)
id 358001AA8877; Wed, 28 May 2025 11:28:54 +0200 (CEST)
From: Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= <toke@xxxxxxxxxx>
To: Mina Almasry <almasrymina@xxxxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, Jesper Dangaard Brouer <hawk@xxxxxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet
<edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni
<pabeni@xxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxx>, Shuah Khan
<shuah@xxxxxxxxxx>, Ilias Apalodimas <ilias.apalodimas@xxxxxxxxxx>,
Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Subject: Re: [PATCH RFC net-next v2] page_pool: import Jesper's page_pool
benchmark
In-Reply-To: <CAHS8izOSW8dZpqgKT=ZxqpctVE3Y9AyR8qXyBGvdW0E8KFgonA@xxxxxxxxxxxxxx>
References: <20250525034354.258247-1-almasrymina@xxxxxxxxxx>
<87iklna61r.fsf@xxxxxxx>
<CAHS8izOSW8dZpqgKT=ZxqpctVE3Y9AyR8qXyBGvdW0E8KFgonA@xxxxxxxxxxxxxx>
X-Clacks-Overhead: GNU Terry Pratchett
Date: Wed, 28 May 2025 11:28:54 +0200
Message-ID: <87h615m6cp.fsf@xxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Mina Almasry <almasrymina@xxxxxxxxxx> writes:
> On Mon, May 26, 2025 at 5:51=E2=80=AFAM Toke H=C3=B8iland-J=C3=B8rgensen =
<toke@xxxxxxxxxx> wrote:
>> > Fast path results:
>> > no-softirq-page_pool01 Per elem: 11 cycles(tsc) 4.368 ns
>> >
>> > ptr_ring results:
>> > no-softirq-page_pool02 Per elem: 527 cycles(tsc) 195.187 ns
>> >
>> > slow path results:
>> > no-softirq-page_pool03 Per elem: 549 cycles(tsc) 203.466 ns
>> > ```
>> >
>> > Cc: Jesper Dangaard Brouer <hawk@xxxxxxxxxx>
>> > Cc: Ilias Apalodimas <ilias.apalodimas@xxxxxxxxxx>
>> > Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
>> > Cc: Toke H=C3=B8iland-J=C3=B8rgensen <toke@xxxxxxx>
>> >
>> > Signed-off-by: Mina Almasry <almasrymina@xxxxxxxxxx>
>>
>> Back when you posted the first RFC, Jesper and I chatted about ways to
>> avoid the ugly "load module and read the output from dmesg" interface to
>> the test.
>>
>
> I agree the existing interface is ugly.
>
>> One idea we came up with was to make the module include only the "inner"
>> functions for the benchmark, and expose those to BPF as kfuncs. Then the
>> test runner can be a BPF program that runs the tests, collects the data
>> and passes it to userspace via maps or a ringbuffer or something. That's
>> a nicer and more customisable interface than the printk output. And if
>> they're small enough, maybe we could even include the functions into the
>> page_pool code itself, instead of in a separate benchmark module?
>>
>> WDYT of that idea? :)
>
> ...but this sounds like an enormous amount of effort, for something
> that is a bit ugly but isn't THAT bad. Especially for me, I'm not that
> much of an expert that I know how to implement what you're referring
> to off the top of my head. I normally am open to spending time but
> this is not that high on my todolist and I have limited bandwidth to
> resolve this :(
>
> I also feel that this is something that could be improved post merge.
> I think it's very beneficial to have this merged in some form that can
> be improved later. Byungchul is making a lot of changes to these mm
> things and it would be nice to have an easy way to run the benchmark
> in tree and maybe even get automated results from nipa. If we could
> agree on mvp that is appropriate to merge without too much scope creep
> that would be ideal from my side at least.
Right, fair. I guess we can merge it as-is, and then investigate whether
we can move it to BPF-based (or maybe 'perf bench' - Cc acme) later :)
-Toke
Return-Path: <linux-kernel+bounces-665223-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BEB4E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:29:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CA8E61BC59AC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:30:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 68CBE277815;
Wed, 28 May 2025 09:29:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="X92BVYze"
Received: from mail-m32100.qiye.163.com (mail-m32100.qiye.163.com [220.197.32.100])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F2151C3F36;
Wed, 28 May 2025 09:29:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.32.100
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424589; cv=none; b=q2DMjPpysX2ygLcp5mehR44nMh0ZUiipKpr1A2/iBL8js7OiD20T0X94bkQl9MLYKbzcTOQs+4OYtXVXu0bNzmjschAR13K56+pUIpWfK9nDj8wnKq3yF007GkYCfSamONPU385SupG41Qdy8sAeTtyiVxn8yGwSapxphNwxdBU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424589; c=relaxed/simple;
bh=yWhuVxMPiOKdsI/vKCGMniZKg4uK/kBT2UHZ49fzVi4=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=pZA1R/9rTKaoTPWsKZng3nSD24zuVd7I2CGhUjccc6RfY7dMWv62QYTlF7or02LdH9I7hEYj23l0X3ONN3dQTkaENKoAwpKXPF0VWq3k2ySwpGg4j6fQ5yVDakUD99sKCaZDM30D7xR2fnoeL4yQkUf7T87dt8Pt9HbCp2zFmOI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=X92BVYze; arc=none smtp.client-ip=220.197.32.100
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b13e7e0;
Wed, 28 May 2025 16:54:07 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>,
Catalin Marinas <catalin.marinas@xxxxxxx>,
Will Deacon <will@xxxxxxxxxx>,
Ulf Hansson <ulf.hansson@xxxxxxxxxx>,
Adrian Hunter <adrian.hunter@xxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Heiko Stuebner <heiko@xxxxxxxxx>,
=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Junhao Xie <bigfoot@xxxxxxxxxxx>,
Kever Yang <kever.yang@xxxxxxxxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
linux-mmc@xxxxxxxxxxxxxxx,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
Victor Shih <victor.shih@xxxxxxxxxxxxxxxxxxx>,
Shan-Chun Hung <shanchun1218@xxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Peter Robinson <pbrobinson@xxxxxxxxx>,
Ben Chuang <ben.chuang@xxxxxxxxxxxxxxxxxxx>,
soc@xxxxxxxxxxxxxxx,
Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxxxx>,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>,
Dmitry Baryshkov <lumag@xxxxxxxxxx>,
Vignesh Raghavendra <vigneshr@xxxxxx>,
=?UTF-8?q?N=C3=ADcolas=20F=20=2E=20R=20=2E=20A=20=2E=20Prado?= <nfraprado@xxxxxxxxxxxxx>,
Taniya Das <quic_tdas@xxxxxxxxxxx>,
Eric Biggers <ebiggers@xxxxxxxxxx>,
Ross Burton <ross.burton@xxxxxxx>,
Elinor Montmasson <elinor.montmasson@xxxxxxxxxxxxxxxxxxxx>,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
Subject: [PATCH v1 0/9] arm64: Introduce Black Sesame Technologies C1200 SoC and CDCU1.0 board
Date: Wed, 28 May 2025 16:54:03 +0800
Message-Id: <20250528085403.481055-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVlDQ0gdVk1KGRhIGksfTUlNS1YVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSEpOTE5VSk
tLVUpCS0tZBg++
X-HM-Tid: 0a971619533c09cckunm56b16e873977ff
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6PxA6PQw4QzExLkg8UQ4POg8#
MhUaCTxVSlVKTE9DT0lJT05LS0JNVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQU1LTU83Bg++
DKIM-Signature:a=rsa-sha256;
b=X92BVYze+FDykM3ZBObdOjojJQdlAV/2cTwFjvMT6/Xgl+LBFpnnRmsVeWD2scpXayORmz8+50gqzdjr1gNbbReYh/8o5rT662nj8gQ6IDydF+kW+TT58ZO0myp6ezLKEn5ZS4CyzQ8goN/RWjGTyxBPofsBe9CPgz/ExxoIK60=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=aq3WV+O2bYKN04nPLa/IM/y7JcSQg3FEsNEEzJZKpcs=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Black Sesame Technologies C1200 is a high-performance Armv8 SoC designed for automotive
and industrial applications. The CDCU1.0 (Central Domain Control Unit) board is the
development platform built by Black Sesame Technologies. You can find more information
about the SoC and related boards at:
https://bst.ai
Currently, to run the upstream kernel on the CDCU1.0 board, you need to use the
bootloader provided by Black Sesame Technologies. The board supports various
interfaces including MMC/SD card, which is implemented using the BST C1200 DWCMSHC
SDHCI controller.
In this series, we add initial SoC and board support for kernel building. The series
includes:
Patch 1: Add Black Sesame Technologies vendor prefix in vendor-prefixes.yaml
- Adds "bst" vendor prefix for Black Sesame Technologies Co., Ltd.
- Required for device tree bindings to properly identify BST hardware
Patch 2: Add device tree bindings for BST SoC platforms
- Creates new binding file Documentation/devicetree/bindings/arm/bst.yaml
- Defines compatible strings for BST C1200 family and C1200 CDCU1.0 board
- Documents BST's focus on automotive-grade SoCs for ADAS applications
Patch 3: Add ARCH_BST configuration for BST silicon support
- Adds Kconfig option for BST architecture support
- Enables building kernel for BST platforms
Patch 4: Add device tree binding for BST DWCMSHC SDHCI controller
- Documents the BST C1200 SDHCI controller binding
- Required for MMC/SD card support on BST platforms
Patch 5: Add BST C1200 SDHCI controller driver
- Implements the MMC host controller driver for BST C1200
- Enables SD card support on BST platforms
Patch 6: Add device tree support for BST C1200 CDCU1.0 board
- Adds device tree source files for C1200 SoC and CDCU1.0 board
- Configures hardware components including MMC controller
Patch 7: Enable BST SoC in arm64 defconfig
- Adds ARCH_BST configuration to default arm64 config
Patch 8: Enable BST C1200 DWCMSHC controller in defconfig
- Enables MMC controller driver in default arm64 config
Patch 9: Update MAINTAINERS for BST support
- Adds maintainer information for BST ARM SoC support
- Consolidates BST-related entries
Albert Yang (9):
dt-bindings: vendor-prefixes: Add Black Sesame Technologies Co., Ltd.
dt-bindings: arm: add Black Sesame Technologies (bst) SoC
arm64: Kconfig: add ARCH_BST for bst silicons
dt-bindings: mmc: add binding for BST DWCMSHC SDHCI controller
mmc: sdhci: add Black Sesame Technologies BST C1200 controller driver
arm64: dts: bst: add support for Black Sesame Technologies C1200
CDCU1.0 board
arm64: defconfig: Enable BST SoC
arm64: defconfig: enable BST C1200 DWCMSHC SDHCI controller
MAINTAINERS: add and consolidate Black Sesame Technologies (BST) ARM
SoC support
.../devicetree/bindings/arm/bst.yaml | 34 +
.../bindings/mmc/bst,dwcmshc-sdhci.yaml | 115 +++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 10 +
arch/arm64/Kconfig.platforms | 19 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/bst/Makefile | 10 +
.../dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts | 44 +
arch/arm64/boot/dts/bst/bstc1200.dtsi | 130 +++
arch/arm64/configs/defconfig | 3 +
drivers/mmc/host/Kconfig | 11 +
drivers/mmc/host/Makefile | 1 +
drivers/mmc/host/sdhci-of-bst-c1200.c | 920 ++++++++++++++++++
13 files changed, 1300 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/bst.yaml
create mode 100644 Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml
create mode 100644 arch/arm64/boot/dts/bst/Makefile
create mode 100644 arch/arm64/boot/dts/bst/bstc1200-cdcu1.0-adas_4c2g.dts
create mode 100644 arch/arm64/boot/dts/bst/bstc1200.dtsi
create mode 100644 drivers/mmc/host/sdhci-of-bst-c1200.c
--
2.25.1
Return-Path: <linux-kernel+bounces-665224-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3ED6F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:30:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 02F714E3B5B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:30:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 717B62777F3;
Wed, 28 May 2025 09:30:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="COYg7XrY"
Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6004B1C3F36;
Wed, 28 May 2025 09:29:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424601; cv=none; b=RqJAIOHtN3OZY34jlYab5u38ZpyJg2OCSRNOJozKxnk2/dvNv399HuJKfNfAzqiIinKvGIyaQsIyy0goJ0H2UyY2G47bjm4+15apDWY1GGkxZHLp93189ixILnHQRnKKSwHWrq2c+mMqF/vgTw7rYj5j+rYfo2+jtDHP3P6XO0g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424601; c=relaxed/simple;
bh=j00G/dwW97kfCExu0r+usuJ50t2BSRgmX+trGWNWHTk=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=llIPy45L8WXBKNIiMvpPZoP6f29XsB6vAIWvhyJnQOUEHPfvvA8b1Fj9Gcvve/mcGzWdYAcOISpR6KUFubFxSUVLxsLDz0GAa5RlEWnEFkLi/77iYkEpSILVtmLvmD2/GHj4HjYX2h1g5pZR4Nrsixs42wrMFOs1MFLDg4XlN4Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=COYg7XrY; arc=none smtp.client-ip=217.70.183.201
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com
Received: by mail.gandi.net (Postfix) with ESMTPSA id BB4C44341E;
Wed, 28 May 2025 09:29:44 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1;
t=1748424590;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding;
bh=tcp+3qiZKrZ/yFS9++J4sy6UEvxx9WuKX4FnkxkfHz0=;
b=COYg7XrYSHalG4owcEpWOBAsjunxlDmdWc1VFAql1a5dnt3Eq4iRRkHe8TdRFLaIUq/lE3
BTjSw2u8n6EW5pI60SAdQE4OEAU2xDNFEYZ/ZXVOZQaEq/evnqR4GQQoLp+stts5l4Xzyh
9NxJ5SJLHMAM26XYxsE1dojYL0J8BIYSQmtkEzJac/3nCK8CkQ9z38zM4bvUqdq7jeKKPF
L+WvN5GVjQ+BsVjsVYFYgX2Buqlxrda9UW8piAoXYcs47WqLi42eXnFG3tT+UbeakSLn8t
pUSmxs5n/Rvf//Npg+HsS3oq5Cw33wds1WdawIaZGSjII/9sfUTORa7Zu0NSYw==
From: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
Date: Wed, 28 May 2025 11:29:36 +0200
Subject: [PATCH v4] drm/bridge: tc358767: convert to
devm_drm_bridge_alloc() API
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Message-Id: <20250528-drm-bridge-convert-to-alloc-api-v4-1-f04e698c9a77@xxxxxxxxxxx>
X-B4-Tracking: v=1; b=H4sIAH/XNmgC/4WNywrCMBBFf6Vk7UgSY7Wu/A/pos3DDrSZkoSgl
Py7seDa5bkXztlYtAFtZLdmY8FmjEi+gjo0TE+Df1pAU5lJLs9ccQUmLDAGNPXR5LMNCRLBMM+
kYVgRWqFGq10rZadYtazBOnzthUdfecKYKLz3YBbf9ee+/HVnARyUFOLk3NV0mt9HojSjP2paW
F9K+QA4RBdR0AAAAA==
X-Change-ID: 20250404-drm-bridge-convert-to-alloc-api-614becf62294
To: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Andrzej Hajda <andrzej.hajda@xxxxxxxxx>,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>, Robert Foss <rfoss@xxxxxxxxxx>,
Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>,
Jonas Karlman <jonas@xxxxxxxxx>, Jernej Skrabec <jernej.skrabec@xxxxxxxxx>,
Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>,
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>,
Douglas Anderson <dianders@xxxxxxxxxxxx>,
Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Cc: Anusha Srivatsa <asrivats@xxxxxxxxxx>,
Paul Kocialkowski <paulk@xxxxxxxxxxx>, Dmitry Baryshkov <lumag@xxxxxxxxxx>,
Hui Pu <Hui.Pu@xxxxxxxxxxxxxxxx>,
Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx>,
dri-devel@xxxxxxxxxxxxxxxxxxxxx, asahi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, chrome-platform@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-amlogic@xxxxxxxxxxxxxxxxxxx,
linux-renesas-soc@xxxxxxxxxxxxxxx, platform-driver-x86@xxxxxxxxxxxxxxx,
linux-samsung-soc@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
freedreno@xxxxxxxxxxxxxxxxxxxxx, linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-GND-State: clean
X-GND-Score: -100
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdeludculddtuddrgeefvddrtddtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkffvvefosehtkeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepfeeitedtfeefjeeijeejveevleeijefgkefhjeeuffelveelieetleduveetieetnecuffhomhgrihhnpehfrhgvvgguvghskhhtohhprdhorhhgpdhkvghrnhgvlhdrohhrghenucfkphepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepfeelpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehkvghrnhgvlhesphgvnhhguhhtrhhonhhigidru
ggvpdhrtghpthhtoheplhhinhhugidqrghrmhdqmhhsmhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehjrghgrghnsegrmhgrrhhulhgrshholhhuthhiohhnshdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtohepphgruhhlkhesshihshdqsggrshgvrdhiohdprhgtphhtthhopefnrghurhgvnhhtrdhpihhntghhrghrthesihguvggrshhonhgsohgrrhgurdgtohhm
X-GND-Sasl: luca.ceresoli@xxxxxxxxxxx
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This is the new API for allocating DRM bridges.
Converting this driver is a bit complex because the drm_bridge funcs
pointer differs based on the bridge mode. So the current code does:
* tc_probe()
* devm_kzalloc() private struct embedding drm_bridge
* call tc_probe_bridge_endpoint() which
* parses DT description into struct fields
* computes the mode
* calls different bridge init functions based on the mode
* each sets a different bridge.funcs pointer
The new API expects the funcs pointer to be known at alloc time, which does
not fit in the current code structure.
Solve this by splitting tc_probe_bridge_endpoint() in two functions:
* tc_probe_get_mode(), computing the mode without needing the private
driver structure
* tc_probe_bridge_endpoint(), only initializing the endpoints
So now the mode is known before allocation and so
is the funcs pointer, while all other operations are still happening after
allocation, directly into the private struct data, as they used to.
The new code flow is:
* tc_probe()
* tc_probe_get_mode()
* parses DT description
* computes and returns the mode
* based onf the mode, pick the funcs pointer
* devm_drm_bridfge_alloc(..., funcs)
* call tc_probe_bridge_endpoint() which
* calls different bridge init functions based on the mode
* these don't set the funcs pointer, it was done by _alloc
This solution is chosen to minimize the changes in the driver logical code
flow. The drawback is we now iterate twice over the endpoints during probe.
Signed-off-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
---
devm_drm_bridge_alloc() [0] is the new API to allocate and initialize a DRM
bridge, and the only one supported from now on. It is the first milestone
towards removal of bridges from a still existing DRM pipeline without
use-after-free.
The steps in the grand plan [1] are:
1. â?? add refcounting to DRM bridges (struct drm_bridge)
2. handle gracefully atomic updates during bridge removal
3. avoid DSI host drivers to have dangling pointers to DSI devices
4. finish the hotplug bridge work, removing the "always-disconnected"
connector, moving code to the core and potentially removing the
hotplug-bridge itself (this needs to be clarified as points 1-3 are
developed)
This series is part of step 1 of the grand plan.
Current tasks in step 1 of the grand plan:
A. â?? add new alloc API and refcounting -> (now in drm-misc-next)
B. â?? convert all bridge drivers to new API (this series)
C. â?¦ documentation, kunit tests (v1 under discussion)
D. after (B), add get/put to drm_bridge_add/remove() + attach/detech()
E. after (B), convert accessors; this is a large work and can be done
in chunks
F. debugfs improvements
More info about this series in the v2 cover [2].
Luca
[0] https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/0cc6aadd7fc1e629b715ea3d1ba537ef2da95eec
[1] https://lore.kernel.org/lkml/20250206-hotplug-drm-bridge-v6-0-9d6f2c9c3058@xxxxxxxxxxx/t/#u
[2] https://lore.kernel.org/lkml/20250424-drm-bridge-convert-to-alloc-api-v2-0-8f91a404d86b@xxxxxxxxxxx/
---
Changes in v4:
- Removed patches already in drm-misc-next -> only 1 left
- Improve commit message of patch 1
- Link to v3: https://lore.kernel.org/all/20250509-drm-bridge-convert-to-alloc-api-v3-0-b8bc1f16d7aa@xxxxxxxxxxx/
Changes in v3:
- Fixed issues reported for some patches
- Added review tags
- Removed patches that have been applied
- Added revert for the exynos patch, applied by mistake
- Update cover with grand plan info and trim some of it
- Updated bouncing e-mail address in Cc list
- Link to v2: https://lore.kernel.org/lkml/20250424-drm-bridge-convert-to-alloc-api-v2-0-8f91a404d86b@xxxxxxxxxxx/
Changes in v2:
- Improved cover letter with link to commit adding devm_drm_bridge_alloc()
- add review tags
- fix bugs in zynqmp, vc4 patches
- fix patch 1 error code checking
- Link to v1: https://lore.kernel.org/r/20250407-drm-bridge-convert-to-alloc-api-v1-0-42113ff8d9c0@xxxxxxxxxxx
---
changes in v4:
- improved commit message
---
drivers/gpu/drm/bridge/tc358767.c | 56 ++++++++++++++++++++++++++++-----------
1 file changed, 40 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
index 7e5449fb86a3fcdae8255bc490d12c543ef3f8ae..61559467e2d22b4b1b4223c97766ca3bf58908fd 100644
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@ -344,6 +344,14 @@
#define COLOR_BAR_MODE_BARS 2
#define PLL_DBG 0x0a04
+enum tc_mode {
+ mode_dpi_to_edp = BIT(1) | BIT(2),
+ mode_dpi_to_dp = BIT(1),
+ mode_dsi_to_edp = BIT(0) | BIT(2),
+ mode_dsi_to_dp = BIT(0),
+ mode_dsi_to_dpi = BIT(0) | BIT(1),
+};
+
static bool tc_test_pattern;
module_param_named(test, tc_test_pattern, bool, 0644);
@@ -2327,7 +2335,6 @@ static int tc_probe_dpi_bridge_endpoint(struct tc_data *tc)
if (bridge) {
tc->panel_bridge = bridge;
tc->bridge.type = DRM_MODE_CONNECTOR_DPI;
- tc->bridge.funcs = &tc_dpi_bridge_funcs;
return 0;
}
@@ -2360,7 +2367,6 @@ static int tc_probe_edp_bridge_endpoint(struct tc_data *tc)
tc->bridge.type = DRM_MODE_CONNECTOR_DisplayPort;
}
- tc->bridge.funcs = &tc_edp_bridge_funcs;
if (tc->hpd_pin >= 0)
tc->bridge.ops |= DRM_BRIDGE_OP_DETECT;
tc->bridge.ops |= DRM_BRIDGE_OP_EDID;
@@ -2368,17 +2374,11 @@ static int tc_probe_edp_bridge_endpoint(struct tc_data *tc)
return 0;
}
-static int tc_probe_bridge_endpoint(struct tc_data *tc)
+static enum tc_mode tc_probe_get_mode(struct device *dev)
{
- struct device *dev = tc->dev;
struct of_endpoint endpoint;
struct device_node *node = NULL;
- const u8 mode_dpi_to_edp = BIT(1) | BIT(2);
- const u8 mode_dpi_to_dp = BIT(1);
- const u8 mode_dsi_to_edp = BIT(0) | BIT(2);
- const u8 mode_dsi_to_dp = BIT(0);
- const u8 mode_dsi_to_dpi = BIT(0) | BIT(1);
- u8 mode = 0;
+ enum tc_mode mode = 0;
/*
* Determine bridge configuration.
@@ -2401,7 +2401,27 @@ static int tc_probe_bridge_endpoint(struct tc_data *tc)
return -EINVAL;
}
mode |= BIT(endpoint.port);
+ }
+
+ if (mode != mode_dpi_to_edp &&
+ mode != mode_dpi_to_dp &&
+ mode != mode_dsi_to_dpi &&
+ mode != mode_dsi_to_edp &&
+ mode != mode_dsi_to_dp) {
+ dev_warn(dev, "Invalid mode (0x%x) is not supported!\n", mode);
+ return -EINVAL;
+ }
+
+ return mode;
+}
+static int tc_probe_bridge_endpoint(struct tc_data *tc, enum tc_mode mode)
+{
+ struct device *dev = tc->dev;
+ struct of_endpoint endpoint;
+ struct device_node *node = NULL;
+
+ for_each_endpoint_of_node(dev->of_node, node) {
if (endpoint.port == 2) {
of_property_read_u8_array(node, "toshiba,pre-emphasis",
tc->pre_emphasis,
@@ -2427,24 +2447,28 @@ static int tc_probe_bridge_endpoint(struct tc_data *tc)
return tc_probe_edp_bridge_endpoint(tc);
}
- dev_warn(dev, "Invalid mode (0x%x) is not supported!\n", mode);
-
+ /* Should never happen, mode was validated by tc_probe_get_mode() */
return -EINVAL;
}
static int tc_probe(struct i2c_client *client)
{
struct device *dev = &client->dev;
+ const struct drm_bridge_funcs *funcs;
struct tc_data *tc;
+ int mode;
int ret;
- tc = devm_kzalloc(dev, sizeof(*tc), GFP_KERNEL);
- if (!tc)
- return -ENOMEM;
+ mode = tc_probe_get_mode(dev);
+ funcs = (mode == mode_dsi_to_dpi) ? &tc_dpi_bridge_funcs : &tc_edp_bridge_funcs;
+
+ tc = devm_drm_bridge_alloc(dev, struct tc_data, bridge, funcs);
+ if (IS_ERR(tc))
+ return PTR_ERR(tc);
tc->dev = dev;
- ret = tc_probe_bridge_endpoint(tc);
+ ret = tc_probe_bridge_endpoint(tc, mode);
if (ret)
return ret;
---
base-commit: 18fb864d3afccf7ecdf13d0435464465d31ccf1d
change-id: 20250404-drm-bridge-convert-to-alloc-api-614becf62294
Best regards,
--
Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665225-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9835441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:31:36 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CD6911BC5B3D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:31:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A7F331D7E5C;
Wed, 28 May 2025 09:31:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="F28DdG0r"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4165B15D1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:31:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.17
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424690; cv=none; b=pdaiCyfM+JRmjqGQvHjmVWv5feopIsdJpylZv1W5RyrEW6r3PZuFNvgYjU6BnCJh26+kJn1Sr2J+88otLGYa8guVFJkj8Q/hyE/L0e9btni5MDMLm1UrRxwr9FIM2Ava0lV2CDuJ0ll1a5l8HfoInDA1q/TYpczlWylV/8/7niQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424690; c=relaxed/simple;
bh=3gqXNmfgBpy7vgpHSrbi6sQ1P2dp5ocMzaW85aq70PU=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ayw9f7wA3oxK+HaHbUKpu3J7v+6NbPC+QDZtAUc7LbtTwKotRDfo8k/kEqYuslOETLFPIZlJpGxGrCvtv7x2VZhTDXFiLx7PvdIMebmD5AgNO0m5nqXCWtK32hLTWH1rdB2stpR4x5GAFva4xIaafCWICPXqfq1C5M/ZlasGJ8w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=F28DdG0r; arc=none smtp.client-ip=198.175.65.17
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748424689; x=1779960689;
h=date:from:to:cc:subject:message-id:references:
mime-version:content-transfer-encoding:in-reply-to;
bh=3gqXNmfgBpy7vgpHSrbi6sQ1P2dp5ocMzaW85aq70PU=;
b=F28DdG0rd9rr4qGnnUlf3rqNDOr8fUKs2/zrzLl7lwVsVsH7W/A7xKe5
ypA9zHClFYoYEZWP1hxZDhHgPQ5XY7XoUZhHL9sCLBL/ue1NOkKqhofyF
6w3O1lJM29lqEVgLPSnt7Tke4joLzEeu+dUQImYuXn45+mkRBHg6lrg79
WUmvQntrl4xRU/GxdmeC3MFWvLRotlD9pIMm0xnTTk+NvxuDKKZ7EroB2
lfCXZ931uJC3D9ZvoVci2u5rEtZ5+YwoEc+4/285jpreZkC0PB1Ho/hAr
HKEfR6UrOkBEBcDUNLtqN56ZFDgqQV0bErsScKTpBUlkpZrpV9BIgNkai
Q==;
X-CSE-ConnectionGUID: SJnjkPslTVax2tWXoh1jwA==
X-CSE-MsgGUID: 5lNWTMwdSIu2TezK9Ry1ng==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="50437449"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="50437449"
Received: from fmviesa001.fm.intel.com ([10.60.135.141])
by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:31:28 -0700
X-CSE-ConnectionGUID: ck+Bq/amQYmaXnjlUzPETQ==
X-CSE-MsgGUID: DSk/tjlVTEeJIAgfo9VRtg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="174077191"
Received: from smile.fi.intel.com ([10.237.72.52])
by fmviesa001.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:31:26 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uKD87-00000001PBP-0Ylo;
Wed, 28 May 2025 12:31:23 +0300
Date: Wed, 28 May 2025 12:31:22 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Pei Xiao <xiaopei01@xxxxxxxxxx>
Cc: gregkh@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
rafael@xxxxxxxxxx, dakr@xxxxxxxxxx, bartosz.golaszewski@xxxxxxxxxx
Subject: Re: [PATCH] devres: Move remaining devm_alloc_percpu and
devm_device_add_group to devres.h
Message-ID: <aDbX6natYH6Pu2ED@xxxxxxxxxxxxxxxxxx>
References: <5ac1e2a127c9df7233ca8ba0696ebb08960d0fc3.1747903894.git.xiaopei01@xxxxxxxxxx>
<aC8en60QI0MwnXxM@xxxxxxxxxxxxxxxxxx>
<b71a4ff3-8013-47e0-b2ac-2c5b3d8f8afc@xxxxxxxxxx>
<aDWdXT36Ucxk0O63@xxxxxxxxxxxxxxxxxx>
<2154e254-3cbc-4dc4-8497-f168fee58598@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2154e254-3cbc-4dc4-8497-f168fee58598@xxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 11:07:43AM +0800, Pei Xiao wrote:
>
> å?¨ 2025/5/27 19:09, Andy Shevchenko å??é??:
> > On Tue, May 27, 2025 at 05:41:21PM +0800, Pei Xiao wrote:
> >> å?¨ 2025/5/22 20:54, Andy Shevchenko å??é??:
> >>> On Thu, May 22, 2025 at 05:01:26PM +0800, Pei Xiao wrote:
...
> >> include #include <asm/percpu.h>
> >>
> >> only move #include <asm/percpu.h> to linux/device/devres.h for
> >>
> >> build error.
> > It's not needed for the build error fixing as far as I understood it. __percpu
> > is defined in another header.
>
> compiler_types.h or compiler.hÂ
>
> I tried before send patch, but it all resulted in compilation failures on my arm64 machine.
You need to investigate those. But header doesn't use anything fancy AFAICS, so
compiler_types.h should be enough. I think you need to move asm/percpu.h to
devres.c (C file).
...
> >>>> +#include <linux/sysfs.h>
> >> it's redundant.
> >>>> +#include <asm/percpu.h>
> >>> What for are these new inclusions, please?
> >> for percpu.
> > It does not define __percpu.
> >
> >>>> +void devm_free_percpu(struct device *dev, void __percpu *pdata);
> >>> Please, take your time to understand what is behind the __percpu and
> >>> why the asm/percpu.h is redundant here.
> >> If this header file is missing, there will be a compilation error.Â
> > Right. But this is wrong header for the purpose.
> >
> >> Which header file should I include?
> > The one that defines it, hint:
> > https://elixir.bootlin.com/linux/v6.15/A/ident/__percpu
>
> compiler_types.h or compiler.hÂ
>
> I tried before send patch, but it all resulted in compilation failures on my arm64 machine.
>
> Â You can give it a try.
Sure.
> when i add a error in compiler_types.h
>
> +++ b/include/linux/compiler_types.h
> @@ -26,6 +26,7 @@
> Â
> Â /* sparse defines __CHECKER__; see Documentation/dev-tools/sparse.rst */
> Â #ifdef __CHECKER__
> +sasasas
> Â /* address spaces */
>  # define __kernel     __attribute__((address_space(0)))
>  # define __user               __attribute__((noderef, address_space(__user)
>
> it still build success,have no build error.
>
> #include <linux/lockdep.h> include <asm/percpu.h> ,so have no build error before modidy,I think.
>
> >> I've found that including <asm/percpu.h> does resolve my compilation issue.
> thanks!
--
With Best Regards,
Andy Shevchenko
Return-Path: <linux-kernel+bounces-665226-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7AC1F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:31:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id AB18C7A4CB1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:30:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 322C520FA98;
Wed, 28 May 2025 09:31:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="XU+rZryQ"
Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com [209.85.219.177])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 67EEA1EB193
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:31:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.177
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424703; cv=none; b=foycdyUTnQis5XwaCcFLhrlyY0zxoymbhMdgUMKqiFxE4q1kZ5tTgjiE70j3fyS7nupE5eEf4FO1zDu99WiAp2khGPAdmPNMkhErBt/Qxl4sYIkOSS4wUyTzNHJgkK5b0QoHJFOuyyeZ0fHlun9QeQ01CXtXQ02WWN3SNgAIBBM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424703; c=relaxed/simple;
bh=WsTVlNGVWMlMr7/1HnY9hFlDZoNZeHk/mPpV96JRdec=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=NFq+7Eeo/EWmmcbnBJZOKgraBjRcpFBQhL60vW5TEs+zvxFr2xI2Sqm6Zq2tT1fGitRZK79qt6mM9RMyQMoWifGMHIwB6JX4ERVH2MIfGFgbVeh0eVjIemFLCCCd0xoZCh/pahmU2viNSKi745q+mGGNwddhOfoP7btv4mFRgz4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=XU+rZryQ; arc=none smtp.client-ip=209.85.219.177
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-yb1-f177.google.com with SMTP id 3f1490d57ef6-e7dc83224d5so622067276.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:31:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748424700; x=1749029500; darn=vger.kernel.org;
h=cc:to:subject:message-id:date:from:in-reply-to:references
:mime-version:from:to:cc:subject:date:message-id:reply-to;
bh=qxCNklpcwB9Aux3Ir6fEZ7ZfodLW5xursubADF1vInc=;
b=XU+rZryQS5rdYN2wA/8ERj2PCnbtqeZzyNCZx0JNdYtBEYRXhfmQfsyR5N3NHJAi8x
BqXDUxD5KSNbirNzLWcNZiIyDNgr7am0Iv2Nj6gXZ1YKATLsJnlOSufs2e54SxfMRypH
fhl+tKm/Fmv8RstCQ4Ou3HKlz2LjaEyoOItKT33DvXjNkPD2sd8uZrKfsrxt7jfxukzc
UZ/P7qCKYr+uWmsbUOTyfyGoobkyz7vNIGCOya1yVOcLk+fJNYRggd3+djG9XKnpzjU0
BGqQzRYyc6d4Y/1wXFYWbGDS0yEcXNaX+DZVYfrRpr4J/O5W0b9aLtJ6OEmKxNPhWLPO
a7MA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748424700; x=1749029500;
h=cc:to: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=qxCNklpcwB9Aux3Ir6fEZ7ZfodLW5xursubADF1vInc=;
b=EbnqADir6e3fDauQ7Oh4Z7foO/9TdI1MIb01qNw6zx1lRWD5nKVpnb5kOhLhYyTRGz
6/tVZLCGSqSHXOVszIWb+6nGiKVqufuHNOX64ju98qvyGFpS8hQ8FA5S2HrAO54HY6Yc
4V7fuwhkbbvizacf3qfMiXVaIshe2NMey4G7R+vSJjYGwGQ/yVwfo18m2Cymq/RXiRN2
uLxiFLNenisqaTqYyqUZDRSNP+g3HOoU3j36zv9fguZ2+x8fgtePEsziVBthH2h+dnCB
RsiYibSHndsEvGMOklKVad7xGHMvLZKSA7TvOQMFsU/mJteyL0bdYvG9fklvpROSZHdL
UhBg==
X-Forwarded-Encrypted: i=1; AJvYcCXEdtt3HpkQBKqcs/LbcNQNcgzLeD3Hm7K3M1D2541kszlU23Urmfg4UONLZCsrKUN8LQ+q33WiD3HMIHM=@vger.kernel.org
X-Gm-Message-State: AOJu0YwuZyJHVeoNBEr7TQDMvkDq0QnOP2FBhXAw69wz7DLAQUx3ysfF
jedT8vwcCyq5krCYfrSM726fKc2eF2tO6gZscgZStHMXBdTAGe/UgNttIV6XYpvwQI060ymUDgY
N6kEAgIX8Tj07rDMNz/Y9VfcyLBMGpTgfVjjvq6gyWQ==
X-Gm-Gg: ASbGncuWpPTKhBG8afeRN1LY8dH8IMQMSL+YDvLTBk1PVLqPAJuOQvmvCjcwLRAtnsF
iuMTcehccOwYa57pExpwOFBY13/AeZJtKFYJF+kN+L1oPKOT9Il+0LKAUfsw7osJAXZRFrb3O0m
57JW04+ACyIfyuUWPdFbjS+E06toywJg0zdw==
X-Google-Smtp-Source: AGHT+IEyw0lUrmYinEboMHvAdYvFeBCQMFpAFX9P5BvMD2PBk8DgM7GAXBhZytV2fKUiOCBjFWXeZ1b8qL3n9/JSqsY=
X-Received: by 2002:a05:6902:120a:b0:e7d:cff1:340b with SMTP id
3f1490d57ef6-e7dd01eea9bmr4498112276.0.1748424700237; Wed, 28 May 2025
02:31:40 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250526122054.65532-1-claudiu.beznea.uj@xxxxxxxxxxxxxx>
<20250526122054.65532-2-claudiu.beznea.uj@xxxxxxxxxxxxxx> <hojdkntm3q5a5ywya7n5i4zy24auko4u6zdqm25infhd44nyfx@x2evb6sc2d45>
In-Reply-To: <hojdkntm3q5a5ywya7n5i4zy24auko4u6zdqm25infhd44nyfx@x2evb6sc2d45>
From: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:31:03 +0200
X-Gm-Features: AX0GCFsFhqUi2AGDMBlqa7RGrDqiU7Kbc5fKh9Fg0pv0gNT5kfMImVz5Whz-roI
Message-ID: <CAPDyKFptNg5t6RehRNNfnnuCqpfiaQLaHBEdh4aRXfn7X6rYQQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v2 1/2] PM: domains: Add devres variant for dev_pm_domain_attach()
To: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Cc: Claudiu <claudiu.beznea@xxxxxxxxx>, gregkh@xxxxxxxxxxxxxxxxxxx, rafael@xxxxxxxxxx,
dakr@xxxxxxxxxx, len.brown@xxxxxxxxx, pavel@xxxxxxxxxx, jic23@xxxxxxxxxx,
daniel.lezcano@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-pm@xxxxxxxxxxxxxxx, linux-iio@xxxxxxxxxxxxxxx,
linux-renesas-soc@xxxxxxxxxxxxxxx, bhelgaas@xxxxxxxxxx, geert@xxxxxxxxxxxxxx,
Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, 27 May 2025 at 23:27, Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote:
>
> Hi Claudiu,
>
> On Mon, May 26, 2025 at 03:20:53PM +0300, Claudiu wrote:
> > From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx>
> >
> > The dev_pm_domain_attach() function is typically used in bus code alongside
> > dev_pm_domain_detach(), often following patterns like:
> >
> > static int bus_probe(struct device *_dev)
> > {
> > struct bus_driver *drv = to_bus_driver(dev->driver);
> > struct bus_device *dev = to_bus_device(_dev);
> > int ret;
> >
> > // ...
> >
> > ret = dev_pm_domain_attach(_dev, true);
> > if (ret)
> > return ret;
> >
> > if (drv->probe)
> > ret = drv->probe(dev);
> >
> > // ...
> > }
> >
> > static void bus_remove(struct device *_dev)
> > {
> > struct bus_driver *drv = to_bus_driver(dev->driver);
> > struct bus_device *dev = to_bus_device(_dev);
> >
> > if (drv->remove)
> > drv->remove(dev);
> > dev_pm_domain_detach(_dev);
> > }
> >
> > When the driver's probe function uses devres-managed resources that depend
> > on the power domain state, those resources are released later during
> > device_unbind_cleanup().
> >
> > Releasing devres-managed resources that depend on the power domain state
> > after detaching the device from its PM domain can cause failures.
> >
> > For example, if the driver uses devm_pm_runtime_enable() in its probe
> > function, and the device's clocks are managed by the PM domain, then
> > during removal the runtime PM is disabled in device_unbind_cleanup() after
> > the clocks have been removed from the PM domain. It may happen that the
> > devm_pm_runtime_enable() action causes the device to be runtime-resumed.
> > If the driver specific runtime PM APIs access registers directly, this
> > will lead to accessing device registers without clocks being enabled.
> > Similar issues may occur with other devres actions that access device
> > registers.
>
> I think you are concentrating too much on runtime PM aspect of this. As
> you mentioned in the last sentence the same issue may happen in the
> absence of runtime PM if the power domain code will shut down the device
> while it is not fully cleaned up.
>
> >
> > Add devm_pm_domain_attach(). When replacing the dev_pm_domain_attach() and
> > dev_pm_domain_detach() in bus probe and bus remove, it ensures that the
> > device is detached from its PM domain in device_unbind_cleanup(), only
> > after all driver's devres-managed resources have been release.
> >
> > For flexibility, the implemented devm_pm_domain_attach() has 2 state
> > arguments, one for the domain state on attach, one for the domain state on
> > detach.
> >
> > Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx>
> > ---
> >
> > Changes in v2:
> > - none; this patch is new
> >
> > drivers/base/power/common.c | 59 +++++++++++++++++++++++++++++++++++++
> > include/linux/pm_domain.h | 8 +++++
> > 2 files changed, 67 insertions(+)
> >
> > diff --git a/drivers/base/power/common.c b/drivers/base/power/common.c
> > index 781968a128ff..6ef0924efe2e 100644
> > --- a/drivers/base/power/common.c
> > +++ b/drivers/base/power/common.c
> > @@ -115,6 +115,65 @@ int dev_pm_domain_attach(struct device *dev, bool power_on)
> > }
> > EXPORT_SYMBOL_GPL(dev_pm_domain_attach);
> >
> > +/**
> > + * devm_pm_domain_detach_off - devres action for devm_pm_domain_attach() to
> > + * detach a device and power it off.
> > + * @dev: device to detach.
> > + *
> > + * This function reverse the actions from devm_pm_domain_attach().
> > + * It will be invoked during the remove phase from drivers implicitly.
> > + */
> > +static void devm_pm_domain_detach_off(void *dev)
> > +{
> > + dev_pm_domain_detach(dev, true);
> > +}
> > +
> > +/**
> > + * devm_pm_domain_detach_on - devres action for devm_pm_domain_attach() to
> > + * detach a device and power it on.
> > + * @dev: device to detach.
> > + *
> > + * This function reverse the actions from devm_pm_domain_attach().
> > + * It will be invoked during the remove phase from drivers implicitly.
> > + */
> > +static void devm_pm_domain_detach_on(void *dev)
> > +{
> > + dev_pm_domain_detach(dev, false);
> > +}
> > +
> > +/**
> > + * devm_pm_domain_attach - devres-enabled version of dev_pm_domain_attach()
> > + * @dev: Device to attach.
> > + * @attach_power_on: Use to indicate whether we should power on the device
> > + * when attaching (true indicates the device is powered on
> > + * when attaching).
> > + * @detach_power_off: Used to indicate whether we should power off the device
> > + * when detaching (true indicates the device is powered off
> > + * when detaching).
> > + *
> > + * NOTE: this will also handle calling dev_pm_domain_detach() for
> > + * you during remove phase.
> > + *
> > + * Returns 0 on successfully attached PM domain, or a negative error code in
> > + * case of a failure.
> > + */
> > +int devm_pm_domain_attach(struct device *dev, bool attach_power_on,
> > + bool detach_power_off)
>
> Do we have examples where we power on a device and leave it powered on
> (or do not power on device on attach but power off it on detach)? I
> believe devm release should strictly mirror the acquisition, so separate
> flag is not needed.
This sounds reasonable for me too.
Note that, in most of the *special* cases for where
dev_pm_domain_attach|detach() is used today, the corresponding PM
domain is managed by genpd through a DT based configuration. And genpd
via genpd_dev_pm_attach|detach() doesn't even take this as an
in-parameter.
So this is solely for the behaviour for the acpi PM domain, just to
make sure that's clear.
[...]
Kind regards
Uffe
Return-Path: <linux-kernel+bounces-665227-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DC4A441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:33:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 5C57B1BC6643
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:33:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E638727814A;
Wed, 28 May 2025 09:33:17 +0000 (UTC)
Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 95C9D1DF27D;
Wed, 28 May 2025 09:33:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=166.125.252.92
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424797; cv=none; b=Qgi/DRcuy9Qb8RWvfq3sEhQo2yVeFd46LsBvBxeut0UHl+qircv1QrgrLSzh5nKNru+XzIWHp6WkuDGwc6xm4CI3xRu2egukjl63fFMV1jQ/e09vs6iC5ek+IYX9HsTAre+TZTqfCFZuvlLnM+xt1GmeJ5VHdn+4RbGenx2hx5U=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424797; c=relaxed/simple;
bh=CfPnfHr9W94nu2DOrAYlWE0gmLEjs2BufMiWiQgXfQg=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=WzfSjXEageBDoiaSIoSJ/+CAhb04droElvPH+HI0EIzyksd3FMRNQwIqLrW9Su0FsIrVk8njFbDWue96N4PyQiIUCkafqrkIVT+XnGFAE5eULaCeD0a4cbEuF9dkArzxn6w0i4EmoEGHUqXrtPqjRDGXyjrESjvWFpPX8Y/a7qE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com; spf=pass smtp.mailfrom=sk.com; arc=none smtp.client-ip=166.125.252.92
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sk.com
X-AuditID: a67dfc5b-669ff7000002311f-ab-6836d855b221
Date: Wed, 28 May 2025 18:33:03 +0900
From: Byungchul Park <byungchul@xxxxxx>
To: Pavel Begunkov <asml.silence@xxxxxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx,
ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx, toke@xxxxxxxxxx,
tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx,
daniel@xxxxxxxxxxxxx, david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx,
Liam.Howlett@xxxxxxxxxx, vbabka@xxxxxxx, rppt@xxxxxxxxxx,
surenb@xxxxxxxxxx, mhocko@xxxxxxxx, horms@xxxxxxxxxx,
linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access
page->pp_magic in page_pool_page_is_pp()
Message-ID: <20250528093303.GB54984@xxxxxxxxxxxxxxxxxxx>
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
<a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
<20250528081403.GA28116@xxxxxxxxxxxxxxxxxxx>
<06fca2f8-39f6-4abb-8e0d-bef373d9be0f@xxxxxxxxx>
<20250528091416.GA54984@xxxxxxxxxxxxxxxxxxx>
<b7efa56b-e9fd-4ca6-9ecf-0d5f15b8d0c1@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b7efa56b-e9fd-4ca6-9ecf-0d5f15b8d0c1@xxxxxxxxx>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Brightmail-Tracker: H4sIAAAAAAAAA02SfUzMcRzHfX+/3/3u163bfk7xVebhEMsIUR/P/WXffzyMsWHi6Dd3XFeu
B6WxpEm3inka1+EwerJdTt1dHhrnUi1LzuIilZBZqZRu1UXcNdN/773fn8/79fnjw9Gym6Ig
TqVJFLQahVrOShjJd/+bC7e5IpSLSzMngcF0l4WSwRQoaLOJwFBsQfBz6L0Y+h3VLNy64abB
8DKTgQHTMA1fnreLofVOBwOPsqw0tJ+pYSE300NDhq2QggZLngguDN+mwZreJobXDwwstNwd
FUGHPZeBWn0RA615UfDcOBncdV0IHCYrBe6cqyycdxpZ+JTZisD5rJ2B/BN5CEyVLhF4Bg1s
1CxSVtREkQr9BzExmpPI/cJQonM5aWIuzmaJue+cmDS/ecSSmssehlTY+imSe7KbJT++vGNI
T2UjS0xljQx5YXSISb95+mZ+p2R1jKBWJQvasLV7JcqazhYqvmp6SkH1JZSO+ifrkB+H+WV4
OLee1iHOp/t6k7w2w8/FlT0DlFez/Dzscg3RXh3AL8Cdb+1iHZJwNN8lwqYsC+MNJvEHcc67
r6xXS3nA9qwnviEZ/5LG1tJaaiyYiGuvfPYt0H9bR645fWCaD8YFv7kxewY+WZ7vs/34Nbjo
nr/XDuRn4yeWaspbiXkbhyselrBj90/FTwtdzFk0UT+OoB9H0P8n6McRjIgpRjKVJjlWoVIv
W6RM1ahSFu2PizWjv59z59jILhvqa9hqRzyH5P5SUrpcKRMpkhNSY+0Ic7Q8QJqxLkIpk8Yo
Uo8K2rg92iS1kGBHwRwjnyJd6j4SI+MPKBKFQ4IQL2j/pRTnF5SONox+i4z8mV4b9hhZi2Sn
dqd1WBx7n10MDKei6+uT963fsWvHrwnz3y/fkBGlSimPdrocHu2mLaUhh0NLqjRDoWpnQaTH
PfO4vqrBVtinnTMtJLyuV9d8MckZZwtpf9WWVrFiXfbHK4FNaXOur7r9dTRt++mm04buPSup
W69nyDdG3JMzCUrFklBam6D4Ax8ZkRg1AwAA
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRjHe885OzsOZ8dlekowWEhilBVqD9j9iy8R0ZewJNBRh7byxqai
RXjNkaStC5FzyiLyDjM1NyXUpnlJSZ1oK0tNmwaad815qZwS+e3P//c8v+fLw5CSu4LdjCIq
lldGySKktIgSnQ9KO3DRGig/VPiQAJ2hjIbSpQQoHDIJQFdSjWDe3i+EuaYWGl48XyRB15lO
wYJhmQRb87AQBgtGKXijNpIw/KCVhqz0FRJSTUUENOa1CaCrOlsAT5ZfkmBMHhJCT62OhoGy
PwIYNWdR0KYtpmAw+xQ0691hsX0CQZPBSMDi/TwaHlv0NIykDyKwNA5TkJuSjcBQZxXAypKO
PiXFVcWfCFyj/SrE+oo4XFnkizOtFhJXlNyjccXsIyH+0veGxq3PVihcY5ojcFbaJI1nbJ8p
PFXXS+MXP6YJbKjqpXCHvkl4wTVUdOwaH6GI55V+J8JF8tbxASLmnVdCYctTlIzm3DMRw3Cs
Pzc7HZeJnBiK9ebqphYIR6bZfZzVaicd2Y3dz41/NAszkYgh2QkBZ1BXUw6wg73B3f88Rjuy
mAXOrG7YGJKwnSRnLG8jNoEr15bzfWOBXLeu5ltIx2GS9eQKfzOb9R4u7XXuRu3EHueKXzk7
6p3sXq6huoXQIBftFpF2i0j7X6TdItIjqgS5KaLiI2WKiICDqpvyxChFwsGr0ZEVaP05Cu6s
PjSh+Z5gM2IZJHUW4/IAuUQgi1clRpoRx5BSN3HqyUC5RHxNlniLV0aHKeMieJUZeTKU1EN8
NoQPl7DXZbH8TZ6P4ZX/KME47U5G52pH8lI0tqCq0G9r6HRMQvlPe0+ID6/xudSV4moN8u62
5FROX5kKztPVj9FDBuRT6nHGfOdo/Yz7bPpbYtw/6cj7XX1rS2H2krSMqe02Ineho/P2tsDT
4mCvXx014S6u/SuT3caMXV6rRXv9SmfaNR8YWwB99NPl9qR8F3WRUUqp5LLDvqRSJfsLmbvC
rxgDAAA=
X-CFilter-Loop: Reflected
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 10:20:29AM +0100, Pavel Begunkov wrote:
> On 5/28/25 10:14, Byungchul Park wrote:
> > On Wed, May 28, 2025 at 10:07:52AM +0100, Pavel Begunkov wrote:
> > > On 5/28/25 09:14, Byungchul Park wrote:
> > > > On Wed, May 28, 2025 at 08:51:47AM +0100, Pavel Begunkov wrote:
> > > > > On 5/26/25 03:23, Byungchul Park wrote:
> > > > > > On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
> > > > > > > On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
> > > > > > > >
> > > > > > > > To simplify struct page, the effort to seperate its own descriptor from
> > > > > > > > struct page is required and the work for page pool is on going.
> > > > > > > >
> > > > > > > > To achieve that, all the code should avoid accessing page pool members
> > > > > > > > of struct page directly, but use safe APIs for the purpose.
> > > > > > > >
> > > > > > > > Use netmem_is_pp() instead of directly accessing page->pp_magic in
> > > > > > > > page_pool_page_is_pp().
> > > > > > > >
> > > > > > > > Signed-off-by: Byungchul Park <byungchul@xxxxxx>
> > > > > > > > ---
> > > > > > > > include/linux/mm.h | 5 +----
> > > > > > > > net/core/page_pool.c | 5 +++++
> > > > > > > > 2 files changed, 6 insertions(+), 4 deletions(-)
> > > > > > > >
> > > > > > > > diff --git a/include/linux/mm.h b/include/linux/mm.h
> > > > > > > > index 8dc012e84033..3f7c80fb73ce 100644
> > > > > > > > --- a/include/linux/mm.h
> > > > > > > > +++ b/include/linux/mm.h
> > > > > > > > @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
> > > > > > > > #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
> > > > > > > >
> > > > > > > > #ifdef CONFIG_PAGE_POOL
> > > > > > > > -static inline bool page_pool_page_is_pp(struct page *page)
> > > > > > > > -{
> > > > > > > > - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
> > > > > > > > -}
> > > > > > >
> > > > > > > I vote for keeping this function as-is (do not convert it to netmem),
> > > > > > > and instead modify it to access page->netmem_desc->pp_magic.
> > > > > >
> > > > > > Once the page pool fields are removed from struct page, struct page will
> > > > > > have neither struct netmem_desc nor the fields..
> > > > > >
> > > > > > So it's unevitable to cast it to netmem_desc in order to refer to
> > > > > > pp_magic. Again, pp_magic is no longer associated to struct page.
> > > > > >
> > > > > > Thoughts?
> > > > >
> > > > > Once the indirection / page shrinking is realized, the page is
> > > > > supposed to have a type field, isn't it? And all pp_magic trickery
> > > > > will be replaced with something like
> > > > >
> > > > > page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; }
> > > >
> > > > Agree, but we need a temporary solution until then. I will use the
> > > > following way for now:
> > >
> > > The question is what is the problem that you need another temporary
> > > solution? If, for example, we go the placeholder way, page_pool_page_is_pp()
> >
> > I prefer using the place-holder, but Matthew does not. I explained it:
> >
> > https://lore.kernel.org/all/20250528013145.GB2986@xxxxxxxxxxxxxxxxxxx/
> >
> > Now, I'm going with the same way as the other approaches e.g. ptdesc.
>
> Sure, but that doesn't change my point
What's your point? The other appoaches do not use place-holders. I
don't get your point.
As I told you, I will introduce a new struct, netmem_desc, instead of
struct_group_tagged() on struct net_iov, and modify the static assert on
the offsets to keep the important fields between struct page and
netmem_desc.
Then, is that following your point? Or could you explain your point in
more detail? Did you say other points than these?
Byungchul
>
> --
> Pavel Begunkov
Return-Path: <linux-kernel+bounces-665228-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 010FB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:34:13 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D472E189BCBB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:34:26 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3818827814B;
Wed, 28 May 2025 09:34:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=tnxip.de header.i=@tnxip.de header.b="x3o0pfEx";
dkim=permerror (0-bit key) header.d=tnxip.de header.i=@tnxip.de header.b="bO5s1g5n";
dkim=pass (1024-bit key) header.d=tnxip.de header.i=@tnxip.de header.b="RCF/oxrH";
dkim=permerror (0-bit key) header.d=tnxip.de header.i=@tnxip.de header.b="RS/hvYC+"
Received: from mail.tnxip.de (mail.tnxip.de [49.12.77.104])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44478275862;
Wed, 28 May 2025 09:33:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=49.12.77.104
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424843; cv=none; b=OmIE/nOmlsfGmnA48FY2nk54v6UlX6P/HI+zSLQXUyFjsyysAaEVLpB3GkpsKkU6spP+6GcgVJ0xLCj/j3OruRhbGuJqkQmZlxbqWTOvBPu7hn3pu/EeDvbag5kL57yCiSrIerQGdFa+gwJT1/3nnbScbAfY6cBWF7OQ+S5wNE0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424843; c=relaxed/simple;
bh=lHOao4f90r2RuIwnd2exhchFt6vf/wURXyd5Uy6/grY=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=TaK6NMs+hQfMpPa+MJKy0zguwyfKQTanUNILsB7iQ9rHnFjEO4BLbknqscbmE+Se/l560hOFwWkwxgCYjp51TDofRsAx2oeXqEWovq30Y2ZcsA96ULUuULkUpexbx2pGnnmTTKlu1SmPemWXjAK46a5DQrfBoFYXNg+ds5QRYss=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=tnxip.de; spf=pass smtp.mailfrom=tnxip.de; dkim=pass (1024-bit key) header.d=tnxip.de header.i=@tnxip.de header.b=x3o0pfEx; dkim=permerror (0-bit key) header.d=tnxip.de header.i=@tnxip.de header.b=bO5s1g5n; dkim=pass (1024-bit key) header.d=tnxip.de header.i=@tnxip.de header.b=RCF/oxrH; dkim=permerror (0-bit key) header.d=tnxip.de header.i=@tnxip.de header.b=RS/hvYC+; arc=none smtp.client-ip=49.12.77.104
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=tnxip.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tnxip.de
Received: from gw.tnxip.de (unknown [IPv6:fdc7:1cc3:ec03:1:f29b:38e6:bb40:eef3])
by mail.tnxip.de (Postfix) with ESMTPS id 09C78208AE;
Wed, 28 May 2025 11:33:41 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tnxip.de; s=mail-vps;
t=1748424821;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=unXoNt8RgGaDR53xvpXFRb94qbLzrsUOA132jkwj588=;
b=x3o0pfExGWs0xCktoi1YrVcQUEhflEhWUQIo/tlbrRZi1PHnoGp8uBmAl2acf95FhmPg6A
BcqzNh1kW3D/3y4n3OrQ6sX1zuYuLDm4o9tCt6yV+EGQjydk/DQluy1PbrQ8R4jjrmXVE8
C2h0C8CurRHJ+U1xZ4BL3VMsB5LEFOA=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=tnxip.de;
s=mail-vps-ed; t=1748424821;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=unXoNt8RgGaDR53xvpXFRb94qbLzrsUOA132jkwj588=;
b=bO5s1g5nTtmyPfJpZQ+Jpreo3UD87C9LZoa14jQjc93MNP53QtdXnLMCift6Hx4LatPVX4
G8SS0B/FDfPEJ3Aw==
Received: from [IPV6:2a04:4540:8c01:d800:4e12:6eb0:854b:f0d1] (unknown [IPv6:2a04:4540:8c01:d800:4e12:6eb0:854b:f0d1])
by gw.tnxip.de (Postfix) with ESMTPSA id 85B3F6C00000000007B4C;
Wed, 28 May 2025 11:33:34 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tnxip.de; s=mail-gw;
t=1748424820;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=unXoNt8RgGaDR53xvpXFRb94qbLzrsUOA132jkwj588=;
b=RCF/oxrHzS55UvfwOwJpiC7ivcWvloPThIisxnSdLKhYSJTeJZ6iU8afyglxVv3Ga+dny7
aZi5JcoPogG9cQ0d3iQ6UOrZm0PiJ6Nl6U/SqHc4eh50h5Tqsgb4ZL8+cTqzwHLy98DT9Q
sujdzG6ahXbGMNOas6mugRHRztD66mQ=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=tnxip.de;
s=mail-gw-ed; t=1748424820;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=unXoNt8RgGaDR53xvpXFRb94qbLzrsUOA132jkwj588=;
b=RS/hvYC+l6MlBletU1Cjx1t0tFPFDiC4pZoiA4/MF6PdfmETR0e+jsMGPHQNCmtXdl6wgx
n3oJRF9cV4IARvAg==
Message-ID: <c2001c69-e735-4976-ac8b-6269c825cb92@xxxxxxxx>
Date: Wed, 28 May 2025 11:33:34 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Betterbird (Linux)
Subject: Re: [GIT PULL] bcachefs changes for 6.16
To: Christopher Snowhill <chris@xxxxxxxxxx>, John Stoffel <john@xxxxxxxxxxx>,
Kent Overstreet <kent.overstreet@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>,
linux-bcachefs@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
References: <oxkibsokaa3jw2flrbbzb5brx5ere724f3b2nyr2t5nsqfjw4u@23q3ardus43h>
<dmfrgqor3rfvjfmx7bp4m7h7wis4dt5m3kc2d3ilgkg4fb4vem@wytvcdifbcav>
<26678.2527.611113.400746@xxxxxxxxxxxxxxxxx>
<DA7O5Z6M9D5H.2OX4U4K5YQ7C9@xxxxxxxxxx>
Content-Language: en-US, de-DE
From: =?UTF-8?Q?Malte_Schr=C3=B6der?= <malte.schroeder@xxxxxxxx>
In-Reply-To: <DA7O5Z6M9D5H.2OX4U4K5YQ7C9@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 11:00, Christopher Snowhill wrote:
> On Tue May 27, 2025 at 11:52 AM PDT, John Stoffel wrote:
>>>>>>> "Kent" == Kent Overstreet <kent.overstreet@xxxxxxxxx> writes:
>>> There was a feature request I forgot to mention - New option,
>>> 'rebalance_on_ac_only'. Does exactly what the name suggests, quite
>>> handy with background compression.
>> LOL, only if you know what the _ac_ part stands for. :-)
> Would you have suggested perhaps _mains_ ? That may have rang better
> with some folks. I suppose, at least.
>
What about 'no_rebalance_on_battery'?Â
/Malte
Return-Path: <linux-kernel+bounces-665229-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C3FAA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:34:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E956C3B1A3E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:34:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7E46627814A;
Wed, 28 May 2025 09:34:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="crQufSHr"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B31D218AAF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:34:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.17
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424891; cv=none; b=XpTS1v26DipWHvdf8FoX5Kn4v8cbAqBUk3qSUD8uxv9dFZGYPGM+4nOglzghIB9Y/yHGMTcd2bj63QzZk9URnuF4bmuZcU6JA82OZ2G8hZoJZM/IP6tcfobwqRbMN+gmEx59Id1SwETBUWhspKheeRBPDpJoMUOEMY4ZS2XpQak=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424891; c=relaxed/simple;
bh=831o/0tq+xxG8bYFWyAIG7pC+lO6xj5Q2fEFNJn6MBg=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=uphPzMPU9tYjati2/+FHraDvetzPHZLpLvUaUHi+5R6wUpxwicwdMJpyELo+hHQLBHHuwoCxUS4ToEoyYNZ1Rjmn5HytGZswk1jKkUGfyw1PY02/G6B5JVlr3bYTQ+pPtoOx/x2o2TR2Vt4BYrOuyjVR8+3w6FOcfb+AhOKHQWs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=crQufSHr; arc=none smtp.client-ip=198.175.65.17
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748424891; x=1779960891;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=831o/0tq+xxG8bYFWyAIG7pC+lO6xj5Q2fEFNJn6MBg=;
b=crQufSHrOe7MZ6Jpo0G8e+eCPNZOHLIfjU3qqcdLXEQxV2Zt29LerehP
mEBuwJTblzKDHNzuIr1x+5dzLFEljWpiIeqBvaCjmK16eqQ90yzu+xle6
1blCUJwXwL0LslPeTuCD2FrO7YAO9/BxppsvrnaP8IZ9b54xOGqgZH10F
OrcRq97OscX+4sSdryicrEV7WdjxJYP6dZpIOdge9dtq0e4uoQCIj5Q3H
MYA/YA2Wr2tBS7EO6YylZDuzCoaP99Ib1uO44J92EQ8lltG+tTLSVtNUR
6ATH+C5A+GpLz/kkdspDxdKCiVtNlTBRRWYX0biIx3fKQgD5nV9xUVgVS
w==;
X-CSE-ConnectionGUID: xfCR/mnCSQqXCNGqsWG6cA==
X-CSE-MsgGUID: 3FrsWqHQTdWeuul904pQJA==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="50437827"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="50437827"
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:34:50 -0700
X-CSE-ConnectionGUID: +xoKY/ybQhW1HOYwA0lBJg==
X-CSE-MsgGUID: 4cyIKe+NRE2uGPCtkAHl7w==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="143641016"
Received: from smile.fi.intel.com ([10.237.72.52])
by fmviesa010.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:34:46 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uKDBL-00000001PEa-19lW;
Wed, 28 May 2025 12:34:43 +0300
Date: Wed, 28 May 2025 12:34:43 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxxxx>,
Thomas =?iso-8859-1?Q?Hellstr=F6m?= <thomas.hellstrom@xxxxxxxxxxxxxxx>,
Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxx>, David Airlie <airlied@xxxxxxxxx>,
Simona Vetter <simona@xxxxxxxx>,
Matthew Brost <matthew.brost@xxxxxxxxx>,
Himal Prasad Ghimiray <himal.prasad.ghimiray@xxxxxxxxx>,
Imre Deak <imre.deak@xxxxxxxxx>,
Ilpo =?iso-8859-1?Q?J=E4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>,
"Michael J. Ruhl" <michael.j.ruhl@xxxxxxxxx>,
intel-xe@xxxxxxxxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency
Message-ID: <aDbYs7QZRfr2i80A@xxxxxxxxxxxxxxxxxx>
References: <20250523121106.2231003-1-arnd@xxxxxxxxxx>
<j7yodlrk7wh3ylvb2z622ndlzm4guhahmakdb6l5d6qtv5sabo@w4bfiehtmaab>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <j7yodlrk7wh3ylvb2z622ndlzm4guhahmakdb6l5d6qtv5sabo@w4bfiehtmaab>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote:
> On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote:
...
> > + depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI)
>
> ^
> Did you mean X86_PLATFORM_DEVICES here?
Why do we need to depend on the whole thingy (yes, it will be enabled at the
end) if we only talking about Intel?
> With that, Reviewed-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
>
> I see several drivers selecting
> X86_PLATFORM_DEVICES though. Maybe they should also be translated to
> dependencies instead?
I think so, selecting that sounds wrong.
--
With Best Regards,
Andy Shevchenko
Return-Path: <linux-kernel+bounces-665230-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2197741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:35:39 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 67A51A23123
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:35:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E9A7727814A;
Wed, 28 May 2025 09:35:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Gu3XtXWI"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89CD9218AAF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:35:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.9
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424934; cv=none; b=pa1Q4V1gHj2snj3MF+PlE/raAUEHEMIGe3IBTnRtLclDkhGttyWuKZnIamAso65bunIN2Z+PjpN4eMYiRVy3icdBEhvX8wzAhyWHUOFo1WjncFowzyFcDvypl2iZbyrJ/8CcK3TxqpyqL9F2dxkerfenvZqm1qDOXlHj58ywKEA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424934; c=relaxed/simple;
bh=Tc3OsSurpH1z0gI4HzRiSDSFs/zdI+P7OXdjEkrhJJA=;
h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:
MIME-Version:Content-Type; b=dMYqNedUQALgdBUGd/6c2dD9UriU9FEf+eb1tIpcM3lnbfkLo76pOT/H2YFwW3O0CYiNJeYH2miwldPEIUrvl0xXFkbULi5LtPiVHCT68Ht0uSmcmfVVifTOLpt60DYP+hPRx7hC8bbf3wnhLfbZpAxsVxYuBsr9XkON592l2cE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Gu3XtXWI; arc=none smtp.client-ip=198.175.65.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748424933; x=1779960933;
h=from:to:cc:subject:in-reply-to:references:date:
message-id:mime-version;
bh=Tc3OsSurpH1z0gI4HzRiSDSFs/zdI+P7OXdjEkrhJJA=;
b=Gu3XtXWIpAFG3hExvEFL/0gRBXZmaTVKjGLiYQ0n4NF1Q32i69sp7kOd
lGo4YihAxeRqV6jq1Apet3EhYqJQwbZwXR16g+w8U0fiB+GSEP08nCcN4
JC+XcmY+RpIJqZdIbZLzCgQKNXuC/85wgx9tSG4eYxw07fzPiqEAEa0pI
Cm00P4xwsN+7JpWyWIfLv+JohBHn38tfxF3d5GOMMAQXiwGB0wNf19NBy
CWXfgaCc/P+iNEDi6GC4FYw3eDNgIzPcxEdPaGBpDmQoQen7ZJD649jH0
TiWHxg4eJMxpDlHRa+ZKKSQmTlVK7qzrk3zqlupS7LzY0vZCFuOCD03fR
g==;
X-CSE-ConnectionGUID: bU+MPCFeQDmcSxS5STOCqA==
X-CSE-MsgGUID: lPSWGLfGQ2OlqVggzk4IhA==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="72976082"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="72976082"
Received: from orviesa001.jf.intel.com ([10.64.159.141])
by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:35:32 -0700
X-CSE-ConnectionGUID: XS4TX1aOSFq76kElmSZ4pg==
X-CSE-MsgGUID: WiBiIuMNRiyKaiuvGN+x1Q==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="180423109"
Received: from smoticic-mobl1.ger.corp.intel.com (HELO localhost) ([10.245.245.23])
by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:35:30 -0700
From: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>
To: Dave Airlie <airlied@xxxxxxxxx>, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>
Cc: dri-devel <dri-devel@xxxxxxxxxxxxxxxxxxxxx>, LKML
<linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [git pull] drm for 6.16-rc1
In-Reply-To: <CAPM=9tyv4CODKMbTW0Xwx4xYWgKPA0rMgThLgCy8OkF-DvVTNg@xxxxxxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
References: <CAPM=9tyv4CODKMbTW0Xwx4xYWgKPA0rMgThLgCy8OkF-DvVTNg@xxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 12:35:27 +0300
Message-ID: <7aff9a7076ada15146d4fe60d2c6cd9d99370385@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, 28 May 2025, Dave Airlie <airlied@xxxxxxxxx> wrote:
> The disgusting turds removal patchset is also in here.
I don't think it is. At least I didn't merge it. The existing thing just
still depends on BROKEN.
I had a few attempts at fixing it, Linus was okay with the patches,
Masahiro was not, and that was that. I don't think it's possible to meet
Linus' requirements of genericity without touching kbuild makefiles, and
Masahiro apparently doesn't want it in kbuild.
I still think what we want to do is reasonable. I'm not looking to
impose any header checks on anyone outside of drm, and not even on all
of drm. But I can't hide it inside drm makefiles. I don't know where to
go from here.
BR,
Jani.
--
Jani Nikula, Intel
Return-Path: <linux-kernel+bounces-665231-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B01EA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:36:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id E21F64E2B96
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:36:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9C11527816D;
Wed, 28 May 2025 09:35:58 +0000 (UTC)
Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BA22C276057;
Wed, 28 May 2025 09:35:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748424958; cv=none; b=tgwFg6BMtSeE1ZEKUJ1dEDxumIfj5guuxSnejjfw14WPMotKSRxUunM5eHJf1c+xyYMdRbHa8nMsMb/zkfiEEyvb8hNGil8j3+AFEqm1Lb30sCMZIDRZkrv7drNbT3Tty/7oe0CjfBSOrf7jT1ZDXfWVnYAXJmCHdYwfOHtQxKw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748424958; c=relaxed/simple;
bh=/Ucn2qJL8Z+bDl1nUpaXB8N+OEEajSTmcDdNbJ1ZS3k=;
h=Subject:From:To:Cc:References:Message-ID:Date:MIME-Version:
In-Reply-To:Content-Type; b=qw00IYj0xlfDpe4dTFG+bws6zJkoCWM4aQmQC+2AX4pZai4x1xBX5jHOe3IWeUW0Pm4L4eYcWmJLN8CuWqgnAfJNypBfhpLvhBiH+SnZoNoKPHmXYbokHVhArwIPLYzfWT9KNrHNs/Q2bqYXAfVdExMuRrncFYlFk88XuZntp30=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn
Received: from loongson.cn (unknown [10.20.42.164])
by gateway (Coremail) with SMTP id _____8DxQK_42DZosuP_AA--.49210S3;
Wed, 28 May 2025 17:35:52 +0800 (CST)
Received: from [10.20.42.164] (unknown [10.20.42.164])
by front1 (Coremail) with SMTP id qMiowMCxqhry2DZoyrP3AA--.26837S2;
Wed, 28 May 2025 17:35:48 +0800 (CST)
Subject: Re: [PATCH v10 4/5] tpm: Add a driver for Loongson TPM device
From: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
To: Stefano Garzarella <sgarzare@xxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx,
jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx,
Yinggang Gu <guyinggang@xxxxxxxxxxx>, Huacai Chen <chenhuacai@xxxxxxxxxxx>
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx>
<20250528065944.4511-5-zhaoqunqin@xxxxxxxxxxx>
<7ifsmhpubkedbiivcnfrxlrhriti5ksb4lbgrdwhwfxtp5ledc@z2jf6sz4vdgd>
<afaeb91a-afb4-428a-2c17-3ea5f098da22@xxxxxxxxxxx>
<gymx5tbghi55gm76ydtuzzd6r522expft36twwtvpkbgcl266a@zelnthnhu7kq>
<ccb1927d-c06a-9fde-6cbb-652974464f4b@xxxxxxxxxxx>
Message-ID: <cfaf2fbb-5c6a-9f85-fdc9-325d82fb7821@xxxxxxxxxxx>
Date: Wed, 28 May 2025 17:34:49 +0800
User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:68.0) Gecko/20100101
Thunderbird/68.7.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
In-Reply-To: <ccb1927d-c06a-9fde-6cbb-652974464f4b@xxxxxxxxxxx>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-CM-TRANSID:qMiowMCxqhry2DZoyrP3AA--.26837S2
X-CM-SenderInfo: 52kd01pxqtx0o6or00hjvr0hdfq/
X-Coremail-Antispam: 1Uk129KBj93XoW7Kw48Cw1kCF4kXr4rArWDAwc_yoW8Zr4rp3
47W3W7Kay3Jr48tr1qqw4UAFZF9Fs5Aw4UZa4rXr97Jw1DtFnaqFy8trsYkrZruw48XFyf
XF45Z39xWa4YvrXCm3ZEXasCq-sJn29KB7ZKAUJUUUUx529EdanIXcx71UUUUU7KY7ZEXa
sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU
0xBIdaVrnRJUUUP2b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2
IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v
e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI
0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_
GcCE3s1ln4kS14v26r126r1DM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2
x26I8E6xACxx1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1q6rW5
McIj6I8E87Iv67AKxVW8JVWxJwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc7
I2V7IY0VAS07AlzVAYIcxG8wCY1x0262kKe7AKxVWUAVWUtwCF04k20xvY0x0EwIxGrwCF
x2IqxVCFs4IE7xkEbVWUJVW8JwCFI7km07C267AKxVWrXVW3AwC20s026c02F40E14v26r
1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2Ij
64vIr41lIxAIcVC0I7IYx2IY67AKxVW8JVW5JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr
0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26F4j6r4UJwCI
42IY6I8E87Iv6xkF7I0E14v26r4UJVWxJrUvcSsGvfC2KfnxnUUI43ZEXa7IU8_gA5UUUU
U==
X-Spam-Status: No, score=-5.9 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
å?¨ 2025/5/28 ä¸?å??5:24, Qunqin Zhao å??é??:
>
> å?¨ 2025/5/28 ä¸?å??5:00, Stefano Garzarella å??é??:
>> On Wed, May 28, 2025 at 04:42:05PM +0800, Qunqin Zhao wrote:
>>>
>>> å?¨ 2025/5/28 ä¸?å??3:57, Stefano Garzarella å??é??:
>>>>> +Â Â Â chip = tpmm_chip_alloc(dev, &tpm_loongson_ops);
>>>>> +Â Â Â if (IS_ERR(chip))
>>>>> +Â Â Â Â Â Â Â return PTR_ERR(chip);
>>>>> +Â Â Â chip->flags = TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_IRQ;
>>>>
>>>> Why setting TPM_CHIP_FLAG_IRQ?
>>>
>>> When tpm_engine completes TPM_CC* command,
>>>
>>> the hardware will indeed trigger an interrupt to the kernel.
>>
>> IIUC that is hidden by loongson_se_send_engine_cmd(), that for this
>> driver is completely synchronous, no?
>>
>>>
>>>>
>>>> IIUC this driver is similar to ftpm and svsm where the send is
>>>> synchronous so having .status, .cancel, etc. set to 0 should be
>>>> enough to call .recv() just after send() in tpm_try_transmit(). See
>>>> commit 980a573621ea ("tpm: Make chip->{status,cancel,req_canceled}
>>>> opt")
>>> The send callback would wait until the TPM_CC* command complete. We
>>> don't need a poll.
>>
>> Right, that's what I was saying too, send() is synchronous (as in
>> ftpm and svsm). The polling in tpm_try_transmit() is already skipped
>> since we are setting .status = 0, .req_complete_mask = 0,
>> .req_complete_val = 0, etc. so IMHO this is exactly the same of ftpm
>> and svsm, so we don't need to set TPM_CHIP_FLAG_IRQ.
>
> I see, but why not skip polling directly in "if (chip->flags &
> TPM_CHIP_FLAG_IRQ)"Â instead of do while?
I mean, why not skip polling directly in "if (chip->flags &
TPM_CHIP_FLAG_IRQ)"?
And In my opinion, TPM_CHIP_FLAG_SYNC and TPM_CHIP_FLAG_IRQ are
essentially the same, only with different names.
Thanks,
Qunqin
>
> And TPM_CHIP_FLAG_IRQ flag can remind us this hardware is "IRQ" not
> "POLL".
>
> Thanks,
>
> Qunqin.
>
>>
>> Thanks,
>> Stefano
Return-Path: <linux-kernel+bounces-665232-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A16C441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:37:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id E1D5F4E2BF9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:37:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E47372777F3;
Wed, 28 May 2025 09:36:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="EPzg7pbW"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4DFE7218AAF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:36:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425015; cv=none; b=CTcetk37dH8YRsXtlNdUPncqLy7RFee878vHh7UK3o5iSrdK9zOp0rRvwKoNoQRXaXFnmFG8vbYGwtjhBdDv/iOG5m4CpD2i311zwuuIVWGIupsafAH28B1wQoNTUheKZzaVqLRX6TW1P/E6/aegSZLiQIPKRUH3YgC6yuC+WuI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425015; c=relaxed/simple;
bh=vDWBFnGA0k389540wW0TxBm2BDLauq2fIsIA6VzBngM=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=UzLTkLLSslUEb7r6dT19vwFw5ZbUzdnLM8llLl/pTmviqdCje+Kgf9CbMjECBBuQG3sEy3UfzXBRkaGzs6yFOkUbMHxY3ZCI/7H1sNfNcX0Mkx1eKoZvfVEcekBz3YZllWaxRgrxhATgH7CRARn9newGNAQashlxbQONtduHND0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=EPzg7pbW; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748425012;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=85Gu31AX4i+RipKK9PhYFJqj5Wm69Shqzwvkaki3CxA=;
b=EPzg7pbWVIEIjQE4LiXxN0KE0vcD5KYOiLP5bSMXlRgHFrCijhIjtzYIRmzQ8HsERc0Jif
T9UoAvkm62aO+eRtzu+HQC6GzrPuHAS7fOh6/PhI+c8kVQhBqj9wdFpRRX22vIfi/k4wEZ
i1AxMEwSReNfuZ+aYTThON+JKfBx1cc=
Received: from mail-yw1-f200.google.com (mail-yw1-f200.google.com
[209.85.128.200]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-228-uSZeDWRZN8OJXDIZTjcDaw-1; Wed, 28 May 2025 05:36:50 -0400
X-MC-Unique: uSZeDWRZN8OJXDIZTjcDaw-1
X-Mimecast-MFC-AGG-ID: uSZeDWRZN8OJXDIZTjcDaw_1748425010
Received: by mail-yw1-f200.google.com with SMTP id 00721157ae682-703d7a66d77so11670597b3.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:36:50 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748425010; x=1749029810;
h=content-transfer-encoding:cc:to: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=85Gu31AX4i+RipKK9PhYFJqj5Wm69Shqzwvkaki3CxA=;
b=wuntgsfzZ2PgnPyFNqdmF8D1OeAEfCyCFUP2lX8psgSLlx0EmOq+IFrq9hmO7whfl4
aj5fMkS0HxCDwOH+ut2klPFuQhwUhilRtJiaOJZ63wcJ2RsHZHcvHlqcc6YmULnQ56/k
RWlAsedgg9IWvMKSCppsQxRXgr8X5vT1vN5geUEypuDtY02zJx/JE9DjYbDMR7QDcVlM
Qosliu+b/DCfO5PSHcyuqN0Cd6h4Y5i6CJjW537zApEsyMTkbNjF1S0HuK5yqd8zYLV7
mJeE1Ym3zQpMc+DDJR8mpn87TYFYoEAx8ph2+Pf1Hj4N1QEhs4L6W7KZoHS6ZXnxIJgS
67PQ==
X-Forwarded-Encrypted: i=1; AJvYcCVhdk5PSYDrMqSTvuU8zJLZEmyy+HNW/bc23yJHvKI4QOYUri87KXev3cCtgfd1JSpw4dkRseHaX/d2zww=@vger.kernel.org
X-Gm-Message-State: AOJu0YxuKrvFSLhiq44586PFbDjA700lfee+P1tipXsOAl3OABDCapkE
EiH0rUp22hkfc3yAjuAb8N8g24XcHKQbP2oj+AQTd3Whp84QW3yQzjdeaQz7C+UqyOgZrrb1DEj
2gxWkqpzhbs9KEFVRw/mr3EPvVU4Wz+0B3imNkq+covwXPCCYc7Qu0ZeQFRZDaRrCNa8nIyb9sF
qW8BiDNWKW4gUO9+RuZ6IEorJJAtIl4tG/MYTlKrZ3
X-Gm-Gg: ASbGncvC+Km/Dc94eSx0bCBj2NFP/WWBemrlA3+Eoq7KjZHTDTjXbZf2dNwjQLxHvy/
3NetVP23x8ecz6p7F723GuhPV1MozLoV4g1GO4nz8kNy71+IaU5LaOYKNgV4XZPCmzFw=
X-Received: by 2002:a05:690c:f8d:b0:70e:77df:f2f9 with SMTP id 00721157ae682-70e834b6b4cmr57425677b3.15.1748425009827;
Wed, 28 May 2025 02:36:49 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEXA1MoCQlDKMj/vjnxFoa9Ixenafk5qpgMmQxoP02dNiKS+DPrf0CqCmu1prslFonOyD8BjXzpdP7DqDLgz1I=
X-Received: by 2002:a05:690c:f8d:b0:70e:77df:f2f9 with SMTP id
00721157ae682-70e834b6b4cmr57425497b3.15.1748425009457; Wed, 28 May 2025
02:36:49 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx> <20250528065944.4511-5-zhaoqunqin@xxxxxxxxxxx>
<7ifsmhpubkedbiivcnfrxlrhriti5ksb4lbgrdwhwfxtp5ledc@z2jf6sz4vdgd>
<afaeb91a-afb4-428a-2c17-3ea5f098da22@xxxxxxxxxxx> <gymx5tbghi55gm76ydtuzzd6r522expft36twwtvpkbgcl266a@zelnthnhu7kq>
<ccb1927d-c06a-9fde-6cbb-652974464f4b@xxxxxxxxxxx>
In-Reply-To: <ccb1927d-c06a-9fde-6cbb-652974464f4b@xxxxxxxxxxx>
From: Stefano Garzarella <sgarzare@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:36:38 +0200
X-Gm-Features: AX0GCFuU5sV9AGKLfPstLyLN5Vgt-467_AuqFJUq4Wo-VbvNceizn1yYcjklrNo
Message-ID: <CAGxU2F44BTLzY9T+7yYo+XqPuZky5nHd9+BtUy4QFnoVsehpDg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v10 4/5] tpm: Add a driver for Loongson TPM device
To: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx, jgg@xxxxxxxx,
linux-integrity@xxxxxxxxxxxxxxx, Yinggang Gu <guyinggang@xxxxxxxxxxx>,
Huacai Chen <chenhuacai@xxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, 28 May 2025 at 11:25, Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx> wrote:
>
>
> =E5=9C=A8 2025/5/28 =E4=B8=8B=E5=8D=885:00, Stefano Garzarella =E5=86=99=
=E9=81=93:
> > On Wed, May 28, 2025 at 04:42:05PM +0800, Qunqin Zhao wrote:
> >>
> >> =E5=9C=A8 2025/5/28 =E4=B8=8B=E5=8D=883:57, Stefano Garzarella =E5=86=
=99=E9=81=93:
> >>>> + chip =3D tpmm_chip_alloc(dev, &tpm_loongson_ops);
> >>>> + if (IS_ERR(chip))
> >>>> + return PTR_ERR(chip);
> >>>> + chip->flags =3D TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_IRQ;
> >>>
> >>> Why setting TPM_CHIP_FLAG_IRQ?
> >>
> >> When tpm_engine completes TPM_CC* command,
> >>
> >> the hardware will indeed trigger an interrupt to the kernel.
> >
> > IIUC that is hidden by loongson_se_send_engine_cmd(), that for this
> > driver is completely synchronous, no?
> >
> >>
> >>>
> >>> IIUC this driver is similar to ftpm and svsm where the send is
> >>> synchronous so having .status, .cancel, etc. set to 0 should be
> >>> enough to call .recv() just after send() in tpm_try_transmit(). See
> >>> commit 980a573621ea ("tpm: Make chip->{status,cancel,req_canceled}
> >>> opt")
> >> The send callback would wait until the TPM_CC* command complete. We
> >> don't need a poll.
> >
> > Right, that's what I was saying too, send() is synchronous (as in ftpm
> > and svsm). The polling in tpm_try_transmit() is already skipped since
> > we are setting .status =3D 0, .req_complete_mask =3D 0, .req_complete_v=
al
> > =3D 0, etc. so IMHO this is exactly the same of ftpm and svsm, so we
> > don't need to set TPM_CHIP_FLAG_IRQ.
>
> I see, but why not skip polling directly in "if (chip->flags &
> TPM_CHIP_FLAG_IRQ)" instead of do while?
This is exactly what I'm doing in the series I linked before [1] but
without leveraging TPM_CHIP_FLAG_IRQ's hack
>
> And TPM_CHIP_FLAG_IRQ flag can remind us this hardware is "IRQ" not "POLL=
".
But you're not handling IRQ through this driver, so for the tpm
interface sending tpm commands through this driver is not interrupt
based or needs polling, but it's synchronous, so this is why I'm
adding TPM_CHIP_FLAG_SYNC in [1] and I think I can include the changes
I did for ftpm and svsm also for this driver in that series.
So my suggestion in this patch is to do something similar of what we
already have for those driver, and we can set TPM_CHIP_FLAG_SYNC when
my series will be merged (or I'll include the changes if this series
will go first).
Thanks,
Stefano
[1] https://lore.kernel.org/linux-integrity/20250514134630.137621-1-sgarzar=
e@xxxxxxxxxx/
>
> Thanks,
>
> Qunqin.
>
> >
> > Thanks,
> > Stefano
>
Return-Path: <linux-kernel+bounces-665233-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0200441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:37:16 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E38CB188F635
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:37:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C0AC6278771;
Wed, 28 May 2025 09:36:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fDfAqUJj"
Received: from mail-ua1-f43.google.com (mail-ua1-f43.google.com [209.85.222.43])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0791F277819
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:36:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.43
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425015; cv=none; b=eisI3jtDEbSsf6EwTB3IApFYzsWyo/zNcVtSOdtK1UgPVuXs0eXjXFQaBc/WfVYDKIvOUW8ju6CRYdzdEXzjnuW0JdAsOEXmm0CbSJDzmDNLI2MII45ytC6hqqnj0fFWSsCMV8OA2ZQiYZIr9+hV4ALjAEwuTqrLxpPKn820fQI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425015; c=relaxed/simple;
bh=AgYApLVxIa3sGlbNqPoIBAF/ed9Jlp4pZfwvLIU3bNI=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=Kxr5gogE45f+xlJgZpQZA0cLaf5lxpySO9zjzl3UF3nYKSXPow66tE/Vh2smqbHm1nm+ZDm1JFgU2fmfNfU3RA9A0qZIHS6aJDi77TdcrpUBaNBoLdUwkV8ZHyZuzKwvFSarRe2egY6ne/LnThxRZqcOK29r/2wDQiMw0QWKHwA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fDfAqUJj; arc=none smtp.client-ip=209.85.222.43
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ua1-f43.google.com with SMTP id a1e0cc1a2514c-87e0ce80ed4so1134429241.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:36:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748425013; x=1749029813; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=F4H4mltHWA4Hz50a14glpW/QRK0obPDlc6uSYk/4ZI4=;
b=fDfAqUJjP5KDOxQKGet0Vx4IVVKPmtzzlEnpHeYcbNXXob4R+O9UerAa5a5K7SqaIi
fa4xrIuds3vyYG9QhdXd1vLSneWgKZRhgVvIMHfPpqfkmYpo3Mk9xEpU/Qy6Ih1a28Br
NXLch6RtjzyDhlloJbBAq6Ab09kAEaZsl97M4b5pd8BwFNtrlUQz3Ww5x6mWIW1g138P
AS0EkLLru5H4qkxdJRO8ktAKQ6oXcBWEaWzMIiQjbtNoJ2ZptnJa0RBvNZFtHskmqRHE
tRkJuGwKVD5QjX+1R0EQPOo+5m/fwahmi/MljqgzrKPI93R+FTMazYvIKZZs/eEwWYED
vfLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748425013; x=1749029813;
h=content-transfer-encoding:cc:to: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=F4H4mltHWA4Hz50a14glpW/QRK0obPDlc6uSYk/4ZI4=;
b=uweAhvICt7OdZs19pbZXR97AU4CtImr4kIagPaWct/fSFpGo4X18uVV3zxm07tDR5D
XGKoTlvlCzdjSoQ6FYCtur69NvcvaOkzJ0q/p/omgBTER/sOeu6qpO8z6Tk2GWGZgIg9
NuQnQrf1UXJMnxhbf+0j1Qr7rLYY/lm0LLflP0X7FG2L8HA+lLgUk5mXvgh+X8mTOgtZ
piLbOHXikU8n1dUEZsZVOE58rNrnjJKM6CLH2xrHqeJxgjSkq354IbPuEb0x3lGmQjv/
jTJKoXbSCAB5i26MWf5vFcEWwSC2d6awnT2+hxqRpIpMr87eqZRg515zAFlmXodpOdX+
2oFQ==
X-Forwarded-Encrypted: i=1; AJvYcCUhGeZoqgDbfCKxD36sfA/jzk/4MpGCnVNNK+bYYCp4+HGKJ+bOlGs4a2dW9cPt25QzK9IwWIg+qu0fYa0=@vger.kernel.org
X-Gm-Message-State: AOJu0Yzumtuk/P/1eCwDbsKr5rdUTF79eUheqbqZfaSPB8pvzGlYO5Kk
QqgSWLYsnsKYp4tHKdWkQuuJ/fL90BtLR267dvl5+ZbzuTmk+q5JuT8hy3f91DRN+iMC/nWh44v
r/7YnJH7uku+VEwh4ZowehXX47LnFe3c=
X-Gm-Gg: ASbGncuz4AlmjN29gufwxV9sOGg5s1NpVq3VRgdxgzEy5bYospoT6qyySPcoYXMQl8m
Pyz4fHrv39Q6A9oOEST7rAuMNUBuB56mFUGwz6Ippqyo3LYiVdPLyxwrmM543U0Ii2C8H0NtAbN
h2pZgzPJOfX7Z5g8y9zkwTohdLJhF6pIFC0A==
X-Google-Smtp-Source: AGHT+IFPS3+nOyu5GsyZnyt+mdeoMYzphKgXldIOhAR0xUYhOH++PX1IaDSOYuVo4ytjgwf46RsusX5qk/oLVlEUV7s=
X-Received: by 2002:a05:6102:161f:b0:4e5:9c06:39d8 with SMTP id
ada2fe7eead31-4e59c063b13mr1566237137.5.1748425012652; Wed, 28 May 2025
02:36:52 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250527044145.13153-1-21cnbao@xxxxxxxxx> <93385672-927f-4de5-a158-fc3fc0424be0@lucifer.local>
In-Reply-To: <93385672-927f-4de5-a158-fc3fc0424be0@lucifer.local>
From: Barry Song <21cnbao@xxxxxxxxx>
Date: Wed, 28 May 2025 17:36:40 +0800
X-Gm-Features: AX0GCFuEZj13XFVajxQytEEJ3CxbWz8WhpholMp_an_EqsoYNNGJof5-x-h5N-o
Message-ID: <CAGsJ_4yHQLmUF7ZRMjaV7c1JQ9-Sr3ccWMTOBwAyKUSaB7CPhA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH RFC] mm: use per_vma lock for MADV_DONTNEED
To: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
Cc: akpm@xxxxxxxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, Barry Song <v-songbaohua@xxxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>,
Vlastimil Babka <vbabka@xxxxxxx>, Jann Horn <jannh@xxxxxxxxxx>,
Suren Baghdasaryan <surenb@xxxxxxxxxx>, Lokesh Gidra <lokeshgidra@xxxxxxxxxx>,
Tangquan Zheng <zhengtangquan@xxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 5:20=E2=80=AFPM Lorenzo Stoakes
<lorenzo.stoakes@xxxxxxxxxx> wrote:
>
> Overall - thanks for this, and I'm not sure why we didn't think of doing
> this sooner :P this seems like a super valid thing to try to use the vma
> lock with.
>
> I see you've cc'd Suren who has the most expertise in this and can
> hopefully audit this and ensure all is good, but from the process address
> doc (see below), I think we're good to just have the VMA stabilised for a
> zap.
>
> On Tue, May 27, 2025 at 04:41:45PM +1200, Barry Song wrote:
> > From: Barry Song <v-songbaohua@xxxxxxxx>
> >
> > Certain madvise operations, especially MADV_DONTNEED, occur far more
> > frequently than other madvise options, particularly in native and Java
> > heaps for dynamic memory management.
>
> Ack yeah, I have gathered that this is the case previously.
>
> >
> > Currently, the mmap_lock is always held during these operations, even w=
hen
> > unnecessary. This causes lock contention and can lead to severe priorit=
y
> > inversion, where low-priority threads=E2=80=94such as Android's HeapTas=
kDaemon=E2=80=94
> > hold the lock and block higher-priority threads.
>
> That's very nasty... we definitely want to eliminate as much mmap_lock
> contention as possible.
>
> >
> > This patch enables the use of per-VMA locks when the advised range lies
> > entirely within a single VMA, avoiding the need for full VMA traversal.=
In
> > practice, userspace heaps rarely issue MADV_DONTNEED across multiple VM=
As.
>
> Yeah this single VMA requirement is obviously absolutely key.
>
> As per my docs [0] actually, for zapping a single VMA, 'The VMA need only=
be
> kept stable for this operation.' (I had to look this up to remind myself =
:P)
>
> [0]: https://kernel.org/doc/html/latest/mm/process_addrs.html
>
> So we actually... should be good here, locking-wise.
>
> >
> > Tangquan=E2=80=99s testing shows that over 99.5% of memory reclaimed by=
Android
> > benefits from this per-VMA lock optimization. After extended runtime,
> > 217,735 madvise calls from HeapTaskDaemon used the per-VMA path, while
> > only 1,231 fell back to mmap_lock.
>
> Thanks, this sounds really promising!
>
> I take it then you have as a result, heavily tested this change?
This was extensively tested on an older Android kernel with real devices.
As you know, running the latest mm-unstable on phones is challenging due
to hardware driver constraints. However, I believe the reported percentage
is accurate, since it seems pointless for userspace heaps to free memory
across two or more VMAs. How could it possibly manage a slab-like system
spanning multiple VMAs?
>
> >
> > To simplify handling, the implementation falls back to the standard
> > mmap_lock if userfaultfd is enabled on the VMA, avoiding the complexity=
of
> > userfaultfd_remove().
>
> Oh GOD do I hate how we implement uffd. Have I ever mentioned that? Well,
> let me mention it again...
>
> >
> > Cc: "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>
> > Cc: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> > Cc: David Hildenbrand <david@xxxxxxxxxx>
> > Cc: Vlastimil Babka <vbabka@xxxxxxx>
> > Cc: Jann Horn <jannh@xxxxxxxxxx>
> > Cc: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> > Cc: Lokesh Gidra <lokeshgidra@xxxxxxxxxx>
> > Cc: Tangquan Zheng <zhengtangquan@xxxxxxxx>
> > Signed-off-by: Barry Song <v-songbaohua@xxxxxxxx>
> > ---
> > mm/madvise.c | 34 ++++++++++++++++++++++++++++++++++
> > 1 file changed, 34 insertions(+)
> >
> > diff --git a/mm/madvise.c b/mm/madvise.c
> > index 8433ac9b27e0..da016a1d0434 100644
> > --- a/mm/madvise.c
> > +++ b/mm/madvise.c
> > @@ -1817,6 +1817,39 @@ int do_madvise(struct mm_struct *mm, unsigned lo=
ng start, size_t len_in, int beh
> >
> > if (madvise_should_skip(start, len_in, behavior, &error))
> > return error;
> > +
> > + /*
> > + * MADV_DONTNEED is commonly used with userspace heaps and most o=
ften
> > + * affects a single VMA. In these cases, we can use per-VMA locks=
to
> > + * reduce contention on the mmap_lock.
> > + */
> > + if (behavior =3D=3D MADV_DONTNEED || behavior =3D=3D MADV_DONTNEE=
D_LOCKED) {
>
> So firstly doing this here means process_madvise() doesn't get this benef=
it, and
> we're inconsistent between the two which we really want to avoid.
>
> But secondly - we definitely need to find a better way to do this :) this
> basically follows the 'ignore the existing approach and throw in an if
> (special case) { ... }' pattern that I feel we really need to do all we c=
an
> to avoid in the kernel.
>
> This lies the way of uffd, hugetlb, and thus horrors beyond imagining.
>
> I can see why you did this as this is kind of special-cased a bit, and we
> already do this kind of thing all over the place but let's try to avoid
> this here.
>
> So I suggest:
>
> - Remove any code for this from do_madvise() and thus make it available t=
o
> process_madvise() also.
>
> - Try to avoid the special casing here as much as humanly possible :)
>
> - Update madvise_lock()/unlock() to get passed a pointer to struct
> madvise_behavior to which we can add a boolean or even better I think -
> an enum indicating which lock type was taken (this can simplify
> madvise_unlock() also).
>
> - Update madvise_lock() to do all of the checks below, we already
> effectively do a switch (behavior) so it's not so crazy to do this. And
> you can also do the fallthrough logic there.
>
> - Obviously madvise_unlock() can be updated to do vma_end_read().
I=E2=80=99ve definitely considered refactoring madvise_lock, madvise_do_beh=
avior,
and madvise_unlock to encapsulate the details of the per-VMA locking and
mmap_lock handling within those functions:
madvise_lock(mm, behavior);
madvise_do_behavior(mm, start, len_in, behavior);
madvise_unlock(mm, behavior);
However, I=E2=80=99m a bit concerned that this approach might make the code=
messier
by introducing extra arguments to handle different code paths. For instance=
,
madvise_do_behavior might need an additional parameter to determine whether
VMA traversal via madvise_walk_vmas is necessary.
That said, I=E2=80=99ll give it a try and see if it actually turns out to b=
e as ugly
as I fear.
>
> > + struct vm_area_struct *prev, *vma;
> > + unsigned long untagged_start, end;
> > +
> > + untagged_start =3D untagged_addr(start);
> > + end =3D untagged_start + len_in;
> > + vma =3D lock_vma_under_rcu(mm, untagged_start);
> > + if (!vma)
> > + goto lock;
> > + if (end > vma->vm_end || userfaultfd_armed(vma)) {
> > + vma_end_read(vma);
> > + goto lock;
> > + }
> > + if (unlikely(!can_modify_vma_madv(vma, behavior))) {
> > + error =3D -EPERM;
> > + vma_end_read(vma);
> > + goto out;
> > + }
> > + madvise_init_tlb(&madv_behavior, mm);
> > + error =3D madvise_dontneed_free(vma, &prev, untagged_star=
t,
> > + end, &madv_behavior);
> > + madvise_finish_tlb(&madv_behavior);
> > + vma_end_read(vma);
> > + goto out;
> > + }
> > +
> > +lock:
> > error =3D madvise_lock(mm, behavior);
> > if (error)
> > return error;
> > @@ -1825,6 +1858,7 @@ int do_madvise(struct mm_struct *mm, unsigned lon=
g start, size_t len_in, int beh
> > madvise_finish_tlb(&madv_behavior);
> > madvise_unlock(mm, behavior);
> >
> > +out:
> > return error;
> > }
> >
> > --
> > 2.39.3 (Apple Git-146)
> >
>
> Cheers, Lorenzo
Thanks
Barry
Return-Path: <linux-kernel+bounces-665234-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 006D441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:39:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5031C3ABA24
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:39:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 121E827816B;
Wed, 28 May 2025 09:39:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="HvUQP+Gj"
Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.153.233])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D6AB1EB193;
Wed, 28 May 2025 09:39:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.153.233
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425162; cv=none; b=MK2aFRUUqX46Zw8MhD8Lq1x7siLQJmffZ5F5UQQw083W3Qpx+EUCONc8S2q8kC4FKOmLSgSeYCybEcsgqv5idMcSDZYT+xeZ34Rx4iGuKhLd4DwsEQQb44VSg2GQuzHAHhFuD4tC4rKD1/MIeUtx4kraP7mCr7dnVYkBOG9TMks=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425162; c=relaxed/simple;
bh=6LD09DYS/0kYn1kkjqpbETm1/pEymJDs2xvRz8uJ0/A=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=QpeDIRFezXOyZwk00QpIIBPLW4U57nr+VTHmE7XLTQ2a0YHJ3ATZiKsGu8YPwTHh8HhhhB5MHedeaFNgUYXgvjATUEWd1h9ekDgbYQcwAxB4B6LmAEmK4tanbvpAY2aIECEAhwcdsQ2E6pVmoLsSBgBrAuHERhf8UhizOjgQnt8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com; spf=pass smtp.mailfrom=microchip.com; dkim=pass (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b=HvUQP+Gj; arc=none smtp.client-ip=68.232.153.233
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=microchip.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=microchip.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp;
t=1748425161; x=1779961161;
h=from:to:cc:subject:date:message-id:mime-version:
content-transfer-encoding;
bh=6LD09DYS/0kYn1kkjqpbETm1/pEymJDs2xvRz8uJ0/A=;
b=HvUQP+GjjGMx3X0dHUqSSFTW0231s8ofvj/IrHl3hgv6T7fuQ1WTsznM
ie/qCBZ3vPK0/FlnXOTwcVEn/g2D3LrwdSCrztmBQa5JzwpT9fDgNEqHp
1xiyUTMBkeP1KCkzfe8wcqhGU0Ozg9uJBAYQd+QlD/gcxu4HISAuU7M5Q
invkOJLcwGftd2mczMHZkyz4y+fuq0ChRN2OBcs7MxK0BNtMgPgEM5Vxx
h8DtYSeJgYC7xKlURw7so/5BkOJim1adiD9eXcev5u7CC4opXgzezlSf3
NSmTmgxMY6yMEsnLugNlJfqBmw/63NtinR4ViXowYqhL/CqiUaG37B+WG
g==;
X-CSE-ConnectionGUID: 7lF291wvQn+FgAjIRLT7Iw==
X-CSE-MsgGUID: wkNj7d69SDqxvKOXLpOy7A==
X-IronPort-AV: E=Sophos;i="6.15,320,1739862000";
d="scan'208";a="42157104"
X-Amp-Result: SKIPPED(no attachment in message)
Received: from unknown (HELO email.microchip.com) ([170.129.1.10])
by esa3.microchip.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 28 May 2025 02:39:13 -0700
Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by
chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
15.1.2507.44; Wed, 28 May 2025 02:38:34 -0700
Received: from DEN-DL-M31836.microchip.com (10.10.85.11) by
chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server id
15.1.2507.44 via Frontend Transport; Wed, 28 May 2025 02:38:32 -0700
From: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
To: <UNGLinuxDriver@xxxxxxxxxxxxx>, <andrew+netdev@xxxxxxx>,
<davem@xxxxxxxxxxxxx>, <edumazet@xxxxxxxxxx>, <kuba@xxxxxxxxxx>,
<pabeni@xxxxxxxxxx>
CC: <netdev@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, Horatiu Vultur
<horatiu.vultur@xxxxxxxxxxxxx>, Maxime Chevallier
<maxime.chevallier@xxxxxxxxxxx>
Subject: [PATCH net v2] net: lan966x: Make sure to insert the vlan tags also in host mode
Date: Wed, 28 May 2025 11:36:19 +0200
Message-ID: <20250528093619.3738998-1-horatiu.vultur@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.34.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
When running these commands on DUT (and similar at the other end)
ip link set dev eth0 up
ip link add link eth0 name eth0.10 type vlan id 10
ip addr add 10.0.0.1/24 dev eth0.10
ip link set dev eth0.10 up
ping 10.0.0.2
The ping will fail.
The reason why is failing is because, the network interfaces for lan966x
have a flag saying that the HW can insert the vlan tags into the
frames(NETIF_F_HW_VLAN_CTAG_TX). Meaning that the frames that are
transmitted don't have the vlan tag inside the skb data, but they have
it inside the skb. We already get that vlan tag and put it in the IFH
but the problem is that we don't configure the HW to rewrite the frame
when the interface is in host mode.
The fix consists in actually configuring the HW to insert the vlan tag
if it is different than 0.
Reviewed-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
Fixes: 6d2c186afa5d ("net: lan966x: Add vlan support.")
Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
---
v1->v2:
- fix typos
- set REW_TAG_CFG_TAG_CFG_SET to a value of 2 to match the comments
---
.../ethernet/microchip/lan966x/lan966x_main.c | 1 +
.../ethernet/microchip/lan966x/lan966x_main.h | 1 +
.../microchip/lan966x/lan966x_switchdev.c | 1 +
.../ethernet/microchip/lan966x/lan966x_vlan.c | 21 +++++++++++++++++++
4 files changed, 24 insertions(+)
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
index 427bdc0e4908c..7001584f1b7a6 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
@@ -879,6 +879,7 @@ static int lan966x_probe_port(struct lan966x *lan966x, u32 p,
lan966x_vlan_port_set_vlan_aware(port, 0);
lan966x_vlan_port_set_vid(port, HOST_PVID, false, false);
lan966x_vlan_port_apply(port);
+ lan966x_vlan_port_rew_host(port);
return 0;
}
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.h b/drivers/net/ethernet/microchip/lan966x/lan966x_main.h
index 1f9df67f05044..4f75f06883693 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.h
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.h
@@ -497,6 +497,7 @@ void lan966x_vlan_port_apply(struct lan966x_port *port);
bool lan966x_vlan_cpu_member_cpu_vlan_mask(struct lan966x *lan966x, u16 vid);
void lan966x_vlan_port_set_vlan_aware(struct lan966x_port *port,
bool vlan_aware);
+void lan966x_vlan_port_rew_host(struct lan966x_port *port);
int lan966x_vlan_port_set_vid(struct lan966x_port *port,
u16 vid,
bool pvid,
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c b/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
index 1c88120eb291a..bcb4db76b75cd 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_switchdev.c
@@ -297,6 +297,7 @@ static void lan966x_port_bridge_leave(struct lan966x_port *port,
lan966x_vlan_port_set_vlan_aware(port, false);
lan966x_vlan_port_set_vid(port, HOST_PVID, false, false);
lan966x_vlan_port_apply(port);
+ lan966x_vlan_port_rew_host(port);
}
int lan966x_port_changeupper(struct net_device *dev,
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c b/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c
index fa34a739c748e..7da22520724ce 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c
@@ -149,6 +149,27 @@ void lan966x_vlan_port_set_vlan_aware(struct lan966x_port *port,
port->vlan_aware = vlan_aware;
}
+/* When the interface is in host mode, the interface should not be vlan aware
+ * but it should insert all the tags that it gets from the network stack.
+ * The tags are not in the data of the frame but actually in the skb and the ifh
+ * is configured already to get this tag. So what we need to do is to update the
+ * rewriter to insert the vlan tag for all frames which have a vlan tag
+ * different than 0.
+ */
+void lan966x_vlan_port_rew_host(struct lan966x_port *port)
+{
+ struct lan966x *lan966x = port->lan966x;
+ u32 val;
+
+ /* Tag all frames except when VID=0*/
+ val = REW_TAG_CFG_TAG_CFG_SET(2);
+
+ /* Update only some bits in the register */
+ lan_rmw(val,
+ REW_TAG_CFG_TAG_CFG,
+ lan966x, REW_TAG_CFG(port->chip_port));
+}
+
void lan966x_vlan_port_apply(struct lan966x_port *port)
{
struct lan966x *lan966x = port->lan966x;
--
2.34.1
Return-Path: <linux-kernel+bounces-665235-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3EDFD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:39:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2C3673AEB15
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:39:27 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AB2DC27933C;
Wed, 28 May 2025 09:39:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Rz0ddtiF"
Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9B99A278E60;
Wed, 28 May 2025 09:39:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425167; cv=none; b=q07Fr2DQPrXSHnNBudaU5zU7+2lcvrNoSLcQ89Xs02a0eRBlh4L6BVBxWHGpm+FrfiltRs0+RUTYQas9PmEw3jac6WNV3pEMiaFRlOeqVLByeLZ/lK6sVol2M9mEq/W2fF6YAz37SeKt7maQc0VlgJ/UBsIkSYOkHGsdNqjFWuA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425167; c=relaxed/simple;
bh=y4NzMxD9tmogr+AetKOa3VXWiWOLUF+6spJ2YgI8RsY=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=d/jOcDncrth8A9PXbDWjJn4Ta6u9QeF4PExu46N0fJw+9KxvLQ2nNPWIRUFrencDU5Bhw/bEEWNcBuMpDIcgHOHiesQx3fT40CQLwM8uLR5HRoifkQrmlCftY1zPlhWy1zqJIOhE4LS031BzKbKWLsgyuVMIqk395gp5RwwJjik=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Rz0ddtiF; arc=none smtp.client-ip=209.85.216.52
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-311f6be42f1so37547a91.0;
Wed, 28 May 2025 02:39:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748425165; x=1749029965; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=ZQBoysENhIbgW5/kLFhu2v5G6iCydX7mEkkhpaN14T0=;
b=Rz0ddtiF85FovreUueojk0HHigqQKTsz06tTQa32/Sq9vmZnp/LxnW+L8dYn6zhrh1
awWf3hm7MTwiTaGVPIuoifcvaadmsxL2ZWJe12TJDbM1xDfGew1h8h60YdBbRyUniHXx
v8gDTz3K3eVvDScswnZP2/NhksvgRXx3HGknM4yo9HsWk5Q89Yi6yP+E52xbFsEROAMd
IPHfCwxCx+uCV9Wne/tG1SdNzFbhApvPsMZsPMrHCpP3LaMmkPuKIDTbX0ovrL4yT6wn
14n316aYxgaBMwEtuFrWdQVkamNxKs4Z+4dcJAy0Vwn5n0BBewLgeCj1JDnwV1+vwEo7
AcKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748425165; x=1749029965;
h=content-transfer-encoding:cc:to: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=ZQBoysENhIbgW5/kLFhu2v5G6iCydX7mEkkhpaN14T0=;
b=kHijPsgQeEtHWaK+hC5aVdtMqAJaaL20yxv4lq25hmBon5DIyOCfRQ4aZ3qmUvbIu7
Yagpv0bOFUIQsAFQWd5xe4V9xAnlVDTLP6PwHgTyczd7iWTy7dYX4T2GSXnNIYQwPq4L
hfzZO3oEg9DqPmBJvkxN4CiXNCutKtJtxS9C7iejPiAocMbzWtkuLAggKBTzA15Wl6TM
ufNea0iqOZnkFDYgpzIF3Lb8rKrbi/IwCbkvfoYk1MYMGC4Fhid0b7gK0bc1WxfYNSIk
kKutEInZRHwsG1PDHvJRWS+ENaK7HdT2myrE7fc+WJt2wbxW2vxkjiHgspuG9FZMGXMc
bf4g==
X-Forwarded-Encrypted: i=1; AJvYcCWIBczkzF24amG7+kZnVa5Qer7V1XH6E2wKqtNKuUFCeLeI30czmKXwowZnn6YbhVN/Sz8=@vger.kernel.org, AJvYcCWJJr8QHfo7vnfF3ZQ+fc48wDSRcPSTmzIWLBnAUjjIdo0bi4nC+l9eETRFc1Q3X50olvawvoXlFShTndF0LdA=@vger.kernel.org
X-Gm-Message-State: AOJu0YwMclseVYDs8yXfqQJm1OjDeBRANAZwph3SGICLbj85aqRrLIfl
ISrNwl6NP777R6FCBBwzcKvYgRRurQsy+Qibgq5pZ6OyN6i6tYIlet2RUbOv7yRV7kf6iy5Hg1i
ThGjj9+Xrnfcy4LWpxLS2gmcvqdiZheU=
X-Gm-Gg: ASbGncs5ck6SgfmBs0DqZB1qGxenep35fiwpI7b+Q9Tr1gc6AMbYbPVHtH9KMbg7DJ9
qJFccVVw1cUsE0Cj/BZtTgruvVqBz3D2PmzvVJnT1yA8kKK+uV6euP64Q1KxALoB1mHR/X/MxPU
8EtcjxPQKvqMNNE/1qGzP5Fr+Zwe5GXZde
X-Google-Smtp-Source: AGHT+IES7Q+itUfT5wFGMqq1cdttplKaNdUc32Nx59Bv5rwPOYXCpDB88AGK9vWYeBz/+WcV0xKa7x6/E1mxh1Z7838=
X-Received: by 2002:a17:90b:1e10:b0:311:488:f506 with SMTP id
98e67ed59e1d1-311e1a122b4mr1202559a91.6.1748425164739; Wed, 28 May 2025
02:39:24 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250528083431.1875345-1-pbonzini@xxxxxxxxxx>
In-Reply-To: <20250528083431.1875345-1-pbonzini@xxxxxxxxxx>
From: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>
Date: Wed, 28 May 2025 11:39:12 +0200
X-Gm-Features: AX0GCFvBLnlzWD65XoPoEaCqR8aQRkKJqxadBtl2y6UrWx3JHjZf3XpuLM3RmeQ
Message-ID: <CANiq72nwM79eGSAt8FjKgoYCJd-bLeTojaQAtg3SECE28uByQQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH] rust: add helper for mutex_trylock
To: Paolo Bonzini <pbonzini@xxxxxxxxxx>, Boqun Feng <boqun.feng@xxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx,
rust-for-linux@xxxxxxxxxxxxxxx, ojeda@xxxxxxxxxx,
Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 10:34=E2=80=AFAM Paolo Bonzini <pbonzini@xxxxxxxxxx=
> wrote:
>
> Ok to apply to the KVM tree?
Yeah, looks good to me, thanks!
Acked-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
Cc'ing Boqun just in case and so that he is aware. Boqun: this fixes a
Rust build error on the kvm branch which failed on merging into -next:
https://lore.kernel.org/linux-next/20250528152832.3ce43330@xxxxxxxxxxxx=
g.au/
Cheers,
Miguel
Return-Path: <linux-kernel+bounces-665236-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DD80741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:44:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id DAB763B345E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:44:33 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 131CD27814B;
Wed, 28 May 2025 09:44:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="CN3S7/WF";
dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="PkmIfHQF"
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C351262A6
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:44:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425488; cv=fail; b=B/+yqcIYs5Vv8nzB+FDGJtnMaJo+TRt6Rk2ebxVeZRgflA3p/oK+JTU5JrqsVKc6haNohYfUh8gAODySLB9uFBeMx4SgpKL1+znbTU58k1Tx54y3OwFiwRKvBgogeCamyvqhPUctYGWh8Oxd9Qvmv+mB440T5w6WHz5AdiowXFE=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425488; c=relaxed/simple;
bh=rPZZ87WS0iM5MQpaOsD4dNkUD+ygDG7AmWZi+lxTNCc=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=fAhTHcrJ9QA8KRqpjVWZFNj2TwyHW+C/rVm9YZLnAmmXyMnh8a5VGXq/5N/gZUjmk1YA1QmRR2dIS3yJINvd1DnKdxaFC3zbFzDwfVVkprgKaZ4QHi0hjb5dZKZFJ3M5PdEaoELqGXkn+yX40MmZRPZj6fUcAuLBiGlt7KJaBe4=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=CN3S7/WF; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=PkmIfHQF; arc=fail smtp.client-ip=205.220.165.32
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com
Received: from pps.filterd (m0246629.ppops.net [127.0.0.1])
by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S1h85j011936;
Wed, 28 May 2025 09:44:32 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=
corp-2025-04-25; bh=R0ZzjDhPaopAVWtpyFMjA7rdixihnqNSTOMx32pN+ow=; b=
CN3S7/WFlmRamrBw0OYT65YkdnK5zRY27uYhYhhCfWS+N2lv/QHuFz2w9Jh+yHzU
C8HwFfmUjx4Hu3zSZajat7u6Jsgpqu9UfWtet4MqdFAEMKu2Gff+O8lieFnoeWbj
6n1YWxZdz37efwZW/LrBVvM0ZYGISDASV2wTmObxncQWx4d1zzaVzuZZH9AJQnE/
DZ/oD7xkjJKD8vgRNoCycKI45f5dMydTsEe2zuQKEQp1L9fFMSV30+EU0WBlcn7l
jlqv9NImuAuxl4GUwKVvkyZ5jndgque/USTHNJc0Wd273a5ueri04rF+mi+6hbFQ
KTxYAVYyIfTPJdvaFd6vIQ==
Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223])
by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46v3pd58cb-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 09:44:31 +0000 (GMT)
Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 54S7j54a025374;
Wed, 28 May 2025 09:44:00 GMT
Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10on2054.outbound.protection.outlook.com [40.107.93.54])
by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 46u4jaegn7-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 09:44:00 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=nWnMxrjiN1gONA04wsSJUk8UPcrzQraWsGImZNnt6NMD4A+OvJ+c+zJ0vM1h8aYk47HHz4KXmB0TuM9/JBe2V/IW7l3Yq+0HO2H+jCvEL1jqxbxSEjHiT4cX9BdBkUpk2iwt6YYCxJoMoGh0AqhkLXtzhSv5t5H9ve3BQla/rcUfhMfJxrxpYlw4EbJZ2iJaVwr7xu60Mn1jnqJy52zcXn8F0eMUAgi9Z0cDKf5ANpUs0u14QDaumoa7WgBNAOEtgJ3am7LtMupmdbLGvT/4BBTJ6TA+LL3eUmV3xXdPbLrlm0ePGJCHg5oKttLwIZEFcXE3iDPTCiFpNCngaI0U0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=R0ZzjDhPaopAVWtpyFMjA7rdixihnqNSTOMx32pN+ow=;
b=L+QTMH8yHMtFTQgcHOGeK07l4eBoK2KtzW4NaZ9fYKRFMuaWrbUwbIgNqEj+SGOvA/9bYoyudpuyBkBNr3Y38r7pjmoPfloofevtXu1kyOvCtjFCpogNYcYgyWIwiu+PI58nL8qV2k5rTn8PoEwNLMHvyGMokO/mfJ8UUK/iGQ6f0lYwY0EgdH+qRDYPLoBRXFqvkkUF+r6Ie30uyRSBZ/7EWJ+X0FPLbEhfAKqjNgQ8pwZnq0StJQOqHyji6SQDYX3K3jWgxkQQwil9HVEve9VbNVWIJ8qZGHGQAHkBqK7LeRRgwJg6Gl5cW6XuSnuOsN8a8AT9Pg0LcTs9YHIB7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=R0ZzjDhPaopAVWtpyFMjA7rdixihnqNSTOMx32pN+ow=;
b=PkmIfHQFOFIUirkYL3Xtgonor25e9kbaLf/gvOGhAFp436RFjCmMBRhl5/CBhNHytw4wOKgjs46dwU4HfM18jghafQdlzy8ln25yv3Vwmbcg86I3rsaNv4ZDucjFeGq6MgeAdfwy/l3kno9AyMDsS9GJ6sBQ0g7Jpu4j1hTlfW4=
Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16)
by PH7PR10MB7731.namprd10.prod.outlook.com (2603:10b6:510:30c::18) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.30; Wed, 28 May
2025 09:43:57 +0000
Received: from DM4PR10MB8218.namprd10.prod.outlook.com
([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com
([fe80::2650:55cf:2816:5f2%5]) with mapi id 15.20.8746.030; Wed, 28 May 2025
09:43:57 +0000
Date: Wed, 28 May 2025 10:43:55 +0100
From: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
To: Barry Song <21cnbao@xxxxxxxxx>
Cc: akpm@xxxxxxxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, Barry Song <v-songbaohua@xxxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>,
David Hildenbrand <david@xxxxxxxxxx>, Vlastimil Babka <vbabka@xxxxxxx>,
Jann Horn <jannh@xxxxxxxxxx>, Suren Baghdasaryan <surenb@xxxxxxxxxx>,
Lokesh Gidra <lokeshgidra@xxxxxxxxxx>,
Tangquan Zheng <zhengtangquan@xxxxxxxx>
Subject: Re: [PATCH RFC] mm: use per_vma lock for MADV_DONTNEED
Message-ID: <bbf35e8a-d90a-4e06-a941-3690be6577ba@lucifer.local>
References: <20250527044145.13153-1-21cnbao@xxxxxxxxx>
<93385672-927f-4de5-a158-fc3fc0424be0@lucifer.local>
<CAGsJ_4yHQLmUF7ZRMjaV7c1JQ9-Sr3ccWMTOBwAyKUSaB7CPhA@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAGsJ_4yHQLmUF7ZRMjaV7c1JQ9-Sr3ccWMTOBwAyKUSaB7CPhA@xxxxxxxxxxxxxx>
X-ClientProxiedBy: LO6P123CA0022.GBRP123.PROD.OUTLOOK.COM
(2603:10a6:600:313::15) To DM4PR10MB8218.namprd10.prod.outlook.com
(2603:10b6:8:1cc::16)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|PH7PR10MB7731:EE_
X-MS-Office365-Filtering-Correlation-Id: a074247b-6b69-41aa-2320-08dd9dcc2b03
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?bFZSMEFXYjZBVEhWWld4bDd5SnZZcmJmREpXdWxCclpjQjdzVisyWXY4Z2E3?=
=?utf-8?B?cDlseXp6dVd1bzZha0FzK1c3ZzV5UTM2V3VxUG9rS21kaStuTlNrWVhlOTl5?=
=?utf-8?B?ekxaUFRDdHYvN3k5SmpsMmpMaGtBV2lpU1JBeW5JZzl4Q3krV0Flc1VrVzE5?=
=?utf-8?B?VXJpU0xYdGdHbWQvVmVEOWFQRE9JVzk5OGpKRHJZVFdjaDR0enp6VzJFU3Vp?=
=?utf-8?B?MDRJMGJQeEgyM1FIS0tGRC85TXpjNWdUMlNqSnRSVG4rREJwd0tVamFMS1Y0?=
=?utf-8?B?cnZYM1M3ZU5ObVZkaFhZaWhId0JEOUx1ODh3TElDMndYcVNOQ0dZSHRvSzRY?=
=?utf-8?B?WFdjYmRlalhVRzFMd1dnaXE1Y3Q3YTBvWENYdFp5V3hQMlVCbUJ2RmMzT1Yv?=
=?utf-8?B?OWtLN2c0dmNYcHgvS2pPMDBVOC9ILzR4OWJiWUNXWUxJbW16TzdKSERMaU1u?=
=?utf-8?B?ODNvVnZjRG43NzJTQjRGQTUzdFlUM24vai9hbXVvY2pKTUxwTmtiN0JPc1Ba?=
=?utf-8?B?S1VSSU1Ud09JQmJCNHEwVGdTd2V0SWVnekdHaGtTM3poc3lydnQycitaZVhV?=
=?utf-8?B?dzZqbVdrRUR0Mlk4NXdScS9KeGtSSnI5eCtQYVZQNVZEbEhHazdianJ5T0Q4?=
=?utf-8?B?U0k2TllFT2lNV3Qxd2RCZEFNNm9Vb3AyNG9MSVkrWDdqWDB1SUh3Q3V4TmVa?=
=?utf-8?B?VTMrTVdXZlFsVklkU1Rxak43NUZTdUY5RENydTZaV3U5M3hDQU5LUVVVQk81?=
=?utf-8?B?dHF1SXJWZ3FNMkdLUWxXVnFlWGdpV1gwclVGUTRiQU1hOVFuUFZuRFBSWFZm?=
=?utf-8?B?SE9Jbk5PM05YWUd5ZmQ2NzlQTklLTktLSGo3L0RSc3NSM0hCaU80MVkxY09Z?=
=?utf-8?B?RFEwV0hqU09VTDN3U1VsYzNtS3c2aG5rT1cxeFB4TFQ0T21NNTMrYkhKcXll?=
=?utf-8?B?ZVowbzYzNUtMZlM4aXFURjlBNkFMRnFHY1lFUDhKY094TElWckdET3VmSjdy?=
=?utf-8?B?WGhZZlhUUWpqUkg1QUo3bVFQRDRrTUwwYTBhSENJVU1VUDFpVWV5V2g4OHBT?=
=?utf-8?B?Z1VaTnorRk93WUdKREwvRGVnZ2IxMUZ4NW50RXQ1SW9rb1QwNXhUcjM0NG9W?=
=?utf-8?B?MU9pQ0dIWURHem9pT21VYjhLREtEM2o2Zy91ZEJhWU5TOUlhelMyU3FMS08x?=
=?utf-8?B?OVhzeXBha3JudG9mVkR5VFpaWlRwWFJhOS9nblpWZ0RRc2VSdjVyY2Iza013?=
=?utf-8?B?TEpwUjAyU2h5TGtYcHplSm93NVJQNTdaWWJrTmNSS1VyaWEzcmpEQ09saXhC?=
=?utf-8?B?b3pIeGhZVWxnMnVia1A1N3dqc2YyeEpyWnpwWTcxYTBVVE43Z2EzbmFJd21C?=
=?utf-8?B?dEVUK0ZtTnQvWkpaUVZvaElOTGZtZTlldnY5SHhEM0ZZQzVPWWsrYi96N29S?=
=?utf-8?B?MVh5OWxmZWdBR1hwMnE5WGtMZWtnOURmUFpsdDhDakFYT1ovWHhFZ0RCcmZD?=
=?utf-8?B?aStZbFZFanRvUCtIVHkyeVRvOEZKN2dDR2QxUTUwU3Avc2p0R2ZtZTlpMWJF?=
=?utf-8?B?cld4NVExTE5sK2hZR1BXUTZwZjkvQ2s5ek90U0V6SG1hNkg0ZkpONTRvcDR1?=
=?utf-8?B?dnRDTHdXT1dtaHRvN0NFSjZXeUJ3OFdxWFI3bEVsd3lVeTlKSy9XNEZYdXZW?=
=?utf-8?B?NW5ENVFlVjRDTEhRazcrdmo1VnpZRTdvVDVVU0p0S2g4NFZJT05YR0lmOGlL?=
=?utf-8?B?M0V2cUFySDdHUTBQMUNlM3JIbjFISG1vUmlVeXJHazFEN2tuQStmR3UrOVdu?=
=?utf-8?B?TFNYTTlzVjQ3bk81Y1c5WndhNGdBeGxxa2hMOWVwb1E3eTBDaEw3V2o1SEVu?=
=?utf-8?B?YWRrd2x6OElRT3lKaFRkR01mTjBJYmpJSVllR2R6M2FkdFBCWEVvMW5GUU42?=
=?utf-8?Q?TZpiUP2KanQ=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?Q2kxZ09GY3hIU01TMEtjYmRxOTdNdFFFc1hxUFR3bHJWclBkYzMyTzdPRXFV?=
=?utf-8?B?WEZVQ0p1QWo3MXZTT3RTaVo3ajlrK1h3WjVxNDFGU1N6N1ZiS2ZhcnNpV2U4?=
=?utf-8?B?L3ljS0xmbWpscXlVL1NPVmhGbWUxY0Vja29rTG9kRWR6S3lqSmxyTE9sYnlI?=
=?utf-8?B?M2F5UmZKdjRLNG9kV0llRVpiNU9sdFpGclh2WmdFeWl3MGhxbjV6OTlzMVBL?=
=?utf-8?B?S2J6Tm5WVlEwb2dTWStHL3BWNkRBS0J4Q0d5RU5hL0VkTmJ3NjdzL3BGMHA2?=
=?utf-8?B?UFFDU2ZuNFI5bVl3cHZBU0FnT25yWVhWNkhrRlF5K0h4Rmh6bVZ1N3dVTWRy?=
=?utf-8?B?U3oyNDBnamUwdmY4dHp1THAwbFVSQm11NS85bjI0NVVyOGpKUEJiZjJDa0ph?=
=?utf-8?B?L25qeC9qdEQycVpmdmtibHhSaXZBK1dYWFI3V092c1ZNY3FmR1NidFdQQklM?=
=?utf-8?B?TFEzSDg0ODBTU1N5Wm9uSEhXaHhLR0ZYZEVTOXNsc1hJYWxvaEcwalREWm5H?=
=?utf-8?B?di84OHFmZTlqQkhSd1UxY3JjODI0OGs4eWFGZHJUUndnSVJLbTA4SFA1eWFF?=
=?utf-8?B?UWVJZnl0WVVpaW9VZXZySGZIWFVNVmY3UElLT0ptaUVVNGNCcmdJbFdIcS9H?=
=?utf-8?B?YjNyOFJCeGEwVGZPNHNXQ3h2S1Vmb0xtbXdMWE5xSFNiVE41L0NHNnRxL2tD?=
=?utf-8?B?RjZxeFNFOWZKZkp1dlIyZXhmNjNyTHQ5VDl4bEdIMVVwc0xTN1RNMnVkNVcv?=
=?utf-8?B?M0xUdkF3SWFNYVFqTCtoeWxXQ0tPN0RnSDJPV0NKaUhZOTl5UHUvWHp4L3Bo?=
=?utf-8?B?SDFGcS9KTEdsN1VWU1BkTkZKNTArampTM2ZsbDJYeklybkZXZEsxKzFHU2VX?=
=?utf-8?B?NjZKTEdaQjBLQXo4c3NyTFVqbysxcUk2T0diQUE2dUZ3NWxYWjBlVHBrQUpv?=
=?utf-8?B?MW5qNW1wTXJvYzhYYWZtTlRvR3Y3WHMyODMwRnFGeEcrR0JvTHlQOVpSUWxG?=
=?utf-8?B?VTlGaGNmOHM1QVB1eHpVKzJESDA1Vy9lQkFSckJvVVdwZWVLemNoMWM2dURy?=
=?utf-8?B?clF3YXdYT2ZUdm1CVzVBZUJWN1ZLU0paYzRYamlnbUNoY2J2elhzL0c2elNr?=
=?utf-8?B?b3VwNi9rbnhZNUhmQjUxdkxFUWNZSXlyZWNobm5xYjV4YXRGUXlTbnNnYTVt?=
=?utf-8?B?TmZpejdWM2R6MVo1bTd2TFJoalV1NWU4cWxBUjl4VDl5aFc1bjI2cTJTeGFK?=
=?utf-8?B?RENsS0grbENwYnZISDQ4KzJtcm5rQ2NzY1AzZVppN0VuZWoxci9QQkVueW5H?=
=?utf-8?B?T2tZUzhSVHFkWk9wdXVYRW9hdkdIMjVUK0xlemlrVGVxb1pFV1NJNnJpNENT?=
=?utf-8?B?cXMxQ2FBdG5Lc0N5ZEdjbTVvUVZZTm10ZnVvOVZIc1kvTmhlNVFoZy9RaEZi?=
=?utf-8?B?NU1TZklBVzh5NUE1MFdjUFNXSkswS01MNWFJZTNkNTRkR1RFR21WZFNLelV6?=
=?utf-8?B?V3JoaGxtZ2ViSnZ3QVNiK3JOemNUMi9saStBR04zb3NJcmZWR1NPeFhUM24w?=
=?utf-8?B?RUF2eGVlc2RHNnRPNWpwMVM3Z0RIdWs3SjNkbmxSNHpJVC9CaWRDTlhYcHpM?=
=?utf-8?B?MUtGeHU5WFBvNVg2d2pUZTRBaEw5bTZMRFA3TGlEZnMrekhOdjZXWVVyNXFQ?=
=?utf-8?B?MlNMWC85S0JBc3doVTNrODJ6ZTlqaTZ0VC9adDZpa0U4VGRNOE52Ykswc0ov?=
=?utf-8?B?V2xERkx1Z3FCQXM3WjE5VUs3Y0RwbllNZUJVWmEyQ01SWDdEeUNSNmpXdE92?=
=?utf-8?B?aWFRWW8vc2hrS0l4WDJzQmQzMVJvclJSNWxUWGRhK2hNUmNpbjBXb0ZDS0lz?=
=?utf-8?B?MDJuYmV2UFg2QnlKMStENDNwbUdBS2xjNHY1SXljVWtNcHV6YUlSWkorZ3pK?=
=?utf-8?B?a2JKclk3b3BIZ3B1ZHN1ZHZJVDErK2xENWtDWjBubkdmVWFwOXJNcHZrWDRN?=
=?utf-8?B?d3FMRXpkRmpJWVJhQ015RVpZUjAyZ0lGaWRDK2t4dUIzMllPRlRoZU1QQ1po?=
=?utf-8?B?NDlJUzhtZWtia2c4MHRnQVFiSXludldOUytEM05QN0thVmdlKzFEcHZ2b0h4?=
=?utf-8?B?c2RyVThIekFCV3l6VnVmWkZPMklMU3A1NCsyRjQ4WHorZEZ1ZllQQWZGcDJu?=
=?utf-8?B?Tmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
MPnaWztAxnN2PNR42hLZy5P+myXyq7I0n6WGEBTGdvBhlYrzHzJd9521/WLL3yyD2QqLKiBbnDMNNV0eybNdZzFKz8OurAYBjDz5GxMRMX1rDjmhzgaScNp4N5+zequZen8+uR1bFO29xEzmvcR77bw+wVLUsH6CbKLmomN0Ca53cykKaVfGWbH6IQhqhd1ec/ivudMqXFXQlD0OjukuQT/2oP7QPYOLH5wPEt9HppIJMwC40h2qatdYt0Aqf2WtaHxJ5hOoakX7m1oqkR0IWVYU3KvFZgcS8ZSjEUH5zUMhjHh159d/Gi9b1dXoKmmz+qu2ek1ZgXvJlJkBPfEQK4P8vW9RzD+0LiB0bp5pk+Pna4VuwvoM6rnc/vROHvaF1QnNUCzksaHY5i8DBGUHp6t0E2JRsqlZxPX3l1fdhFH6M1ayK9a8TWzpnWhMFuIrLb2vDaZIcYhXg6HXB58Ce+f+yX7DJLQrRHKqlkMalwrAnfMjs0iwPuEyOvWqrwhFD2EYpv9fsM4fHdVe5OnjyGlh+Urnwgf+NfyvJ1DTpbZHZ/ywPnADULgsDmShahJFHvsQuqutHbtlze0mV0N6cOwc13ZWfu1fDWmxOMHLl+g=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a074247b-6b69-41aa-2320-08dd9dcc2b03
X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 09:43:57.7831
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8RbK4QMyD3djF2JlP2Obosvf0iVxnMEKlLIgmpHCmaE/sQl0hXCRMiO+phZ0+7DQ+/7aYL892zQ65eAUhWSe5AbdZIedrbCJ5qCYTDZ1yXA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB7731
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 spamscore=0
suspectscore=0 bulkscore=0 phishscore=0 mlxlogscore=999 mlxscore=0
classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000
definitions=main-2505280084
X-Proofpoint-ORIG-GUID: _0laH_CVZXuQvsliJcaDWafNLjw9U71j
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4NCBTYWx0ZWRfX6KRC+3veXbIj p3b7IO47QsCL01Wkc9xP4S+jbdcxiQ6esaClcbTMrKaASUWKSuSaOkjA8ng/NT0lVOwa4QMaJAx jqiPi/HfcNBhH7zFhjb3pzklcDP6oLLYJB0ey3hzNvkOfJTEhUtpTtEnfwA9qt/5wNemO4NO9Ex
GCDSj4UTftJJg1Lil4vxIf3SIY4ljXH3JiAMFnbhAp7JLdzst7YD/MPRrj/P6ZcaCMRYzU66P8x WHBdEKdlKZ7u2g3TV/0nzS1oOvIe0dkzCMpISBEN8J5sS/1J+eS5poIgALDcXqB2cQTiC7nPDfd zKl21zYcKUy8mMj0GCBR1D23mf8pA0eQx3OIwzV8Byq22atFfymOhCn1RhzQbg3b04j1fPX+qL8
K7wJU+DGZHlXZpO1edd01vRo3TddLsSn7kaUPzE80ve/LAU1uoa57ipMqzFW0/dFaIMC7Sfo
X-Authority-Analysis: v=2.4 cv=UZNRSLSN c=1 sm=1 tr=0 ts=6836daff b=1 cx=c_pps a=zPCbziy225d3KhSqZt3L1A==:117 a=zPCbziy225d3KhSqZt3L1A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19
a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=yPCof4ZbAAAA:8 a=TrRrXOY9sZjfoi0tQVUA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 cc=ntf awl=host:13206
X-Proofpoint-GUID: _0laH_CVZXuQvsliJcaDWafNLjw9U71j
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 05:36:40PM +0800, Barry Song wrote:
> On Tue, May 27, 2025 at 5:20â?¯PM Lorenzo Stoakes
> <lorenzo.stoakes@xxxxxxxxxx> wrote:
[s[nip]
> >
> > Thanks, this sounds really promising!
> >
> > I take it then you have as a result, heavily tested this change?
>
> This was extensively tested on an older Android kernel with real devices.
> As you know, running the latest mm-unstable on phones is challenging due
> to hardware driver constraints. However, I believe the reported percentage
> is accurate, since it seems pointless for userspace heaps to free memory
> across two or more VMAs. How could it possibly manage a slab-like system
> spanning multiple VMAs?
Right, yeah. mremap()'ing anon memory around might get you unexpected splits,
but generally speaking you'd expect them to be single VMAs.
[snip]
> > > mm/madvise.c | 34 ++++++++++++++++++++++++++++++++++
> > > 1 file changed, 34 insertions(+)
> > >
> > > diff --git a/mm/madvise.c b/mm/madvise.c
> > > index 8433ac9b27e0..da016a1d0434 100644
> > > --- a/mm/madvise.c
> > > +++ b/mm/madvise.c
> > > @@ -1817,6 +1817,39 @@ int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int beh
> > >
> > > if (madvise_should_skip(start, len_in, behavior, &error))
> > > return error;
> > > +
> > > + /*
> > > + * MADV_DONTNEED is commonly used with userspace heaps and most often
> > > + * affects a single VMA. In these cases, we can use per-VMA locks to
> > > + * reduce contention on the mmap_lock.
> > > + */
> > > + if (behavior == MADV_DONTNEED || behavior == MADV_DONTNEED_LOCKED) {
> >
> > So firstly doing this here means process_madvise() doesn't get this benefit, and
> > we're inconsistent between the two which we really want to avoid.
> >
> > But secondly - we definitely need to find a better way to do this :) this
> > basically follows the 'ignore the existing approach and throw in an if
> > (special case) { ... }' pattern that I feel we really need to do all we can
> > to avoid in the kernel.
> >
> > This lies the way of uffd, hugetlb, and thus horrors beyond imagining.
> >
> > I can see why you did this as this is kind of special-cased a bit, and we
> > already do this kind of thing all over the place but let's try to avoid
> > this here.
> >
> > So I suggest:
> >
> > - Remove any code for this from do_madvise() and thus make it available to
> > process_madvise() also.
> >
> > - Try to avoid the special casing here as much as humanly possible :)
> >
> > - Update madvise_lock()/unlock() to get passed a pointer to struct
> > madvise_behavior to which we can add a boolean or even better I think -
> > an enum indicating which lock type was taken (this can simplify
> > madvise_unlock() also).
> >
> > - Update madvise_lock() to do all of the checks below, we already
> > effectively do a switch (behavior) so it's not so crazy to do this. And
> > you can also do the fallthrough logic there.
> >
> > - Obviously madvise_unlock() can be updated to do vma_end_read().
>
> Iâ??ve definitely considered refactoring madvise_lock, madvise_do_behavior,
> and madvise_unlock to encapsulate the details of the per-VMA locking and
> mmap_lock handling within those functions:
> madvise_lock(mm, behavior);
> madvise_do_behavior(mm, start, len_in, behavior);
> madvise_unlock(mm, behavior);
>
> However, Iâ??m a bit concerned that this approach might make the code messier
> by introducing extra arguments to handle different code paths. For instance,
> madvise_do_behavior might need an additional parameter to determine whether
> VMA traversal via madvise_walk_vmas is necessary.
>
> That said, Iâ??ll give it a try and see if it actually turns out to be as ugly
> as I fear.
Your reticence is understandable, this code can be pretty hairy, however
thanks to SJ's refactoring efforts you can now use the helper struct he
introduced - madvise_behavior - to store this state, so you don't have to
pass parameters really _much_ more than now.
Unfortunately the current version of the patch isn't mergeable as it
stands, so it really does have to be sensibly generalised, however it ends
up looking.
To be clear - I appreciate all your efforts, and sorry to add some extra
work here, but in the long run it'll be worthwhile I feel, and will lay the
foundations for future use of VMA locks :)
Cheers, Lorenzo
[snip]
Return-Path: <linux-kernel+bounces-665237-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 67DA641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:46:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 35FF23A4C2B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:46:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 321FE278E44;
Wed, 28 May 2025 09:46:29 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="pN8ih9WG";
dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="w+b/uJ/T"
Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 73E53A2D;
Wed, 28 May 2025 09:46:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425588; cv=fail; b=Ip7H6XIDhbR+opqmPUlj2PuK6iXaF/Ahn3jA/WF9KRZb4XeY00qO3NCSrBzLUFFQGD+hWzuF/FhpEIDUfsexcnQjRYBexKLnZ/rLGqky2UnziNWnuFUdiZlqAJnEeW46QvVr6wpzily3mHGKDoKrNYLT2YofZXcFmhxxBmE51Mo=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425588; c=relaxed/simple;
bh=AnQoe46izpxHqdacrLDMPxEccAijb3TjkgIjtfaZg+E=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=RNQR6CVNCeX7dc2JYZb3jNCtkYSwFN+KUpft/O7S+azJt6ScFn1KXf1dJtRJbrM8ckqLPolJZsCeRDwpqx0mXrMO6hGpG98YZH3Sg4QezZaczhM1wTQTiH8LIJb2qbaeKNwfdlxU7pswkw6XGvven4Dzx3fFyu6khH5dDXRtMWY=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=pN8ih9WG; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=w+b/uJ/T; arc=fail smtp.client-ip=205.220.177.32
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com
Received: from pps.filterd (m0246630.ppops.net [127.0.0.1])
by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S1g79q010495;
Wed, 28 May 2025 09:46:14 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=corp-2025-04-25; bh=gUvHhBBL/B5MUjrUao
IrkP8D6GUYpWpzn0LSxGb2s9A=; b=pN8ih9WGOp0oFhQVLsj9kJRVRWw7dRSyyr
k6UziZK2JRylZRc9mRhpnVeX6CWa0JotYUK56KKIHs/0W8vKhBHtM7kX42BhEgio
xNS/RANsjNHAIX9kTNFjbvwcuyVwZDbB6cb1zkNSMZByjFQ6zYaDZ7isykm0Ht3D
OWdckjblbtFCwqUAWzmQaWUy8+Xp5XB9bjdIHoCGFDGVky57iGIHMrWGOvs0R86u
/1EgdyndcHj7WbXqxqCwqEtVzmVUo1lydXznV6NuSqN5zfbMwxuMm51sEmQWOh8v
7zyosWF4+nXr/TlzGMJY/Jblr8D4yei7u3Vc++o9qCKtTFfjQaZg==
Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129])
by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46v2pew8up-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 09:46:14 +0000 (GMT)
Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 54S9XPKC007180;
Wed, 28 May 2025 09:46:13 GMT
Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10on2083.outbound.protection.outlook.com [40.107.93.83])
by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 46u4jae5ps-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 09:46:13 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=J5YZqPa1hKnkjz0c6i0Z1f2HQsIw2k6/XFqqa1ZhYX+beR4wnxGJItuSFSPcuR5ZRyTycbhrDbEROTFxvKKc/MtXkBFotFlzsNpJXv7Pr8Bq+9/pPRGNjuvbyrsuXVnOnjlIccetE7iLngnFCvjah+K0u9cMVibmJyfb/RZ+WSlbfzLTkCFogMGb0/a92Lf72eeVd2KzKKcoIW6SDV9wKNGGzL3eX+xtbhyS3Z6qI/bDcaO+6NaoIcWTZ4+enPWQcm6X2zFMb737btyM7IKQgiaRtppqqbwEL+1Mrau4PuR0JdKG3xaiU2wG0GWOyfif6HKBYkeSvIdoLSPudVyx9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=gUvHhBBL/B5MUjrUaoIrkP8D6GUYpWpzn0LSxGb2s9A=;
b=RDSwCU7k4eSOIkOYX77Iz0RKh4L1Qti48x8bUnZKce1HtLnzFThjE7aB5lr8pjtbNjCzDwXSpF3ThmqI1KB0rVx0UnYHl6kaLDEz51tdt8ImIyWimlh/jOssaUiDxJk+Bq9o5ylyg/ezelw6Mfnn1exCHju/jVWNAn7blkNkBs2Fs/ZN4A9PIGd2wB3YnoOKysHg7guQjyWehxPdy1fzENjAfCp0gJpOEa9a6NhrTXMIFx7bTpk1kR7vDn6BgMYnMdFfq8svjTCryw1HFk7+77RdsZYmtWgM9Bc+6iwnlDJf+v0PCN4gmDasI1yM2aQjCxJMwXQTBb7FniPZAKCRpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=gUvHhBBL/B5MUjrUaoIrkP8D6GUYpWpzn0LSxGb2s9A=;
b=w+b/uJ/T/OXWbCV70Haz625JXGVu1sJ8spH1IUG0bPQ5E3mHsIzKbaFR2WtNTqPVmfoSSbekWG4VbIpaQj8Om/N/BeGMby+m47L6o1fmFQXn+p6DVLEl7lDM48mDkkzdJjU2qPmZMcC4JMfw8cmE7o3+461de5gPGGnHjuNU0aE=
Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16)
by PH7PR10MB7731.namprd10.prod.outlook.com (2603:10b6:510:30c::18) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.30; Wed, 28 May
2025 09:46:10 +0000
Received: from DM4PR10MB8218.namprd10.prod.outlook.com
([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com
([fe80::2650:55cf:2816:5f2%5]) with mapi id 15.20.8746.030; Wed, 28 May 2025
09:46:10 +0000
Date: Wed, 28 May 2025 10:46:07 +0100
From: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
To: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Shuah Khan <shuah@xxxxxxxxxx>,
Yeoreum Yun <yeoreum.yun@xxxxxxx>,
Wei Yang <richard.weiyang@xxxxxxxxx>, linux-mm@xxxxxxxxx,
linux-kselftest@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
kernel-janitors@xxxxxxxxxxxxxxx
Subject: Re: [PATCH next] tools/testing: Check correct variable in
open_procmap()
Message-ID: <2a5bb577-375f-4b97-8375-8639bcbb1144@lucifer.local>
References: <aDbFuUTlJTBqziVd@stanley.mountain>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aDbFuUTlJTBqziVd@stanley.mountain>
X-ClientProxiedBy: LO4P123CA0212.GBRP123.PROD.OUTLOOK.COM
(2603:10a6:600:1a5::19) To DM4PR10MB8218.namprd10.prod.outlook.com
(2603:10b6:8:1cc::16)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|PH7PR10MB7731:EE_
X-MS-Office365-Filtering-Correlation-Id: e63bcaae-1544-4b26-bf4f-08dd9dcc79ec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?ibNUQT6OiD04XKR2i6bDBtsSuhrkkAvQnC6My/Z8mlagEvNLFep2kE6qj5qm?=
=?us-ascii?Q?fldDrxLKFHhJyh+ianKlQKGY0LaPAjIOnix1sr7C6HW80+BBRzvIjVVsKdz+?=
=?us-ascii?Q?MqBa4vhCuG6KrduSxfs+8dFOt2G2VyRwBKrdTPks6Ck8wXxXBbg1fjtNLNuI?=
=?us-ascii?Q?IA8xAlYkbB/RcW/u9zZPB38J+pSEcYEaxeS06BLZf8pSBHgra777oZHdpB2t?=
=?us-ascii?Q?VISxLcqH9hHzu6Gvw+Xe9yZXmTc0yuM2nzrDdmotSOAdjlNVyg/kbQGmTe25?=
=?us-ascii?Q?mqJpNJfDXh8lWkccME4E5VGGqHb4pCVwNtm2prTYSH13sXJCPaseOiCa3yGe?=
=?us-ascii?Q?8gjNGczhMBrna644LryBZ2+FMkeKuDvLiGAbiU6mlNaT8a8y3WsIGwKqedPS?=
=?us-ascii?Q?ipYBUFwzfbeYg3pH/A6dBuk5Nz8QBAjDWptNQB3lXRiir8STop04DO0nzUBr?=
=?us-ascii?Q?oMHjw38WB6h6hGqeQmlI/bRWIFLQ7wAqftmexCMDBqSpCgPplCKwaSvbS1Zv?=
=?us-ascii?Q?yGdeWxDrJt9uBJv16LNVkU5CGhsVW4bzAvj7B4qIQk1Md8SmsZvSbI7b5SQ9?=
=?us-ascii?Q?14RVoFJQ89LmUA0OtYpjFd/R6NXpPQq1JHOlZrqrEbz0UBanbb99qESZ+rT+?=
=?us-ascii?Q?rl9ljKlqCPa8cToju1BGvZAOPT6NSUmRP22qS6Lg4nj8vU9fEO1Ox7wQg6e4?=
=?us-ascii?Q?TMfn4klRhq7RfMs/FhyUD7GGw0PhfvwJZ3FsPJMD8c6uErhzmE+BbQTBw9Ud?=
=?us-ascii?Q?0TVwIQ/dHlzqgn4q/IRhP+uZT3LY0GhSgxqL7OC7Qkaa9iN4dF9cb15w8M6v?=
=?us-ascii?Q?819sHHEEF66iCK4TZ6AilpxUJz3hbr5OloLU4wLAJBaG1dVIfYopy/OVFKV4?=
=?us-ascii?Q?i3OkaH7mZpn64UIpahKiA5zfJdAEsJkvrRuJOxuZCAs4vf0p5P8c4RO3fgIW?=
=?us-ascii?Q?VNug2bWlKeqGNKU8LYozAHEoUo3rNmW4HRR3jSefL0S87kfSDf6KM/w8rT+b?=
=?us-ascii?Q?iUlKAER2EZMdeerKEtiu2V3AU/KZwuY9UWCF+zsGn+p3kpiVqEXM7fw9qMqy?=
=?us-ascii?Q?VZqfzJEmqKD9tez9WBvNrC/frd/N3BEcHUz3VGg9tpOLVScSXFujVx5DbYKT?=
=?us-ascii?Q?lxoknbb4eVIeQygMUmXMaEoFIfjs2KUzxS2ZitId9RW5pojHjZcHb5BKZIJR?=
=?us-ascii?Q?tPJuW3V1SKvqfDY89maVv2dlUb7dGDpKkQECiTL4B130xf/ROZiTBZmCT+yI?=
=?us-ascii?Q?3P2BY4A/NzaCMof1bng7TmDBPAv0RwECz+f883CMUDol1sIJSXqUZIc/zO4B?=
=?us-ascii?Q?FemhIsCZ1iQu2FjchNMXVv3gDxFJefLwzajNRZB4i8nXvnpbuEjb1YaXeE+a?=
=?us-ascii?Q?VRXX9gL6NVg6oQ5KV1+zoMS5VxBlcMS2jI/k/p97KrGerFzXS9/9LCfS+jj1?=
=?us-ascii?Q?9ox+1QLvwxg=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?Of8qb6xEYzbqOhsvOCiYC137hiqLOochzax6UgeZeH1T7th1FnfvXRMdx5hQ?=
=?us-ascii?Q?GiZ6niLcSjT7Fg0XDROmkscYekAOF3Dr28XCYxngaZYYSeTp4/9uBkZcARrL?=
=?us-ascii?Q?KJONV2KIxprDiagzWBR1Uz68SGDB1Zdkz08HlDG1dVAXRc/HgBZ9t9qwpKJQ?=
=?us-ascii?Q?6j7GxFxZM9Vsw99uRhT9pwoJXiwF5VUpYAvA/2EQ3bgsYl2Rnj0b0vLGNZFN?=
=?us-ascii?Q?3OK5cpqoyiRATU1Irrko4M6GOLmOxBKCqBprS1E/wJJxZ26SML/WcrwPxtFg?=
=?us-ascii?Q?LPXRX9laCCCYvI/AM68c2b2WNBxJeJC0d+0bJE66AcMB5OK85K7SobCjWeUO?=
=?us-ascii?Q?hSKQXGzw31KbpM9Zi6eBvjJMgHRcfI9OhdO4/x2fDyN1tXOex0LpKvdTTTTJ?=
=?us-ascii?Q?W2xmV+hPePztvTWZSqIi8Gg5zzbc9GlUlyXQkbY5soKPKMU46to2qyQcLca/?=
=?us-ascii?Q?POP2JA4yeh0NYsTqpmzKcKxvBe7x4tcoBgcAG00Y61pt8gPdhoYNjhTeuTMI?=
=?us-ascii?Q?LJy8oVX5YnzHEnZ10WoI+gSS+dHrc6oU9l8EiHttRu1pioTgKq9MMeTgUqO4?=
=?us-ascii?Q?baOEpfZurt+SnL1KRkOJnxwB1X8m8ofUScyovTkIl+480fcxVGGk3elpMBqp?=
=?us-ascii?Q?QhukmbdZD/LWAUo3vX6IV0kTCuOEnX4eFJMZItWEinJA02eRpyoavt4ouegk?=
=?us-ascii?Q?1HpCrLVr9wPViMtrwwCKDXnPFOykoPn9Esam1SDakEsx1B2kY09NfC81N0ty?=
=?us-ascii?Q?UVgYfZ6WQ6gbsjakxEoXqjVN+F+c9/ZeAX6mVDRqHax2iCAyx8+O8wrwHBI6?=
=?us-ascii?Q?e8Fig9o+UTUfjaKsFjcJk7oUSYQ2XlLJo5eY68utbp8ycIUoF4+SHa4uqLGs?=
=?us-ascii?Q?clztezm5qhth3iG/8kV8fTZrUk3Sp/0bRK4mnbq/x7c+AEb7ELHM09FNFtK3?=
=?us-ascii?Q?ZzQMtKtkxGfgxJmY3Q3Kb9E9kVCA30cox8a615mOjxvRaaI8tl9D+v/avUgq?=
=?us-ascii?Q?Aud0qZjv0fJNNem7tAnPn78GELBEqRhaSStDs6p83FJuDxdtMwL9FxQ5xO6S?=
=?us-ascii?Q?9kK53x8KMukP3PHSHEb9z8jdcK3NhT4LzIF29qPaD7SbS6F4ZZIhN+qI+554?=
=?us-ascii?Q?HPX1NKPgeOtb2WPzpVODd/FnnxYBgepaB0d3f5pMVpikX3OaR37UmL97CoPX?=
=?us-ascii?Q?DfjmaDgN/O3Q7idCN95idqUkWF4vleWHipp6WFEsu0B4T5iEmfsCiE9vtwui?=
=?us-ascii?Q?yE3IDPjSzSoy7Rbwdn67t/SAoVDUi26Wr5aprIp5S8g1Ds78u4rYvDxJi9A1?=
=?us-ascii?Q?aDaMuOF+Y5FacXS0KesdP4XZYz9diFR5FgFUZi5H3Jam9r9ahYO7ex0sn4E7?=
=?us-ascii?Q?81j6MCWSd+veYyqI4Qv28Sz1ulsjq0A7KSTLt0P3nxBkoKdkJRs7AEnobKfr?=
=?us-ascii?Q?oXgikAnKj1gMATovSBrjrultChAgoBp4Mxsl6TNMXduPhBtyj3OmszBYRhTv?=
=?us-ascii?Q?r1XIO/0mU5HmvyS/RWf7GNsYlvNs60LpGi3WIeGVnXiL1z2bw30jHqPp04qI?=
=?us-ascii?Q?PaxZPdSQXHtbdG17Lm/0z6m1bOzdBXnMdhnrL9tl7dDrMJZ2saC59r0zwBGo?=
=?us-ascii?Q?yA=3D=3D?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
0+X5wFRro10/mZ9TrhcmQnL180V3tr2Akekjl4Y/xrEZtsdjojFbsYwIjXbAR23DBb496DncbugZ0ECsolDprZ2c768qMsgzHMz1cx41hdAM95N+iFQJs9fYxAIkIGlgqbkgIKgXeKe0AWVvTu/FRH06p3Tslas2X8YTCWo6r0BO7uZAbg0x8S2Nlv/Rsy7y7PgkeNCsge86ra3IuMp8VIcEfPedAvOey1bysQIoQfHVRyPdl3VKtNOB0RvnmsBznoeNxjkGO7Q2+qEjVLcEGYLR6rak0JW50c+U8jpiTDTrMjSmGPrnOtIODBVn4ThE4MwEiZ/plB5ivl0V2Jr778MSCmwARMWj+9RbM4HCe9F3IWCEWpQp4Rp4FER7P0zMNM61NdLqXdCA7cW2S89++PC8TZbwSsVi5og90qAnyMbxJeE0Yl/i9iX2/BtkYwZmP8a6woQ+mKnTXmWR/KIUSUGl6VXqffwihnPqybQVa56Vavx00/rk+5xUKvo6dRh0XZ/01OqnujKKWn9gIOOkpATnTXeJbFDaiFuMx8v1nVgCO6DIKxDpahEPCNULLpI5p+uWviQBFVUbc3vQi1sTVz+044PYMEt6tpEiPgSFVXs=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e63bcaae-1544-4b26-bf4f-08dd9dcc79ec
X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 09:46:10.1572
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: W185I/1gfzVprt8Tbz30ZgLX6seJ0OwQLmfGvEYNd/6VTaje2CqRZ5ZsNOK5+4cW8Npvboi5D0c0Iq3HRLp4o/SBJWmltniEcd01X21hA0U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB7731
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 adultscore=0
malwarescore=0 mlxlogscore=999 bulkscore=0 spamscore=0 phishscore=0
classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2505160000
definitions=main-2505280084
X-Proofpoint-ORIG-GUID: aD6expOm3NgT3jnfKLe6bJJuwuKILBQV
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4MyBTYWx0ZWRfX03p/T2/ycziz uEpv5h5x1Q/gbktZbQYeBCtUofkuwI6/j3kAypWNEYyN7GsnVRXlztv6JPB2plQ8uGBemIPZgY0 26HDa6ZYS/owgE3F+8K3e6H52Xwk0lYG0uNWD9Oja71MZtzqu8kvsjK3o4eFcA57R/VZFcdlKwr
KuRHmbC6KVQqx90Xy9Hdzlg61MJUAsU0AsV9Wzku1NozTKg8j+8NerrK8lV2PNKFqYvODGtZvZD RfafMZCh89SfYix8z3cPRXkkXdh+z0kfI9VivmuSLaqjUFxMTZkzQA0ZDmxqPrx+xOdyUVt+/A5 XXKqCO+4lsoFdC+GMJOr3vkP6EZ7QzTlFodn0G4irh3R4WixjXdVLUmM+bHBQBzpwG+RoyNPvPy
wflP2uBkhuovKOrYOCqc6YsD3p62uFtRQnV1Quxbnfa9nas97JcEmugk2u3u8HAwr47Ton5j
X-Proofpoint-GUID: aD6expOm3NgT3jnfKLe6bJJuwuKILBQV
X-Authority-Analysis: v=2.4 cv=TdeWtQQh c=1 sm=1 tr=0 ts=6836db66 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19
a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=KKAkSRfTAAAA:8 a=yPCof4ZbAAAA:8 a=PTTUJNXYVEWVejtaFd4A:9 a=CjuIK1q_8ugA:10 a=cvBusfyB2V15izCimMoJ:22
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Thanks so much for catching this Dan!
On Wed, May 28, 2025 at 11:13:45AM +0300, Dan Carpenter wrote:
> Check if "procmap_out->fd" is negative instead of "procmap_out" (which
> is a pointer).
Ye gods, so sorry for such a clanger! Entirely my fault, though I may mutter a
grumble about C type safety under my breath :P
>
> Fixes: bd23f293a0d5 ("tools/testing: add PROCMAP_QUERY helper functions in mm self tests")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> ---
> tools/testing/selftests/mm/vm_util.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/mm/vm_util.c b/tools/testing/selftests/mm/vm_util.c
> index 1357e2d6a7b6..61d7bf1f8c62 100644
> --- a/tools/testing/selftests/mm/vm_util.c
> +++ b/tools/testing/selftests/mm/vm_util.c
> @@ -439,7 +439,7 @@ int open_procmap(pid_t pid, struct procmap_fd *procmap_out)
> sprintf(path, "/proc/%d/maps", pid);
> procmap_out->query.size = sizeof(procmap_out->query);
> procmap_out->fd = open(path, O_RDONLY);
> - if (procmap_out < 0)
> + if (procmap_out->fd < 0)
> ret = -errno;
>
> return ret;
> --
> 2.47.2
>
Cheers, Lorenzo
Return-Path: <linux-kernel+bounces-665238-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1E46941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:46:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7D6434A6C9B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:46:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 011AB26A081;
Wed, 28 May 2025 09:46:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="nCceK5O3"
Received: from out-186.mta0.migadu.com (out-186.mta0.migadu.com [91.218.175.186])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C033827816A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:46:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.186
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425607; cv=none; b=DRwdZOd/AiCvW8BqSDW9q9y4I8hqpnU86PsLWIiM7yBVHlx2cGZfTxKe88YhQ4LIWZq2B6D6KHcPP2chd4YGJLbfy0vMb/9+SUyBo+mhGV0Wl91OWkun2Xn2kDrNf1j/SJ5b3cj5up7h0+f9FcZ59eHK1zBDPiTAHXBmjcdBwaM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425607; c=relaxed/simple;
bh=ahUZkqPwadES68HTIhQm8fxXZkps7dNBsaVEhNXvlxs=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=u9cHBwT15uY3TfwE65GTSdZjV14OmmMyg1/ola18NimqYFTe0hZo3d2k6UwjnH7VADhc6X1rZZKszJoTt07OMu++Sv6DM5ZGzC3niEQPzt5gIqDNx8WhbDYH0b0pvU/YBk5eFepnoJGL9XEwK3fKOzQN6mcVzrch558sg4cMoA8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=nCceK5O3; arc=none smtp.client-ip=91.218.175.186
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Date: Wed, 28 May 2025 11:46:37 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1748425602;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=0a0vAQ+z6APVJCVEpoJNU8cjAHQkqm8VO7jrgFhVbN4=;
b=nCceK5O33h6MW3MeSC6j/jdBqEBmeaoq6jiOkX1MsDGOwJTP96XsmbJp3Yfabz/U2xc5qQ
sl0iwE8vJDlXhAx/PwyP6gtuhxXT5S4QjC9jYdK/uUKwCP1v0OtslKSwe18Ke4ta+b+dX7
cmgsBqgDzmoCQLL+OuK074hdGKyVjYo=
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Richard Leitner <richard.leitner@xxxxxxxxx>
To: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Cc: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>,
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>, Lee Jones <lee@xxxxxxxxxx>, Pavel Machek <pavel@xxxxxxxxxx>,
Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>, Hans Verkuil <hverkuil@xxxxxxxxx>, linux-media@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-leds@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v4 09/10] media: i2c: ov9282: add strobe_source v4l2
control
Message-ID: <jsohv4yhopqla6gvae76qqtat7ekeqxvjvxvcaxjaw2th7hq32@uupjpwho3b5d>
References: <20250507-ov9282-flash-strobe-v4-0-72b299c1b7c9@xxxxxxxxx>
<20250507-ov9282-flash-strobe-v4-9-72b299c1b7c9@xxxxxxxxx>
<aDTOCC1wE26Md_Zo@kekkonen.localdomain>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aDTOCC1wE26Md_Zo@kekkonen.localdomain>
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Mon, May 26, 2025 at 08:24:40PM +0000, Sakari Ailus wrote:
> Hi Richard,
Hi Sakari,
thanks for the review!
>
> On Wed, May 07, 2025 at 09:51:38AM +0200, Richard Leitner wrote:
> > Add read-only V4L2_CID_FLASH_STROBE_SOURCE control. Its value is fixed
> > to V4L2_FLASH_STROBE_SOURCE_EXTERNAL as the camera sensor triggers the
> > strobe based on its register settings.
>
> Is strobe source control relevant for the sensor? It's triggering the flash
> but the flash LED isn't connected to it, is it?
Exactly. The sensor is only triggering a "strobe output" pin, but no
LEDs are on the sensor module. Nonetheless at least in our use-case the LEDs
are switched directly by this output pin of the sensor (via some FET
circuit).
So to be honest I don't know if it is relevant, or not. I guess the
sensor in this case is a "external strobe source" as seen from the
kernel, isn't it?
>
> >
> > Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxx>
> > ---
> > drivers/media/i2c/ov9282.c | 11 ++++++++++-
> > 1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/media/i2c/ov9282.c b/drivers/media/i2c/ov9282.c
> > index 0bbdf08d7cda8f72e05fdc292aa69a4c821e4e03..09d522d5977ec6fb82028ddb6015f05c9328191d 100644
> > --- a/drivers/media/i2c/ov9282.c
> > +++ b/drivers/media/i2c/ov9282.c
> > @@ -1368,11 +1368,12 @@ static int ov9282_init_controls(struct ov9282 *ov9282)
> > struct v4l2_ctrl_handler *ctrl_hdlr = &ov9282->ctrl_handler;
> > const struct ov9282_mode *mode = ov9282->cur_mode;
> > struct v4l2_fwnode_device_properties props;
> > + struct v4l2_ctrl *ctrl;
> > u32 hblank_min;
> > u32 lpfr;
> > int ret;
> >
> > - ret = v4l2_ctrl_handler_init(ctrl_hdlr, 12);
> > + ret = v4l2_ctrl_handler_init(ctrl_hdlr, 13);
> > if (ret)
> > return ret;
> >
> > @@ -1447,6 +1448,14 @@ static int ov9282_init_controls(struct ov9282 *ov9282)
> > v4l2_ctrl_new_std(ctrl_hdlr, &ov9282_ctrl_ops, V4L2_CID_FLASH_DURATION,
> > 0, 13900, 1, 8);
> >
> > + ctrl = v4l2_ctrl_new_std_menu(ctrl_hdlr, &ov9282_ctrl_ops,
> > + V4L2_CID_FLASH_STROBE_SOURCE,
> > + V4L2_FLASH_STROBE_SOURCE_EXTERNAL,
> > + ~(1 << V4L2_FLASH_STROBE_SOURCE_EXTERNAL),
> > + V4L2_FLASH_STROBE_SOURCE_EXTERNAL);
> > + if (ctrl)
> > + ctrl->flags |= V4L2_CTRL_FLAG_READ_ONLY;
> > +
> > ret = v4l2_fwnode_device_parse(ov9282->dev, &props);
> > if (!ret) {
> > /* Failure sets ctrl_hdlr->error, which we check afterwards anyway */
> >
>
> --
> Regards,
>
> Sakari Ailus
thanks & regards;rl
Return-Path: <linux-kernel+bounces-665239-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2EAA041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:47:37 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E2EA79E3CF2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:47:15 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A4A482750E1;
Wed, 28 May 2025 09:47:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="QMUQ8DSF";
dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="SEy96rth"
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F1F327815F
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:47:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425652; cv=none; b=EAgss6imWV7H9oo9Muu1b/L9agyVmPggoJXq3iUi1zHmp3Tj2fQDcBnIcXfFpoVzTXsZ2oZ0EGGEW9dnGsovQvmJShxBwBhBbTAPvHH/3v3KuXVEuRQlJw/wWFq5fSi7czPWMUKcxRSyJBQMcSS4WJUSA6a0ISLmSs5RhtN+NVQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425652; c=relaxed/simple;
bh=Y1mJQ3DF5VL7r3sPW5fzJrKYJD+f9X05KD9LdmNOgoo=;
h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:
MIME-Version:Content-Type; b=Rw8BBuh00DnKdXhBm88grgjzXKcx/Sd5s4zEK4HPw6MzXalL6Vcz+svNmex/kS3DvxhMWmGzfhS+AGyPe5qz6PrSaj+yUgPAIC3vbIPqRhBoULDPWir8Ir220IH7cOJmbB2B1d7VSIAsDeoqp8rvXT867CgSBxmTlgwnORl2n6E=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=QMUQ8DSF; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=SEy96rth; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020; t=1748425648;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=qqCwS8JMBjO9RvnzZhwCPFZkKFkdqnzqQUXG5Vq7VkU=;
b=QMUQ8DSFZX6GBwUL2pIvsdd0HquBDn2oEYALu1AhQCwO/4dwvJ+6lpCGP2Dxo/T8SZGJZw
A0ASR8wnZ1IIZ2pSavupvNeei6ttE3CxSdpwwSdDsGX0uXCy3qC3ViIql67Y8lvFMK5SDK
oksklEznYEcuN0E4Q1PEeZ7aisMFJ0+VYN6vN+zNSDYNZUJUwhwdSVtmOQW1s/Sg6kMTDO
nh+OEIvgU5NUOLOJK79cXn69XZilAOLVZHqcWqIloXQ6DCdXAu5XKVwd/X1N0jlTRqZSFn
09kaNqjXrqTTIz40fVXNrYnUIQ2C5UKvqf5nNQ3YfUa0Pa+OgES5dVq6IVNrPQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
s=2020e; t=1748425648;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=qqCwS8JMBjO9RvnzZhwCPFZkKFkdqnzqQUXG5Vq7VkU=;
b=SEy96rthWjg5ezQjPSdt0DJWVaWOxI1ELOvL7JothVkrPu0SkzX/1HxUaZq0XtlhBQ6H0l
+2rQiJaLLAdPeiBg==
To: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx
Subject: Re: [GIT pull] irq/msi for v6.16-rc1
In-Reply-To: <CAHk-=wishzzcmRY8EY_qjD4T4i+W_sX2HWyKfo7dcEwPUSSoew@xxxxxxxxxxxxxx>
References: <174820637262.238682.1985899398053030312.tglx@xen13>
<174820637979.238682.4349646136552270664.tglx@xen13>
<CAHk-=wishzzcmRY8EY_qjD4T4i+W_sX2HWyKfo7dcEwPUSSoew@xxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 11:47:27 +0200
Message-ID: <875xhlqd74.ffs@tglx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27 2025 at 08:18, Linus Torvalds wrote:
> On Sun, 25 May 2025 at 13:53, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>>
>> With this update the code is correct by design and implementation.
>
> You have reached that unattainable state of code nirvana.
>
> Congratulations.
Thank you very much!
I'm pretty sure, you'll reach that state too once your grandkids put
your world view into a different perspective.
Thomas
Return-Path: <linux-kernel+bounces-665240-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7931741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:48:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id DE13E7A1BFF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:47:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CC6B227875C;
Wed, 28 May 2025 09:48:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MiceM8ZH"
Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0189A1EB193;
Wed, 28 May 2025 09:48:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425729; cv=none; b=q5xy6EUzxpBXUDIrKg+B4l4EXDT8O6qJkxoh15dNlgESZd5YvprA93EpdmwcGPCqe9MuowFIyYYeXcimNN4jzFkVzJ2ch7mF/8irZf+IoWnirgVVJg0Ar1EYao7KkFsQZ3/mLn4Ttdl7fY8Bfr63Fq3p5KDNrbSWwuR9G6owmzw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425729; c=relaxed/simple;
bh=Uinns349GxH1UR6aquqSJAn77/2GAuIwH7OpLa221PM=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=rMReJrJCgaTXdQZ4dUMzotEC0m96oe9T04b+iaNgzRId7XIk6Bj45wHIewP+y+VFGuiRoSz/gwwTY9zX4iXKanRlMCNC9931L3Z7o7v/Eys3TTIRXA+PfL2xQl95d4o3uxeRRUF1ASCSCfXpzuFkxJo9rzb9pdHL59g5XiX61to=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MiceM8ZH; arc=none smtp.client-ip=209.85.128.49
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-43cf257158fso36648165e9.2;
Wed, 28 May 2025 02:48:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748425726; x=1749030526; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=YejcQjvowFFKkqN+UPoZNPAf32M6HyCXABg2+FNPRa0=;
b=MiceM8ZHMEqXDc+TTwJgcGHGooDwvxe71qsaljJ24CMv5GBt0i34fgUgzdRLaBCr09
rNt8AaCI1KGbbBueXpd/grj186cOqSUcZJrj/gf+h3kzfl5+c4W//GbZTj9s1vrOF44L
CrQsSsJK5gdgty1fCaTZZW4x5p3E3rXRWsPF26NmMFlQ3PXBWAcze6SUwkOGn0MZsX3/
20hf039WuYIsxRFqchlfOSFF8d7jajZR6KnRnE20+0VcixNZbd1VqsyECoV1R4EMr8fR
IqxGMutTl2tX5o9VGzoRqa50P5X7JKy0xyPOqXKJfmWVJaSrBwOA/btEMWxouYYuWoRl
0xSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748425726; x=1749030526;
h=content-transfer-encoding:cc:to: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=YejcQjvowFFKkqN+UPoZNPAf32M6HyCXABg2+FNPRa0=;
b=ojKzZE9BPFjcWvnwPulA4ju+XmkGkMEZO2p+MI1LEMesiBtUeCa7Lba/PiBEFPMrw/
Aq+Q7u+UekV+novw13iLUQ9kucx2gxLW1efvaiqlCt5WZRwQ8AWm7f3/UOw26aIcahbu
EGBWKr+4B58axbc0e6nIzw8ag5lIxqxuXu8xs5J3HSWup3zE1nbF6mYZR7gT5xHm8mwh
zS5TDmx/lDCcVHXhw1FWeTWwpZWkWwQD66753ojnwA9KDP35viYES/v7Wc6MFkriNCUR
hYLe0mg5yrbLRJnsM+udbRnbjtiFNJJioRnX2110louPiPW3e88sOonyZYt3nLLL/n2P
dT1A==
X-Forwarded-Encrypted: i=1; AJvYcCUBfe58iYwfe4FOB4B2pY3UcXS6/GeGUGD2Qmb2XrbyaYAb6NqyaDlwm4Ulvdlh7d+j6GUe6BqjI/Lc@xxxxxxxxxxxxxxx, AJvYcCUZOpZXfasuio8YfIlAxNmFFxpBboLKMSXgLNUHh+jOqPMIZyCPhd2lI6BTH2NvC0OaSoNEbkPCVcdDOqgU@xxxxxxxxxxxxxxx, AJvYcCVBZk/uWxJXMPOiMXtvGagsnN1rJjsb/F4u3Ho08ikePJaI3lvRo96t13S/Pbhf8ZTLzYBVWYxsGdQU@xxxxxxxxxxxxxxx, AJvYcCXkaPDHunzIq0SgVp3LRKb3UYHfjACFJb3tCp2sXpr+zwhKruwmR1IWq014eEQmoSjpCnr/CozJgrKtnVP3qeihUeU=@vger.kernel.org
X-Gm-Message-State: AOJu0YxL81YB0OcG5gfhWtTpnkXLVTXtWCUkHcMzb6U4PGHvGVVQKcnX
2uRHDtx64AGfAFr+oSNsDplbFWKqxTXf3yviooq2TTjHQ+5VFDao0/zFGvfU6f7l5Vr3lfIOfPE
yr3qLj7yDdNHcYvGTFoyx7zDXOqhHFXs=
X-Gm-Gg: ASbGncs6DcWickGSa1C/ah57oASycCuZYXa0c3wY5m1IcgfGBXp68ZPzbBUg2qE8eVc
qzxAmm0dM8v6nQYeHGMK+SKDmdJZNr4IhYEC6pXcu4rAS/keiPjXM7jhVMUde/gh/imzfhHhQN3
OQ2Ex4HdOvCFOL+Sx4iOcXulLU77Qd5wAIPJYqvdObDOFPI6v7ltPBE2UGqRj11wwaeA==
X-Google-Smtp-Source: AGHT+IFOU92ZFS2S3O0R5SwadRfYVFCtrH9pyzPNYTlNPomarpL8i1KADqoaf8Wf35yeCGDtsi5p0K+tgRPxmCxDFK4=
X-Received: by 2002:a05:600c:6089:b0:444:c28f:e81a with SMTP id
5b1f17b1804b1-44c94c246b9mr146760025e9.27.1748425726021; Wed, 28 May 2025
02:48:46 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250512184302.241417-1-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
<20250512184302.241417-5-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> <CAMuHMdX5_P4R43HOPuZc3JSAOQ5O2xOBDVhVVg1SxU1ucPdbPA@xxxxxxxxxxxxxx>
In-Reply-To: <CAMuHMdX5_P4R43HOPuZc3JSAOQ5O2xOBDVhVVg1SxU1ucPdbPA@xxxxxxxxxxxxxx>
From: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx>
Date: Wed, 28 May 2025 10:48:20 +0100
X-Gm-Features: AX0GCFvgbR9aYLSei5CukQRvloak3Q9KnXFyd1nNDHatfD-viQKLYa05qK7GLSE
Message-ID: <CA+V-a8sde6Zaz3Z2uDt3OGZ52UBJfR3vQMs4-ZUusDu=oNwFhg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v5 4/4] drm: renesas: rz-du: mipi_dsi: Add support for
RZ/V2H(P) SoC
To: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Cc: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>, Andrzej Hajda <andrzej.hajda@xxxxxxxxx>,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>, Robert Foss <rfoss@xxxxxxxxxx>,
Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>, Jonas Karlman <jonas@xxxxxxxxx>,
Jernej Skrabec <jernej.skrabec@xxxxxxxxx>, David Airlie <airlied@xxxxxxxxx>,
Simona Vetter <simona@xxxxxxxx>, Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>,
Michael Turquette <mturquette@xxxxxxxxxxxx>, Stephen Boyd <sboyd@xxxxxxxxxx>,
Biju Das <biju.das.jz@xxxxxxxxxxxxxx>, Magnus Damm <magnus.damm@xxxxxxxxx>,
dri-devel@xxxxxxxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-clk@xxxxxxxxxxxxxxx,
Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Geert,
Thank you for the review.
On Fri, May 23, 2025 at 4:19=E2=80=AFPM Geert Uytterhoeven <geert@linux-m68=
k.org> wrote:
>
> Hi Prabhakar, Fabrizio,
>
> On Mon, 12 May 2025 at 20:43, Prabhakar <prabhakar.csengg@xxxxxxxxx> wrot=
e:
> > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
> >
> > Add DSI support for Renesas RZ/V2H(P) SoC.
> >
> > Co-developed-by: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>
> > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>
> > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
>
> Thanks for your patch!
>
> > --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c
> > +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c
> > @@ -5,6 +5,7 @@
> > * Copyright (C) 2022 Renesas Electronics Corporation
> > */
> > #include <linux/clk.h>
> > +#include <linux/clk/renesas-rzv2h-dsi.h>
> > #include <linux/delay.h>
> > #include <linux/io.h>
> > #include <linux/iopoll.h>
> > @@ -30,6 +31,9 @@
> >
> > #define RZ_MIPI_DSI_FEATURE_16BPP BIT(0)
> >
> > +#define RZV2H_MIPI_DPHY_FOUT_MIN_IN_MEGA (80 * MEGA)
> > +#define RZV2H_MIPI_DPHY_FOUT_MAX_IN_MEGA (1500 * MEGA)
>
> RZV2H_MIPI_DPHY_FOUT_M{IN,AX}_IN_MHZ?
>
Ok, I'll rename them as above.
> > +
> > struct rzg2l_mipi_dsi;
> >
> > struct rzg2l_mipi_dsi_hw_info {
> > @@ -40,6 +44,7 @@ struct rzg2l_mipi_dsi_hw_info {
> > u64 *hsfreq_millihz);
> > unsigned int (*dphy_mode_clk_check)(struct rzg2l_mipi_dsi *dsi,
> > unsigned long mode_freq);
> > + const struct rzv2h_pll_div_limits *cpg_dsi_limits;
> > u32 phy_reg_offset;
> > u32 link_reg_offset;
> > unsigned long max_dclk;
> > @@ -47,6 +52,11 @@ struct rzg2l_mipi_dsi_hw_info {
> > u8 features;
> > };
> >
> > +struct rzv2h_dsi_mode_calc {
> > + unsigned long mode_freq;
> > + u64 mode_freq_hz;
>
> Interesting... I guess mode_freq is not in Hz?
>
Actually it is int Hz, I will make it unsigned long.
> > +};
> > +
> > struct rzg2l_mipi_dsi {
> > struct device *dev;
> > void __iomem *mmio;
>
> > +static u16 rzv2h_dphy_find_ulpsexit(unsigned long freq)
> > +{
> > + static const unsigned long hsfreq[] =3D {
> > + 1953125UL,
> > + 3906250UL,
> > + 7812500UL,
> > + 15625000UL,
> > + };
> > + static const u16 ulpsexit[] =3D {49, 98, 195, 391};
> > + unsigned int i;
> > +
> > + for (i =3D 0; i < ARRAY_SIZE(hsfreq); i++) {
> > + if (freq <=3D hsfreq[i])
> > + break;
> > + }
> > +
> > + if (i =3D=3D ARRAY_SIZE(hsfreq))
> > + i -=3D 1;
>
> i--
>
OK.
> > +
> > + return ulpsexit[i];
> > +}
> > +
> > +static u16 rzv2h_dphy_find_timings_val(unsigned long freq, u8 index)
> > +{
> > + const struct rzv2h_mipi_dsi_timings *timings;
> > + u16 i;
> > +
> > + timings =3D &rzv2h_dsi_timings_tables[index];
> > + for (i =3D 0; i < timings->len; i++) {
> > + unsigned long hsfreq =3D timings->hsfreq[i] * 10000000U=
L;
>
> (I wanted to say "MEGA", but then I noticed the 7th zero ;-)
>
> 10 * MEGA?
>
Agreed, I will update it as above.
> > +
> > + if (freq <=3D hsfreq)
> > + break;
> > + }
> > +
> > + if (i =3D=3D timings->len)
> > + i -=3D 1;
>
> i--
>
> > +
> > + return timings->start_index + i;
> > +};
> > +
> > static void rzg2l_mipi_dsi_phy_write(struct rzg2l_mipi_dsi *dsi, u32 r=
eg, u32 data)
> > {
> > iowrite32(data, dsi->mmio + dsi->info->phy_reg_offset + reg);
> > @@ -308,6 +479,158 @@ static int rzg2l_dphy_conf_clks(struct rzg2l_mipi=
_dsi *dsi, unsigned long mode_f
> > return 0;
> > }
> >
> > +static unsigned int rzv2h_dphy_mode_clk_check(struct rzg2l_mipi_dsi *d=
si,
> > + unsigned long mode_freq)
> > +{
> > + struct rzv2h_plldsi_parameters *dsi_parameters =3D &dsi->dsi_pa=
rameters;
> > + u64 hsfreq_millihz, mode_freq_hz, mode_freq_millihz;
> > + struct rzv2h_plldsi_parameters cpg_dsi_parameters;
> > + unsigned int bpp, i;
> > +
> > + bpp =3D mipi_dsi_pixel_format_to_bpp(dsi->format);
> > +
> > + for (i =3D 0; i < 10; i +=3D 1) {
> > + unsigned long hsfreq;
> > + bool parameters_found;
> > +
> > + mode_freq_hz =3D mode_freq * MILLI + i;
>
> KILO?
>
OK, as mode_freq_hz is in Hz I'll make it unsigned long.
> And I guess you want to use mul_u32_u32(), as mode_freq_hz is u64?
>
and use mul_u32_u32() below...
> > + mode_freq_millihz =3D mode_freq_hz * MILLI * 1ULL;
>
> Why * 1ULL?
>
Agreed, not needed, I will use mul_u32_u32() here.
> > + parameters_found =3D rzv2h_dsi_get_pll_parameters_value=
s(dsi->info->cpg_dsi_limits,
> > + =
&cpg_dsi_parameters,
> > + =
mode_freq_millihz);
> > + if (!parameters_found)
> > + continue;
> > +
> > + hsfreq_millihz =3D DIV_ROUND_CLOSEST_ULL(cpg_dsi_parame=
ters.freq_millihz * bpp,
> > + dsi->lanes);
> > + parameters_found =3D rzv2h_dsi_get_pll_parameters_value=
s(&rzv2h_plldsi_div_limits,
> > + =
dsi_parameters,
> > + =
hsfreq_millihz);
> > + if (!parameters_found)
> > + continue;
> > +
> > + if (abs(dsi_parameters->error_millihz) >=3D 500)
> > + continue;
> > +
> > + hsfreq =3D DIV_ROUND_CLOSEST_ULL(hsfreq_millihz, MILLI)=
;
> > + if (hsfreq >=3D RZV2H_MIPI_DPHY_FOUT_MIN_IN_MEGA &&
> > + hsfreq <=3D RZV2H_MIPI_DPHY_FOUT_MAX_IN_MEGA) {
> > + dsi->mode_calc.mode_freq_hz =3D mode_freq_hz;
> > + dsi->mode_calc.mode_freq =3D mode_freq;
> > + return MODE_OK;
> > + }
> > + }
> > +
> > + return MODE_CLOCK_RANGE;
> > +}
>
> > --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi_regs.h
> > +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi_regs.h
> > @@ -40,6 +40,39 @@
> > #define DSIDPHYTIM3_THS_TRAIL(x) ((x) << 8)
> > #define DSIDPHYTIM3_THS_ZERO(x) ((x) << 0)
> >
> > +/* RZ/V2H DPHY Registers */
> > +#define PLLENR 0x000
> > +#define PLLENR_PLLEN BIT(0)
> > +
> > +#define PHYRSTR 0x004
> > +#define PHYRSTR_PHYMRSTN BIT(0)
> > +
> > +#define PLLCLKSET0R 0x010
> > +#define PLLCLKSET0R_PLL_S(x) ((x) << 0)
>
> #define PLLCLKSET0R_PLL_S GENMASK(2, 0)
>
> and after that you can use FIELD_PREP(PLLCLKSET0R_PLL_S, x) in the code.
> More opportunities for masks below...
>
Thanks, I will make use of GENMASK/FIELD_PREP macros.
Cheers,
Prabhakar
Return-Path: <linux-kernel+bounces-665241-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BC90C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:50:35 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 009FF4E345C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:50:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D62E0279333;
Wed, 28 May 2025 09:50:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dkiktXZ2"
Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B9D01D47B4;
Wed, 28 May 2025 09:50:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425822; cv=none; b=Hmh4lXHj6bfQG22I5nywG3OcYpMEcMKlthPgsj4ORc5/bikZN6yH3VxlYNz3RJYJl9SoOrxLVVp7zNiGXag7a5uD8bQ9WQUxiQ4Oxm2gVSbLYqjA3nDnug4Ut2C1d435TG9tzlT9DdgeXfI4Amq8WEijnbdn5hjY3NwFlOuxshA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425822; c=relaxed/simple;
bh=uXLKxbZMGyPQIhzmIxYiHPJggnsUBGMt+mRIvq+k2ts=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=YYzqTvoNE2bgtjtG9dpW7FE3UNwptNwFOZLusvSl2BTEV1v9cnD/TP0rK5lK0SsCnxNf33nFnc73ulrrh49JEEXQs7AKmkfJBSF7zNXczeMtStY3pCIXLzgikctnkDx1IypDeWBQLiPsKC5hC2d6YA7t4W7IcCTE1h6VaLNSAh4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dkiktXZ2; arc=none smtp.client-ip=209.85.208.43
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-6045b95d1feso7258704a12.1;
Wed, 28 May 2025 02:50:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748425818; x=1749030618; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=U154eK3ddwaPqm55ZRdw1sQb9SuIUnfO5tNkP86wnH0=;
b=dkiktXZ2ICbVFaVjQFr+BJONEu3yGJH7RtL+96TN6vvDkNNpKurGpkqOY02rCn2bU7
GEMOMJRdhSNVOoESrLiQukmPMvhUTYTX9Yr0Bur+FS5e8CPxL6rGHwwbcu/2dTUYv0/o
PxaONM4LmGwyFkOoSiLdVf4pBcejcfslhjTz+6PFnbROaS+Yj4fte236k+Lm/9N5yZGh
85RIdVpC/tJHX6VVRTe47v4BEbptLFqfShHKjOjVoNdeahYBbY8g1uWJQMgwVDZXTu00
BAH596Nu/SigCPC2HCLQxlcMuD6ULAIqaWqmh5AsIbJal6xy6JamjVQVZXmkaYF8dtDc
FhCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748425818; x=1749030618;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=U154eK3ddwaPqm55ZRdw1sQb9SuIUnfO5tNkP86wnH0=;
b=Txs+ZjVDi/OwIcqg2XVmpPrhU0Yw/+5HtMg4vL3En+cNzjqATN3rkPaCRWpW54IgGQ
BXUxMhce5+elC6HZImwQMLNg27e9J4O+hqgE//9QHtoMsa7t0OAXZ1ubLozO2zBVPIn8
87RPJqcj7oYApqgu/aZamR4vC6EkJiMNY8d9YEuRpY3oAFgrX8AIxtNlrqlu3bN150KX
bXzjo23sYfGe1ZnlnDN9qwtUW4STi3mFEo4auo0S3iTZXBxmAnGezf4/kYPGY7REeuNy
FCS1EhE8zrn1ftvVrd5LZcP8RwjUyuppYxe8jhKaDomaI63u471V1w/fD9tUNT4gMVQ1
Cwpw==
X-Forwarded-Encrypted: i=1; AJvYcCVVOIyVtJUKOEazW/nJPHzT2prNu04mxbPuwbW/ikr/PZQg8BlW9SkOvGi32xDtKpfLKv+cMyLTJEC5bk/E@xxxxxxxxxxxxxxx, AJvYcCWofrpj6fcyw5gkf5j/7o0DuqbOLTv/xvTqs9XI6QYM0ZY0glTw1E38fpvJ1n2LiHes+Xw=@vger.kernel.org, AJvYcCWx3QU6iwiWXhGq80gmw/PE5e33IaIVjxOhg+NZIqmChnjLSG4QmB5M1EkAhW8n76PGn8SAOszZUAIm2w==@vger.kernel.org, AJvYcCX+I9M9db9UlUh7I5Q7iRcEzl9GpornlB9EFEysuDqgJR/09bIkvQVm6BWw0i5frJcI/9YOvWSA@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxdqmJ2BN+hgHaL/3/vLpwXH6siNUfX+vM7BlHEpgwCAuHRDB09
oddPT/LHTAOtpYC1qGVnniWi2fuLEkArwBB9fKy0SEg2jxgHxs+wdhP/
X-Gm-Gg: ASbGncu5i+5F9l17VVwNyBvkwgHg9D+2K8mrDvYMUC2DmXR8y/4PDfasrIOLlLZRfrw
WejmxAgNzhkBTdfEvK/+pOGVZ5XZPcIFhqY2qQMlbsEkvzdZkgVxiNJcTcLs0LskJp4wjFc93eG
Izb73Uk7YMWq+bvU1gT0ieygXS7raYKtYkJmmUEv/ctcjpthiMb0APwPRE6nkeAIWsJ0IanAy7y
9paiHOaoiNv8CGyjbash76YN5gQKEPm1AABNSIgp/WyNMIYiqxpBSF7JwzKNw71JMEsR3XiBili
sgEQshW2YOddvTzpiLtyqsYFARNRpkqzloVwF2P1P1020pEl9VESQLGZoMrJEQCCe1vSct4+vQ=
=
X-Google-Smtp-Source: AGHT+IFBpwXe6OYaA+6pIeCAYnPKbCTjWryXK9Qi9lEDBkg++QM3cSR3IC/BzivItjAiaVNDFa3zmw==
X-Received: by 2002:a17:906:c14f:b0:ad8:a4a8:103a with SMTP id a640c23a62f3a-ad8a4a81180mr97835266b.4.1748425818177;
Wed, 28 May 2025 02:50:18 -0700 (PDT)
Received: from ?IPV6:2620:10d:c096:325::6f? ([2620:10d:c092:600::1:c447])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1b28908sm78014966b.117.2025.05.28.02.50.16
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 02:50:17 -0700 (PDT)
Message-ID: <5494b37d-1af0-488e-904b-2d3cbd0e7dcf@xxxxxxxxx>
Date: Wed, 28 May 2025 10:51:29 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access page->pp_magic
in page_pool_page_is_pp()
To: Byungchul Park <byungchul@xxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx, ilias.apalodimas@xxxxxxxxxx,
harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx,
toke@xxxxxxxxxx, tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx,
david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx,
vbabka@xxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx, mhocko@xxxxxxxx,
horms@xxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
References: <20250523032609.16334-1-byungchul@xxxxxx>
<20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
<a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
<20250528081403.GA28116@xxxxxxxxxxxxxxxxxxx>
<06fca2f8-39f6-4abb-8e0d-bef373d9be0f@xxxxxxxxx>
<20250528091416.GA54984@xxxxxxxxxxxxxxxxxxx>
<b7efa56b-e9fd-4ca6-9ecf-0d5f15b8d0c1@xxxxxxxxx>
<20250528093303.GB54984@xxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Pavel Begunkov <asml.silence@xxxxxxxxx>
In-Reply-To: <20250528093303.GB54984@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 10:33, Byungchul Park wrote:
> On Wed, May 28, 2025 at 10:20:29AM +0100, Pavel Begunkov wrote:
>> On 5/28/25 10:14, Byungchul Park wrote:
>>> On Wed, May 28, 2025 at 10:07:52AM +0100, Pavel Begunkov wrote:
>>>> On 5/28/25 09:14, Byungchul Park wrote:
>>>>> On Wed, May 28, 2025 at 08:51:47AM +0100, Pavel Begunkov wrote:
>>>>>> On 5/26/25 03:23, Byungchul Park wrote:
>>>>>>> On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
>>>>>>>> On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
>>>>>>>>>
>>>>>>>>> To simplify struct page, the effort to seperate its own descriptor from
>>>>>>>>> struct page is required and the work for page pool is on going.
>>>>>>>>>
>>>>>>>>> To achieve that, all the code should avoid accessing page pool members
>>>>>>>>> of struct page directly, but use safe APIs for the purpose.
>>>>>>>>>
>>>>>>>>> Use netmem_is_pp() instead of directly accessing page->pp_magic in
>>>>>>>>> page_pool_page_is_pp().
>>>>>>>>>
>>>>>>>>> Signed-off-by: Byungchul Park <byungchul@xxxxxx>
>>>>>>>>> ---
>>>>>>>>> include/linux/mm.h | 5 +----
>>>>>>>>> net/core/page_pool.c | 5 +++++
>>>>>>>>> 2 files changed, 6 insertions(+), 4 deletions(-)
>>>>>>>>>
>>>>>>>>> diff --git a/include/linux/mm.h b/include/linux/mm.h
>>>>>>>>> index 8dc012e84033..3f7c80fb73ce 100644
>>>>>>>>> --- a/include/linux/mm.h
>>>>>>>>> +++ b/include/linux/mm.h
>>>>>>>>> @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
>>>>>>>>> #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
>>>>>>>>>
>>>>>>>>> #ifdef CONFIG_PAGE_POOL
>>>>>>>>> -static inline bool page_pool_page_is_pp(struct page *page)
>>>>>>>>> -{
>>>>>>>>> - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
>>>>>>>>> -}
>>>>>>>>
>>>>>>>> I vote for keeping this function as-is (do not convert it to netmem),
>>>>>>>> and instead modify it to access page->netmem_desc->pp_magic.
>>>>>>>
>>>>>>> Once the page pool fields are removed from struct page, struct page will
>>>>>>> have neither struct netmem_desc nor the fields..
>>>>>>>
>>>>>>> So it's unevitable to cast it to netmem_desc in order to refer to
>>>>>>> pp_magic. Again, pp_magic is no longer associated to struct page.
>>>>>>>
>>>>>>> Thoughts?
>>>>>>
>>>>>> Once the indirection / page shrinking is realized, the page is
>>>>>> supposed to have a type field, isn't it? And all pp_magic trickery
>>>>>> will be replaced with something like
>>>>>>
>>>>>> page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; }
>>>>>
>>>>> Agree, but we need a temporary solution until then. I will use the
>>>>> following way for now:
>>>>
>>>> The question is what is the problem that you need another temporary
>>>> solution? If, for example, we go the placeholder way, page_pool_page_is_pp()
>>>
>>> I prefer using the place-holder, but Matthew does not. I explained it:
>>>
>>> https://lore.kernel.org/all/20250528013145.GB2986@xxxxxxxxxxxxxxxxxxx/
>>>
>>> Now, I'm going with the same way as the other approaches e.g. ptdesc.
>>
>> Sure, but that doesn't change my point
>
> What's your point? The other appoaches do not use place-holders. I
> don't get your point.
>
> As I told you, I will introduce a new struct, netmem_desc, instead of
> struct_group_tagged() on struct net_iov, and modify the static assert on
> the offsets to keep the important fields between struct page and
> netmem_desc.
>
> Then, is that following your point? Or could you explain your point in
> more detail? Did you say other points than these?
Then please read the message again first. I was replying to th
aliasing with "lru", and even at the place you cut the message it
says "for example", which was followed by "You should be able to
do the same with the overlay option.".
You can still continue to use pp_magic placed in the netmem_desc
until mm gets rid of it in favour of page->type. I hear that you're
saying it's temporary, but it's messy and there is nothing more
persistent than a "temporary solution", who knows where the final
conversion is going to happen.
--
Pavel Begunkov
Return-Path: <linux-kernel+bounces-665242-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 928CA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:52:01 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 676193AAD04
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:51:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 42ECC279334;
Wed, 28 May 2025 09:51:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="I4rKlkkc"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C2569278152;
Wed, 28 May 2025 09:51:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748425911; cv=none; b=MJVj3+edQJ7BWHPsUPOtQ5JHXdykJTZi64LM2RAczzw70LmQvcWOBCkkyxlfxDaq37Bm0cWf0ufICjfyHRL5Okdm8nN+0wKyn9EA1pn9BVjcEdMUlOJ+/F1llXPMrYl5EWYpax+T1577SGjLScj8DBeDyAMMHxa7n8Z71k41QyY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748425911; c=relaxed/simple;
bh=tcQArO/ilw7koTVs+1Wqs9sPMLBSpYyfkvbgmUzFeXM=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=Ua6T/+skBZNZfg1i5Wl5/JZ8KtleE4SyDAnGnrvFgCdIFUdT2SnMxydzpqFwJ/X50iqnJu0mZkIfbzELG1rXChUFm5moG3pwtNnBz3qhi3o0nh9dzrxV+GIhZR0OgbjEdEg2FKeKqrD72p8Mbi0s7RLFzBwH9T4SShPmMRxAMs8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=I4rKlkkc; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com
Received: from pps.filterd (m0279871.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S8gG2x022962;
Wed, 28 May 2025 09:51:45 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
Wp2KgjjSZKhPsd4HV/S8Rh5q5fv+5sUwsR45Qw85m0w=; b=I4rKlkkcmQDiKk/W
roAjtfpLaewNNA49eTHjQZweV9TBXnAGfsa+eVlHNq+VgWL5HP+Jwf/Ow/u8ZNQu
AnVjgDRDfQ7S2paykfKWtLtFQRrEb1o8aWgY1vO2ZDw3QDY3TZ5MqZz2RFdfMy8c
Vkrq8weiTgHvfJAvSB1rLa3VL0+SWx/LnPuGeU3chfAaeOvcvKMcNcwyzU1FPinC
ZY8nRQWAXNWntttSBD+IDFvfe1ZTsibauS9ljHPTXM2zhfoQCAxrxcHzIt+1vaik
TfurmsZosej3S/gVr2QHQLN3oRPzBNmZIv8IGhgcA4oVSUdCzYg5LN1u4vqXcRBb
COZkMA==
Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46vmgcx8x3-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:51:44 +0000 (GMT)
Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196])
by NALASPPMTA03.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 54S9phOf020897
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:51:43 GMT
Received: from [10.218.22.7] (10.80.80.8) by nalasex01a.na.qualcomm.com
(10.47.209.196) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Wed, 28 May
2025 02:51:36 -0700
Message-ID: <bb9f9498-5b24-4df8-923a-a54bc528799d@xxxxxxxxxxx>
Date: Wed, 28 May 2025 15:21:32 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/18] dt-bindings: clock: qcom: Update sc8280xp camcc
bindings
To: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
CC: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>,
Bjorn Andersson
<andersson@xxxxxxxxxx>,
Michael Turquette <mturquette@xxxxxxxxxxxx>,
"Stephen
Boyd" <sboyd@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski
<krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Konrad Dybcio
<konradybcio@xxxxxxxxxx>,
Vladimir Zapolskiy <vladimir.zapolskiy@xxxxxxxxxx>,
Ajit Pandey <quic_ajipan@xxxxxxxxxxx>,
Imran Shaik
<quic_imrashai@xxxxxxxxxxx>,
Taniya Das <quic_tdas@xxxxxxxxxxx>,
"Satya Priya
Kakitapalli" <quic_skakitap@xxxxxxxxxxx>,
<linux-arm-msm@xxxxxxxxxxxxxxx>, <linux-clk@xxxxxxxxxxxxxxx>,
<devicetree@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
References: <20250515-videocc-pll-multi-pd-voting-v4-0-571c63297d01@xxxxxxxxxxx>
<20250515-videocc-pll-multi-pd-voting-v4-2-571c63297d01@xxxxxxxxxxx>
<20250519-barnacle-of-beautiful-enthusiasm-4e6af0@kuoka>
<ec4ee2f5-162b-430d-aeb9-90ad4559707b@xxxxxxxxxxx>
<the3rt4gwb766u5tmzzugoozkyt3qw7kxvy6mlemxcqb5ibs37@szcq2rzbukma>
Content-Language: en-US
From: Jagadeesh Kona <quic_jkona@xxxxxxxxxxx>
In-Reply-To: <the3rt4gwb766u5tmzzugoozkyt3qw7kxvy6mlemxcqb5ibs37@szcq2rzbukma>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To
nalasex01a.na.qualcomm.com (10.47.209.196)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Proofpoint-ORIG-GUID: _I-QgFM5UlQRHwcQjaVShaytowtLaBq5
X-Proofpoint-GUID: _I-QgFM5UlQRHwcQjaVShaytowtLaBq5
X-Authority-Analysis: v=2.4 cv=Ws4rMcfv c=1 sm=1 tr=0 ts=6836dcb0 cx=c_pps
a=ouPCqIW2jiPt+lZRy3xVPw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=P-IC7800AAAA:8
a=qU0-ABsse5SAqXbbjgwA:9 a=QEXdDO2ut3YA:10 a=d3PnA9EDa4IxuAV0gXij:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4NSBTYWx0ZWRfX6UqsCeu+7/XO
hkIKzHjiwbyPlYFVq8PwHgLZeBCOLcBfipX+yOLQakUw/F1sa1ICq1ftdhmn9Wxv1UhSiIzutps
1i7OlNj3wxSsSTFo8IZyttP+A2Kr3ZiR3V/czOuASdomQ90VCkoPNNbEaW1XYKqA/5VihAERdrm
zh7GI/vuZ0I1QOW8P+tR7ccRvhpuS0hdosPX8fcNHXelN/zXQS4t/RIJZvtnkXm3OTz5tAZzvyi
vvQo/7ct/niem6TjHnLRwZW/5eaTiPaXzrXjJw1icxDdyGjUTzazVBu/uMS9kmAE3lJIgyDAoQR
wsq+emi5P+yQd71vtDe+B/1VhGhjaF8UbtYomM9BuSkjPNgsgQa+blORcx1VseXjqsIQs3F5+NN
k4IaiIocl5HT3t/KcdOkHb8BFVCktFHXxvsu31tGoUIgGZcVMg3vJm2jiYMTdazGBftWYGz+
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
suspectscore=0 clxscore=1015 impostorscore=0 spamscore=0 adultscore=0
phishscore=0 mlxlogscore=999 priorityscore=1501 malwarescore=0
lowpriorityscore=0 bulkscore=0 mlxscore=0 classifier=spam authscore=0
authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280085
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/21/2025 6:16 PM, Dmitry Baryshkov wrote:
> On Wed, May 21, 2025 at 03:32:34PM +0530, Jagadeesh Kona wrote:
>>
>>
>> On 5/19/2025 1:48 PM, Krzysztof Kozlowski wrote:
>>> On Thu, May 15, 2025 at 12:38:47AM GMT, Jagadeesh Kona wrote:
>>>> SC8280XP camcc only requires the MMCX power domain, unlike
>>>> SM8450 camcc which will now support both MMCX and MXC power
>>>
>>> I do not see change to sm8450 here. This makes no sense on its own. You
>>> do not move compatibles - what is the point of such change?
>>>
>>
>> I did the SM8450 changes in next patch (3/18). But I agree with you, this needs to
>> be more structured. So I am planning to drop this patch and instead take care of
>> single power domain requirement for SC8280XP within SM8450 camcc bindings using
>> minItems and maxItems properties based on if check for sc8280xp compatible similar
>> to below snippet.
>
> I think it is a bad idea. I liked the split that you've implemented:
> separate bindings for platforms that require MMCX (and MX), separate
> bindings for platforms which require MMCX and MXC (and MXA).
>
> It might be better to start by changing SM8450 binding to support MXC
> and then adding SC8280XP to those bindings.
>
Okay, I will reverse the order of patches 2 and 3 to support MXC for SM8450 camcc
bindings first and then move SC8280XP to have single power domain support.
Thanks,
Jagadeesh
>>
>> power-domains:
>> - maxItems: 1
>> + minItems: 1
>> description:
>> - A phandle and PM domain specifier for the MMCX power domain.
>> + Power domains required for the clock controller to operate
>> + items:
>> + - description: MMCX power domain
>> + - description: MXC power domain
>>
>> ......
>>
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + enum:
>> + - qcom,sc8280xp-camcc
>> + then:
>> + properties:
>> + power-domains:
>> + maxItems: 1
>> + required-opps:
>> + maxItems: 1
>> +
>>
>>
>>>> domains. Hence move SC8280XP camcc bindings from SM8450 to
>>>> SA8775P camcc.
>>>
>>> Subject: everything could be an update. Be specific.
>>>
>>> A nit, subject: drop second/last, redundant "bindings". The
>>> "dt-bindings" prefix is already stating that these are bindings.
>>> See also:
>>> https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
>>>
>>
>> Sure, I will take care of above in next series.
>>
>> Thanks,
>> Jagadeesh
>>
>>>>
>>>> SA8775P camcc doesn't support required-opps property currently
>>>> but SC8280XP camcc need that property, so add required-opps
>>>> based on SC8280XP camcc conditional check in SA8775P camcc
>>>> bindings.
>>>
>>> Best regards,
>>> Krzysztof
>>>
>
Return-Path: <linux-kernel+bounces-665243-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0961041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:53:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id D79C94E0319
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:53:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2C31F278E6F;
Wed, 28 May 2025 09:53:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="AFBtW3mi"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB79C2459F7
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:53:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426007; cv=none; b=O9sUUEAvUVdFuhqw/H/3NppQAlJa2MrlvnFyM/vYlVf+3zt/Ds1VCxBf/i2Ttzb8cRRx7V44A2Bud0ts8hSV1gE8Gt/dwKNy7KznTqSsC/bRDrx8jc6TUCXxmO8ZX9Jt8E9ZeOMqtIn47CbBG6qepMi26/aW1aiSkCha1QS2unU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426007; c=relaxed/simple;
bh=Fmr3jwJi3YQouKuqcPQzlRUJ8rteCm7hNAGsR03cBig=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=DsoQcNPHjY1kI1axrXlVWBhcVkeQT+M6S4n93uisHKnGLEBiA1ZZwiG8yeGY/ugvWWOXIuLjBSJJgpQ6vEZ7XSLyKrXnKRRotgY5/hcYqqOTJ1qn7x4mBqFGvUBH5H4k1DXjs9KFRbgOzoWa7F3cfxMnS7IhS8ywG0WjPfEKolI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=AFBtW3mi; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748426004;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=W1u6n8V0ShIO4z2EdyC6/erq05zKheUuyNblwPdU87Q=;
b=AFBtW3miO6wLnUZaZ+MSNl1QL1hYtOsCbLkPRQFt+GoknfemoaTVoScYVy9LWnbIKfgEbw
53DUSQo++P6sPzu/HpvGUfsNWgotGpGMUvVYsUXx+xWYePJ7NKexvrydFDcwj9zDYY8akg
AR3sqGtmNxCAaVLYvw09fAcnVlzV0t8=
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
[209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-586-Mhs_k5fTMGutcOsnQD2wMQ-1; Wed, 28 May 2025 05:53:23 -0400
X-MC-Unique: Mhs_k5fTMGutcOsnQD2wMQ-1
X-Mimecast-MFC-AGG-ID: Mhs_k5fTMGutcOsnQD2wMQ_1748426002
Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-442fda1cba7so20307735e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:53:23 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748426002; x=1749030802;
h=in-reply-to:content-transfer-encoding:content-disposition
:mime-version:references:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=W1u6n8V0ShIO4z2EdyC6/erq05zKheUuyNblwPdU87Q=;
b=BA2sl8OksEdlRaYjdgXneM5S7ljQrtfSU0MP4+iJbgvipI3gg7ybclie51E5JxIQRg
uJBI9zvnOFsTuy3m0olkCEu13sHu69nnRnzxEJjM+B6yyjHyZsy9TTEJv50J1NyeGTWH
FCsWsQJ2Y7v46kcS+gxNchEoI+iifBFKZ/n36tEb6M1GygpJ1+3X5MEsT8DbRqC9g9hb
HwThJnac6D+TixG2VVMDZUeulHMpzSiqWiHYO6Gsj70e8X4JwhFuaxnXkNALyRmoyrTW
wDem0XSZyWd0nUbPCwV0f/1AUoQgrBPM6mvfflZpzhalSu3FqOe7bKBRHTc6lLwxK6uJ
R0Eg==
X-Forwarded-Encrypted: i=1; AJvYcCW0enMkRRMfWU3X83UV8KK8ZFMKjFd7STtVTk4AJW2NeQP4fPxOdsnuh6EKYMGu5fmklQ3wa1hCJ3jqQKo=@vger.kernel.org
X-Gm-Message-State: AOJu0YzjnPMUGFyj+ZWvKaEE41HJAcA7bmw2WoiB8+xlBQjww/lIIkuU
QzZHQRi8c1Ep3pzDJDCQff9CCiahFCLrHuw95k/tbYzIfxC6H7YVBvi7LaVsegISXIE2yIvqfxI
gD3i6q/JSE/ZATqnNcrAzXJPaVx4UW5QVFHr+XrHeEhdBme2Yq23syyHuB0g3a2o3yQ==
X-Gm-Gg: ASbGncvfW74bYcUTuAauQ3ipV2404OC3FA7S4xYLJ/QaA0duXvvzJLWB6g+PuHLDZj4
6Z4k1162f/ViD8mpYjbPuuf1Kk3KkZ5D6awHskL6B+QC0jH2U+WEtGJTNXKZonIJCM0gXHx7/2T
mGVvNzs8mHsoQtSHJlEdPgRcVH6pr4Sxzm0LmbtURyAfE/2AhQLSU1SpX3rYjGMWetJW6Rp6EVW
Z0zHUaiBCVT3609YQXYiDfnYXddlZ6C3wnpIAFXu6SIpVnDq7uQr6aKTYYlb7Zcz6vD3XEhsg78
e7Rk5LAhJWk18q4kHesGj7sfOttyMaBFdQ+j1n7ggqqMBvc65OLipN7IPyHE
X-Received: by 2002:a05:600c:1e1c:b0:441:d438:4ea5 with SMTP id 5b1f17b1804b1-44c9493e6b1mr125991295e9.20.1748426002029;
Wed, 28 May 2025 02:53:22 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGKtV2CLo/am9z3wUFY2sht7iYltOSuslBrVCVGBjCH19eoPNr5lIJ6KpopXopItx64UQR2OA==
X-Received: by 2002:a05:600c:1e1c:b0:441:d438:4ea5 with SMTP id 5b1f17b1804b1-44c9493e6b1mr125990955e9.20.1748426001537;
Wed, 28 May 2025 02:53:21 -0700 (PDT)
Received: from sgarzare-redhat (host-82-53-134-35.retail.telecomitalia.it. [82.53.134.35])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450787ccbd1sm12032595e9.25.2025.05.28.02.53.20
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 02:53:21 -0700 (PDT)
Date: Wed, 28 May 2025 11:53:16 +0200
From: Stefano Garzarella <sgarzare@xxxxxxxxxx>
To: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>
Cc: lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, jarkko@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx, jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx,
Yinggang Gu <guyinggang@xxxxxxxxxxx>, Huacai Chen <chenhuacai@xxxxxxxxxxx>
Subject: Re: [PATCH v10 4/5] tpm: Add a driver for Loongson TPM device
Message-ID: <45xqguhrecn57cwc66hfws4eeqrb6rlijvh2z35e56ogojc2q4@pnlrgx57353b>
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx>
<20250528065944.4511-5-zhaoqunqin@xxxxxxxxxxx>
<7ifsmhpubkedbiivcnfrxlrhriti5ksb4lbgrdwhwfxtp5ledc@z2jf6sz4vdgd>
<afaeb91a-afb4-428a-2c17-3ea5f098da22@xxxxxxxxxxx>
<gymx5tbghi55gm76ydtuzzd6r522expft36twwtvpkbgcl266a@zelnthnhu7kq>
<ccb1927d-c06a-9fde-6cbb-652974464f4b@xxxxxxxxxxx>
<cfaf2fbb-5c6a-9f85-fdc9-325d82fb7821@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <cfaf2fbb-5c6a-9f85-fdc9-325d82fb7821@xxxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 05:34:49PM +0800, Qunqin Zhao wrote:
>
>å?¨ 2025/5/28 ä¸?å??5:24, Qunqin Zhao å??é??:
>>
>>å?¨ 2025/5/28 ä¸?å??5:00, Stefano Garzarella å??é??:
>>>On Wed, May 28, 2025 at 04:42:05PM +0800, Qunqin Zhao wrote:
>>>>
>>>>å?¨ 2025/5/28 ä¸?å??3:57, Stefano Garzarella å??é??:
>>>>>>+Â Â Â chip = tpmm_chip_alloc(dev, &tpm_loongson_ops);
>>>>>>+Â Â Â if (IS_ERR(chip))
>>>>>>+Â Â Â Â Â Â Â return PTR_ERR(chip);
>>>>>>+Â Â Â chip->flags = TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_IRQ;
>>>>>
>>>>>Why setting TPM_CHIP_FLAG_IRQ?
>>>>
>>>>When tpm_engine completes TPM_CC* command,
>>>>
>>>>the hardware will indeed trigger an interrupt to the kernel.
>>>
>>>IIUC that is hidden by loongson_se_send_engine_cmd(), that for
>>>this driver is completely synchronous, no?
>>>
>>>>
>>>>>
>>>>>IIUC this driver is similar to ftpm and svsm where the send is
>>>>>synchronous so having .status, .cancel, etc. set to 0 should
>>>>>be enough to call .recv() just after send() in
>>>>>tpm_try_transmit(). See commit 980a573621ea ("tpm: Make
>>>>>chip->{status,cancel,req_canceled} opt")
>>>>The send callback would wait until the TPM_CC* command complete.
>>>>We don't need a poll.
>>>
>>>Right, that's what I was saying too, send() is synchronous (as in
>>>ftpm and svsm). The polling in tpm_try_transmit() is already
>>>skipped since we are setting .status = 0, .req_complete_mask = 0,
>>>.req_complete_val = 0, etc. so IMHO this is exactly the same of
>>>ftpm and svsm, so we don't need to set TPM_CHIP_FLAG_IRQ.
>>
>>I see, but why not skip polling directly in "if (chip->flags &
>>TPM_CHIP_FLAG_IRQ)"Â instead of do while?
>
>I mean, why not skip polling directly in "if (chip->flags &
>TPM_CHIP_FLAG_IRQ)"?
>
>And In my opinion, TPM_CHIP_FLAG_SYNC and TPM_CHIP_FLAG_IRQ are
>essentially the same, only with different names.
When TPM_CHIP_FLAG_SYNC is defined, the .recv() is not invoked and
.send() will send the command and retrieve the response. For some driver
like ftpm this will save an extra copy/buffer.
Stefano
Return-Path: <linux-kernel+bounces-665244-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D9E2D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:55:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 0E6D07A685A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:54:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4CB49279345;
Wed, 28 May 2025 09:55:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="YGifMXx/"
Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9D9F27584C;
Wed, 28 May 2025 09:55:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426117; cv=none; b=i51w0cKiWkow5lCg0YUUiiAggrHpQaiOWq1FWyGwDxJ46KKIN2wJsjPm6aOnSyABkCmHhez+OW5DspE1kOd3MUczKn6fO8U1HLRTkIh/WvvqkzV5UcviA0UPo3RoXRJytQLP674xHYFQdygf8ZhFq4ZOqBV+vdUYJ5TApSBfI1Y=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426117; c=relaxed/simple;
bh=qxS8rQ60AEViIgdrw+xI0tC+FwrU/h7kHCn4xV2Hc6w=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=nt/wcuC2HzWgzu7Qi0JiBcBjkxsD6rkenGUcz6wuamdLDZwOOYpZfpWzv5JDX18ffi5brpRuXXetuvsLvRQfis25WF80+KOwrpPc5UyHd1w7GoZHfTuU9KGFsH9EY22rTEduPdwKqbYFVSf2TbAyuOQmiMWcpPlqS86BS/YVhfk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=YGifMXx/; arc=none smtp.client-ip=148.163.158.5
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0356516.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S0THbI017273;
Wed, 28 May 2025 09:55:13 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-transfer-encoding:date:from:message-id:mime-version
:subject:to; s=pp1; bh=t5ypxL8g/1zbo9Ow9aBonSYjXan8wQvPyIBjMtpBm
KY=; b=YGifMXx/yGD+gWcsVhlvBDLC0vseYGWgSTyUuJvBTq21kOQpHSFeMaWz6
l6mVus60aWM1tNvnX33JEHnGlflcp8mPdS0EL8h6Nn1nBmHvYzKj22PeKI8oDTjV
MeCVAqV6ByGR4tYpOsC55VetzG26QvlkpcDTEEnFh5ECSN/hntRc8iyzgRsLeE/s
LQ4hOk4Tgz8iUnHr/DFz587XMi0GLiyI9Vf238KmUwcV9hz/glEBYZ0HN+FkzoKe
p4cTumsBjcN++2n+i3gdx/dk4kntwhfnJ9d80j2TJDMKxLQq7whdNzcldJk//ZKc
WEgX13evS1rGjdjmoIIz+JDY4eD+A==
Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wgsgm1xy-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:13 +0000 (GMT)
Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1])
by ppma12.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54S6FFZb016139;
Wed, 28 May 2025 09:55:12 GMT
Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225])
by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 46ureuf5he-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:12 +0000
Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100])
by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54S9t8S754198580
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 09:55:08 GMT
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id C219B2004D;
Wed, 28 May 2025 09:55:08 +0000 (GMT)
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 0EF7320043;
Wed, 28 May 2025 09:55:08 +0000 (GMT)
Received: from localhost.localdomain (unknown [9.111.56.81])
by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP;
Wed, 28 May 2025 09:55:07 +0000 (GMT)
From: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, frankja@xxxxxxxxxxxxx,
borntraeger@xxxxxxxxxx, seiden@xxxxxxxxxxxxx, nsg@xxxxxxxxxxxxx,
nrb@xxxxxxxxxxxxx, david@xxxxxxxxxx, hca@xxxxxxxxxxxxx,
agordeev@xxxxxxxxxxxxx, svens@xxxxxxxxxxxxx, gor@xxxxxxxxxxxxx,
schlameuss@xxxxxxxxxxxxx
Subject: [PATCH v5 0/4] KVM: s390: Some cleanup and small fixes
Date: Wed, 28 May 2025 11:54:58 +0200
Message-ID: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00
X-Proofpoint-ORIG-GUID: w98MoOY6b-ZR0tIdYVKuv_7Sc8q866uo
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4MiBTYWx0ZWRfX4tW+vsASkMZo qc+lgvjdjA9PAtZojA/NrD1ZpG9wUeuFI3kNsYit8ZmN3T3cOLfXGEXCKAH0Oy/ob/hhqzZ+H9m DKQDYTF1gYPHDeFS0HCOWAkNxe8DxRyfMhd5ZVK7bfC1uCnK2aJxwzESmmqs+0zCe5FcLeckJc3
7QSgmx4sBvL4Q6E3eFP1+F6m2R85y1UKkpk2+SSCfMCIKvxn+SFUGhQfNVzArY5+koRFQuUiDpK /ivGsG6Ja1NwyVg4J9CvPaFIZhK/k//CfL2fubHD6OAatr76nlbok47KUMXvjZuSz66PmUnagek 5RL72gElgpd2zs32AeOvk4w3tbOMogf74z1d+dZOSn9fJNEP5kGOJtiXeHau7EdJuC/fZCocIbb
WtCmM5F+N/T7/Fi5Nksj5gZzUhy7rdkjkE7rqzza0XkjcWc1KMa+3qy5F7kCPn/P0u2/NarD
X-Authority-Analysis: v=2.4 cv=bZRrUPPB c=1 sm=1 tr=0 ts=6836dd81 cx=c_pps a=bLidbwmWQ0KltjZqbj+ezA==:117 a=bLidbwmWQ0KltjZqbj+ezA==:17 a=dt9VzEwgFbYA:10 a=gRRxI3zbkkyk7srOQjYA:9
X-Proofpoint-GUID: w98MoOY6b-ZR0tIdYVKuv_7Sc8q866uo
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0
mlxscore=0 suspectscore=0 impostorscore=0 bulkscore=0 phishscore=0
lowpriorityscore=0 mlxlogscore=670 malwarescore=0 spamscore=0
priorityscore=1501 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280082
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This series has some cleanups and small fixes in preparation of the
upcoming series that will finally completely move all guest page table
handling into kvm. The cleaups and fixes in this series are good enough
on their own, hence why they are being sent now.
v4->v5
* add missing #include <linux/swap.h> to mm/gmap_helpers.c (thanks
kernel test robot)
* fix diag_release_pages(), I had accidentally removed the guest
absolute to qemu virtual address translation
* fix patch subject lines (thanks Heiko)
v3->v4
* remove orphaned find_zeropage_ops and find_zeropage_pte_entry() from
mm/gmap.c (thanks kernel test robot)
* add missing #include <linux/swapops.h> to mm/gmap_helpers.c (thanks
kernel test robot)
v2->v3 (mainly addresses Nina's and Heiko's comments)
* drop patch 3 - it was just an attempt to clean up the code a little
and make it more readable, but there were too many issues to address
* remove all dead code from s390/mm/gmap.c that is being replaced by
code in s390/mm/gmap_helpers.c
* remove a couple of unused functions from s390/mm/gmap_helpers.c, some
of them will be introduced again in a later series when they are
actually needed
* added documentation to the functions in s390/mm/gmap_helpers.c
* general readability improvements
v1->v2
* remove uneeded "gmap.h" include from gaccess.c (thanks Christph)
* use a custom helper instead of u64_replace_bits() (thanks Nina)
* new helper functions in priv.c to increase readability (thanks Nina)
* add lockdep assertion in handle_essa() (thanks Nina)
* gmap_helper_disable_cow_sharing() will not take the mmap lock, and
must now be called while already holding the mmap lock in write mode
Claudio Imbrenda (4):
s390: Remove unneeded includes
KVM: s390: Remove unneeded srcu lock
KVM: s390: Refactor and split some gmap helpers
KVM: s390: Simplify and move pv code
MAINTAINERS | 2 +
arch/s390/include/asm/gmap.h | 2 -
arch/s390/include/asm/gmap_helpers.h | 15 ++
arch/s390/include/asm/tlb.h | 1 +
arch/s390/include/asm/uv.h | 1 -
arch/s390/kernel/uv.c | 12 +-
arch/s390/kvm/Makefile | 2 +-
arch/s390/kvm/diag.c | 30 +++-
arch/s390/kvm/gaccess.c | 3 +-
arch/s390/kvm/gmap-vsie.c | 1 -
arch/s390/kvm/gmap.c | 121 ---------------
arch/s390/kvm/gmap.h | 39 -----
arch/s390/kvm/intercept.c | 9 +-
arch/s390/kvm/kvm-s390.c | 10 +-
arch/s390/kvm/kvm-s390.h | 42 +++++
arch/s390/kvm/priv.c | 6 +-
arch/s390/kvm/pv.c | 61 +++++++-
arch/s390/kvm/vsie.c | 19 ++-
arch/s390/mm/Makefile | 2 +
arch/s390/mm/fault.c | 1 -
arch/s390/mm/gmap.c | 185 +---------------------
arch/s390/mm/gmap_helpers.c | 221 +++++++++++++++++++++++++++
arch/s390/mm/init.c | 1 -
arch/s390/mm/pgalloc.c | 2 -
arch/s390/mm/pgtable.c | 1 -
25 files changed, 410 insertions(+), 379 deletions(-)
create mode 100644 arch/s390/include/asm/gmap_helpers.h
delete mode 100644 arch/s390/kvm/gmap.c
delete mode 100644 arch/s390/kvm/gmap.h
create mode 100644 arch/s390/mm/gmap_helpers.c
--
2.49.0
Return-Path: <linux-kernel+bounces-665245-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8374E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:55:51 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 52C441BC1FD5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:56:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 275422798E5;
Wed, 28 May 2025 09:55:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="IPk3PmP/"
Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC2F427932B;
Wed, 28 May 2025 09:55:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426119; cv=none; b=OmwFkc55EJfzV/tIEuKQlj0LjboRU8TUaS6NOMUd5nMwcYbBeiZMWHmKcLs8qKU1sosuZWBvXY9CA9K4HTMI+YTWG8w02iP+l1J5anzo8WkhP9YuNtHd0ouaVO49xSOK/sigPpz/aV3gqrLFhYkcyZ4gzWiUtrzz5EkcrBkIjCI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426119; c=relaxed/simple;
bh=PRCnL8WgpuqQESSocaZd0VvV0Rpn66eBwNGP90uDevE=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=FHEk8EauxMTLYb5wxTN38dJ50qGi12GFYpzmTfxaouMMO9lGMjNfg2DyiGYeKHkD4d/gwtOrhNgRvqd1E5JwvTDYT8QjE/OHKbTgf+Yv9+iJX1hLc5THHXdsmPCSZmeoY3QqCucHTySsO7WpSvEp17FXdy/j/89GCYc5lavdtHQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=IPk3PmP/; arc=none smtp.client-ip=148.163.156.1
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0356517.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S45xpi012384;
Wed, 28 May 2025 09:55:15 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-transfer-encoding:date:from:in-reply-to:message-id
:mime-version:references:subject:to; s=pp1; bh=f0EkbI+JTUvluLo/f
zHmqTzfYD56MIaFBBtnL8OTGXA=; b=IPk3PmP/OHx52FRp0wKrPqbVxFgIPJeg2
CzHuL/oXvCR2Aw1X49S4LJKdxt9OG/QF3EvUynemwCdCmHjolCTQ/yN0ilA9LO9B
4u3OlILXbJmGQLEkhknjzyuaPDBdXegZjImazMpDPdWaLzb+ZVFWmewgdvnqJ1E8
mUEjLI1ZiiP+AKq8i+wekKR7tMc250rs/e/ITiL5ho3Y6ixpeJ+0BFsY+ltCFvLq
mQgtR67UxHv8oZZR92h6soK83iND0l9anUjIdPchvYBrmqd86REok0b9YWyWigT7
qGJpGnfT+vQCWmCUaDU9qdW0877qPgWC+QWwB+Ceb0UldQ2CjIBeg==
Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wgsgc2uj-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:15 +0000 (GMT)
Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])
by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54S6c0m1015850;
Wed, 28 May 2025 09:55:14 GMT
Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229])
by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 46uu536m70-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:14 +0000
Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100])
by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54S9tApt42533302
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 09:55:10 GMT
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 68CAA2004B;
Wed, 28 May 2025 09:55:10 +0000 (GMT)
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id A943220043;
Wed, 28 May 2025 09:55:09 +0000 (GMT)
Received: from localhost.localdomain (unknown [9.111.56.81])
by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP;
Wed, 28 May 2025 09:55:09 +0000 (GMT)
From: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, frankja@xxxxxxxxxxxxx,
borntraeger@xxxxxxxxxx, seiden@xxxxxxxxxxxxx, nsg@xxxxxxxxxxxxx,
nrb@xxxxxxxxxxxxx, david@xxxxxxxxxx, hca@xxxxxxxxxxxxx,
agordeev@xxxxxxxxxxxxx, svens@xxxxxxxxxxxxx, gor@xxxxxxxxxxxxx,
schlameuss@xxxxxxxxxxxxx
Subject: [PATCH v5 2/4] KVM: s390: Remove unneeded srcu lock
Date: Wed, 28 May 2025 11:55:00 +0200
Message-ID: <20250528095502.226213-3-imbrenda@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
References: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=OIIn3TaB c=1 sm=1 tr=0 ts=6836dd83 cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=dt9VzEwgFbYA:10 a=VnNF1IyMAAAA:8 a=-g0RikXFz7zMAnJmuvsA:9
X-Proofpoint-GUID: h13K_zD8G2gSbVxjBv37Gt9RwCBjf0rg
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4MiBTYWx0ZWRfX3d1Pf17qIWHF KdeRODGzXpsL5shoqJFKIy5amA0o0sU2bezKkBiFa9QWgqRWFPJRL0kpC4CRhfeNfac1q6JQWTh PnWsbwKbE1lcNUTQHfT+bkmavF3HwOwI+VPhpsV6TXHpgfcEUm2P4wRKGnKiAKByuLy5wvfttv0
clgt86tdwYM2YvzYF0kqnKSbm5+Y1PbfUFL5XTr6Cm00WLPVrpcWs4GVle0O/KBFxH4Jvj5EcLl /Uyb3C/StRZZRXnYMlMLjB82We0swx3HMDf1lsuuDerQeGiW7fGGn+JArnlg6zK3Nti6nzzr+NI PNbNIvTUe6FddQ72o0D5YPQu9H0iXDsvjFZGCPIQ17QjncTQCDzZgaCytM+eKl8hGuIAfhp4nUa
FpVyYz4yr4ZFCF5Pi5Ur2HXDmEMWfp2sdQCMuEOabMCkbYsrOzP9Jj5+CfetxOFzLgbvyz5X
X-Proofpoint-ORIG-GUID: h13K_zD8G2gSbVxjBv37Gt9RwCBjf0rg
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0
bulkscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0
suspectscore=0 phishscore=0 malwarescore=0 clxscore=1015 mlxscore=0
mlxlogscore=802 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280082
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
All paths leading to handle_essa() already hold the kvm->srcu.
Remove unneeded srcu locking from handle_essa().
Add lockdep assertion to make sure we will always be holding kvm->srcu
when entering handle_essa().
Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
Reviewed-by: Nina Schoetterl-Glausch <nsg@xxxxxxxxxxxxx>
Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxxxxx>
Reviewed-by: Christoph Schlameuss <schlameuss@xxxxxxxxxxxxx>
Reviewed-by: Steffen Eiden <seiden@xxxxxxxxxxxxx>
---
arch/s390/kvm/priv.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c
index 1a49b89706f8..9253c70897a8 100644
--- a/arch/s390/kvm/priv.c
+++ b/arch/s390/kvm/priv.c
@@ -1248,6 +1248,8 @@ static inline int __do_essa(struct kvm_vcpu *vcpu, const int orc)
static int handle_essa(struct kvm_vcpu *vcpu)
{
+ lockdep_assert_held(&vcpu->kvm->srcu);
+
/* entries expected to be 1FF */
int entries = (vcpu->arch.sie_block->cbrlo & ~PAGE_MASK) >> 3;
unsigned long *cbrlo;
@@ -1297,12 +1299,8 @@ static int handle_essa(struct kvm_vcpu *vcpu)
/* Retry the ESSA instruction */
kvm_s390_retry_instr(vcpu);
} else {
- int srcu_idx;
-
mmap_read_lock(vcpu->kvm->mm);
- srcu_idx = srcu_read_lock(&vcpu->kvm->srcu);
i = __do_essa(vcpu, orc);
- srcu_read_unlock(&vcpu->kvm->srcu, srcu_idx);
mmap_read_unlock(vcpu->kvm->mm);
if (i < 0)
return i;
--
2.49.0
Return-Path: <linux-kernel+bounces-665246-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2B22B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:55:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 310943A9079
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:55:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 67ADE279907;
Wed, 28 May 2025 09:55:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="J1aPkCBf"
Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC35E279331;
Wed, 28 May 2025 09:55:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426119; cv=none; b=DtHNlcUFiadMCLn1qloALrE/UyGfiRhtbhUevJl+umgkhZtdxbNDCqe0gu0zXQCUjMzAQpdHBvRBLrpJDhMLbYJ9gZ7/GrCNb+Tlgf5CS5fKd8yYMFnN0dpkOJe4/XQ9VVZjJPcAwfsexjx5nfJS8e9oHiHm6ZcRwLp7kfsvi3I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426119; c=relaxed/simple;
bh=tArMraglxvVR9KrotQEW33m7Zz0WJJ8VpupjZF07330=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=SbYxb0k3yHF7NPIrZDJe20cH6GaDfzCYs98e46S3EXbHjWB8IzomkDmUaT6BkjHEDxsXZxQkui4MaiIcdqQ/sTtl5eiDh0kbitbMOPE70Q2ifCbuLb+W6qvlOPc+Gyrs9zOZiYbVAhGx3JhYbN6jZwiQ9i7TC8RxV36N7xkm+vI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=J1aPkCBf; arc=none smtp.client-ip=148.163.156.1
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0353729.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S5ZI4a007511;
Wed, 28 May 2025 09:55:15 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-transfer-encoding:date:from:in-reply-to:message-id
:mime-version:references:subject:to; s=pp1; bh=oY8PYJbucqHEHEszC
WunNeVawt4iWY4/uQ4jvDFdkiQ=; b=J1aPkCBfZj/T/YclIelHPb+L/FEsus3uI
6TxTYWgh4xRPVBeEKimveMKLBIIc0+n+i8LLWpkWJe6yL+YI5lDiwIN5v8cnT4mH
8WnFVkZEZrqK0fNudldvPzsvDd79OTvvgVq8KxCFi2x0VGzCQwNFae+Xfhsx7mJd
Lu/kMxeRHwa+cY5osLpcdAN4ZiTTrTqBtvXlk71V0oPlrkDdr5DkUivLexy9HGuS
FkxaOrHTXQYhuQvzA72lZMhmea8k8raUx06cK4/3iV93dXzsTrb8daLwD385r+5g
tvFIIHCJzCiX1T3QdNg7VtyfTiynTiVCxxN8t3X0NO/sRbNE74kBA==
Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wvfb13vp-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:14 +0000 (GMT)
Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1])
by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54S6cBVp026432;
Wed, 28 May 2025 09:55:13 GMT
Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230])
by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 46usxmxvnq-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:13 +0000
Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100])
by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54S9t95x13566262
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 09:55:09 GMT
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 942792004E;
Wed, 28 May 2025 09:55:09 +0000 (GMT)
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id D749820043;
Wed, 28 May 2025 09:55:08 +0000 (GMT)
Received: from localhost.localdomain (unknown [9.111.56.81])
by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP;
Wed, 28 May 2025 09:55:08 +0000 (GMT)
From: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, frankja@xxxxxxxxxxxxx,
borntraeger@xxxxxxxxxx, seiden@xxxxxxxxxxxxx, nsg@xxxxxxxxxxxxx,
nrb@xxxxxxxxxxxxx, david@xxxxxxxxxx, hca@xxxxxxxxxxxxx,
agordeev@xxxxxxxxxxxxx, svens@xxxxxxxxxxxxx, gor@xxxxxxxxxxxxx,
schlameuss@xxxxxxxxxxxxx
Subject: [PATCH v5 1/4] s390: Remove unneeded includes
Date: Wed, 28 May 2025 11:54:59 +0200
Message-ID: <20250528095502.226213-2-imbrenda@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
References: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4MiBTYWx0ZWRfX/M2avtk+06Mb dMcF6ex9wj7WrOzMFraXPRiHaFwbNv1a0fDWAIbxYAD5+Pjgs987FB+Tha9YK5KWwCVgkJ2Ch4+ /ow44yK/mUlF94tzBmPoVVuJpLpQGs+fVKlzx1Z0AkJu2eKBYEBESj0k99ItJ9RGW/3A5aj72Ia
dGWtcL56JGZbIsHxGZVOfnOnCaknMJVCa9UyC6hmwoDAhHElonU14U8BeiWjXOXkIvAuj6s3QwH XEWCiOa7YCI2LXaRs2jVJvXLsFGvzXHGo4R5QlaCegwAB2k6yxODDJLqyJn35BVpVqE1v/rqcP6 1ks0Ut2bVcEs0T6wd189H1/SR45D7Eg7izVA8MMfIJ1EW8a2efEue14lxw8DRlLS6y/dAko4t2q
rD1Cdu0Tx5d708HBexz0OWjDAF357sxb2bE8msbbzeuulAUJDVt4+RgyiGJtRtCZp9FRAWRT
X-Proofpoint-ORIG-GUID: XrL39kSBKUTELK1IwRoytPnGua0I0LPw
X-Authority-Analysis: v=2.4 cv=bt5MBFai c=1 sm=1 tr=0 ts=6836dd82 cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=dt9VzEwgFbYA:10 a=VnNF1IyMAAAA:8 a=uOUJJYmQgii9-mSc-xUA:9
X-Proofpoint-GUID: XrL39kSBKUTELK1IwRoytPnGua0I0LPw
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=950
impostorscore=0 malwarescore=0 bulkscore=0 spamscore=0 lowpriorityscore=0
suspectscore=0 adultscore=0 priorityscore=1501 phishscore=0 mlxscore=0
clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280082
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Many files don't need to include asm/tlb.h or asm/gmap.h.
On the other hand, asm/tlb.h does need to include asm/gmap.h.
Remove all unneeded includes so that asm/tlb.h is not directly used by
s390 arch code anymore. Remove asm/gmap.h from a few other files as
well, so that now only KVM code, mm/gmap.c, and asm/tlb.h include it.
Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
Reviewed-by: Christoph Schlameuss <schlameuss@xxxxxxxxxxxxx>
Reviewed-by: Steffen Eiden <seiden@xxxxxxxxxxxxx>
Acked-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
---
arch/s390/include/asm/tlb.h | 1 +
arch/s390/include/asm/uv.h | 1 -
arch/s390/kvm/intercept.c | 1 +
arch/s390/mm/fault.c | 1 -
arch/s390/mm/gmap.c | 1 -
arch/s390/mm/init.c | 1 -
arch/s390/mm/pgalloc.c | 2 --
arch/s390/mm/pgtable.c | 1 -
8 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h
index f20601995bb0..56d5f9e0eb2e 100644
--- a/arch/s390/include/asm/tlb.h
+++ b/arch/s390/include/asm/tlb.h
@@ -36,6 +36,7 @@ static inline bool __tlb_remove_folio_pages(struct mmu_gather *tlb,
#include <asm/tlbflush.h>
#include <asm-generic/tlb.h>
+#include <asm/gmap.h>
/*
* Release the page cache reference for a pte removed by
diff --git a/arch/s390/include/asm/uv.h b/arch/s390/include/asm/uv.h
index 46fb0ef6f984..eeb2db4783e6 100644
--- a/arch/s390/include/asm/uv.h
+++ b/arch/s390/include/asm/uv.h
@@ -16,7 +16,6 @@
#include <linux/bug.h>
#include <linux/sched.h>
#include <asm/page.h>
-#include <asm/gmap.h>
#include <asm/asm.h>
#define UVC_CC_OK 0
diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c
index a06a000f196c..b4834bd4d216 100644
--- a/arch/s390/kvm/intercept.c
+++ b/arch/s390/kvm/intercept.c
@@ -16,6 +16,7 @@
#include <asm/irq.h>
#include <asm/sysinfo.h>
#include <asm/uv.h>
+#include <asm/gmap.h>
#include "kvm-s390.h"
#include "gaccess.h"
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
index da84ff6770de..3829521450dd 100644
--- a/arch/s390/mm/fault.c
+++ b/arch/s390/mm/fault.c
@@ -40,7 +40,6 @@
#include <asm/ptrace.h>
#include <asm/fault.h>
#include <asm/diag.h>
-#include <asm/gmap.h>
#include <asm/irq.h>
#include <asm/facility.h>
#include <asm/uv.h>
diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
index a94bd4870c65..4869555ff403 100644
--- a/arch/s390/mm/gmap.c
+++ b/arch/s390/mm/gmap.c
@@ -24,7 +24,6 @@
#include <asm/machine.h>
#include <asm/gmap.h>
#include <asm/page.h>
-#include <asm/tlb.h>
/*
* The address is saved in a radix tree directly; NULL would be ambiguous,
diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
index afa085e8186c..074bf4fb4ce2 100644
--- a/arch/s390/mm/init.c
+++ b/arch/s390/mm/init.c
@@ -40,7 +40,6 @@
#include <asm/kfence.h>
#include <asm/dma.h>
#include <asm/abs_lowcore.h>
-#include <asm/tlb.h>
#include <asm/tlbflush.h>
#include <asm/sections.h>
#include <asm/sclp.h>
diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c
index e3a6f8ae156c..ddab36875370 100644
--- a/arch/s390/mm/pgalloc.c
+++ b/arch/s390/mm/pgalloc.c
@@ -12,8 +12,6 @@
#include <asm/mmu_context.h>
#include <asm/page-states.h>
#include <asm/pgalloc.h>
-#include <asm/gmap.h>
-#include <asm/tlb.h>
#include <asm/tlbflush.h>
unsigned long *crst_table_alloc(struct mm_struct *mm)
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c
index 9901934284ec..7df70cd8f739 100644
--- a/arch/s390/mm/pgtable.c
+++ b/arch/s390/mm/pgtable.c
@@ -20,7 +20,6 @@
#include <linux/ksm.h>
#include <linux/mman.h>
-#include <asm/tlb.h>
#include <asm/tlbflush.h>
#include <asm/mmu_context.h>
#include <asm/page-states.h>
--
2.49.0
Return-Path: <linux-kernel+bounces-665247-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8AE2341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:56:40 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id ED6B03A523F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:56:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 021B527BF89;
Wed, 28 May 2025 09:55:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="gidguwpK"
Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38FEF27584C;
Wed, 28 May 2025 09:55:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426123; cv=none; b=buDRQjqxwOoURIZ7CcD3TI2+SEZxh8maTDGLXZ/Qcct056J96hV4u4c0M258Vqr7fwaHmv2CSPZTzpK7PLjWgF8rny8pB1ADLLoNTuraztLDdT3sjcqRU/UwxtVI516ZlWtK0UyPL2VWFNCodEd2eWn9934zHlgD/EYdfUwMDpg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426123; c=relaxed/simple;
bh=5jTVyJKUeMhKpLfBcdAHCzZbxYU/ffeCdR3EUFUlSfw=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=cPM+MsIKFtoCvG31p2WSa01eENLvmrkiNeyLxyxlnR+NwEq/qwv2m8bVgR17cycwznT8d8aj1tsw7uZ5b/oFfflcL/wM7uzlAfoaK14ErpLPOb4oQQYBQgVsZqRXeQUJWWibxq4EbapSh9abmGA3ZN6KPfrdj5NdzGEZqmXvGjM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=gidguwpK; arc=none smtp.client-ip=148.163.158.5
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0360072.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S8eZde003181;
Wed, 28 May 2025 09:55:16 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-transfer-encoding:date:from:in-reply-to:message-id
:mime-version:references:subject:to; s=pp1; bh=jGkJDTZ35H2AciaeK
F+HnHfWMKA8/LQUQjAqoiPQDq8=; b=gidguwpK9zI73aZzcLfnobDqnwxzZEKyy
mtUbhJxTV7BoNCwTEEl6I/N7jaLwlwfKHwPd+dzqZgVcVev3uz7PTe4/CpiFkOMD
BgopawiIe0o5YjlIrnyNmrukeA45hLWSgKzGa2MVbJc5/hfPomqGCpzSZnqkhyFk
8NlRPbiJbyzIYUkCqwPcMVREIzekrZuv+Vj/1vxk+BXzSgA8sppqoVfphVYBu+K/
BwUcsQutyshP/eYvHmG1qeSZvKlW5bxOWVg2KFZYNW49/gCq9P+7/TWNxh/CE3HF
FxwiFchVA1niqd1xyqEIz9kkuMXrP3OqUmdenhVklolZvNv94hcrA==
Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wy690atp-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:15 +0000 (GMT)
Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])
by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54S6c0m2015850;
Wed, 28 May 2025 09:55:15 GMT
Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224])
by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 46uu536m72-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:14 +0000
Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100])
by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54S9tBoQ58327366
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 09:55:11 GMT
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 49F2D2004B;
Wed, 28 May 2025 09:55:11 +0000 (GMT)
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 7ED1D20043;
Wed, 28 May 2025 09:55:10 +0000 (GMT)
Received: from localhost.localdomain (unknown [9.111.56.81])
by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP;
Wed, 28 May 2025 09:55:10 +0000 (GMT)
From: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, frankja@xxxxxxxxxxxxx,
borntraeger@xxxxxxxxxx, seiden@xxxxxxxxxxxxx, nsg@xxxxxxxxxxxxx,
nrb@xxxxxxxxxxxxx, david@xxxxxxxxxx, hca@xxxxxxxxxxxxx,
agordeev@xxxxxxxxxxxxx, svens@xxxxxxxxxxxxx, gor@xxxxxxxxxxxxx,
schlameuss@xxxxxxxxxxxxx
Subject: [PATCH v5 3/4] KVM: s390: Refactor and split some gmap helpers
Date: Wed, 28 May 2025 11:55:01 +0200
Message-ID: <20250528095502.226213-4-imbrenda@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
References: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=UP3dHDfy c=1 sm=1 tr=0 ts=6836dd83 cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=dt9VzEwgFbYA:10 a=VnNF1IyMAAAA:8 a=VwQbUJbxAAAA:8 a=d4WBFxBnqJN_BTi7uaAA:9
X-Proofpoint-GUID: E_ebmvVhktNi8gd2p3Nwy6-C0H_fAde3
X-Proofpoint-ORIG-GUID: E_ebmvVhktNi8gd2p3Nwy6-C0H_fAde3
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4MiBTYWx0ZWRfX22yXva0QRIIq FO+JjXOD4oPUE8dHm/k2MlXHU6gewDhaGAwYwl5VAQwEbfnw9gLd8iQ5J8Rv0vZzdJN3puW782m kiAzqsDWX0ymNb86eOuW7SHQVumS0lnyqbSPMHl2n545C/+EllpNwVu2agqhSPNaW3WMRdPSF1o
/u0yp8onv00zjy5AMs7O+BUX3ZUT7HBuIVAVU8RiCf0WdhsGsV5JGWI3rOXRl0bi0+0teYziEiM 3zLfROVMiVji5xdoTI6nakjQeOcas5cU6tR/ypGy4N1OSGHOsRoIjMCuWf77iaFM1hltCaFDfxb ArYrsOgJRE5NAfXUUs/pld//DFWZVe4mliS5XcBVaMO8JHgTAHGGa9GKyC3rVrzN/wQGRzKr93k
MmHAd71xTsWRDCoc8MMhleTkfmfN1Am55dwCu07lwpGtiPVL0rPJVV+sYebRsYCBEfoUAEYh
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0
lowpriorityscore=0 suspectscore=0 malwarescore=0 impostorscore=0
mlxlogscore=999 clxscore=1015 priorityscore=1501 bulkscore=0 phishscore=0
spamscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280082
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Refactor some gmap functions; move the implementation into a separate
file with only helper functions. The new helper functions work on vm
addresses, leaving all gmap logic in the gmap functions, which mostly
become just wrappers.
The whole gmap handling is going to be moved inside KVM soon, but the
helper functions need to touch core mm functions, and thus need to
stay in the core of kernel.
Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
Reviewed-by: Steffen Eiden <seiden@xxxxxxxxxxxxx>
Reviewed-by: Christoph Schlameuss <schlameuss@xxxxxxxxxxxxx>
---
MAINTAINERS | 2 +
arch/s390/include/asm/gmap.h | 2 -
arch/s390/include/asm/gmap_helpers.h | 15 ++
arch/s390/kvm/diag.c | 30 +++-
arch/s390/kvm/kvm-s390.c | 5 +-
arch/s390/mm/Makefile | 2 +
arch/s390/mm/gmap.c | 184 +---------------------
arch/s390/mm/gmap_helpers.c | 221 +++++++++++++++++++++++++++
8 files changed, 274 insertions(+), 187 deletions(-)
create mode 100644 arch/s390/include/asm/gmap_helpers.h
create mode 100644 arch/s390/mm/gmap_helpers.c
diff --git a/MAINTAINERS b/MAINTAINERS
index f21f1dabb5fe..b0a8fb5a254c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13093,12 +13093,14 @@ S: Supported
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git
F: Documentation/virt/kvm/s390*
F: arch/s390/include/asm/gmap.h
+F: arch/s390/include/asm/gmap_helpers.h
F: arch/s390/include/asm/kvm*
F: arch/s390/include/uapi/asm/kvm*
F: arch/s390/include/uapi/asm/uvdevice.h
F: arch/s390/kernel/uv.c
F: arch/s390/kvm/
F: arch/s390/mm/gmap.c
+F: arch/s390/mm/gmap_helpers.c
F: drivers/s390/char/uvdevice.c
F: tools/testing/selftests/drivers/s390x/uvdevice/
F: tools/testing/selftests/kvm/*/s390/
diff --git a/arch/s390/include/asm/gmap.h b/arch/s390/include/asm/gmap.h
index 9f2814d0e1e9..66c5808fd011 100644
--- a/arch/s390/include/asm/gmap.h
+++ b/arch/s390/include/asm/gmap.h
@@ -110,7 +110,6 @@ int gmap_map_segment(struct gmap *gmap, unsigned long from,
int gmap_unmap_segment(struct gmap *gmap, unsigned long to, unsigned long len);
unsigned long __gmap_translate(struct gmap *, unsigned long gaddr);
int __gmap_link(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr);
-void gmap_discard(struct gmap *, unsigned long from, unsigned long to);
void __gmap_zap(struct gmap *, unsigned long gaddr);
void gmap_unlink(struct mm_struct *, unsigned long *table, unsigned long vmaddr);
@@ -134,7 +133,6 @@ int gmap_protect_one(struct gmap *gmap, unsigned long gaddr, int prot, unsigned
void gmap_sync_dirty_log_pmd(struct gmap *gmap, unsigned long dirty_bitmap[4],
unsigned long gaddr, unsigned long vmaddr);
-int s390_disable_cow_sharing(void);
int s390_replace_asce(struct gmap *gmap);
void s390_uv_destroy_pfns(unsigned long count, unsigned long *pfns);
int __s390_uv_destroy_range(struct mm_struct *mm, unsigned long start,
diff --git a/arch/s390/include/asm/gmap_helpers.h b/arch/s390/include/asm/gmap_helpers.h
new file mode 100644
index 000000000000..5356446a61c4
--- /dev/null
+++ b/arch/s390/include/asm/gmap_helpers.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Helper functions for KVM guest address space mapping code
+ *
+ * Copyright IBM Corp. 2025
+ */
+
+#ifndef _ASM_S390_GMAP_HELPERS_H
+#define _ASM_S390_GMAP_HELPERS_H
+
+void gmap_helper_zap_one_page(struct mm_struct *mm, unsigned long vmaddr);
+void gmap_helper_discard(struct mm_struct *mm, unsigned long vmaddr, unsigned long end);
+int gmap_helper_disable_cow_sharing(void);
+
+#endif /* _ASM_S390_GMAP_HELPERS_H */
diff --git a/arch/s390/kvm/diag.c b/arch/s390/kvm/diag.c
index 74f73141f9b9..53233dec8cad 100644
--- a/arch/s390/kvm/diag.c
+++ b/arch/s390/kvm/diag.c
@@ -11,12 +11,30 @@
#include <linux/kvm.h>
#include <linux/kvm_host.h>
#include <asm/gmap.h>
+#include <asm/gmap_helpers.h>
#include <asm/virtio-ccw.h>
#include "kvm-s390.h"
#include "trace.h"
#include "trace-s390.h"
#include "gaccess.h"
+static void do_discard_gfn_range(struct kvm_vcpu *vcpu, gfn_t gfn_start, gfn_t gfn_end)
+{
+ struct kvm_memslot_iter iter;
+ struct kvm_memory_slot *slot;
+ struct kvm_memslots *slots;
+ unsigned long start, end;
+
+ slots = kvm_vcpu_memslots(vcpu);
+
+ kvm_for_each_memslot_in_gfn_range(&iter, slots, gfn_start, gfn_end) {
+ slot = iter.slot;
+ start = __gfn_to_hva_memslot(slot, max(gfn_start, slot->base_gfn));
+ end = __gfn_to_hva_memslot(slot, min(gfn_end, slot->base_gfn + slot->npages));
+ gmap_helper_discard(vcpu->kvm->mm, start, end);
+ }
+}
+
static int diag_release_pages(struct kvm_vcpu *vcpu)
{
unsigned long start, end;
@@ -32,12 +50,13 @@ static int diag_release_pages(struct kvm_vcpu *vcpu)
VCPU_EVENT(vcpu, 5, "diag release pages %lX %lX", start, end);
+ mmap_read_lock(vcpu->kvm->mm);
/*
* We checked for start >= end above, so lets check for the
* fast path (no prefix swap page involved)
*/
if (end <= prefix || start >= prefix + 2 * PAGE_SIZE) {
- gmap_discard(vcpu->arch.gmap, start, end);
+ do_discard_gfn_range(vcpu, gpa_to_gfn(start), gpa_to_gfn(end));
} else {
/*
* This is slow path. gmap_discard will check for start
@@ -45,13 +64,14 @@ static int diag_release_pages(struct kvm_vcpu *vcpu)
* prefix and let gmap_discard make some of these calls
* NOPs.
*/
- gmap_discard(vcpu->arch.gmap, start, prefix);
+ do_discard_gfn_range(vcpu, gpa_to_gfn(start), gpa_to_gfn(prefix));
if (start <= prefix)
- gmap_discard(vcpu->arch.gmap, 0, PAGE_SIZE);
+ do_discard_gfn_range(vcpu, 0, 1);
if (end > prefix + PAGE_SIZE)
- gmap_discard(vcpu->arch.gmap, PAGE_SIZE, 2 * PAGE_SIZE);
- gmap_discard(vcpu->arch.gmap, prefix + 2 * PAGE_SIZE, end);
+ do_discard_gfn_range(vcpu, 1, 2);
+ do_discard_gfn_range(vcpu, gpa_to_gfn(prefix) + 2, gpa_to_gfn(end));
}
+ mmap_read_unlock(vcpu->kvm->mm);
return 0;
}
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 3f3175193fd7..10cfc047525d 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -40,6 +40,7 @@
#include <asm/machine.h>
#include <asm/stp.h>
#include <asm/gmap.h>
+#include <asm/gmap_helpers.h>
#include <asm/nmi.h>
#include <asm/isc.h>
#include <asm/sclp.h>
@@ -2674,7 +2675,9 @@ static int kvm_s390_handle_pv(struct kvm *kvm, struct kvm_pv_cmd *cmd)
if (r)
break;
- r = s390_disable_cow_sharing();
+ mmap_write_lock(kvm->mm);
+ r = gmap_helper_disable_cow_sharing();
+ mmap_write_unlock(kvm->mm);
if (r)
break;
diff --git a/arch/s390/mm/Makefile b/arch/s390/mm/Makefile
index 9726b91fe7e4..bd0401cc7ca5 100644
--- a/arch/s390/mm/Makefile
+++ b/arch/s390/mm/Makefile
@@ -12,3 +12,5 @@ obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
obj-$(CONFIG_PTDUMP) += dump_pagetables.o
obj-$(CONFIG_PGSTE) += gmap.o
obj-$(CONFIG_PFAULT) += pfault.o
+
+obj-$(subst m,y,$(CONFIG_KVM)) += gmap_helpers.o
diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
index 4869555ff403..012a4366a2ad 100644
--- a/arch/s390/mm/gmap.c
+++ b/arch/s390/mm/gmap.c
@@ -22,6 +22,7 @@
#include <asm/page-states.h>
#include <asm/pgalloc.h>
#include <asm/machine.h>
+#include <asm/gmap_helpers.h>
#include <asm/gmap.h>
#include <asm/page.h>
@@ -619,63 +620,20 @@ EXPORT_SYMBOL(__gmap_link);
*/
void __gmap_zap(struct gmap *gmap, unsigned long gaddr)
{
- struct vm_area_struct *vma;
unsigned long vmaddr;
- spinlock_t *ptl;
- pte_t *ptep;
+
+ mmap_assert_locked(gmap->mm);
/* Find the vm address for the guest address */
vmaddr = (unsigned long) radix_tree_lookup(&gmap->guest_to_host,
gaddr >> PMD_SHIFT);
if (vmaddr) {
vmaddr |= gaddr & ~PMD_MASK;
-
- vma = vma_lookup(gmap->mm, vmaddr);
- if (!vma || is_vm_hugetlb_page(vma))
- return;
-
- /* Get pointer to the page table entry */
- ptep = get_locked_pte(gmap->mm, vmaddr, &ptl);
- if (likely(ptep)) {
- ptep_zap_unused(gmap->mm, vmaddr, ptep, 0);
- pte_unmap_unlock(ptep, ptl);
- }
+ gmap_helper_zap_one_page(gmap->mm, vmaddr);
}
}
EXPORT_SYMBOL_GPL(__gmap_zap);
-void gmap_discard(struct gmap *gmap, unsigned long from, unsigned long to)
-{
- unsigned long gaddr, vmaddr, size;
- struct vm_area_struct *vma;
-
- mmap_read_lock(gmap->mm);
- for (gaddr = from; gaddr < to;
- gaddr = (gaddr + PMD_SIZE) & PMD_MASK) {
- /* Find the vm address for the guest address */
- vmaddr = (unsigned long)
- radix_tree_lookup(&gmap->guest_to_host,
- gaddr >> PMD_SHIFT);
- if (!vmaddr)
- continue;
- vmaddr |= gaddr & ~PMD_MASK;
- /* Find vma in the parent mm */
- vma = find_vma(gmap->mm, vmaddr);
- if (!vma)
- continue;
- /*
- * We do not discard pages that are backed by
- * hugetlbfs, so we don't have to refault them.
- */
- if (is_vm_hugetlb_page(vma))
- continue;
- size = min(to - gaddr, PMD_SIZE - (gaddr & ~PMD_MASK));
- zap_page_range_single(vma, vmaddr, size, NULL);
- }
- mmap_read_unlock(gmap->mm);
-}
-EXPORT_SYMBOL_GPL(gmap_discard);
-
static LIST_HEAD(gmap_notifier_list);
static DEFINE_SPINLOCK(gmap_notifier_lock);
@@ -2268,138 +2226,6 @@ int s390_enable_sie(void)
}
EXPORT_SYMBOL_GPL(s390_enable_sie);
-static int find_zeropage_pte_entry(pte_t *pte, unsigned long addr,
- unsigned long end, struct mm_walk *walk)
-{
- unsigned long *found_addr = walk->private;
-
- /* Return 1 of the page is a zeropage. */
- if (is_zero_pfn(pte_pfn(*pte))) {
- /*
- * Shared zeropage in e.g., a FS DAX mapping? We cannot do the
- * right thing and likely don't care: FAULT_FLAG_UNSHARE
- * currently only works in COW mappings, which is also where
- * mm_forbids_zeropage() is checked.
- */
- if (!is_cow_mapping(walk->vma->vm_flags))
- return -EFAULT;
-
- *found_addr = addr;
- return 1;
- }
- return 0;
-}
-
-static const struct mm_walk_ops find_zeropage_ops = {
- .pte_entry = find_zeropage_pte_entry,
- .walk_lock = PGWALK_WRLOCK,
-};
-
-/*
- * Unshare all shared zeropages, replacing them by anonymous pages. Note that
- * we cannot simply zap all shared zeropages, because this could later
- * trigger unexpected userfaultfd missing events.
- *
- * This must be called after mm->context.allow_cow_sharing was
- * set to 0, to avoid future mappings of shared zeropages.
- *
- * mm contracts with s390, that even if mm were to remove a page table,
- * and racing with walk_page_range_vma() calling pte_offset_map_lock()
- * would fail, it will never insert a page table containing empty zero
- * pages once mm_forbids_zeropage(mm) i.e.
- * mm->context.allow_cow_sharing is set to 0.
- */
-static int __s390_unshare_zeropages(struct mm_struct *mm)
-{
- struct vm_area_struct *vma;
- VMA_ITERATOR(vmi, mm, 0);
- unsigned long addr;
- vm_fault_t fault;
- int rc;
-
- for_each_vma(vmi, vma) {
- /*
- * We could only look at COW mappings, but it's more future
- * proof to catch unexpected zeropages in other mappings and
- * fail.
- */
- if ((vma->vm_flags & VM_PFNMAP) || is_vm_hugetlb_page(vma))
- continue;
- addr = vma->vm_start;
-
-retry:
- rc = walk_page_range_vma(vma, addr, vma->vm_end,
- &find_zeropage_ops, &addr);
- if (rc < 0)
- return rc;
- else if (!rc)
- continue;
-
- /* addr was updated by find_zeropage_pte_entry() */
- fault = handle_mm_fault(vma, addr,
- FAULT_FLAG_UNSHARE | FAULT_FLAG_REMOTE,
- NULL);
- if (fault & VM_FAULT_OOM)
- return -ENOMEM;
- /*
- * See break_ksm(): even after handle_mm_fault() returned 0, we
- * must start the lookup from the current address, because
- * handle_mm_fault() may back out if there's any difficulty.
- *
- * VM_FAULT_SIGBUS and VM_FAULT_SIGSEGV are unexpected but
- * maybe they could trigger in the future on concurrent
- * truncation. In that case, the shared zeropage would be gone
- * and we can simply retry and make progress.
- */
- cond_resched();
- goto retry;
- }
-
- return 0;
-}
-
-static int __s390_disable_cow_sharing(struct mm_struct *mm)
-{
- int rc;
-
- if (!mm->context.allow_cow_sharing)
- return 0;
-
- mm->context.allow_cow_sharing = 0;
-
- /* Replace all shared zeropages by anonymous pages. */
- rc = __s390_unshare_zeropages(mm);
- /*
- * Make sure to disable KSM (if enabled for the whole process or
- * individual VMAs). Note that nothing currently hinders user space
- * from re-enabling it.
- */
- if (!rc)
- rc = ksm_disable(mm);
- if (rc)
- mm->context.allow_cow_sharing = 1;
- return rc;
-}
-
-/*
- * Disable most COW-sharing of memory pages for the whole process:
- * (1) Disable KSM and unmerge/unshare any KSM pages.
- * (2) Disallow shared zeropages and unshare any zerpages that are mapped.
- *
- * Not that we currently don't bother with COW-shared pages that are shared
- * with parent/child processes due to fork().
- */
-int s390_disable_cow_sharing(void)
-{
- int rc;
-
- mmap_write_lock(current->mm);
- rc = __s390_disable_cow_sharing(current->mm);
- mmap_write_unlock(current->mm);
- return rc;
-}
-EXPORT_SYMBOL_GPL(s390_disable_cow_sharing);
-
/*
* Enable storage key handling from now on and initialize the storage
* keys with the default key.
@@ -2467,7 +2293,7 @@ int s390_enable_skey(void)
goto out_up;
mm->context.uses_skeys = 1;
- rc = __s390_disable_cow_sharing(mm);
+ rc = gmap_helper_disable_cow_sharing();
if (rc) {
mm->context.uses_skeys = 0;
goto out_up;
diff --git a/arch/s390/mm/gmap_helpers.c b/arch/s390/mm/gmap_helpers.c
new file mode 100644
index 000000000000..a45d417ad951
--- /dev/null
+++ b/arch/s390/mm/gmap_helpers.c
@@ -0,0 +1,221 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Helper functions for KVM guest address space mapping code
+ *
+ * Copyright IBM Corp. 2007, 2025
+ */
+#include <linux/mm_types.h>
+#include <linux/mmap_lock.h>
+#include <linux/mm.h>
+#include <linux/hugetlb.h>
+#include <linux/swap.h>
+#include <linux/swapops.h>
+#include <linux/pagewalk.h>
+#include <linux/ksm.h>
+#include <asm/gmap_helpers.h>
+
+/**
+ * ptep_zap_swap_entry() - discard a swap entry.
+ * @mm: the mm
+ * @entry: the swap entry that needs to be zapped
+ *
+ * Discards the given swap entry. If the swap entry was an actual swap
+ * entry (and not a migration entry, for example), the actual swapped
+ * page is also discarded from swap.
+ */
+static void ptep_zap_swap_entry(struct mm_struct *mm, swp_entry_t entry)
+{
+ if (!non_swap_entry(entry))
+ dec_mm_counter(mm, MM_SWAPENTS);
+ else if (is_migration_entry(entry))
+ dec_mm_counter(mm, mm_counter(pfn_swap_entry_folio(entry)));
+ free_swap_and_cache(entry);
+}
+
+/**
+ * gmap_helper_zap_one_page() - discard a page if it was swapped.
+ * @mm: the mm
+ * @vmaddr: the userspace virtual address that needs to be discarded
+ *
+ * If the given address maps to a swap entry, discard it.
+ *
+ * Context: needs to be called while holding the mmap lock.
+ */
+void gmap_helper_zap_one_page(struct mm_struct *mm, unsigned long vmaddr)
+{
+ struct vm_area_struct *vma;
+ spinlock_t *ptl;
+ pte_t *ptep;
+
+ mmap_assert_locked(mm);
+
+ /* Find the vm address for the guest address */
+ vma = vma_lookup(mm, vmaddr);
+ if (!vma || is_vm_hugetlb_page(vma))
+ return;
+
+ /* Get pointer to the page table entry */
+ ptep = get_locked_pte(mm, vmaddr, &ptl);
+ if (unlikely(!ptep))
+ return;
+ if (pte_swap(*ptep))
+ ptep_zap_swap_entry(mm, pte_to_swp_entry(*ptep));
+ pte_unmap_unlock(ptep, ptl);
+}
+EXPORT_SYMBOL_GPL(gmap_helper_zap_one_page);
+
+/**
+ * gmap_helper_discard() - discard user pages in the given range
+ * @mm: the mm
+ * @vmaddr: starting userspace address
+ * @end: end address (first address outside the range)
+ *
+ * All userpace pages in the range [@vamddr, @end) are discarded and unmapped.
+ *
+ * Context: needs to be called while holding the mmap lock.
+ */
+void gmap_helper_discard(struct mm_struct *mm, unsigned long vmaddr, unsigned long end)
+{
+ struct vm_area_struct *vma;
+
+ mmap_assert_locked(mm);
+
+ while (vmaddr < end) {
+ vma = find_vma_intersection(mm, vmaddr, end);
+ if (!vma)
+ return;
+ if (!is_vm_hugetlb_page(vma))
+ zap_page_range_single(vma, vmaddr, min(end, vma->vm_end) - vmaddr, NULL);
+ vmaddr = vma->vm_end;
+ }
+}
+EXPORT_SYMBOL_GPL(gmap_helper_discard);
+
+static int find_zeropage_pte_entry(pte_t *pte, unsigned long addr,
+ unsigned long end, struct mm_walk *walk)
+{
+ unsigned long *found_addr = walk->private;
+
+ /* Return 1 of the page is a zeropage. */
+ if (is_zero_pfn(pte_pfn(*pte))) {
+ /*
+ * Shared zeropage in e.g., a FS DAX mapping? We cannot do the
+ * right thing and likely don't care: FAULT_FLAG_UNSHARE
+ * currently only works in COW mappings, which is also where
+ * mm_forbids_zeropage() is checked.
+ */
+ if (!is_cow_mapping(walk->vma->vm_flags))
+ return -EFAULT;
+
+ *found_addr = addr;
+ return 1;
+ }
+ return 0;
+}
+
+static const struct mm_walk_ops find_zeropage_ops = {
+ .pte_entry = find_zeropage_pte_entry,
+ .walk_lock = PGWALK_WRLOCK,
+};
+
+/** __gmap_helper_unshare_zeropages() - unshare all shared zeropages
+ * @mm: the mm whose zero pages are to be unshared
+ *
+ * Unshare all shared zeropages, replacing them by anonymous pages. Note that
+ * we cannot simply zap all shared zeropages, because this could later
+ * trigger unexpected userfaultfd missing events.
+ *
+ * This must be called after mm->context.allow_cow_sharing was
+ * set to 0, to avoid future mappings of shared zeropages.
+ *
+ * mm contracts with s390, that even if mm were to remove a page table,
+ * and racing with walk_page_range_vma() calling pte_offset_map_lock()
+ * would fail, it will never insert a page table containing empty zero
+ * pages once mm_forbids_zeropage(mm) i.e.
+ * mm->context.allow_cow_sharing is set to 0.
+ */
+static int __gmap_helper_unshare_zeropages(struct mm_struct *mm)
+{
+ struct vm_area_struct *vma;
+ VMA_ITERATOR(vmi, mm, 0);
+ unsigned long addr;
+ vm_fault_t fault;
+ int rc;
+
+ for_each_vma(vmi, vma) {
+ /*
+ * We could only look at COW mappings, but it's more future
+ * proof to catch unexpected zeropages in other mappings and
+ * fail.
+ */
+ if ((vma->vm_flags & VM_PFNMAP) || is_vm_hugetlb_page(vma))
+ continue;
+ addr = vma->vm_start;
+
+retry:
+ rc = walk_page_range_vma(vma, addr, vma->vm_end,
+ &find_zeropage_ops, &addr);
+ if (rc < 0)
+ return rc;
+ else if (!rc)
+ continue;
+
+ /* addr was updated by find_zeropage_pte_entry() */
+ fault = handle_mm_fault(vma, addr,
+ FAULT_FLAG_UNSHARE | FAULT_FLAG_REMOTE,
+ NULL);
+ if (fault & VM_FAULT_OOM)
+ return -ENOMEM;
+ /*
+ * See break_ksm(): even after handle_mm_fault() returned 0, we
+ * must start the lookup from the current address, because
+ * handle_mm_fault() may back out if there's any difficulty.
+ *
+ * VM_FAULT_SIGBUS and VM_FAULT_SIGSEGV are unexpected but
+ * maybe they could trigger in the future on concurrent
+ * truncation. In that case, the shared zeropage would be gone
+ * and we can simply retry and make progress.
+ */
+ cond_resched();
+ goto retry;
+ }
+
+ return 0;
+}
+
+/**
+ * gmap_helper_disable_cow_sharing() - disable all COW sharing
+ *
+ * Disable most COW-sharing of memory pages for the whole process:
+ * (1) Disable KSM and unmerge/unshare any KSM pages.
+ * (2) Disallow shared zeropages and unshare any zerpages that are mapped.
+ *
+ * Not that we currently don't bother with COW-shared pages that are shared
+ * with parent/child processes due to fork().
+ */
+int gmap_helper_disable_cow_sharing(void)
+{
+ struct mm_struct *mm = current->mm;
+ int rc;
+
+ mmap_assert_write_locked(mm);
+
+ if (!mm->context.allow_cow_sharing)
+ return 0;
+
+ mm->context.allow_cow_sharing = 0;
+
+ /* Replace all shared zeropages by anonymous pages. */
+ rc = __gmap_helper_unshare_zeropages(mm);
+ /*
+ * Make sure to disable KSM (if enabled for the whole process or
+ * individual VMAs). Note that nothing currently hinders user space
+ * from re-enabling it.
+ */
+ if (!rc)
+ rc = ksm_disable(mm);
+ if (rc)
+ mm->context.allow_cow_sharing = 1;
+ return rc;
+}
+EXPORT_SYMBOL_GPL(gmap_helper_disable_cow_sharing);
--
2.49.0
Return-Path: <linux-kernel+bounces-665248-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 02E6141E003FB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:56:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id EA3931BC4FF1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:56:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 21DE627C144;
Wed, 28 May 2025 09:55:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="gSsggKDj"
Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9159A27A463;
Wed, 28 May 2025 09:55:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426123; cv=none; b=HM2X9CgA3HYYeAsAX5yvGUyu3yFPjaXgoh7lsgnPr4yBsYkb0Pz4mkCcnRaE/pCK9GZfA6NnghxtnEI85JAVqQGIsBHD/ruBOzy2iLiJbeU5iJ20xFm8ODbTn3umuT5zPDrjGXqBowUuU3MdqP+L6VtA3SHMwnwWpb0f2L44yLI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426123; c=relaxed/simple;
bh=uYbH/ZIqMPWrZFB8YNPBWGbymnQ+Ulhst/xo8QmXFO8=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=Q6QmQmRu8HSFWzect4EnYczkHg1yY4WLbML9/POqa9OjyKYDTL6Jr69TI5CCSHu+OxCcdnCjwZiCeFi6C0c3/cDfDwb2vWv2kBC3OhWDUCSJmdpW+TS4/Akb2K+SyBTAlQJr9w3ojBqKZ0kpeEH8GiFdLcCeq5eRd71vbwJ8RFU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=gSsggKDj; arc=none smtp.client-ip=148.163.156.1
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0360083.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S5Cw5j004907;
Wed, 28 May 2025 09:55:19 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-transfer-encoding:date:from:in-reply-to:message-id
:mime-version:references:subject:to; s=pp1; bh=Q4qhSMlU70LDNj830
PN6JuSZerM3apOOxDsenQhu3Tk=; b=gSsggKDjeCeUlPk/WRmRJjTfbfnI5ejB5
RWXKJnEOPZSTvCOAsMePE4iV3jq9mWfj1ObNwzfyQiRiIETXk0z6iiAOgZWZcQa9
1ncMtTLW2EB1J+OdvkBHvqPDxVlvcD3nVrUk/4tMEPNMyEwcC2+tjoJm0plvBEFB
oWxrs4+VcDrAf1c7qjBvA/9wYx2f2pDgg3NYYIxnS1lzYXoiasp6tlxRth9R8vj9
A/xSYDVfUta7GiLbbBMPuY1TiA25Ki0L4/EowaTmnNMoiD4MCs0nVyO5s2c578xm
V5fRFZ6jdeEwTdjXBkmldcAponMqRIVypN28F1uMFa/KfOMjZ8rMQ==
Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wgsj42td-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:18 +0000 (GMT)
Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1])
by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54S6F7QB016237;
Wed, 28 May 2025 09:55:17 GMT
Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228])
by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 46uru0q23s-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 09:55:17 +0000
Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100])
by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54S9tCjw34865704
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 09:55:12 GMT
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 8DD8520040;
Wed, 28 May 2025 09:55:12 +0000 (GMT)
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 605802004E;
Wed, 28 May 2025 09:55:11 +0000 (GMT)
Received: from localhost.localdomain (unknown [9.111.56.81])
by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP;
Wed, 28 May 2025 09:55:11 +0000 (GMT)
From: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, frankja@xxxxxxxxxxxxx,
borntraeger@xxxxxxxxxx, seiden@xxxxxxxxxxxxx, nsg@xxxxxxxxxxxxx,
nrb@xxxxxxxxxxxxx, david@xxxxxxxxxx, hca@xxxxxxxxxxxxx,
agordeev@xxxxxxxxxxxxx, svens@xxxxxxxxxxxxx, gor@xxxxxxxxxxxxx,
schlameuss@xxxxxxxxxxxxx
Subject: [PATCH v5 4/4] KVM: s390: Simplify and move pv code
Date: Wed, 28 May 2025 11:55:02 +0200
Message-ID: <20250528095502.226213-5-imbrenda@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
References: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=IcmHWXqa c=1 sm=1 tr=0 ts=6836dd86 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=dt9VzEwgFbYA:10 a=VnNF1IyMAAAA:8 a=20KFwNOVAAAA:8 a=7_jnfmalSeIvgFZyEUQA:9
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4MiBTYWx0ZWRfXyyub5lGuuNUr KnmmQzhJ7ZDfqFU43dVJT/scRjg/9gWCEmNAQ0ZH3vMh98jhW8jSFFZ5Z5uUbhv2kR4AxemRH3r n2sBYmVGWBeS6rSrS18KL1lnGb6VGWjpj8TkVOnAbxqQXcIE9gGIGdNCIjRpS5lCMIwbrWNAIZ+
PXSIkHFsdcXdCJc6mzaZ5/wbotKEyB6pm1Jx9cwf84094C9VM6aHceDO8JznC3y5y4/1OxRDk0N YxbVoB1wCT3dwnQ1ER5LpKNqcFwXgu7z7NW97LjPoh/Pfudu76V+aj6s8gZ83SGzybRuzyIrNE7 LtBiwW79QSHsuxh/5dMYU8iJzX9rasv9lPzMlz3H74dVSE02FFO5QtKoVeQDRtFEr1tIxP8ymJl
/8RmYewwCogwllL3kyXsmIJ1YcZ/yr2iDD8wgpU/1J717Tj9wRgQ6ke1qHsKYeCmCwTX46Nc
X-Proofpoint-ORIG-GUID: Cmp7kGVSEhwQ3Fte-NgkQy2dnF5scm01
X-Proofpoint-GUID: Cmp7kGVSEhwQ3Fte-NgkQy2dnF5scm01
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0
priorityscore=1501 mlxscore=0 phishscore=0 clxscore=1015
lowpriorityscore=0 suspectscore=0 mlxlogscore=999 adultscore=0
impostorscore=0 bulkscore=0 spamscore=0 classifier=spam authscore=0
authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280082
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
All functions in kvm/gmap.c fit better in kvm/pv.c instead.
Move and rename them appropriately, then delete the now empty
kvm/gmap.c and kvm/gmap.h.
Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
Reviewed-by: Nina Schoetterl-Glausch <nsg@xxxxxxxxxxxxx>
Reviewed-by: Steffen Eiden <seiden@xxxxxxxxxxxxx>
Reviewed-by: Christoph Schlameuss <schlameuss@xxxxxxxxxxxxx>
---
arch/s390/kernel/uv.c | 12 ++--
arch/s390/kvm/Makefile | 2 +-
arch/s390/kvm/gaccess.c | 3 +-
arch/s390/kvm/gmap-vsie.c | 1 -
arch/s390/kvm/gmap.c | 121 --------------------------------------
arch/s390/kvm/gmap.h | 39 ------------
arch/s390/kvm/intercept.c | 10 +---
arch/s390/kvm/kvm-s390.c | 5 +-
arch/s390/kvm/kvm-s390.h | 42 +++++++++++++
arch/s390/kvm/pv.c | 61 ++++++++++++++++++-
arch/s390/kvm/vsie.c | 19 +++++-
11 files changed, 133 insertions(+), 182 deletions(-)
delete mode 100644 arch/s390/kvm/gmap.c
delete mode 100644 arch/s390/kvm/gmap.h
diff --git a/arch/s390/kernel/uv.c b/arch/s390/kernel/uv.c
index 9a5d5be8acf4..644c110287c4 100644
--- a/arch/s390/kernel/uv.c
+++ b/arch/s390/kernel/uv.c
@@ -135,7 +135,7 @@ int uv_destroy_folio(struct folio *folio)
{
int rc;
- /* See gmap_make_secure(): large folios cannot be secure */
+ /* Large folios cannot be secure */
if (unlikely(folio_test_large(folio)))
return 0;
@@ -184,7 +184,7 @@ int uv_convert_from_secure_folio(struct folio *folio)
{
int rc;
- /* See gmap_make_secure(): large folios cannot be secure */
+ /* Large folios cannot be secure */
if (unlikely(folio_test_large(folio)))
return 0;
@@ -403,15 +403,15 @@ EXPORT_SYMBOL_GPL(make_hva_secure);
/*
* To be called with the folio locked or with an extra reference! This will
- * prevent gmap_make_secure from touching the folio concurrently. Having 2
- * parallel arch_make_folio_accessible is fine, as the UV calls will become a
- * no-op if the folio is already exported.
+ * prevent kvm_s390_pv_make_secure() from touching the folio concurrently.
+ * Having 2 parallel arch_make_folio_accessible is fine, as the UV calls will
+ * become a no-op if the folio is already exported.
*/
int arch_make_folio_accessible(struct folio *folio)
{
int rc = 0;
- /* See gmap_make_secure(): large folios cannot be secure */
+ /* Large folios cannot be secure */
if (unlikely(folio_test_large(folio)))
return 0;
diff --git a/arch/s390/kvm/Makefile b/arch/s390/kvm/Makefile
index f0ffe874adc2..9a723c48b05a 100644
--- a/arch/s390/kvm/Makefile
+++ b/arch/s390/kvm/Makefile
@@ -8,7 +8,7 @@ include $(srctree)/virt/kvm/Makefile.kvm
ccflags-y := -Ivirt/kvm -Iarch/s390/kvm
kvm-y += kvm-s390.o intercept.o interrupt.o priv.o sigp.o
-kvm-y += diag.o gaccess.o guestdbg.o vsie.o pv.o gmap.o gmap-vsie.o
+kvm-y += diag.o gaccess.o guestdbg.o vsie.o pv.o gmap-vsie.o
kvm-$(CONFIG_VFIO_PCI_ZDEV_KVM) += pci.o
obj-$(CONFIG_KVM) += kvm.o
diff --git a/arch/s390/kvm/gaccess.c b/arch/s390/kvm/gaccess.c
index f6fded15633a..e23670e1949c 100644
--- a/arch/s390/kvm/gaccess.c
+++ b/arch/s390/kvm/gaccess.c
@@ -16,9 +16,10 @@
#include <asm/gmap.h>
#include <asm/dat-bits.h>
#include "kvm-s390.h"
-#include "gmap.h"
#include "gaccess.h"
+#define GMAP_SHADOW_FAKE_TABLE 1ULL
+
/*
* vaddress union in order to easily decode a virtual address into its
* region first index, region second index etc. parts.
diff --git a/arch/s390/kvm/gmap-vsie.c b/arch/s390/kvm/gmap-vsie.c
index a6d1dbb04c97..56ef153eb8fe 100644
--- a/arch/s390/kvm/gmap-vsie.c
+++ b/arch/s390/kvm/gmap-vsie.c
@@ -22,7 +22,6 @@
#include <asm/uv.h>
#include "kvm-s390.h"
-#include "gmap.h"
/**
* gmap_find_shadow - find a specific asce in the list of shadow tables
diff --git a/arch/s390/kvm/gmap.c b/arch/s390/kvm/gmap.c
deleted file mode 100644
index 6d8944d1b4a0..000000000000
--- a/arch/s390/kvm/gmap.c
+++ /dev/null
@@ -1,121 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Guest memory management for KVM/s390
- *
- * Copyright IBM Corp. 2008, 2020, 2024
- *
- * Author(s): Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
- * Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
- * David Hildenbrand <david@xxxxxxxxxx>
- * Janosch Frank <frankja@xxxxxxxxxxxxxxxxxx>
- */
-
-#include <linux/compiler.h>
-#include <linux/kvm.h>
-#include <linux/kvm_host.h>
-#include <linux/pgtable.h>
-#include <linux/pagemap.h>
-
-#include <asm/lowcore.h>
-#include <asm/gmap.h>
-#include <asm/uv.h>
-
-#include "gmap.h"
-
-/**
- * gmap_make_secure() - make one guest page secure
- * @gmap: the guest gmap
- * @gaddr: the guest address that needs to be made secure
- * @uvcb: the UVCB specifying which operation needs to be performed
- *
- * Context: needs to be called with kvm->srcu held.
- * Return: 0 on success, < 0 in case of error.
- */
-int gmap_make_secure(struct gmap *gmap, unsigned long gaddr, void *uvcb)
-{
- struct kvm *kvm = gmap->private;
- unsigned long vmaddr;
-
- lockdep_assert_held(&kvm->srcu);
-
- vmaddr = gfn_to_hva(kvm, gpa_to_gfn(gaddr));
- if (kvm_is_error_hva(vmaddr))
- return -EFAULT;
- return make_hva_secure(gmap->mm, vmaddr, uvcb);
-}
-
-int gmap_convert_to_secure(struct gmap *gmap, unsigned long gaddr)
-{
- struct uv_cb_cts uvcb = {
- .header.cmd = UVC_CMD_CONV_TO_SEC_STOR,
- .header.len = sizeof(uvcb),
- .guest_handle = gmap->guest_handle,
- .gaddr = gaddr,
- };
-
- return gmap_make_secure(gmap, gaddr, &uvcb);
-}
-
-/**
- * __gmap_destroy_page() - Destroy a guest page.
- * @gmap: the gmap of the guest
- * @page: the page to destroy
- *
- * An attempt will be made to destroy the given guest page. If the attempt
- * fails, an attempt is made to export the page. If both attempts fail, an
- * appropriate error is returned.
- *
- * Context: must be called holding the mm lock for gmap->mm
- */
-static int __gmap_destroy_page(struct gmap *gmap, struct page *page)
-{
- struct folio *folio = page_folio(page);
- int rc;
-
- /*
- * See gmap_make_secure(): large folios cannot be secure. Small
- * folio implies FW_LEVEL_PTE.
- */
- if (folio_test_large(folio))
- return -EFAULT;
-
- rc = uv_destroy_folio(folio);
- /*
- * Fault handlers can race; it is possible that two CPUs will fault
- * on the same secure page. One CPU can destroy the page, reboot,
- * re-enter secure mode and import it, while the second CPU was
- * stuck at the beginning of the handler. At some point the second
- * CPU will be able to progress, and it will not be able to destroy
- * the page. In that case we do not want to terminate the process,
- * we instead try to export the page.
- */
- if (rc)
- rc = uv_convert_from_secure_folio(folio);
-
- return rc;
-}
-
-/**
- * gmap_destroy_page() - Destroy a guest page.
- * @gmap: the gmap of the guest
- * @gaddr: the guest address to destroy
- *
- * An attempt will be made to destroy the given guest page. If the attempt
- * fails, an attempt is made to export the page. If both attempts fail, an
- * appropriate error is returned.
- *
- * Context: may sleep.
- */
-int gmap_destroy_page(struct gmap *gmap, unsigned long gaddr)
-{
- struct page *page;
- int rc = 0;
-
- mmap_read_lock(gmap->mm);
- page = gfn_to_page(gmap->private, gpa_to_gfn(gaddr));
- if (page)
- rc = __gmap_destroy_page(gmap, page);
- kvm_release_page_clean(page);
- mmap_read_unlock(gmap->mm);
- return rc;
-}
diff --git a/arch/s390/kvm/gmap.h b/arch/s390/kvm/gmap.h
deleted file mode 100644
index c8f031c9ea5f..000000000000
--- a/arch/s390/kvm/gmap.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/*
- * KVM guest address space mapping code
- *
- * Copyright IBM Corp. 2007, 2016, 2025
- * Author(s): Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
- * Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
- */
-
-#ifndef ARCH_KVM_S390_GMAP_H
-#define ARCH_KVM_S390_GMAP_H
-
-#define GMAP_SHADOW_FAKE_TABLE 1ULL
-
-int gmap_make_secure(struct gmap *gmap, unsigned long gaddr, void *uvcb);
-int gmap_convert_to_secure(struct gmap *gmap, unsigned long gaddr);
-int gmap_destroy_page(struct gmap *gmap, unsigned long gaddr);
-struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce, int edat_level);
-
-/**
- * gmap_shadow_valid - check if a shadow guest address space matches the
- * given properties and is still valid
- * @sg: pointer to the shadow guest address space structure
- * @asce: ASCE for which the shadow table is requested
- * @edat_level: edat level to be used for the shadow translation
- *
- * Returns 1 if the gmap shadow is still valid and matches the given
- * properties, the caller can continue using it. Returns 0 otherwise, the
- * caller has to request a new shadow gmap in this case.
- *
- */
-static inline int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level)
-{
- if (sg->removed)
- return 0;
- return sg->orig_asce == asce && sg->edat_level == edat_level;
-}
-
-#endif
diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c
index b4834bd4d216..c7908950c1f4 100644
--- a/arch/s390/kvm/intercept.c
+++ b/arch/s390/kvm/intercept.c
@@ -16,13 +16,11 @@
#include <asm/irq.h>
#include <asm/sysinfo.h>
#include <asm/uv.h>
-#include <asm/gmap.h>
#include "kvm-s390.h"
#include "gaccess.h"
#include "trace.h"
#include "trace-s390.h"
-#include "gmap.h"
u8 kvm_s390_get_ilen(struct kvm_vcpu *vcpu)
{
@@ -546,7 +544,7 @@ static int handle_pv_uvc(struct kvm_vcpu *vcpu)
guest_uvcb->header.cmd);
return 0;
}
- rc = gmap_make_secure(vcpu->arch.gmap, uvcb.gaddr, &uvcb);
+ rc = kvm_s390_pv_make_secure(vcpu->kvm, uvcb.gaddr, &uvcb);
/*
* If the unpin did not succeed, the guest will exit again for the UVC
* and we will retry the unpin.
@@ -654,10 +652,8 @@ int kvm_handle_sie_intercept(struct kvm_vcpu *vcpu)
break;
case ICPT_PV_PREF:
rc = 0;
- gmap_convert_to_secure(vcpu->arch.gmap,
- kvm_s390_get_prefix(vcpu));
- gmap_convert_to_secure(vcpu->arch.gmap,
- kvm_s390_get_prefix(vcpu) + PAGE_SIZE);
+ kvm_s390_pv_convert_to_secure(vcpu->kvm, kvm_s390_get_prefix(vcpu));
+ kvm_s390_pv_convert_to_secure(vcpu->kvm, kvm_s390_get_prefix(vcpu) + PAGE_SIZE);
break;
default:
return -EOPNOTSUPP;
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 10cfc047525d..d5ad10791c25 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -53,7 +53,6 @@
#include "kvm-s390.h"
#include "gaccess.h"
#include "pci.h"
-#include "gmap.h"
#define CREATE_TRACE_POINTS
#include "trace.h"
@@ -4976,7 +4975,7 @@ static int vcpu_post_run_handle_fault(struct kvm_vcpu *vcpu)
* previous protected guest. The old pages need to be destroyed
* so the new guest can use them.
*/
- if (gmap_destroy_page(vcpu->arch.gmap, gaddr)) {
+ if (kvm_s390_pv_destroy_page(vcpu->kvm, gaddr)) {
/*
* Either KVM messed up the secure guest mapping or the
* same page is mapped into multiple secure guests.
@@ -4998,7 +4997,7 @@ static int vcpu_post_run_handle_fault(struct kvm_vcpu *vcpu)
* guest has not been imported yet. Try to import the page into
* the protected guest.
*/
- rc = gmap_convert_to_secure(vcpu->arch.gmap, gaddr);
+ rc = kvm_s390_pv_convert_to_secure(vcpu->kvm, gaddr);
if (rc == -EINVAL)
send_sig(SIGSEGV, current, 0);
if (rc != -ENXIO)
diff --git a/arch/s390/kvm/kvm-s390.h b/arch/s390/kvm/kvm-s390.h
index 8d3bbb2dd8d2..c44fe0c3a097 100644
--- a/arch/s390/kvm/kvm-s390.h
+++ b/arch/s390/kvm/kvm-s390.h
@@ -308,6 +308,9 @@ int kvm_s390_pv_dump_stor_state(struct kvm *kvm, void __user *buff_user,
u64 *gaddr, u64 buff_user_len, u16 *rc, u16 *rrc);
int kvm_s390_pv_dump_complete(struct kvm *kvm, void __user *buff_user,
u16 *rc, u16 *rrc);
+int kvm_s390_pv_destroy_page(struct kvm *kvm, unsigned long gaddr);
+int kvm_s390_pv_convert_to_secure(struct kvm *kvm, unsigned long gaddr);
+int kvm_s390_pv_make_secure(struct kvm *kvm, unsigned long gaddr, void *uvcb);
static inline u64 kvm_s390_pv_get_handle(struct kvm *kvm)
{
@@ -319,6 +322,41 @@ static inline u64 kvm_s390_pv_cpu_get_handle(struct kvm_vcpu *vcpu)
return vcpu->arch.pv.handle;
}
+/**
+ * __kvm_s390_pv_destroy_page() - Destroy a guest page.
+ * @page: the page to destroy
+ *
+ * An attempt will be made to destroy the given guest page. If the attempt
+ * fails, an attempt is made to export the page. If both attempts fail, an
+ * appropriate error is returned.
+ *
+ * Context: must be called holding the mm lock for gmap->mm
+ */
+static inline int __kvm_s390_pv_destroy_page(struct page *page)
+{
+ struct folio *folio = page_folio(page);
+ int rc;
+
+ /* Large folios cannot be secure. Small folio implies FW_LEVEL_PTE. */
+ if (folio_test_large(folio))
+ return -EFAULT;
+
+ rc = uv_destroy_folio(folio);
+ /*
+ * Fault handlers can race; it is possible that two CPUs will fault
+ * on the same secure page. One CPU can destroy the page, reboot,
+ * re-enter secure mode and import it, while the second CPU was
+ * stuck at the beginning of the handler. At some point the second
+ * CPU will be able to progress, and it will not be able to destroy
+ * the page. In that case we do not want to terminate the process,
+ * we instead try to export the page.
+ */
+ if (rc)
+ rc = uv_convert_from_secure_folio(folio);
+
+ return rc;
+}
+
/* implemented in interrupt.c */
int kvm_s390_handle_wait(struct kvm_vcpu *vcpu);
void kvm_s390_vcpu_wakeup(struct kvm_vcpu *vcpu);
@@ -398,6 +436,10 @@ void kvm_s390_vsie_gmap_notifier(struct gmap *gmap, unsigned long start,
unsigned long end);
void kvm_s390_vsie_init(struct kvm *kvm);
void kvm_s390_vsie_destroy(struct kvm *kvm);
+int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level);
+
+/* implemented in gmap-vsie.c */
+struct gmap *gmap_shadow(struct gmap *parent, unsigned long asce, int edat_level);
/* implemented in sigp.c */
int kvm_s390_handle_sigp(struct kvm_vcpu *vcpu);
diff --git a/arch/s390/kvm/pv.c b/arch/s390/kvm/pv.c
index 22c012aa5206..14c330ec8ceb 100644
--- a/arch/s390/kvm/pv.c
+++ b/arch/s390/kvm/pv.c
@@ -17,7 +17,6 @@
#include <linux/sched/mm.h>
#include <linux/mmu_notifier.h>
#include "kvm-s390.h"
-#include "gmap.h"
bool kvm_s390_pv_is_protected(struct kvm *kvm)
{
@@ -33,6 +32,64 @@ bool kvm_s390_pv_cpu_is_protected(struct kvm_vcpu *vcpu)
}
EXPORT_SYMBOL_GPL(kvm_s390_pv_cpu_is_protected);
+/**
+ * kvm_s390_pv_make_secure() - make one guest page secure
+ * @kvm: the guest
+ * @gaddr: the guest address that needs to be made secure
+ * @uvcb: the UVCB specifying which operation needs to be performed
+ *
+ * Context: needs to be called with kvm->srcu held.
+ * Return: 0 on success, < 0 in case of error.
+ */
+int kvm_s390_pv_make_secure(struct kvm *kvm, unsigned long gaddr, void *uvcb)
+{
+ unsigned long vmaddr;
+
+ lockdep_assert_held(&kvm->srcu);
+
+ vmaddr = gfn_to_hva(kvm, gpa_to_gfn(gaddr));
+ if (kvm_is_error_hva(vmaddr))
+ return -EFAULT;
+ return make_hva_secure(kvm->mm, vmaddr, uvcb);
+}
+
+int kvm_s390_pv_convert_to_secure(struct kvm *kvm, unsigned long gaddr)
+{
+ struct uv_cb_cts uvcb = {
+ .header.cmd = UVC_CMD_CONV_TO_SEC_STOR,
+ .header.len = sizeof(uvcb),
+ .guest_handle = kvm_s390_pv_get_handle(kvm),
+ .gaddr = gaddr,
+ };
+
+ return kvm_s390_pv_make_secure(kvm, gaddr, &uvcb);
+}
+
+/**
+ * kvm_s390_pv_destroy_page() - Destroy a guest page.
+ * @kvm: the guest
+ * @gaddr: the guest address to destroy
+ *
+ * An attempt will be made to destroy the given guest page. If the attempt
+ * fails, an attempt is made to export the page. If both attempts fail, an
+ * appropriate error is returned.
+ *
+ * Context: may sleep.
+ */
+int kvm_s390_pv_destroy_page(struct kvm *kvm, unsigned long gaddr)
+{
+ struct page *page;
+ int rc = 0;
+
+ mmap_read_lock(kvm->mm);
+ page = gfn_to_page(kvm, gpa_to_gfn(gaddr));
+ if (page)
+ rc = __kvm_s390_pv_destroy_page(page);
+ kvm_release_page_clean(page);
+ mmap_read_unlock(kvm->mm);
+ return rc;
+}
+
/**
* struct pv_vm_to_be_destroyed - Represents a protected VM that needs to
* be destroyed
@@ -638,7 +695,7 @@ static int unpack_one(struct kvm *kvm, unsigned long addr, u64 tweak,
.tweak[0] = tweak,
.tweak[1] = offset,
};
- int ret = gmap_make_secure(kvm->arch.gmap, addr, &uvcb);
+ int ret = kvm_s390_pv_make_secure(kvm, addr, &uvcb);
unsigned long vmaddr;
bool unlocked;
diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c
index a78df3a4f353..13a9661d2b28 100644
--- a/arch/s390/kvm/vsie.c
+++ b/arch/s390/kvm/vsie.c
@@ -23,7 +23,6 @@
#include <asm/facility.h>
#include "kvm-s390.h"
#include "gaccess.h"
-#include "gmap.h"
enum vsie_page_flags {
VSIE_PAGE_IN_USE = 0,
@@ -68,6 +67,24 @@ struct vsie_page {
__u8 fac[S390_ARCH_FAC_LIST_SIZE_BYTE]; /* 0x0800 */
};
+/**
+ * gmap_shadow_valid() - check if a shadow guest address space matches the
+ * given properties and is still valid
+ * @sg: pointer to the shadow guest address space structure
+ * @asce: ASCE for which the shadow table is requested
+ * @edat_level: edat level to be used for the shadow translation
+ *
+ * Returns 1 if the gmap shadow is still valid and matches the given
+ * properties, the caller can continue using it. Returns 0 otherwise; the
+ * caller has to request a new shadow gmap in this case.
+ */
+int gmap_shadow_valid(struct gmap *sg, unsigned long asce, int edat_level)
+{
+ if (sg->removed)
+ return 0;
+ return sg->orig_asce == asce && sg->edat_level == edat_level;
+}
+
/* trigger a validity icpt for the given scb */
static int set_validity_icpt(struct kvm_s390_sie_block *scb,
__u16 reason_code)
--
2.49.0
Return-Path: <linux-kernel+bounces-665249-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B3AF441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:57:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id E664D1889C1F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:57:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F2F0527584C;
Wed, 28 May 2025 09:55:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kode54.net header.i=@kode54.net header.b="cpdp0sbS";
dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="AMSY+v7Y"
Received: from fout-a3-smtp.messagingengine.com (fout-a3-smtp.messagingengine.com [103.168.172.146])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C284427A463
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:55:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.146
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426132; cv=none; b=fwz+U/62ScvjG+cX2DjjKMBjga7A907IX9CqpuDeqalhCl0asoBVWRQLsu6KgwiQ1fHmrdwgKLDVRVtvmdvpnPbee1470+F1ZXcpDYhbz7KkURkajBF752/4LU5KikywQMgBn3ElYt8JDTBdxsfnQluIU36eBTonardcDcY29lU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426132; c=relaxed/simple;
bh=DbDRv7L/SfKUSYtLQod0TKfmO9JV7q5q+E6ZQcQVXI8=;
h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To:
References:In-Reply-To; b=fGRv7VLIjFIAtwsPzoG+hD1gabxpQ7Hw2HGUEPYYgnZUo8Tp6F07qE43ziH05zb1yW4oI4vvAp348PoIAm2tiKwYXquKd0fvTvExKB8AUFCqhzddFt0azF1npuPcRAA3xrDj+1zIOnA1GTLlvecOV/U+ZUcA4OH0BtTjAiv61Qc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kode54.net; spf=pass smtp.mailfrom=kode54.net; dkim=pass (2048-bit key) header.d=kode54.net header.i=@kode54.net header.b=cpdp0sbS; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=AMSY+v7Y; arc=none smtp.client-ip=103.168.172.146
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kode54.net
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kode54.net
Received: from phl-compute-03.internal (phl-compute-03.phl.internal [10.202.2.43])
by mailfout.phl.internal (Postfix) with ESMTP id C2555138251D;
Wed, 28 May 2025 05:55:29 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
by phl-compute-03.internal (MEProxy); Wed, 28 May 2025 05:55:29 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kode54.net; h=cc
:cc:content-transfer-encoding:content-type:content-type:date
:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to; s=fm3; t=1748426129;
x=1748512529; bh=mIr8yhVZYdL15whLx7nAJetmRapUCJpeMtsLnS/rGak=; b=
cpdp0sbSCbZxICJ/uifWQuyYZWw/ypXYHoSuiAZ5R83PdXIfI3vrlSsYPqDG3ypc
QzqUNS9QOvqM7ueZdiTPppgq406rYkK04HdadYNOS34muwOtlbywITlAZLpCwyN7
6NvxeAgThgvL4m8R7TCbrvZzWZNppjxWWrrNFCX1jlYcgxMy22R3B+VPQsZOjabN
MtqRrmOyzOMD9UmGnuFaJfXKee3rrlK7QZ/XzvY+Svv7Ho02oo+tkIexuhSNbji4
JeJAUZAdOsPpi5aOj+2Hbn+K7WttfAWULNjJA6GYDFmIvAdixDtSJO723Q4+a4nz
dw7zAG33l8lHZ4p2oSqWkQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-transfer-encoding
:content-type:content-type:date:date:feedback-id:feedback-id
:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to:x-me-proxy
:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1748426129; x=
1748512529; bh=mIr8yhVZYdL15whLx7nAJetmRapUCJpeMtsLnS/rGak=; b=A
MSY+v7YrFBM3fs5FHQm3SmaQNf7i3C4vr1V1iVGd2guZP7i5z5ggnXixRRiQwA16
TsBdLz1njDFTlL8Yn+nrh+wLO4L6jcEv4X0Olx5zY5O1cZeGpDzfsDW3gtvl3YsT
H58D6e2vHv44Ua7uSJdSzyYpBQMPZ4zgm6sdhRBbyThka71kOHjKVSEffPKCTq7k
DVFj0YjSPiA1tErZ+Wa4in9bSRMTqE7ODdPlz5txJOXihMfDt2xyIFwgnTjKKlPd
TluZTqYRwbNLqhCth9+3tKenp1Cy0le0VKtgbsCRbJjR3q/iGIcy4Ymy8Er+vHZH
4JLnttUH2OQc5eAAaRADw==
X-ME-Sender: <xms:kd02aBLbQlD9XZrVpymFhIYaXTD2LJsoJCSgUZk0m7JsLzxRWkM9pg>
<xme:kd02aNKO1xWATk2FDIvERLDIqxPRHZZu3jcAg3cl3araUiE07DkH2yrYL1sUzSYJe
GI613_n0ui8Nd7GTUc>
X-ME-Received: <xmr:kd02aJvTELS7bZYEiIffqj6gFB6MF4W7Wj86MrCqtKjSroIuMsk0wBBnW08pZ-97M22UgTeploSz-vUpVbysVwXhu_pPr3988A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdelieculddtuddrgeefvddrtd
dtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggft
fghnshhusghstghrihgsvgdpuffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftd
dtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpegggfgtfffkvefu
hffvofhfjgesthhqredtredtjeenucfhrhhomhepfdevhhhrihhsthhophhhvghrucfunh
hofihhihhllhdfuceotghhrhhisheskhhouggvheegrdhnvghtqeenucggtffrrghtthgv
rhhnpeeileetudejffegjeegfffhhffhkeefjefgtddujeehheevleevjeejffekieekve
enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegthhhr
ihhssehkohguvgehgedrnhgvthdpnhgspghrtghpthhtohepledpmhhouggvpehsmhhtph
houhhtpdhrtghpthhtoheptghhrhhishhtihgrnhdrkhhovghnihhgsegrmhgurdgtohhm
pdhrtghpthhtohepphhsthgrnhhnvghrsehrvgguhhgrthdrtghomhdprhgtphhtthhope
hphhhilhhiphhprdhrvghishhnvghrsehlihhnsghithdrtghomhdprhgtphhtthhopegu
rhhiqdguvghvvghlsehlihhsthhsrdhfrhgvvgguvghskhhtohhprdhorhhgpdhrtghpth
htoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghp
thhtohepshhimhhonhgrsehffhiflhhlrdgthhdprhgtphhtthhopegurghkrheskhgvrh
hnvghlrdhorhhgpdhrtghpthhtohepphhhrghsthgrsehkvghrnhgvlhdrohhrghdprhgt
phhtthhopegurhhiqdguvghvvghlqdgsohhunhgtvghssehlihhsthhsrdhfrhgvvgguvg
hskhhtohhprdhorhhg
X-ME-Proxy: <xmx:kd02aCbHDovltV7e8CeWPTDp10c_sUVqTMDo5CZA3wOWBXO2N3CvVw>
<xmx:kd02aIazgkMI5tbH94SaxYZZCQGrJ12qQMlp5Xhqp5qRKzSSMPwH6A>
<xmx:kd02aGBwX2BSW9y9_6L7uNlnTqVUiBZNr9lRV43zwXqxfHVMH_nZTw>
<xmx:kd02aGaqthJvM8zTYC9pDY0YaFFS6JU7MNeT846DHtAEPeUcQbCX2w>
<xmx:kd02aFpzcSyj383NUf9vY1RmDB9-i6kpYncJnGSRiKAVBv9ZxufzHUAh>
Feedback-ID: i9ec6488d:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
28 May 2025 05:55:29 -0400 (EDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 28 May 2025 02:55:27 -0700
Message-Id: <DA7PC2LNU79K.28KBFOL3MGI1S@xxxxxxxxxx>
Cc: <dri-devel@xxxxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
"Simona Vetter" <simona@xxxxxxxx>, "Danilo Krummrich" <dakr@xxxxxxxxxx>,
"Philipp Stanner" <phasta@xxxxxxxxxx>, "dri-devel"
<dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH] drm/sched: Fix amdgpu crash upon suspend/resume
From: "Christopher Snowhill" <chris@xxxxxxxxxx>
To: =?utf-8?q?Christian_K=C3=B6nig?= <christian.koenig@xxxxxxx>, "Philipp
Stanner" <pstanner@xxxxxxxxxx>, "Philipp Reisner"
<philipp.reisner@xxxxxxxxxx>
X-Mailer: aerc 0.20.1-0-g2ecb8770224a
References: <20250107140240.325899-1-philipp.reisner@xxxxxxxxxx>
<942c02f2-6496-4406-a73b-941d096aadfb@xxxxxxx>
<CADGDV=U_7CdkdEiLX9kj9yHsXhwb5zP_eGXpwmrj20cmgzMAtA@xxxxxxxxxxxxxx>
<eb5f3198-7625-40f4-bc23-cac969664e85@xxxxxxx>
<582e10673bb749f18ebf8a18f46ca573df396576.camel@xxxxxxxxxx>
<b055ff59-4653-44d9-a2e0-bb43eb158315@xxxxxxx>
In-Reply-To: <b055ff59-4653-44d9-a2e0-bb43eb158315@xxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Mon Jan 13, 2025 at 1:55 AM PST, Christian K=C3=B6nig wrote:
> Am 13.01.25 um 09:43 schrieb Philipp Stanner:
>> [SNIP]
>>>> The handling of NULL values is half-baked.
>>>>
>>>> In my opinion, you should define if drm_sched_pick_best() may put a
>>>> NULL into
>>>> rq. If your answer is yes, it might put a NULL there; then, there
>>>> should be a
>>>> BUG_ON(!entity->rq) after the invocation of
>>>> drm_sched_entity_select_rq().
>>>> If your answer is no, the BUG_ON() should be in
>>>> drm_sched_pick_best().
>>> Yeah good point.
>>>
>>> We might not want a BUG_ON(), that is only justified when we prevent
>>> further damage (e.g. random data corruption or similar).
>>>
>>> I suggest using a WARN(!shed, "Submission without activated
>>> sheduler!").
>>> This way the system has at least a chance of survival should the
>>> scheduler become ready later on.
>>>
>>> On the other hand the BUG_ON() or the NULL pointer deref should only
>>> kill the application thread which is submitting something before the
>>> driver is resumed. So that might help to pinpoint where the actually
>>> issue is.
>> As I see it the BUG_ON() would just be a more pretty NULL pointer
>> deref. If we agree that this is effectively a misuse of the scheduler
>> API we probably want to add it to make it more pretty, though?
>
> The only alternative I can see is that the scheduler API gracefully=20
> handles submits to non-ready schedulers. E.g. that=20
> drm_sched_entity_push_job() detects this condition and instead of=20
> pushing the job sets and error code and signals the fences.
>
> But that might not be a good idea.
>
> It just moves the crash from one place to another and in general I fully=
=20
> agree the driver is misusing the scheduler API to do something which=20
> won't work and potentially crash the whole system.
>
>> @Philipp:
>> BTW, I only just discovered this thread by coincidence. Please use
>> get_maintainer. The scheduler currently has 4 maintainers, and none of
>> them is on CC.
>
> Oh good, point I was already wondering why nobody else commented and=20
> didn't realized that nobody was on CC.
>
> Thanks,
> Christian.
I'm only seeing this mail exchange months after the fact because I was
linked to it by someone on IRC, and I am making a wild guess here.
Could this sleep wake issue also be caused by a similar thing to the
panics and SMU hangs I was experiencing with my own issue? It's an issue
known to have the same workaround for both 6000 and 7000 series users. A
specific kernel commit seems to affect it as well.
If you could test whether you can still reproduce the error after
disabling GFXOFF states with the following kernel commandline override:
amdgpu.ppfeaturemask=3D0xfff73fff
And report back. Unless it's already something long solved? Since this
particular thread died back in January, I guess nothing has happened
since?
>
>>
>> Danke,
>> P.
>>
>>> Regards,
>>> Christian.
>>>
>>>> That helps guys with zero domain knowledge, like me, to figure out
>>>> how
>>>> this is all
>>>> supposed to work.
>>>>
>>>> best regards,
>>>> =C2=A0 Philipp
Return-Path: <linux-kernel+bounces-665250-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A74DE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:58:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 6D9BE188ADA2
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:58:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id ADDF9279346;
Wed, 28 May 2025 09:57:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="pjZnWZtC"
Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1982227584C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:57:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.44
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426268; cv=none; b=XogrTufIGijcXlWZe8NLQgVmRH68aMQ0f0Qk6p/qwEmfsQepX228FhXUCjzceHlM0YOFXIQPkr+ccEB4qvOkHoBlo6plzlPgApgEGdLhm8RTJpcanBXFz+TOrDCAaDDVJH+5Pv7+BmVo24Fjy0hbJKRxZiCS1laoUWTyeLJUinM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426268; c=relaxed/simple;
bh=NY4ppF8WDLnUEHIz0ojqjJm6a5YSQxyU166J9C6MAD8=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=AB6x68rhAVWuUsnHCTAKl4YvKZCIstMav0C0q04tq4FcakvJIRFremN3WV6v1haXmBaeBLVKfVB377bgoLznt17kILSdfvu+rUeDISrcMWLjTusKqE2TgNrAqO9PNq/KOAzZE/N8ltW8YcjATYAPECHzzUfaDypTlAEzxwpJPU4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=pjZnWZtC; arc=none smtp.client-ip=209.85.208.44
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com
Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-604bf67b515so5096413a12.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 02:57:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748426264; x=1749031064; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=Ks3rhmD/IHlVoyz8JuxtGnWPe59bWGftTPLGTy/S1P8=;
b=pjZnWZtC2h3kOjEe9LEGzuZHtEOwTYCuV6JqcoGywkjnl2A9RQ7ANO3XQmyThu10io
U+FOKZKzkLRZYpBgjGiSI0QCBu0lAXRY3dBVERiK/4Kw+WyHaye37A4RnGd0fLPKCgUX
IYMjz17DW+mx/JycEAW83UGudA9ayJe8f1Jtk67NjEgN7HS1S88olgpsKT7uA6IRdCyG
79K7ZSXQK1ACe7yMiIeT9Bmcd0E4GI/SpGMnoHayK3P05NC06Z9Ged1l2RcHbJ/5NQUL
esEB+IvPl/CauWKZX7yyWHg53uFvgEP2rmvix4vTvBQlGx4DzOEuS+OrG+XSF5CP/jv1
dUlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748426264; x=1749031064;
h=content-transfer-encoding:cc:to: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=Ks3rhmD/IHlVoyz8JuxtGnWPe59bWGftTPLGTy/S1P8=;
b=V6DTZvZ81CG9FtrEymaycaLNI9UchrdYEUY8tnnBzUK9YhGyrm9SYD0tOMBqsoATpb
YUOGwjwTsAxj9fJ2fbhdprEt466Joa6Mt5oCmOsCqcz/W+jog4FvcABb+MEUevIH0vZx
GRrHjr8cJl3cXCU1fkGbM5zI3IFSD6i+LYIjcDGu12I1T1JlAe3S8PFlwxDnm6JoR+5A
WytXu9DWBkfFhXz3DAFfs3YZc/TH9Dtq8kPUl6r+8MP1x1PDrhOXsm/LxPiOipaIhppz
mZe/GSKQl1F+gH2r7KgR7Jsyyf7vxlh6F0scvo+8lgsqnVRqgFUNa8J89ycEYPOCN8P6
lzow==
X-Forwarded-Encrypted: i=1; AJvYcCV6S3XH7uXRvtOwaRoWHjARwRn8fo+8sURPktUXRWNCJr0f0HVCv8u8x16BaNWdhf87d8W0aI+24w4zthM=@vger.kernel.org
X-Gm-Message-State: AOJu0YxV/Y2PHmgEzLWXc4b1+2f972lLRkpa1Xa/w8/XoA7GBj4OiIxP
sAAisMBZMX2xraoVVelgr2ZpHY2NSi2hCozygLKSt+uwM9m2DHcq0E9zSKVGLc6YwTz9PBv9UTw
nup8jlCeETYUAU/ENfwDexBvjEdrsnXUvn4/c7ISX
X-Gm-Gg: ASbGncuXxVQnWggBZBroI6Y/8PyhwaItaXK2IlxwxQpWabwCA/2xRjxIHg+tTwXP4Dl
f0WFv1dnXQ0PuYtuwCxMwL0ftYbzWKlAin0+3FV9Qes92weO3ngMXF85uU1YQbfZIlFCfwCIymQ
nVdYfN8uB0hx1REOV5ToymS2nLKK5jaOTT9XVndAc5i139d+zMyBVoDpgKe9ZMAGiObVGkqQ==
X-Google-Smtp-Source: AGHT+IFFD/y5HtmSNrKzHhwfxF7XDgkk5kJYkfCwOSf/luOnKSQmxuN22Xn2tS6vv4V5KENmsK82jP6Xvsq5rx1uJ+c=
X-Received: by 2002:a05:6402:5112:b0:604:e74d:3615 with SMTP id
4fb4d7f45d1cf-604e74d367bmr6357406a12.26.1748426264183; Wed, 28 May 2025
02:57:44 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250527121807.3597061-1-korneld@xxxxxxxxxx> <oa5okg7i2s6s7pxm5tn6nnanazze5lnnre4vnwrhopn5s5hsil@vhh22j6b5cvq>
In-Reply-To: <oa5okg7i2s6s7pxm5tn6nnanazze5lnnre4vnwrhopn5s5hsil@vhh22j6b5cvq>
From: =?UTF-8?Q?Kornel_Dul=C4=99ba?= <korneld@xxxxxxxxxx>
Date: Wed, 28 May 2025 11:57:32 +0200
X-Gm-Features: AX0GCFvK9nh_ZQOQ8q-wzxVPyhyMhhVBescCioACvy1eSbZRd2cZXohjA9FPaQ4
Message-ID: <CACF_fqksF+whYbGEdSvJ=87FQH03EzO+hSSf8eRc8MitR2hzxA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH] power: supply: qcom_battmgr: Report battery capacity
To: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
Cc: Sebastian Reichel <sre@xxxxxxxxxx>, Bjorn Andersson <andersson@xxxxxxxxxx>, linux-arm-msm@xxxxxxxxxxxxxxx,
linux-pm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
chromeos-krk-upstreaming@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-9.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,PDS_OTHER_BAD_TLD,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 9:34=E2=80=AFPM 'Dmitry Baryshkov' via
chromeos-krk-upstreaming <chromeos-krk-upstreaming@xxxxxxxxxx> wrote:
>
> On Tue, May 27, 2025 at 12:18:07PM +0000, Kornel Dul=C4=99ba wrote:
> > Battery charge can be reported in several different ways. One of them i=
s
> > is charge percentage referred to as POWER_SUPPLY_PROP_CAPACITY in the
> > power supply API. Currently the driver reports the capacity in this way
> > on SM8350, but not on the newer variants referred to as SC8280XP in the
> > driver. Although this is not a bug in itself, not reporting the
> > percentage can confuse some userspace consumers.
> > Mimic what is done in the ACPI driver (drivers/acpi/battery.c) and
> > calculate the percentage capacity by dividing the current charge value
> > by the full charge. Both values are expressed in either uWh, or
> > in uAh.
> >
> > Signed-off-by: Kornel Dul=C4=99ba <korneld@xxxxxxxxxx>
> > ---
> > drivers/power/supply/qcom_battmgr.c | 18 ++++++++++++++++++
> > 1 file changed, 18 insertions(+)
> >
> > diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply=
/qcom_battmgr.c
> > index fe27676fbc7c..5ed5452ab51c 100644
> > --- a/drivers/power/supply/qcom_battmgr.c
> > +++ b/drivers/power/supply/qcom_battmgr.c
> > @@ -577,6 +577,8 @@ static int qcom_battmgr_bat_get_property(struct pow=
er_supply *psy,
> > val->intval =3D battmgr->status.capacity;
> > break;
> > case POWER_SUPPLY_PROP_CAPACITY:
> > + if (battmgr->status.percent =3D=3D (unsigned int)-1)
> > + return -ENODATA;
> > val->intval =3D battmgr->status.percent;
> > break;
> > case POWER_SUPPLY_PROP_TEMP:
> > @@ -617,6 +619,7 @@ static const enum power_supply_property sc8280xp_ba=
t_props[] =3D {
> > POWER_SUPPLY_PROP_STATUS,
> > POWER_SUPPLY_PROP_PRESENT,
> > POWER_SUPPLY_PROP_TECHNOLOGY,
> > + POWER_SUPPLY_PROP_CAPACITY,
> > POWER_SUPPLY_PROP_CYCLE_COUNT,
> > POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
> > POWER_SUPPLY_PROP_VOLTAGE_NOW,
> > @@ -1063,6 +1066,21 @@ static void qcom_battmgr_sc8280xp_callback(struc=
t qcom_battmgr *battmgr,
> > battmgr->ac.online =3D source =3D=3D BATTMGR_CHARGING_SOU=
RCE_AC;
> > battmgr->usb.online =3D source =3D=3D BATTMGR_CHARGING_SO=
URCE_USB;
> > battmgr->wireless.online =3D source =3D=3D BATTMGR_CHARGI=
NG_SOURCE_WIRELESS;
> > + if (battmgr->info.last_full_capacity !=3D 0) {
> > + /*
> > + * 100 * battmgr->status.capacity can overflow a =
32bit
> > + * unsigned integer. Do a temporary cast to avoid=
that.
> > + */
> > + battmgr->status.percent =3D
> > + (uint64_t)100 * battmgr->status.capacity =
/
> > + battmgr->info.last_full_capacity;
>
> Can you use mult_frac(), preventing the overflow?
Good idea, but I don't think mult_frac() helps in cases where the
dividend is smaller than the divider. Let's look at the sources:
#define mult_frac(x, n, d) \
(...)
typeof(x_) q =3D x_ / d_; \
typeof(x_) r =3D x_ % d_; \
q * n_ + r * n_ / d_; \
Since in our case x_ < d_, q =3D 0 and r =3D x_ then r * n_ will still
result in an overflow.
Unfortunately, the cast-and-divide approach won't work either. I
received an email from a kernel test robot saying that this patch
breaks a 32-bit only build. (">> ERROR: modpost: "__udivdi3"
[drivers/power/supply/qcom_battmgr.ko] undefined!") See
https://lore.kernel.org/oe-kbuild-all/202505280344.GjzOItSS-lkp@xxxxxxxxx/
for details.
I suppose I could just use a do_div with a temporary variable to work
around that. I noticed that all data read from FW is multiplied by
1000, so I leveraged that instead:
battmgr->status.percent =3D
(100 * le32_to_cpu(resp->status.capacity)) /
(battmgr->info.last_full_capacity / 1000);
Any thoughts?
>
> > + } else {
> > + /*
> > + * Let the sysfs handler know no data is availabl=
e at
> > + * this time.
> > + */
> > + battmgr->status.percent =3D (unsigned int)-1;
> > + }
> > break;
> > case BATTMGR_BAT_DISCHARGE_TIME:
> > battmgr->status.discharge_time =3D le32_to_cpu(resp->time=
);
> > --
> > 2.49.0.1151.ga128411c76-goog
> >
>
> --
> With best wishes
> Dmitry
>
> --
> You received this message because you are subscribed to the Google Groups=
"chromeos-krk-upstreaming" group.
> To unsubscribe from this group and stop receiving emails from it, send an=
email to chromeos-krk-upstreaming+unsubscribe@xxxxxxxxxx.
> To view this discussion visit https://groups.google.com/a/google.com/d/ms=
gid/chromeos-krk-upstreaming/oa5okg7i2s6s7pxm5tn6nnanazze5lnnre4vnwrhopn5s5=
hsil%40vhh22j6b5cvq.
> For more options, visit https://groups.google.com/a/google.com/d/optout.
Return-Path: <linux-kernel+bounces-665251-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B25E541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:58:43 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 4A3E77B2271
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:57:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8A152278E71;
Wed, 28 May 2025 09:58:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (2048-bit key) header.d=hmeau.com header.i=@hmeau.com header.b="JFt6cr3U"
Received: from abb.hmeau.com (abb.hmeau.com [144.6.53.87])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4FA78748D;
Wed, 28 May 2025 09:58:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=144.6.53.87
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426307; cv=none; b=gA9kpFkCO+jY198RaQ9xdoRPYlwuwA3ZnWNUBJdrUJom5VF1DCwMpTX4QPnzs7mrYOYXxuhxeSjnbcB+CppQ/llcchiHgkYUICJovNLmam6YBsiwZNWtzIH9gie2dqc7sV1W+PvDlKhhBnIKhKHjdNP3EOVF/igx0jgn203NF5I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426307; c=relaxed/simple;
bh=NRGd1298YR6eHTCIZ4sKS4iKFIP8ajc1FwHkQHVUEcI=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=RRuX2JUcOd6Nl1Y9A8/3KjcUxj9kbSycEXoXF75UfDdsSjfY9Ls2E+JdLxqmoh3J1oYD8P8H2uzIWS/BKket4qqokhY427etf7vvVfSYPrYDL21lgcbuSdg/QEEUpgja1AYcQxeT4U7IpyT3bvuexwTaKBXV2Dy9/mFXixPVjzQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gondor.apana.org.au; spf=pass smtp.mailfrom=gondor.apana.org.au; dkim=pass (2048-bit key) header.d=hmeau.com header.i=@hmeau.com header.b=JFt6cr3U; arc=none smtp.client-ip=144.6.53.87
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gondor.apana.org.au
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gondor.apana.org.au
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hmeau.com;
s=formenos; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:
Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID:
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
List-Post:List-Owner:List-Archive;
bh=1xRm8xDdj9ygUcINq3+7tEJK7XUVkovysG+3uSP4mK0=; b=JFt6cr3UZnexdU5Br0jFmmk949
XhyX/5vqmpk8anwlGiS7pymGWJXajA8GSPgjqhyF4r1bZpN1/OJ53PW/0fLE2gthja7QMm4O3Med+
vDvX/Hrp5YT63Qzc6JexQeCfq2VlmKmHub9tcdi7ujzqBFvBGYqQDCm6WwTMqbBi9VUpRerm14/ZG
ShMYUX/359/JWzzW1iZMyMBmevjnvhUHJxxuKHdyaelhCCin3owVgF9nKNJ1MfT4Z9haO4MzzoELB
GQ6LTExaHirxE3KkHHB2hRyX3cuSu3X393aXQN+RYEcztxfK0qnkD9fzMdDzj27b6oQTuR1e66cRS
j8KQVTLQ==;
Received: from loth.rohan.me.apana.org.au ([192.168.167.2])
by formenos.hmeau.com with smtp (Exim 4.96 #2 (Debian))
id 1uKDY5-009PDi-1w;
Wed, 28 May 2025 17:58:14 +0800
Received: by loth.rohan.me.apana.org.au (sSMTP sendmail emulation); Wed, 28 May 2025 17:58:13 +0800
Date: Wed, 28 May 2025 17:58:13 +0800
From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
To: Corentin Labbe <clabbe.montjoie@xxxxxxxxx>
Cc: Klaus Kudielka <klaus.kudielka@xxxxxxxxx>,
Eric Biggers <ebiggers@xxxxxxxxxx>, regressions@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Linux Crypto Mailing List <linux-crypto@xxxxxxxxxxxxxxx>,
Boris Brezillon <bbrezillon@xxxxxxxxxx>,
EBALARD Arnaud <Arnaud.Ebalard@xxxxxxxxxxx>,
Romain Perier <romain.perier@xxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxx>, Andrew Lunn <andrew@xxxxxxx>,
Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx>,
Gregory Clement <gregory.clement@xxxxxxxxxxx>,
Christoph Hellwig <hch@xxxxxxxxxxxxx>,
Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Subject: Re: crypto: marvell/cesa - dma_alloc_coherent broken but kmalloc +
dma_map_single works
Message-ID: <aDbeNYbwhmG6fzUh@xxxxxxxxxxxxxxxxxxx>
References: <aChx_ODF_hYKL8XO@Red>
<aCmTQoJw6XG1CkuZ@xxxxxxxxxxxxxxxxxxx>
<aC1fY6IP-8MzVIbx@xxxxxxxxxxxxxxxxxxx>
<aC2aAvX07Aaho08d@xxxxxxxxxxxxxxxxxxx>
<aC2uvvzlR89iVFGW@Red>
<aC2xTI1ZuXoZjgjX@xxxxxxxxxxxxxxxxxxx>
<aC3cF0-bWb-Jiz4i@Red>
<aC6TkPM6mOuFwvkD@xxxxxxxxxxxxxxxxxxx>
<aC7UbAIDA46olNJL@xxxxxxxxxxxxxxxxxxx>
<aC-EGr50MIVJqwVn@Red>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aC-EGr50MIVJqwVn@Red>
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Thu, May 22, 2025 at 10:07:54PM +0200, Corentin Labbe wrote:
>
> Here is the result:
> http://kernel.montjoie.ovh/479404.log
>
> I have built by adding also your "crypto: marvell/cesa - Fix engine load inaccuracy"
Please try this patch on top of the current mainline tree.
I've force-enabled the software finalisation code and switched it
over to kmalloc + dma_map_single.
Thanks,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff --git a/drivers/crypto/marvell/cesa/hash.c b/drivers/crypto/marvell/cesa/hash.c
index 6815eddc9068..e5b1d6a9add5 100644
--- a/drivers/crypto/marvell/cesa/hash.c
+++ b/drivers/crypto/marvell/cesa/hash.c
@@ -49,8 +49,7 @@ mv_cesa_ahash_req_iter_next_op(struct mv_cesa_ahash_dma_iter *iter)
static inline int
mv_cesa_ahash_dma_alloc_cache(struct mv_cesa_ahash_dma_req *req, gfp_t flags)
{
- req->cache = dma_pool_alloc(cesa_dev->dma->cache_pool, flags,
- &req->cache_dma);
+ req->cache = kmalloc(CESA_MAX_HASH_BLOCK_SIZE, flags);
if (!req->cache)
return -ENOMEM;
@@ -63,18 +62,14 @@ mv_cesa_ahash_dma_free_cache(struct mv_cesa_ahash_dma_req *req)
if (!req->cache)
return;
- dma_pool_free(cesa_dev->dma->cache_pool, req->cache,
- req->cache_dma);
+ dma_unmap_single(cesa_dev->dev, req->cache_dma, CESA_MAX_HASH_BLOCK_SIZE, DMA_TO_DEVICE);
+ kfree(req->cache);
}
static int mv_cesa_ahash_dma_alloc_padding(struct mv_cesa_ahash_dma_req *req,
gfp_t flags)
{
- if (req->padding)
- return 0;
-
- req->padding = dma_pool_alloc(cesa_dev->dma->padding_pool, flags,
- &req->padding_dma);
+ req->padding = kmalloc(72, flags);
if (!req->padding)
return -ENOMEM;
@@ -86,9 +81,8 @@ static void mv_cesa_ahash_dma_free_padding(struct mv_cesa_ahash_dma_req *req)
if (!req->padding)
return;
- dma_pool_free(cesa_dev->dma->padding_pool, req->padding,
- req->padding_dma);
- req->padding = NULL;
+ dma_unmap_single(cesa_dev->dev, req->padding_dma, 72, DMA_TO_DEVICE);
+ kfree(req->padding);
}
static inline void mv_cesa_ahash_dma_last_cleanup(struct ahash_request *req)
@@ -533,6 +527,13 @@ mv_cesa_ahash_dma_add_cache(struct mv_cesa_tdma_chain *chain,
memcpy(ahashdreq->cache, creq->cache, creq->cache_ptr);
+ ahashdreq->cache_dma = dma_map_single(cesa_dev->dev, ahashdreq->cache, CESA_MAX_HASH_BLOCK_SIZE, DMA_TO_DEVICE);
+ if (dma_mapping_error(cesa_dev->dev, ahashdreq->cache_dma)) {
+ dev_err(cesa_dev->dev, "dma_map_single failed\n");
+ kfree(ahashdreq->cache);
+ return -ENOMEM;
+ }
+
return mv_cesa_dma_add_data_transfer(chain,
CESA_SA_DATA_SRAM_OFFSET,
ahashdreq->cache_dma,
@@ -556,7 +557,7 @@ mv_cesa_ahash_dma_last_req(struct mv_cesa_tdma_chain *chain,
* If the transfer is smaller than our maximum length, and we have
* some data outstanding, we can ask the engine to finish the hash.
*/
- if (creq->len <= CESA_SA_DESC_MAC_SRC_TOTAL_LEN_MAX && frag_len) {
+ if (0 && creq->len <= CESA_SA_DESC_MAC_SRC_TOTAL_LEN_MAX && frag_len) {
op = mv_cesa_dma_add_frag(chain, &creq->op_tmpl, frag_len,
flags);
if (IS_ERR(op))
@@ -588,6 +589,13 @@ mv_cesa_ahash_dma_last_req(struct mv_cesa_tdma_chain *chain,
trailerlen = mv_cesa_ahash_pad_req(creq, ahashdreq->padding);
+ ahashdreq->padding_dma = dma_map_single(cesa_dev->dev, ahashdreq->padding, 72, DMA_TO_DEVICE);
+ if (dma_mapping_error(cesa_dev->dev, ahashdreq->padding_dma)) {
+ dev_err(cesa_dev->dev, "dma_map_single failed\n");
+ kfree(ahashdreq->padding);
+ return ERR_PTR(-ENOMEM);
+ }
+
len = min(CESA_SA_SRAM_PAYLOAD_SIZE - frag_len, trailerlen);
if (len) {
ret = mv_cesa_dma_add_data_transfer(chain,
diff --git a/drivers/crypto/marvell/cesa/hash.c b/drivers/crypto/marvell/cesa/hash.c
index 6815eddc9068..230501fe843b 100644
--- a/drivers/crypto/marvell/cesa/hash.c
+++ b/drivers/crypto/marvell/cesa/hash.c
@@ -374,6 +374,12 @@ static void mv_cesa_ahash_complete(struct crypto_async_request *req)
memcpy(ahashreq->result, data, digsize);
} else {
+ struct {
+ u32 digest[8];
+ u64 len;
+ } state;
+
+ memcpy(state.digest, creq->state, digsize);
for (i = 0; i < digsize / 4; i++)
creq->state[i] = readl_relaxed(engine->regs +
CESA_IVDIG(i));
@@ -393,6 +399,21 @@ static void mv_cesa_ahash_complete(struct crypto_async_request *req)
for (i = 0; i < digsize / 4; i++)
result[i] = cpu_to_be32(creq->state[i]);
}
+ } else {
+ HASH_FBREQ_ON_STACK(fbreq, ahashreq);
+
+ crypto_ahash_import_core(fbreq, &state);
+ crypto_ahash_update(fbreq);
+ crypto_ahash_export_core(fbreq, &state);
+ if (memcmp(state.digest, creq->state, digsize)) {
+ pr_err("mv_cesa_ahash_complete partial hash mismatch\n");
+ print_hex_dump(KERN_ERR, "", DUMP_PREFIX_OFFSET,
+ 16, 1,
+ state.digest, digsize, false);
+ print_hex_dump(KERN_ERR, "", DUMP_PREFIX_OFFSET,
+ 16, 1,
+ creq->state, digsize, false);
+ }
}
}
diff --git a/drivers/crypto/marvell/cesa/cesa.c b/drivers/crypto/marvell/cesa/cesa.c
index 9c21f5d835d2..fd7f43575cb2 100644
--- a/drivers/crypto/marvell/cesa/cesa.c
+++ b/drivers/crypto/marvell/cesa/cesa.c
@@ -127,6 +127,8 @@ static irqreturn_t mv_cesa_int(int irq, void *priv)
if (!(status & mask))
break;
+ pr_err("mv_cesa_int: %d 0x%x 0x%x\n", engine->id, status, mask);
+
/*
* TODO: avoid clearing the FPGA_INT_STATUS if this not
* relevant on some platforms.
diff --git a/drivers/crypto/marvell/cesa/hash.c b/drivers/crypto/marvell/cesa/hash.c
index 6815eddc9068..ff0735aaed7d 100644
--- a/drivers/crypto/marvell/cesa/hash.c
+++ b/drivers/crypto/marvell/cesa/hash.c
@@ -397,6 +397,8 @@ static void mv_cesa_ahash_complete(struct crypto_async_request *req)
}
atomic_sub(ahashreq->nbytes, &engine->load);
+
+ pr_err("mv_cesa_ahash_complete: %d 0x%lx\n", engine->id, (unsigned long)ahashreq);
}
static void mv_cesa_ahash_prepare(struct crypto_async_request *req,
@@ -418,6 +420,8 @@ static void mv_cesa_ahash_req_cleanup(struct crypto_async_request *req)
struct ahash_request *ahashreq = ahash_request_cast(req);
struct mv_cesa_ahash_req *creq = ahash_request_ctx(ahashreq);
+ pr_err("mv_cesa_ahash_req_cleanup: %d 0x%lx\n", creq->base.engine->id, (unsigned long)ahashreq);
+
if (creq->last_req)
mv_cesa_ahash_last_cleanup(ahashreq);
@@ -796,6 +800,7 @@ static int mv_cesa_ahash_queue_req(struct ahash_request *req)
engine = mv_cesa_select_engine(req->nbytes);
mv_cesa_ahash_prepare(&req->base, engine);
+ pr_err("mv_cesa_ahash_queue_req: %d 0x%lx %d %d\n", engine->id, (unsigned long)req, req->nbytes, creq->last_req);
ret = mv_cesa_queue_req(&req->base, &creq->base);
if (mv_cesa_req_needs_cleanup(&req->base, ret))
diff --git a/drivers/crypto/marvell/cesa/tdma.c b/drivers/crypto/marvell/cesa/tdma.c
index 243305354420..55860b480dd6 100644
--- a/drivers/crypto/marvell/cesa/tdma.c
+++ b/drivers/crypto/marvell/cesa/tdma.c
@@ -47,6 +47,8 @@ void mv_cesa_dma_step(struct mv_cesa_req *dreq)
engine->chain_hw.last = dreq->chain.last;
spin_unlock_bh(&engine->lock);
+ pr_err("mv_cesa_dma_step: %d 0x%lx 0x%lx 0x%lx\n", engine->id, (unsigned long)dreq, (unsigned long)dreq->chain.first->cur_dma, (unsigned long)dreq->chain.last->cur_dma);
+
writel_relaxed(0, engine->regs + CESA_SA_CFG);
mv_cesa_set_int_mask(engine, CESA_SA_INT_ACC0_IDMA_DONE);
@@ -137,6 +139,7 @@ int mv_cesa_tdma_process(struct mv_cesa_engine *engine, u32 status)
int res = 0;
tdma_cur = readl(engine->regs + CESA_TDMA_CUR);
+ pr_err("mv_cesa_tdma_process: %d 0x%lx\n", engine->id, (unsigned long)tdma_cur);
for (tdma = engine->chain_hw.first; tdma; tdma = next) {
spin_lock_bh(&engine->lock);
@@ -186,6 +189,8 @@ int mv_cesa_tdma_process(struct mv_cesa_engine *engine, u32 status)
break;
}
+ pr_err("mv_cesa_tdma_process: %d %d 0x%lx\n", engine->id, res, (unsigned long)req);
+
/*
* Save the last request in error to engine->req, so that the core
* knows which request was faulty
Return-Path: <linux-kernel+bounces-665252-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9076E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:59:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 9C6A918915C1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:59:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C0E7227AC25;
Wed, 28 May 2025 09:58:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="dwc6umlv"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B061A27935F;
Wed, 28 May 2025 09:58:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.9
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426320; cv=fail; b=lrLytWFLyNsLlrI67T4WWEb7AiTS4XKqmSfHzIUDSHoybmdUoMrb5S5HNxAypvqfbevqCOpXrnior4yoqJMMmHQg2w3PkvwAv6tFxPJl4W0AiS4eScinnAb3oLreyXz8RAzOiaRDZNlouDj+lj99FfVxJ4IQe8xpA0P5P8U4IeI=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426320; c=relaxed/simple;
bh=VHwHQE89svsPeeXSEr5QfqCHQquxLhs6Vr1iRtnsqOo=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=p6Dimyr54z9ODyg4BZ+jkZrUAzwDW4yWiZxiLN3OJu7JO4sIO5yTygSvVl1rinzcrBqcodx2GOkUghox6a3yMErGZHrwu3FMa3j+AqjYICsoroXMVNDBtIk7hj15fQc6tTFJqLp782ozJszK9LaGeENrri2U8SMIMU4IwMHnPXY=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=dwc6umlv; arc=fail smtp.client-ip=192.198.163.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748426319; x=1779962319;
h=date:from:to:cc:subject:message-id:reply-to:references:
in-reply-to:mime-version;
bh=VHwHQE89svsPeeXSEr5QfqCHQquxLhs6Vr1iRtnsqOo=;
b=dwc6umlvL263mK7LqUsTuBdeu32/TsolAQZZc4aXpo6TET6PqRRvFcnW
GXjKLy5DQoo0wg2IF9QW/voCtfUh/ok3QUrJU/Ddeg4jdhGdPWxbjYJC+
/mXkUngUK9amMnSEKeGG+vIMZMp766X6boPwfWop1Bn+oeWDYL/ljCj5/
w4vLtaKEU/tfRc6jffmPwYNyDxuw/rk0YPDofEp5cD3DBvWQsWakEUAfm
sb91iDEv5RsWkWXYiAU5AeL/HbHqcqahUDwWIJwxqM3sn2WJmSN5IKiM0
WDCK71XGSpquZ3h0UnD6H0ypujNoc8XYXJ8VYAbDRtDV1qZkco9pFOOET
g==;
X-CSE-ConnectionGUID: EvrDfmapTya9kFtVm3A0Iw==
X-CSE-MsgGUID: 0HRyPKJtSPy4NGJ86/Ha5Q==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="61103920"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="61103920"
Received: from fmviesa001.fm.intel.com ([10.60.135.141])
by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:58:37 -0700
X-CSE-ConnectionGUID: yC/Cio7kTEui9jDPYIGlzQ==
X-CSE-MsgGUID: Fa5m9SdOSLaBk4qvs1vcSw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="174080527"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by fmviesa001.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 02:58:35 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 28 May 2025 02:58:35 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 02:58:35 -0700
Received: from NAM02-BN1-obe.outbound.protection.outlook.com (40.107.212.84)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 28 May 2025 02:58:35 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=rLYwMqNyxKGuASAmwJ5v939u1/l0LALkiPzWXHtDifmoOLzO3vljFLJIbSBtu6Giv2paH4DaPITMJ20ZXO2ycPVRGWcBHGwTlSLVR/3YUJUP7gKFow5t0Wq4iidFOPlw/ybALlRkc6mVFKL670mDSJQpuvHelhWdhQRaYgUmnWMxZRvaRKUJ3T4J/txX1WYEqvBbEaSM0gF/vNI5pQzZucdor7CxguDYRlMKeCzfKBnbSDS92MhciMYtIaDE5vn0EaIrEcOeK/m3wqozwWFiZPUgOGLnmpLeqMxz7neE6GADQS3+CquTBxD7RlbMbOCfXHoUKLVB17aEDwQiXOeXWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=Tn6qdLfu5oTJ5Nl7UJfA3biKwyqBFmdxoh1t/k9LdAc=;
b=bp0ItDRm6E0lyhHcoxIPOt1NTBHbbWqzyFoAJ00bxe+xDbtbDq7njXq9Cx+GE90/W2NHERNUjyLav7C8Hqo2fxAewbYddf9NF9mNFFxx/SprgSpDyPt1srXfOoNxDPPcwIK/QFelZsL523RGg7U7EreANSIrfK7qks5UnZBh97I9Cr26K81CNsSGSz2KZ1Z4DtZDVYFv1pLpi2spy/IDAJeF6uF8oDlFpxik0GBVwqKXEWcVC+2a3y7gvq8c59TSB6mKHPNNBd+KLpoA0QqPsfB+p5s5389O4B6iXgvnj642h7zB9or8F5as8BgPsG7D9W6czW+HMabEQwsZJJqObQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) by
CY8PR11MB7313.namprd11.prod.outlook.com (2603:10b6:930:9c::20) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.8769.27; Wed, 28 May 2025 09:58:04 +0000
Received: from DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca]) by DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca%2]) with mapi id 15.20.8769.021; Wed, 28 May 2025
09:58:03 +0000
Date: Wed, 28 May 2025 17:55:26 +0800
From: Yan Zhao <yan.y.zhao@xxxxxxxxx>
To: Binbin Wu <binbin.wu@xxxxxxxxxxxxxxx>
CC: Ackerley Tng <ackerleytng@xxxxxxxxxx>, <kvm@xxxxxxxxxxxxxxx>,
<linux-mm@xxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <x86@xxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <aik@xxxxxxx>, <ajones@xxxxxxxxxxxxxxxx>,
<akpm@xxxxxxxxxxxxxxxxxxxx>, <amoorthy@xxxxxxxxxx>,
<anthony.yznaga@xxxxxxxxxx>, <anup@xxxxxxxxxxxxxx>, <aou@xxxxxxxxxxxxxxxxx>,
<bfoster@xxxxxxxxxx>, <brauner@xxxxxxxxxx>, <catalin.marinas@xxxxxxx>,
<chao.p.peng@xxxxxxxxx>, <chenhuacai@xxxxxxxxxx>, <dave.hansen@xxxxxxxxx>,
<david@xxxxxxxxxx>, <dmatlack@xxxxxxxxxx>, <dwmw@xxxxxxxxxxxx>,
<erdemaktas@xxxxxxxxxx>, <fan.du@xxxxxxxxx>, <fvdl@xxxxxxxxxx>,
<graf@xxxxxxxxxx>, <haibo1.xu@xxxxxxxxx>, <hch@xxxxxxxxxxxxx>,
<hughd@xxxxxxxxxx>, <ira.weiny@xxxxxxxxx>, <isaku.yamahata@xxxxxxxxx>,
<jack@xxxxxxx>, <james.morse@xxxxxxx>, <jarkko@xxxxxxxxxx>, <jgg@xxxxxxxx>,
<jgowans@xxxxxxxxxx>, <jhubbard@xxxxxxxxxx>, <jroedel@xxxxxxx>,
<jthoughton@xxxxxxxxxx>, <jun.miao@xxxxxxxxx>, <kai.huang@xxxxxxxxx>,
<keirf@xxxxxxxxxx>, <kent.overstreet@xxxxxxxxx>, <kirill.shutemov@xxxxxxxxx>,
<liam.merwick@xxxxxxxxxx>, <maciej.wieczor-retman@xxxxxxxxx>,
<mail@xxxxxxxxxxxxxxxxxxxxx>, <maz@xxxxxxxxxx>, <mic@xxxxxxxxxxx>,
<michael.roth@xxxxxxx>, <mpe@xxxxxxxxxxxxxx>, <muchun.song@xxxxxxxxx>,
<nikunj@xxxxxxx>, <nsaenz@xxxxxxxxx>, <oliver.upton@xxxxxxxxx>,
<palmer@xxxxxxxxxxx>, <pankaj.gupta@xxxxxxx>, <paul.walmsley@xxxxxxxxxx>,
<pbonzini@xxxxxxxxxx>, <pdurrant@xxxxxxxxxxxx>, <peterx@xxxxxxxxxx>,
<pgonda@xxxxxxxxxx>, <pvorel@xxxxxxx>, <qperret@xxxxxxxxxx>,
<quic_cvanscha@xxxxxxxxxxx>, <quic_eberman@xxxxxxxxxxx>,
<quic_mnalajal@xxxxxxxxxxx>, <quic_pderrin@xxxxxxxxxxx>,
<quic_pheragu@xxxxxxxxxxx>, <quic_svaddagi@xxxxxxxxxxx>,
<quic_tsoni@xxxxxxxxxxx>, <richard.weiyang@xxxxxxxxx>,
<rick.p.edgecombe@xxxxxxxxx>, <rientjes@xxxxxxxxxx>, <roypat@xxxxxxxxxxxx>,
<rppt@xxxxxxxxxx>, <seanjc@xxxxxxxxxx>, <shuah@xxxxxxxxxx>,
<steven.price@xxxxxxx>, <steven.sistare@xxxxxxxxxx>,
<suzuki.poulose@xxxxxxx>, <tabba@xxxxxxxxxx>, <thomas.lendacky@xxxxxxx>,
<usama.arif@xxxxxxxxxxxxx>, <vannapurve@xxxxxxxxxx>, <vbabka@xxxxxxx>,
<viro@xxxxxxxxxxxxxxxxxx>, <vkuznets@xxxxxxxxxx>, <wei.w.wang@xxxxxxxxx>,
<will@xxxxxxxxxx>, <willy@xxxxxxxxxxxxx>, <xiaoyao.li@xxxxxxxxx>,
<yilun.xu@xxxxxxxxx>, <yuzenghui@xxxxxxxxxx>, <zhiquan1.li@xxxxxxxxx>
Subject: Re: [RFC PATCH v2 06/51] KVM: Query guest_memfd for private/shared
status
Message-ID: <aDbdjmRceMLs1RPN@xxxxxxxxxxxxxxxxxxxxxxxxx>
Reply-To: Yan Zhao <yan.y.zhao@xxxxxxxxx>
References: <cover.1747264138.git.ackerleytng@xxxxxxxxxx>
<237590b163506821120734a0c8aad95d9c7ef299.1747264138.git.ackerleytng@xxxxxxxxxx>
<aDU3pN/0FVbowmNH@xxxxxxxxxxxxxxxxxxxxxxxxx>
<e38f0573-520a-4fe8-91fc-797086ab5866@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <e38f0573-520a-4fe8-91fc-797086ab5866@xxxxxxxxxxxxxxx>
X-ClientProxiedBy: KU0P306CA0038.MYSP306.PROD.OUTLOOK.COM
(2603:1096:d10:29::19) To DS7PR11MB5966.namprd11.prod.outlook.com
(2603:10b6:8:71::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS7PR11MB5966:EE_|CY8PR11MB7313:EE_
X-MS-Office365-Filtering-Correlation-Id: 5ff94a4a-910b-4813-0564-08dd9dce230e
X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7416014;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?7/E1i+nhRMTbC2wKJ+K6wIeWtJGhPAfSVSjjwhVecamHcXabAZ+YILBgiAMU?=
=?us-ascii?Q?eerSgYWiHtM26uRr1ybcuLWnp6hVJ9LmmU2NbwUJUUV0BvDrv2xgzYqfRNT0?=
=?us-ascii?Q?c9lVfzvpyljJxcWBN/VFokPlOs46/e0eYzWcid8K0OoXK71tk8ULWqdbahbA?=
=?us-ascii?Q?Gybd9LQf8dFoR6ggIDTW8CHoPFOm+o3meG+lP6fIcEib4bAnbg33dwJmNqF/?=
=?us-ascii?Q?aELEUewsJyWHg+0oIHrPrVv7mmAfKK4cfsUw+07Yejo54aMdFgl3kadUnzK+?=
=?us-ascii?Q?YzXcW95KaaPWhJXNO67V4Owv+GXw5fsJ1PcldefCJh+jvOh1jdreXMpC0jgF?=
=?us-ascii?Q?1MqPtaD7FG8J1DPlODjuHRY9LKOFkoYYVxIvdO4V7S73fnGvN/MHE5NqBfc9?=
=?us-ascii?Q?+3kvfxmuwBzpPNvJNlzyOGNC930N61UofOEuWNbLnk4D9Jf8od5yc9pYuBOy?=
=?us-ascii?Q?6fDVKFz1CDOGAXRGSrWdCBnLO/Qgiy38gd0/16JDDQT20cIRWRYSgz6oHH2d?=
=?us-ascii?Q?+wdJQlT53+h4qSXZ8G3k+unTv0zpZhVYm2wRHBffZDWMJblLyR+Jp8s3JMru?=
=?us-ascii?Q?k9suU95GNKzk8kBzdasu5N+JmngHu6w/xIarBsd2oIZVRK3CBpnIXFJ66DO2?=
=?us-ascii?Q?q2Jg00aOkyJGCU2AvUVFMMEZbQcd35qTbuvqk4LkWU7Kahx4Y10rOx826iye?=
=?us-ascii?Q?8KwlGdQKk2L70jipZd6Shn5AzHBr/G+uIJXnJArc2y1KbCgL4hEqrSYtqFoM?=
=?us-ascii?Q?a+J1qAN2ZiZcCFyP4P3mIhvCLduM5ZrZsZc/dDHQfTpn7UfKnS0pa5b4p9TF?=
=?us-ascii?Q?6ZIQmInkBuxN8njsFC/VVg6lLpIcuRGxUQq9gghmNXDUH+exy2VDzEKzPcu4?=
=?us-ascii?Q?AX9uFpF/KCuoE2chyj+v05RdVbwBGsblJODX8zwMWf0TenHUBW1nAf21fijL?=
=?us-ascii?Q?PUYb7KRttYNWJApaw/MUZgGZ29mit9WopRTEX/Hbjcw1U7RscaVKiQwVtsYX?=
=?us-ascii?Q?GiurJMz3WwBcf5It5GERYMPPAlsrT8L/kRBzPz/V4WtEdU4/xj+UrEVLEJus?=
=?us-ascii?Q?kX/SvL2aj1IC7yrguxkvXKuZka9pe7hDsv+JW03/UcDYVPCZrcXUL9yMU8Z2?=
=?us-ascii?Q?0Y+a+NIsK4/tTL3ImQnrLxjNYph2VZaYP+IFUPSBCMUPYsRazs0XmVFDzKEU?=
=?us-ascii?Q?1Qh5NRsFono86dABtI+IL0SqLW8TEWVAd66/3f/XRjUhJ56LUjbSOe/fkRa1?=
=?us-ascii?Q?AcY1zXlJFOomdGuMUvWwOEB8LzKK813irPbFH1J0Ajnm7KXZ7C4CWtAEBkjT?=
=?us-ascii?Q?P04qPvVeXpNsJWTRVPwLDiSfOSECi2Q8452yuRVGdM1G+NIpEcL1W3HOmNzy?=
=?us-ascii?Q?OOeR/LztvZopiyLLRyoa+WFsmH+2gCDUwAKUy7DS4eEwg7nH1jururk4fobE?=
=?us-ascii?Q?tnMKVCA9JIQ=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB5966.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7416014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?54wwwpabmxaRFUylgVqKmlGRxgduUhWE2dtufLeCiY42F5rdjMWAWn6MbPe+?=
=?us-ascii?Q?AS9Eyt332KvInhOt4jRZnfjxhknlhxctDoaQiHItgC8refllohDy4NcP1fV1?=
=?us-ascii?Q?Ic/MthpE3zOgsuYj9ConEbuK7VLQepLmHIpcwm3N3MEt1Ws9lZcnbXsoFHzh?=
=?us-ascii?Q?wqb+N/dxH4WQsQG9on9Jy03IWhWM7GjEcok+tOqfjIBkRWDR314hyVjs68/U?=
=?us-ascii?Q?+y9FV4UrIibRp+tDLWLs76UmLgEHhVfqpdw6EQ+BHHEodX7AX815YtMygj7C?=
=?us-ascii?Q?FhAvXppw5Hp+W+nTNDCdQsYq/Ubdu3k5kJCad6EIxDaCQJ9Aet7lv4us37Xn?=
=?us-ascii?Q?Khl6HS1ifY1BRHv7g0Zg+NObaABNTbiLbVjo7W/MeKvBRNlGFptZA3/IC8nA?=
=?us-ascii?Q?BJemLqZcr2Wv/RDNHJyW25efS4LjSax6Y9FWrhriWbRYzHlC8AVVSOey1MaV?=
=?us-ascii?Q?JCLdHSkl2xxPI4Mheqf26Ct6h2zFTXu77gqU3K4MKi4+mHFnPSvCnGs5OtY3?=
=?us-ascii?Q?UgJgyKNHFtv073eME3jpDkOmjGbdFMhFydHF45tpm3dguIcOrO0nzNnt2APj?=
=?us-ascii?Q?7fsKZ6uwSJotVphtXxVQRARg0z0YZ32wz2kqgeCqMEHE8JXPOScb+Qqm+QfH?=
=?us-ascii?Q?zjThCm0l8YCjbcerDpziEVQ4U7SefFCOxfJoWbhzHcjwQdDKcdkjIwNwC3Ou?=
=?us-ascii?Q?fuhAjttYklSNiCQJ7mlx5gUIsg/RbbSQhSv1LZS+F+P0Mo7Vbfnd879onsnb?=
=?us-ascii?Q?+UXuNUp7TfKifi9Bax84SveadeUgZmjODbDVSIhmzdrt6QKrhovZCOly8kbm?=
=?us-ascii?Q?yfZXRJSImdFeFnh3mL2dtybKznSrsQ6MCENKH53lnBg/4ynpKaU09p8ElNPU?=
=?us-ascii?Q?CT3L6+zDGfU8/xlp6fbs98yZDKN4iZN5QQmxKVbELlqKxuO+BobY3J26O4sL?=
=?us-ascii?Q?hHeH8NHZ4+U3J4ZDiXzYGBMzQuX13i74+4U+SBSLxtTW/B2OV48sDtsqklEE?=
=?us-ascii?Q?vIRDLao1TDwGauoXgIXy9skiDday5Dmplh0ETX0/osBQxSLdMgKlPClbDrEA?=
=?us-ascii?Q?g63mFFIl3MUwR09G56ZtZYf+M/+98j60/XyD9TjJmrIx6lMe3W8VFH92ubxo?=
=?us-ascii?Q?F9NPKFTFmghLRfOtjZficqzs4vUz8gP1F85vswo3bFgj02GWOxx6vbEk51v/?=
=?us-ascii?Q?bbUhOk87etvhVJJTqkhNCGJntBG3Xhu2nPMI3wfDLy50tkQMicdtWsp/A5sm?=
=?us-ascii?Q?TSWGIVBZ4QJFKA5weVexnuI5/p1odV5EpfgzlOm1g1MRONw9mpPSYkA4uM4D?=
=?us-ascii?Q?9bdCUBE+y2nN57dfC3LDDtRIUS8DT8ilrH/12gFpFQXVVxPJ9GardP60jRo+?=
=?us-ascii?Q?ZLfBRcNcGh/BcZA9LRiW0rLXmV2yIFrckH/0AZJJB3C5J+SMpDp03aa5yWEh?=
=?us-ascii?Q?k2YvlaVJ+qTY2/RGVIp3dgeNqTuZDb5TN19btEj+f61KyFBhiBXb0ea8rkbQ?=
=?us-ascii?Q?3dif8ZaHpliEe3lipUcYL4QbYkVwH3BiuBBKgcH6gmOexYvcqlBhPqfSAASG?=
=?us-ascii?Q?Ew0oAxg6jB5pHaeJZCIypXpsPQBDRcrlRVF8c6J1?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ff94a4a-910b-4813-0564-08dd9dce230e
X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB5966.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 09:58:03.5175
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3OM8XiBtxsG/AJpVsMecLYoOp4XceDr7VtmJcTPWn6/9caNIb15HHvaXLOOei8ksB3uDT49Lcs3vCTRF6lPWjA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7313
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 04:08:34PM +0800, Binbin Wu wrote:
>
>
> On 5/27/2025 11:55 AM, Yan Zhao wrote:
> > On Wed, May 14, 2025 at 04:41:45PM -0700, Ackerley Tng wrote:
> > > Query guest_memfd for private/shared status if those guest_memfds
> > > track private/shared status.
> > >
> > > With this patch, Coco VMs can use guest_memfd for both shared and
> > > private memory. If Coco VMs choose to use guest_memfd for both
> > > shared and private memory, by creating guest_memfd with the
> > > GUEST_MEMFD_FLAG_SUPPORT_SHARED flag, guest_memfd will be used to
> > > provide the private/shared status of the memory, instead of
> > > kvm->mem_attr_array.
> > >
> > > Change-Id: I8f23d7995c12242aa4e09ccf5ec19360e9c9ed83
> > > Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
> > > ---
> > > include/linux/kvm_host.h | 19 ++++++++++++-------
> > > virt/kvm/guest_memfd.c | 22 ++++++++++++++++++++++
> > > 2 files changed, 34 insertions(+), 7 deletions(-)
> > >
> > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
> > > index b317392453a5..91279e05e010 100644
> > > --- a/include/linux/kvm_host.h
> > > +++ b/include/linux/kvm_host.h
> > > @@ -2508,12 +2508,22 @@ static inline void kvm_prepare_memory_fault_exit(struct kvm_vcpu *vcpu,
> > > }
> > > #ifdef CONFIG_KVM_GMEM_SHARED_MEM
> > > +
> > > bool kvm_gmem_memslot_supports_shared(const struct kvm_memory_slot *slot);
> > > +bool kvm_gmem_is_private(struct kvm_memory_slot *slot, gfn_t gfn);
> > > +
> > > #else
> > > +
> > > static inline bool kvm_gmem_memslot_supports_shared(const struct kvm_memory_slot *slot)
> > > {
> > > return false;
> > > }
> > > +
> > > +static inline bool kvm_gmem_is_private(struct kvm_memory_slot *slot, gfn_t gfn)
> > > +{
> > > + return false;
> > > +}
> > > +
> > > #endif /* CONFIG_KVM_GMEM_SHARED_MEM */
> > > #ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES
> > > @@ -2544,13 +2554,8 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
> > > return false;
> > > slot = gfn_to_memslot(kvm, gfn);
> > > - if (kvm_slot_has_gmem(slot) && kvm_gmem_memslot_supports_shared(slot)) {
> > > - /*
> > > - * For now, memslots only support in-place shared memory if the
> > > - * host is allowed to mmap memory (i.e., non-Coco VMs).
> > > - */
> > > - return false;
> > > - }
> > > + if (kvm_slot_has_gmem(slot) && kvm_gmem_memslot_supports_shared(slot))
> > > + return kvm_gmem_is_private(slot, gfn);
> > When userspace gets an exit reason KVM_EXIT_MEMORY_FAULT, looks it needs to
> > update both KVM memory attribute and gmem shareability, via two separate ioctls?
> IIUC, when userspace sets flag GUEST_MEMFD_FLAG_SUPPORT_SHARED to create the
> guest_memfd, the check for memory attribute will go through the guest_memfd way,
> the information in kvm->mem_attr_array will not be used.
>
> So if userspace sets GUEST_MEMFD_FLAG_SUPPORT_SHARED, it uses
> KVM_GMEM_CONVERT_SHARED/PRIVATE to update gmem shareability.
> If userspace doesn't set GUEST_MEMFD_FLAG_SUPPORT_SHARED, it still uses
> KVM_SET_MEMORY_ATTRIBUTES to update KVM memory attribute tracking.
Ok, so the user needs to search the memory region and guest_memfd to choose the
right ioctl.
For slots with guest_memfd of flag GUEST_MEMFD_FLAG_SUPPORT_SHARED, the
KVM_LPAGE_MIXED_FLAG bit in the lpage_info cannot reflect the truth and a false
value there may also prevent KVM from installing a huge page.
> >
> >
> > > return kvm_get_memory_attributes(kvm, gfn) & KVM_MEMORY_ATTRIBUTE_PRIVATE;
> > > }
>
>
Return-Path: <linux-kernel+bounces-665253-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BB3DF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:59:35 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 087A817FE7A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 09:59:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 814DC27B4EF;
Wed, 28 May 2025 09:58:42 +0000 (UTC)
Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id ACE41279782;
Wed, 28 May 2025 09:58:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.51
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426322; cv=none; b=W3E0elt++FBLWGk0OJkK2pta6MzLyKpmmpCTJzU3d1tIA3FgcU3KSEdgw9308wCiDLXl4o9lNjV4vS3EMcKgfiZz11mqgf74cisHrn9PLMHmDTGYRC9Ym13VRQ4YbvVIfb2gPy/mvBt+fT/RT7E/Z61d0fkBJYmWTRkQBueSDPE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426322; c=relaxed/simple;
bh=fP2NEMQJO2w6ZN8M1a63ctB9JnBR+cyvaD3Pn4Ig87Y=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=prCnyehnzve/4M3PLht0Sn3JnE3p/fChQtXZD4mX8jev12hcozNlGvKjcAjBQJ1oY+QaWTn3fT2SnrtR6yhjjOvoSW0huclWyqHbf9EkF/GxeDxgq7lUPsNyiDL3j/bMp/C6BUhXXbEuXurmyYGbg5mmQjiJfBpJvotErVkEe0E=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=huaweicloud.com; spf=pass smtp.mailfrom=huaweicloud.com; arc=none smtp.client-ip=45.249.212.51
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=huaweicloud.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huaweicloud.com
Received: from mail.maildlp.com (unknown [172.19.163.216])
by dggsgout11.his.huawei.com (SkyGuard) with ESMTPS id 4b6lM1683fzYQvCb;
Wed, 28 May 2025 17:58:37 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.128])
by mail.maildlp.com (Postfix) with ESMTP id F06D61A111E;
Wed, 28 May 2025 17:58:36 +0800 (CST)
Received: from [10.174.176.88] (unknown [10.174.176.88])
by APP4 (Coremail) with SMTP id gCh0CgBXul5K3jZolIQONw--.43426S3;
Wed, 28 May 2025 17:58:36 +0800 (CST)
Message-ID: <ee159a27-9006-4ec7-a6e9-9d9d1bdf3872@xxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 17:58:34 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [QUESTION] cachefiles: Recovery concerns with on-demand loading
after unexpected power loss
To: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>,
Zizhi Wo <wozizhi@xxxxxxxxxxxxxxx>, netfs@xxxxxxxxxxxxxxx,
dhowells@xxxxxxxxxx, jlayton@xxxxxxxxxx, brauner@xxxxxxxxxx
Cc: jefflexu@xxxxxxxxxxxxxxxxx, zhujia.zj@xxxxxxxxxxxxx,
linux-erofs@xxxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, libaokun1@xxxxxxxxxx, yangerkun@xxxxxxxxxx,
houtao1@xxxxxxxxxx, yukuai3@xxxxxxxxxx
References: <20250528080759.105178-1-wozizhi@xxxxxxxxxxxxxxx>
<d0e08cbf-c6e4-4ecd-bcaf-40c426279c4f@xxxxxxxxxxxxxxxxx>
<f177a0e4-c2da-40b7-9d47-8968f3c2bc50@xxxxxxxxxxxxxxx>
<4b8a0273-92a5-4f56-bafa-719e73828788@xxxxxxxxxxxxxxxxx>
From: Zizhi Wo <wozizhi@xxxxxxxxxxxxxxx>
In-Reply-To: <4b8a0273-92a5-4f56-bafa-719e73828788@xxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:gCh0CgBXul5K3jZolIQONw--.43426S3
X-Coremail-Antispam: 1UD129KBjvJXoWxCF1DJr45ZF4fWr17Ww17Jrb_yoW5Zw4DpF
W5Wa4UKw4kJryftrnFvF4ruFWrtr93JrWUXrn8Wr48Ar1qyr1IqrWfKryYkFykurnrXay2
va4jvr9rZw15AFJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
9KBjDU0xBIdaVrnRJUUUvE14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U
JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc
CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E
2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV
W8JwACjcxG0xvEwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka
0xkIwI1lc7CjxVAaw2AFwI0_Jw0_GFyl42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7
v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF
1VAY17CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIx
AIcVC0I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI
42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWI
evJa73UjIFyTuYvjfUonmRUUUUU
X-CM-SenderInfo: pzr2x6tkl6x35dzhxuhorxvhhfrp/
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
å?¨ 2025/5/28 17:25, Gao Xiang å??é??:
>
>
> On 2025/5/28 16:53, Zizhi Wo wrote:
>>
>>
>> å?¨ 2025/5/28 16:35, Gao Xiang å??é??:
>>> Hi Zizhi,
>>>
>>> On 2025/5/28 16:07, Zizhi Wo wrote:
>>>> Currently, in on-demand loading mode, cachefiles first calls
>>>> cachefiles_create_tmpfile() to generate a tmpfile, and only during
>>>> the exit
>>>> process does it call
>>>> cachefiles_commit_object->cachefiles_commit_tmpfile to
>>>> create the actual dentry and making it visible to users.
>>>>
>>>> If the cache write is interrupted unexpectedly (e.g., by system
>>>> crash or
>>>> power loss), during the next startup process,
>>>> cachefiles_look_up_object()
>>>> will determine that no corresponding dentry has been generated and will
>>>> recreate the tmpfile and pull the complete data again!
>>>>
>>>> The current implementation mechanism appears to provide per-file
>>>> atomicity.
>>>> For scenarios involving large image files (where significant amount of
>>>> cache data needs to be written), this re-pulling process after an
>>>> interruption seems considerable overhead?
>>>>
>>>> In previous kernel versions, cache dentry were generated during the
>>>> LOOK_UP_OBJECT process of the object state machine. Even if power
>>>> was lost
>>>> midway, the next startup process could continue pulling data based
>>>> on the
>>>> previously downloaded cache data on disk.
>>>>
>>>> What would be the recommended way to handle this situation? Or am I
>>>> thinking about this incorrectly? Would appreciate any feedback and
>>>> guidance
>>>> from the community.
>>>
>>> As you can see, EROFS fscache feature was marked as deprecated
>>> since per-content hooks already support the same use case.
>>>
>>> the EROFS fscache support will be removed after I make
>>> per-content hooks work in erofs-utils, which needs some time
>>> because currently I don't have enough time to work on the
>>> community stuff.
>>>
>>> Thanks,
>>> Gao Xiang
>>
>> Thanks for your reply.
>>
>> Indeed, the subsequent implementations have moved to using fanotify.
>> Moreover, based on evaluation, this approach could indeed lead to
>> performance improvements.
>>
>> However, in our current use case, we are still working with a kernel
>> version that only supports the fscache-based approach, so this issue
>> still exists for us. :(
>
> Since it's deprecated (because that fscache improvement will
> take much long time to upstream and netfs dependency is
> redundant in addition to new pre-content hooks), could you
> improve it downstream directly?
>
> Or if you have some simple proposal you could post, but no one
> avoids you to use fscache downstream but it seems pre-content
> hooks are more cleaner for this use case..
>
> Thanks,
> Gao Xiang
>
I understand. We'll have some internal discussions to explore possible
solutions. Our initial intention in bringing this up was also to hear if
the community has any suggestions or different perspectives on this
issue, which could help guide our future improvements (although fanotify
is for future and fscache seems deprecated). For example, as you
mentioned fanotify â?? that was quite insightful.
Thanks,
Zizhi Wo
>
>>
>> Thanks,
>> Zizhi Wo
>>
>>>
>>>>
>>>> Thanks,
>>>> Zizhi Wo
>>>
>
>
Return-Path: <linux-kernel+bounces-665254-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F37A841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 05:59:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id BDDFA1BC2951
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:00:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C009327CCC7;
Wed, 28 May 2025 09:58:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Bk3+5v7w"
Received: from mailgw02.mediatek.com (unknown [210.61.82.184])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D2C3B17BA1;
Wed, 28 May 2025 09:58:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.61.82.184
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426327; cv=none; b=bKdKoWj2BiLi9u2IEKHKRm1nsF3ul3Q7HmCIP4pqz3bdYGA9GG9d5Erq9DEcx2Mx+kz69RbQizRdTIApmwmI1iDA5izBLRNtK7mNp0opdW4fRNuVCe5zge34Le5/weO3aALLnlA9RvgyQRDpr8Hp7xCNr6641Uc+4rouQQqBqOY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426327; c=relaxed/simple;
bh=JxenMXhCnG0Q6qqgAUfz4aOOWk3ARNy9mbGaMdiGkI8=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=TmfC2auke1nzhEGJw1yvRpsfxJQthYIS24nq2mv7VWIUAHFBMdC6AzcTygHBfDBnGg5xu3M6WTzXcPvlppguQNuzsFVDplg1IbBYFsQ7BPT+JXat47dPV20YNVQ+6eYCUMB9OZ8eScj/djLSNKI8k1p/UjDdlH9FJBDMBj6QP8E=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=Bk3+5v7w; arc=none smtp.client-ip=210.61.82.184
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com
X-UUID: 52de6f5a3baa11f082f7f7ac98dee637-20250528
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk;
h=Content-Type:Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=UIPzmvmserW3V83wIIJ6pIfzB+Tlkfw7bJvzEN1FiIM=;
b=Bk3+5v7wLwVtuBV2aEcFIEkwHUEWfmWdHR5dOIpGmGwpMjyRAevgqwY+P2AOLqsewMbGW3iaAp/bF3++Dm46ap3W2IgquIzc9YePLZzLPNdfkCTtEJS2fJAqjvvSI2aTMB9BXXl8ORX0uSb1Kp8T3VaYqatnjHdDOHyd8aRBgVQ=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:239131d9-fa69-4f35-9024-29e69b06a429,IP:0,UR
L:0,TC:0,Content:-5,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION:
release,TS:-5
X-CID-META: VersionHash:0ef645f,CLOUDID:2e4fd247-ee4f-4716-aedb-66601021a588,B
ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0|50,EDM:-3,IP:ni
l,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES
:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0
X-CID-BVR: 0
X-CID-BAS: 0,_,0,_
X-CID-FACTOR: TF_CID_SPAM_SNR
X-UUID: 52de6f5a3baa11f082f7f7ac98dee637-20250528
Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw02.mediatek.com
(envelope-from <jianhua.lin@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 1050912838; Wed, 28 May 2025 17:58:36 +0800
Received: from mtkmbs11n1.mediatek.inc (172.21.101.185) by
MTKMBS14N2.mediatek.inc (172.21.101.76) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Wed, 28 May 2025 17:58:34 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs11n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Wed, 28 May 2025 17:58:34 +0800
From: Jianhua Lin <jianhua.lin@xxxxxxxxxxxx>
To: <mchehab@xxxxxxxxxx>, <robh@xxxxxxxxxx>, <krzk+dt@xxxxxxxxxx>,
<conor+dt@xxxxxxxxxx>, <matthias.bgg@xxxxxxxxx>,
<angelogioacchino.delregno@xxxxxxxxxxxxx>
CC: <devicetree@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-mediatek@xxxxxxxxxxxxxxxxxxx>,
<Project_Global_Chrome_Upstream_Group@xxxxxxxxxxxx>, Jianhua Lin
<jianhua.lin@xxxxxxxxxxxx>
Subject: [PATCH 0/2] Add MT8189 jpeg encoder and decoder compatible
Date: Wed, 28 May 2025 17:57:46 +0800
Message-ID: <20250528095748.17485-1-jianhua.lin@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This series is based on tag: next-20250528, linux-next/master
jianhua.lin (2):
dt-bindings: media: mediatek-jpeg-encoder: Add MT8189 compatible
string
dt-bindings: media: mediatek-jpeg-decoder: Add MT8189 compatible
string
.../devicetree/bindings/media/mediatek-jpeg-decoder.yaml | 1 +
.../devicetree/bindings/media/mediatek-jpeg-encoder.yaml | 1 +
2 files changed, 2 insertions(+)
--
2.46.0
Return-Path: <linux-kernel+bounces-665255-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 8200741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:00:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B953C3ACE8B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:00:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EA5FF27991C;
Wed, 28 May 2025 09:59:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="irL0AyQV"
Received: from mailgw01.mediatek.com (unknown [60.244.123.138])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1A2D2676CD;
Wed, 28 May 2025 09:59:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=60.244.123.138
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426351; cv=none; b=HZfinybAx69+bFa04Cpd3HyRWoIBf/olEntfxxJ3c6tGx+Mn5IdLq/qotojU7aa+Iucdd7dgOJ2TOXTEEWt44nPEo2Jh17dPqBUIJj05opm9EdgWRSOmZqEdqpRyzKVnIQPh1sqe9Vk7hBnBQKeVJSx+q3qQQQoc7quZf+pa9T4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426351; c=relaxed/simple;
bh=akHFTEWHlV06o6FK54p/MAEAhHvw3C0S0FKAw69XbNg=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=IW0Q040BMtNMcqgAvIeUTR5OUh81+nFPD28WCLY9Xt+JkpENPbvVN5t0ID9HJKNaM6XxZUo8NxgFSiXdSQDIeWEzE8LpxWReOUx5eyg6cWo5Ma3aiT48F9sSMTl/PU8zpftF+gqnkhLW8rPwrhKFxhqMCxrc7NtPClLbp1FmmU8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=irL0AyQV; arc=none smtp.client-ip=60.244.123.138
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com
X-UUID: 62e3d46c3baa11f0813e4fe1310efc19-20250528
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk;
h=Content-Type:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=sWkcPM2e2CFvrTsTyG7tZ0840K//JOCba07mPmCwF68=;
b=irL0AyQVqkoQ1enut3PxP+q+cMPc8QSLv+IZuJ0uNHCsmDnA5T38loJCORNd5uqfAHex+KwzEhDhoNMinId/n+ILXywFdK1rGPRn252t6mrB8OrnClPucKq0mNnWUBICTOZS0Tiz+mGO1nG7sXWG0ye96ffB5eItZTXc57qQxMc=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:73e17d1b-4ee9-441a-a577-ed1d558c0dc2,IP:0,UR
L:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION:r
elease,TS:0
X-CID-META: VersionHash:0ef645f,CLOUDID:f1b45ff1-2ded-45ed-94e2-b3e9fa87100d,B
ulkID:nil,BulkQuantity:0,Recheck:0,SF:81|82|102,TC:nil,Content:0|50,EDM:-3
,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV
:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0
X-CID-BVR: 0,NGT
X-CID-BAS: 0,NGT,0,_
X-CID-FACTOR: TF_CID_SPAM_SNR
X-UUID: 62e3d46c3baa11f0813e4fe1310efc19-20250528
Received: from mtkmbs14n1.mediatek.inc [(172.21.101.75)] by mailgw01.mediatek.com
(envelope-from <jianhua.lin@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 675978617; Wed, 28 May 2025 17:59:03 +0800
Received: from mtkmbs11n1.mediatek.inc (172.21.101.185) by
mtkmbs13n2.mediatek.inc (172.21.101.108) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Wed, 28 May 2025 17:59:01 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs11n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Wed, 28 May 2025 17:59:00 +0800
From: Jianhua Lin <jianhua.lin@xxxxxxxxxxxx>
To: <mchehab@xxxxxxxxxx>, <robh@xxxxxxxxxx>, <krzk+dt@xxxxxxxxxx>,
<conor+dt@xxxxxxxxxx>, <matthias.bgg@xxxxxxxxx>,
<angelogioacchino.delregno@xxxxxxxxxxxxx>
CC: <devicetree@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-mediatek@xxxxxxxxxxxxxxxxxxx>,
<Project_Global_Chrome_Upstream_Group@xxxxxxxxxxxx>, Jianhua Lin
<jianhua.lin@xxxxxxxxxxxx>
Subject: [PATCH 1/2] dt-bindings: media: mediatek-jpeg-encoder: Add MT8189 compatible string
Date: Wed, 28 May 2025 17:57:47 +0800
Message-ID: <20250528095748.17485-2-jianhua.lin@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250528095748.17485-1-jianhua.lin@xxxxxxxxxxxx>
References: <20250528095748.17485-1-jianhua.lin@xxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add compatible for MT8189 jpeg encoder.
Signed-off-by: Jianhua Lin <jianhua.lin@xxxxxxxxxxxx>
---
.../devicetree/bindings/media/mediatek-jpeg-encoder.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/media/mediatek-jpeg-encoder.yaml b/Documentation/devicetree/bindings/media/mediatek-jpeg-encoder.yaml
index 5b15f8977f67..1d6589468d10 100644
--- a/Documentation/devicetree/bindings/media/mediatek-jpeg-encoder.yaml
+++ b/Documentation/devicetree/bindings/media/mediatek-jpeg-encoder.yaml
@@ -20,6 +20,7 @@ properties:
- mediatek,mt8183-jpgenc
- mediatek,mt8186-jpgenc
- mediatek,mt8188-jpgenc
+ - mediatek,mt8189-jpgenc
- const: mediatek,mtk-jpgenc
reg:
maxItems: 1
--
2.46.0
Return-Path: <linux-kernel+bounces-665256-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id ACAA541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:00:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id F23F43ACE8B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:00:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B3CBA27A46F;
Wed, 28 May 2025 09:59:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="tdk0rGzV"
Received: from mailgw02.mediatek.com (unknown [210.61.82.184])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 329E5279785;
Wed, 28 May 2025 09:59:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.61.82.184
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426362; cv=none; b=EYN05mOs7I2IVawfTgiY9kQzH9w5DedgayxDGPK8YmiLO7BTrgf9ML7uw8X02Lhyss9Vxj5dYVIl/AD026LspX/gTtiJGmByLeFLP1o3qcWokrnzoF5G4ZuktCVfdbfltPtfMmpiVVRrfr4tuZwO72/D7H9Gw09m8+0nsFj5wdU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426362; c=relaxed/simple;
bh=GFa5vZhRv5F2GMJAt1tQEFe0rx951lfdEMR+nvzQwKE=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=MmBWzS9JYdfqNz/JvEEVPvR1BF2qkXetGEBek50/wEZrRp+eujDqHWUgUq5IsOQd7Y2lCRDfIN4/gEl7RWHE6Z9MgAiNjAE1ovO3YTwJd9jvH57VMozyOhmf/wkikwducPfGSz7HKrUDEgij4jyBHfTRoNI02sz7BEW/W5pj64w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=tdk0rGzV; arc=none smtp.client-ip=210.61.82.184
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com
X-UUID: 69b53cae3baa11f082f7f7ac98dee637-20250528
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk;
h=Content-Type:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=9B6feVEkzDZb0WiiyR1UVAxjlgd9mBvDC5TxNZRpR5E=;
b=tdk0rGzViVFrqpeXDV5Z+T8o8/dznz9Xii+Q106Dxm45zTcIJfB2uMZ/Kny/BNueShj3VBElo77ZFV7toheNtJcauMIppAxXlFz495UrPRU6jWfgs+H/2AFq5VkQQRXsY+x1tQw46LvH1bSbhk5y7f9Hh7jtYs2TYx5RIz6fUc0=;
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.2.1,REQID:6a6b35f6-b682-4096-8232-e6e951ffbd6b,IP:0,UR
L:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION:r
elease,TS:0
X-CID-META: VersionHash:0ef645f,CLOUDID:4bab3459-eac4-4b21-88a4-d582445d304a,B
ulkID:nil,BulkQuantity:0,Recheck:0,SF:81|82|102,TC:nil,Content:0|50,EDM:-3
,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV
:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0
X-CID-BVR: 0,NGT
X-CID-BAS: 0,NGT,0,_
X-CID-FACTOR: TF_CID_SPAM_SNR
X-UUID: 69b53cae3baa11f082f7f7ac98dee637-20250528
Received: from mtkmbs09n1.mediatek.inc [(172.21.101.35)] by mailgw02.mediatek.com
(envelope-from <jianhua.lin@xxxxxxxxxxxx>)
(Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256)
with ESMTP id 1508653084; Wed, 28 May 2025 17:59:15 +0800
Received: from mtkmbs11n1.mediatek.inc (172.21.101.185) by
mtkmbs11n2.mediatek.inc (172.21.101.187) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1258.39; Wed, 28 May 2025 17:59:13 +0800
Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by
mtkmbs11n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id
15.2.1258.39 via Frontend Transport; Wed, 28 May 2025 17:59:12 +0800
From: Jianhua Lin <jianhua.lin@xxxxxxxxxxxx>
To: <mchehab@xxxxxxxxxx>, <robh@xxxxxxxxxx>, <krzk+dt@xxxxxxxxxx>,
<conor+dt@xxxxxxxxxx>, <matthias.bgg@xxxxxxxxx>,
<angelogioacchino.delregno@xxxxxxxxxxxxx>
CC: <devicetree@xxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-mediatek@xxxxxxxxxxxxxxxxxxx>,
<Project_Global_Chrome_Upstream_Group@xxxxxxxxxxxx>, Jianhua Lin
<jianhua.lin@xxxxxxxxxxxx>
Subject: [PATCH 2/2] dt-bindings: media: mediatek-jpeg-decoder: Add MT8189 compatible string
Date: Wed, 28 May 2025 17:57:48 +0800
Message-ID: <20250528095748.17485-3-jianhua.lin@xxxxxxxxxxxx>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20250528095748.17485-1-jianhua.lin@xxxxxxxxxxxx>
References: <20250528095748.17485-1-jianhua.lin@xxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY
autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add compatible for MT8189 jpeg decoder.
Signed-off-by: Jianhua Lin <jianhua.lin@xxxxxxxxxxxx>
---
.../devicetree/bindings/media/mediatek-jpeg-decoder.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/media/mediatek-jpeg-decoder.yaml b/Documentation/devicetree/bindings/media/mediatek-jpeg-decoder.yaml
index a4aacd3eb189..33e7a6e5a069 100644
--- a/Documentation/devicetree/bindings/media/mediatek-jpeg-decoder.yaml
+++ b/Documentation/devicetree/bindings/media/mediatek-jpeg-decoder.yaml
@@ -23,6 +23,7 @@ properties:
- enum:
- mediatek,mt7623-jpgdec
- mediatek,mt8188-jpgdec
+ - mediatek,mt8189-jpgdec
- const: mediatek,mt2701-jpgdec
reg:
--
2.46.0
Return-Path: <linux-kernel+bounces-665257-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A856241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:00:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id CC9501BC6947
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:01:06 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 01C0C279354;
Wed, 28 May 2025 10:00:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kode54.net header.i=@kode54.net header.b="UMj86KVn";
dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="nqqf7JzF"
Received: from fout-a3-smtp.messagingengine.com (fout-a3-smtp.messagingengine.com [103.168.172.146])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BD24E274FCE;
Wed, 28 May 2025 10:00:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.146
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426443; cv=none; b=scdeEb5Xp0iPssW4UopFSh8RLjaO2YjVE0xvjv6D55K0NFK9lpR1aSQYTQ+NCZOW5HMSa6E0b4nsZKs8azjW7utn24LhZCHShKqh59iwcamJ3fGZJgbq/MUYmUc7ufFG8ddG4i6DUvrfr02uXZK7MalzURtm0uBfdZLfD0VT94c=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426443; c=relaxed/simple;
bh=WQeTlHuVSBJoVN4kE4XxtFen/lxCvh0cIB1WExXu+rE=;
h=Mime-Version:Content-Type:Date:Message-Id:To:Cc:Subject:From:
References:In-Reply-To; b=hPj2m7QbYuIdKfwtnajgIa404hh5c1K+JyZm0s0bsk2+36qlWEoqp9XQ1MWvS7w0BirkF2a+os8T7dTqLvt8aMdKekfM9HDJdE0g5bdDQ6s30zu/E5Xbc4d67tBEgjH7opQ2pQhB2yhmW81HUqc6RlvN7mo2MyW5LnMfXGusC1U=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kode54.net; spf=pass smtp.mailfrom=kode54.net; dkim=pass (2048-bit key) header.d=kode54.net header.i=@kode54.net header.b=UMj86KVn; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=nqqf7JzF; arc=none smtp.client-ip=103.168.172.146
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kode54.net
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kode54.net
Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45])
by mailfout.phl.internal (Postfix) with ESMTP id D8B07138270D;
Wed, 28 May 2025 06:00:39 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
by phl-compute-05.internal (MEProxy); Wed, 28 May 2025 06:00:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kode54.net; h=cc
:cc:content-transfer-encoding:content-type:content-type:date
:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to; s=fm3; t=1748426439;
x=1748512839; bh=eV4x9DFHlcFo11zyF70Wii41wecmfGe1saKF1QyZteg=; b=
UMj86KVnVkk9x4kxSTJn398QXEufLltreS1u1o8VijElPbOqAIRxvZtD6hBnEnwI
JA7SLMM6R93+xe8hbheD/eP5I8wpNdttxSxMjebZUPC999tX3KUXHYldkMDORc8f
NC4ogrZsqFYqkizkS/4VNs2jVQMRF0cJB9gDqp2ILOnwCnYa2LGfBrdtVcI8oBVn
7jQ5vvWzh+CoYTR99GImMX1nyKYdxhLY2iymc2508FkWVC76YgisDzUK5hpiAHsa
8HWvy46ph6qcpBa6bjnXYwOEkSaYj9324St90GtHhnVQCbroj6izcZSDkzbH/dFd
saQjVMA5KgefmcxAH4soFg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-transfer-encoding
:content-type:content-type:date:date:feedback-id:feedback-id
:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to:x-me-proxy
:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1748426439; x=
1748512839; bh=eV4x9DFHlcFo11zyF70Wii41wecmfGe1saKF1QyZteg=; b=n
qqf7JzFpU5LxnKowSZ4sr1iecrmSRZn04ZpK3yQH35os2zW0JmlYz/7xy6BCklJW
Lw19+PkmeCeFgLSOnD3ogUEL/iD5djEQgnNTh4SB7zPfD9+6txGG6+ySfuHJUhqJ
MYjvPt1e0qgcKxwUZ9zASdQ7rjq/iFhe55mFgZZMn9qITs5Us/gwoWKmFaIu6M1J
stL9EmXQ0QO7zakobDRRRyEqx6W+C1KYjwVqwI5gQYDVWR+aqOFfYARu11e6Q+fZ
zp9P2W9ouxXa7PeRgBrCTjQDAHzGcf7FEHFVJPvKcxbhf/lVsbWEEBNT/fgl75ia
cKU/bylVEmOYVs8WZAhEw==
X-ME-Sender: <xms:x942aKc5FrRDD1sYuINC_LnkbU1_wJ3Z9wDZX3gP_k764qkjXaV80g>
<xme:x942aEOyLOU0EzqkXFH5ptTE-51UxugRK_4Oua2ApsfNHbzpa9mKHYWvTz85RcUEO
-Eun6ImqbVlwjqG_Uc>
X-ME-Received: <xmr:x942aLhwVCO0FnsNg3m-JxaIXucFNlXQDGvoK9o-H_o7gSAz55m-uf0PlWM-SeeNK8Y3ecqnDouyguH-zPnf8upc_CwcL2iwqQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdeljeculddtuddrgeefvddrtd
dtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggft
fghnshhusghstghrihgsvgdpuffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftd
dtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpegggfgtfffkvfev
uffhofhfjgesthhqredtredtjeenucfhrhhomhepfdevhhhrihhsthhophhhvghrucfunh
hofihhihhllhdfuceotghhrhhisheskhhouggvheegrdhnvghtqeenucggtffrrghtthgv
rhhnpeeijeelkefhudekueekvdejtdeuueelteegvdeuveettdekjeekiedugeegteevud
enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegthhhr
ihhssehkohguvgehgedrnhgvthdpnhgspghrtghpthhtohepjedpmhhouggvpehsmhhtph
houhhtpdhrtghpthhtohepmhgrlhhtvgdrshgthhhrohgvuggvrhesthhngihiphdruggv
pdhrtghpthhtohepjhhohhhnsehsthhofhhfvghlrdhorhhgpdhrtghpthhtohepkhgvnh
htrdhovhgvrhhsthhrvggvtheslhhinhhugidruggvvhdprhgtphhtthhopehtohhrvhgr
lhgusheslhhinhhugidqfhhouhhnuggrthhiohhnrdhorhhgpdhrtghpthhtoheplhhinh
hugidqsggtrggthhgvfhhssehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtohep
lhhinhhugidqfhhsuggvvhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtth
hopehlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrgh
X-ME-Proxy: <xmx:x942aH-6vKaUwCdpcQxktyla0Yut1_YwlSPY1nY9TTYTSnglESol7Q>
<xmx:x942aGtGQdk0348b9oihzzecNN8iIpcUb6cYqLgsUkrmdcubR7LdbA>
<xmx:x942aOG5mVvIcxicGbUuUPhZgKq39eYphjwoTCNYIu0cjKfiq1NBew>
<xmx:x942aFPcfQkWGI6VtKFgq13sbwz89_YzFpek22la9-zjI7t32ajY-Q>
<xmx:x942aPW5c4arKAfoY7TncaYrgRdrdS0iSqwaGsQfplAvs7EisPI-lZFx>
Feedback-ID: i9ec6488d:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
28 May 2025 06:00:38 -0400 (EDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 28 May 2025 03:00:38 -0700
Message-Id: <DA7PG162QJME.2FUT6C3GBGDB3@xxxxxxxxxx>
To: =?utf-8?q?Malte_Schr=C3=B6der?= <malte.schroeder@xxxxxxxx>, "John
Stoffel" <john@xxxxxxxxxxx>, "Kent Overstreet" <kent.overstreet@xxxxxxxxx>
Cc: "Linus Torvalds" <torvalds@xxxxxxxxxxxxxxxxxxxx>,
<linux-bcachefs@xxxxxxxxxxxxxxx>, <linux-fsdevel@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>
Subject: Re: [GIT PULL] bcachefs changes for 6.16
From: "Christopher Snowhill" <chris@xxxxxxxxxx>
X-Mailer: aerc 0.20.1-0-g2ecb8770224a
References: <oxkibsokaa3jw2flrbbzb5brx5ere724f3b2nyr2t5nsqfjw4u@23q3ardus43h> <dmfrgqor3rfvjfmx7bp4m7h7wis4dt5m3kc2d3ilgkg4fb4vem@wytvcdifbcav> <26678.2527.611113.400746@xxxxxxxxxxxxxxxxx> <DA7O5Z6M9D5H.2OX4U4K5YQ7C9@xxxxxxxxxx> <c2001c69-e735-4976-ac8b-6269c825cb92@xxxxxxxx>
In-Reply-To: <c2001c69-e735-4976-ac8b-6269c825cb92@xxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed May 28, 2025 at 2:33 AM PDT, Malte Schr=C3=B6der wrote:
> On 28/05/2025 11:00, Christopher Snowhill wrote:
>> On Tue May 27, 2025 at 11:52 AM PDT, John Stoffel wrote:
>>>>>>>> "Kent" =3D=3D Kent Overstreet <kent.overstreet@xxxxxxxxx> writes:
>>>> There was a feature request I forgot to mention - New option,
>>>> 'rebalance_on_ac_only'. Does exactly what the name suggests, quite
>>>> handy with background compression.
>>> LOL, only if you know what the _ac_ part stands for. :-)
>> Would you have suggested perhaps _mains_ ? That may have rang better
>> with some folks. I suppose, at least.
>>
> What about 'no_rebalance_on_battery'?=C2=A0
Oh, awesome suggestion. A little inversion of language, so battery is
front and center, and we avoid having to think of a billion different
terms for line power. What say anyone else?
>
> /Malte
Return-Path: <linux-kernel+bounces-665258-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3D3B041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:01:06 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 68D7A3B0349
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:00:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A690A274FCE;
Wed, 28 May 2025 10:00:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="cdILFMRo"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 48A182798FD;
Wed, 28 May 2025 10:00:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.14
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426450; cv=none; b=dahxTCX/QJJ3pcvlzXEFALfcq6xBquk1q7LxCiZ4NnvXmRtrm88YxRn5fl7LY6gW351QhLS+EWnB/qVnAgXfgQmPkgYHKhBNJ8g72CYSLSfSasvtkdkOMOzb8f4aFcKxhvu4MAYD95Ex9kUOLamT0FcD/XGQOSdFYLw4Xs8063Y=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426450; c=relaxed/simple;
bh=Zhox0hjZ9k9Tt2WB921pjM7KHIySapcRetCIkbZvAm0=;
h=From:Date:To:cc:Subject:In-Reply-To:Message-ID:References:
MIME-Version:Content-Type; b=WkxRN43BXigGJkWr6cLFweqYJeXJUNP5l92vRM9pvUJcKi32rMhC3OxdNujJsDsnrf2GoQhIyZOBSW9iluV6VfGYdt/f+0YmuD7I2+ifQhmxuMqxVi+7YqGvOJhxdRv7gQ2AV6bdSTUmYpKAjU5nXifEA/rGx0wie6u1hjvMqGY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=cdILFMRo; arc=none smtp.client-ip=192.198.163.14
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748426448; x=1779962448;
h=from:date:to:cc:subject:in-reply-to:message-id:
references:mime-version;
bh=Zhox0hjZ9k9Tt2WB921pjM7KHIySapcRetCIkbZvAm0=;
b=cdILFMRoRwHC5vkOg9MFMgqAQ6XJncbvcurNOGnkjsk5oRe4Y2k1E7di
30RkqndfCBLeEm8NRQR851dfWim+tR3nneLCXGxDESXvozG7Xl+XrTQRB
CEz/5l90F7/J7aDTZWrPpTiSH01xZND8erRQy6UtzzRrUJfsYm3dkRw0U
5q29gkRzCY4EuPgzmoxXbTWhVZBj4fZoc62DxjN2FEWGxCjbmLH3H6Bu2
gd51b+23QeoGuxPdjDsMAamRvoXlsagXK/TJQ5tBobJmd2awvV6sZnyrp
cp97JohdkzciOSBeXEIkZ5qpYCPShOt/HYDtSabVoEDJF0GBwoX2tZ89I
w==;
X-CSE-ConnectionGUID: t7uIP5u1QjeXwn2n4s7ppw==
X-CSE-MsgGUID: FodMmgNPRiGYrm34C/N2TQ==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="50550866"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="50550866"
Received: from fmviesa002.fm.intel.com ([10.60.135.142])
by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:00:47 -0700
X-CSE-ConnectionGUID: H40m0oA3Tme67hHo37j6Hw==
X-CSE-MsgGUID: kCQj+gMSSgORFrdMdims+g==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="166372921"
Received: from ijarvine-mobl1.ger.corp.intel.com (HELO localhost) ([10.245.245.151])
by fmviesa002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:00:38 -0700
From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 13:00:34 +0300 (EEST)
To: Lukas Wunner <lukas@xxxxxxxxx>
cc: Bjorn Helgaas <helgaas@xxxxxxxxxx>, linux-pci@xxxxxxxxxxxxxxx,
Jon Pan-Doh <pandoh@xxxxxxxxxx>,
Karolina Stolarek <karolina.stolarek@xxxxxxxxxx>,
Weinan Liu <wnliu@xxxxxxxxxx>,
Martin Petersen <martin.petersen@xxxxxxxxxx>,
Ben Fuller <ben.fuller@xxxxxxxxxx>, Drew Walton <drewwalton@xxxxxxxxxxxxx>,
Anil Agrawal <anilagrawal@xxxxxxxx>, Tony Luck <tony.luck@xxxxxxxxx>,
Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>,
Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>,
Sargun Dhillon <sargun@xxxxxxxx>, "Paul E . McKenney" <paulmck@xxxxxxxxxx>,
Mahesh J Salgaonkar <mahesh@xxxxxxxxxxxxx>,
Oliver O'Halloran <oohall@xxxxxxxxx>, Kai-Heng Feng <kaihengf@xxxxxxxxxx>,
Keith Busch <kbusch@xxxxxxxxxx>, Robert Richter <rrichter@xxxxxxx>,
Terry Bowman <terry.bowman@xxxxxxx>, Shiju Jose <shiju.jose@xxxxxxxxxx>,
Dave Jiang <dave.jiang@xxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>,
linuxppc-dev@xxxxxxxxxxxxxxxx, Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Subject: Re: [PATCH v8 13/20] PCI/ERR: Add printk level to
pcie_print_tlp_log()
In-Reply-To: <aDave5XyXZoKWole@xxxxxxxxx>
Message-ID: <1565a7a9-bcf0-e8e4-0f75-de8859b47a8f@xxxxxxxxxxxxxxx>
References: <20250522232339.1525671-1-helgaas@xxxxxxxxxx> <20250522232339.1525671-14-helgaas@xxxxxxxxxx> <aDave5XyXZoKWole@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, 28 May 2025, Lukas Wunner wrote:
> On Thu, May 22, 2025 at 06:21:19PM -0500, Bjorn Helgaas wrote:
> > @@ -130,6 +132,6 @@ void pcie_print_tlp_log(const struct pci_dev *dev,
> > }
> > }
> >
> > - pci_err(dev, "%sTLP Header%s: %s\n", pfx,
> > + dev_printk(level, &dev->dev, "%sTLP Header%s: %s\n", pfx,
> > log->flit ? " (Flit)" : "", buf);
> > }
>
> Nit: pci_printk() ?
>
> The definition in include/linux/pci.h was retained by fab874e12593.
If pci_printk() is taken into use once again, there's 56d305b24d64 ("PCI:
Remove pci_printk()") queued already in pci/misc which should be dropped
in that case.
--
i.
Return-Path: <linux-kernel+bounces-665259-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 15C8041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:02:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 6AEB07B246B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:01:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 80B91278741;
Wed, 28 May 2025 10:02:33 +0000 (UTC)
Received: from mail-io1-f78.google.com (mail-io1-f78.google.com [209.85.166.78])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 13400202998
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:02:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.78
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426552; cv=none; b=hVdIG5gmpsFoQrNO1AiYLTD4d8kkZDizLM+f1npyi1TKEcrvSAZPERP40ETCs+4Bjy/aB59plRXZgeP6khtKB9EP1/6+ZHclVVPufxhKhOlskhjzx6IPHZZz0ZXljLecFcoptvMF+5JTI9P11SXL+CWliv/GmVgFWVKJyOw2BtA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426552; c=relaxed/simple;
bh=mkt9D7OwyebtFa4S+F0xYYNVSG6fz9Cyvyq9s35k2B8=;
h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=WhOJoL+nLjYWWqLLsBaS3bURS1GxbBqQbCjZStmGAJ2H7a/WBR7hDNWsHADQw8bCmcFcfik+BceMjo2h5dPfbEyyNJD4O6x/J50xa/U9kViRbuyysMO6Kqhowdoqjv7QU0GRXqixSHwDST3ZWyudBA46RY1LxplNg5ebjNgMJJk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.78
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-io1-f78.google.com with SMTP id ca18e2360f4ac-85b3a6c37e2so403109039f.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:02:30 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748426550; x=1749031350;
h=to:from:subject:message-id:date:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=moqIRBVigjhPUIqMmS2sg/So0AXKtSpC6g4RpSBMwwQ=;
b=mNdqo+KRFQvC7tAtWqk/Gv7i8czXaiLc3v6nu9k6Ur1Flsdw+wjSJZmH84UHvnza9B
h0pVwseW6bQ2rtpO80Gv/AppmoeVQqZubgKUC3Ze6IeYjqVCgCOflMe5yH34a4qJoDRc
DHdTf1ac029hjYlBP4YWWgBxSxL1Kzvy5Rfyag0U9Y/DJsY9pqKutOExeT/y48fYhML4
uYLeCY32TsfKK17/JD2jfNzTLxT+rasgT3bJG3tzZFVdkiKsmADwidQL8/IJtuN/KXF8
FKDKt8QzLxhP/zLJTBZJiCPJUVFkdYRqn0eCFBTyUL4OELOula4UqdYyKB6HUFYCS8a/
vCQQ==
X-Forwarded-Encrypted: i=1; AJvYcCU5Wv5AqoscQjX/bR3OGazHBVct+yQpUXMF4mveXc1po6L1kFiO921PtAdJdQQz5itXnLenZMgHNW17F3c=@vger.kernel.org
X-Gm-Message-State: AOJu0YzcuYECli8V0HGf4nBJaAQTqbeY00C6lQO4Ed/QptS4hllTw1ue
t5m5Xy9t9nBvIAkT7CCrG7di7+M3Bd7TAIEICFc6rJh5Go0lPav7f5rmrLfPNwb8lVCvK3WjQDM
U2/5c0AC7QZt68MFzYa8M4L5Ly868Lz1E7aADoPXvqKRgbh5Aqpo9Xh2w0Hg=
X-Google-Smtp-Source: AGHT+IGx2gOtTa1Qo7q+C4Ls1d6wREFiqZ6VhaHbJPwPRbJpViovQcjFkxzkhOeWcT7m1U/5bl1JSNhu64vTSkx4Mpsh3XsEhv12
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6602:4191:b0:867:6c90:4867 with SMTP id
ca18e2360f4ac-86cbb91658cmr2089776539f.14.1748426550177; Wed, 28 May 2025
03:02:30 -0700 (PDT)
Date: Wed, 28 May 2025 03:02:30 -0700
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6836df36.a70a0220.253bc2.00c6.GAE@xxxxxxxxxx>
Subject: [syzbot] [batman?] KASAN: slab-use-after-free Write in batadv_forw_packet_steal
From: syzbot <syzbot+cf67d03e10798cc088c4@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: antonio@xxxxxxxxxxxxx, b.a.t.m.a.n@xxxxxxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, edumazet@xxxxxxxxxx, horms@xxxxxxxxxx, kuba@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, marek.lindner@xxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, pabeni@xxxxxxxxxx, sven@xxxxxxxxxxxxx,
sw@xxxxxxxxxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-0.5 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SORTED_RECIPS,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no
version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello,
syzbot found the following issue on:
HEAD commit: ebd297a2affa Merge tag 'net-6.15-rc5' of git://git.kernel...
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=132e89b3980000
kernel config: https://syzkaller.appspot.com/x/.config?x=a9a25b7a36123454
dashboard link: https://syzkaller.appspot.com/bug?extid=cf67d03e10798cc088c4
compiler: Debian clang version 20.1.2 (++20250402124445+58df0ef89dd6-1~exp1~20250402004600.97), Debian LLD 20.1.2
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/f0ac4d2393a8/disk-ebd297a2.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/377911478299/vmlinux-ebd297a2.xz
kernel image: https://storage.googleapis.com/syzbot-assets/b3b681ee6d30/bzImage-ebd297a2.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+cf67d03e10798cc088c4@xxxxxxxxxxxxxxxxxxxxxxxxx
==================================================================
BUG: KASAN: slab-use-after-free in __hlist_del include/linux/list.h:980 [inline]
BUG: KASAN: slab-use-after-free in hlist_del_init include/linux/list.h:1008 [inline]
BUG: KASAN: slab-use-after-free in batadv_forw_packet_steal+0xc9/0x170 net/batman-adv/send.c:583
Write of size 8 at addr ffff88807d60e800 by task kworker/u8:14/6252
CPU: 1 UID: 0 PID: 6252 Comm: kworker/u8:14 Not tainted 6.15.0-rc4-syzkaller-00147-gebd297a2affa #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
Workqueue: bat_events batadv_iv_send_outstanding_bat_ogm_packet
Call Trace:
<TASK>
dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
print_address_description mm/kasan/report.c:408 [inline]
print_report+0xb4/0x290 mm/kasan/report.c:521
kasan_report+0x118/0x150 mm/kasan/report.c:634
__hlist_del include/linux/list.h:980 [inline]
hlist_del_init include/linux/list.h:1008 [inline]
batadv_forw_packet_steal+0xc9/0x170 net/batman-adv/send.c:583
batadv_iv_send_outstanding_bat_ogm_packet+0x6db/0x7e0 net/batman-adv/bat_iv_ogm.c:1724
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0xade/0x17a0 kernel/workqueue.c:3319
worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400
kthread+0x711/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4e/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
Allocated by task 52:
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:68
poison_kmalloc_redzone mm/kasan/common.c:377 [inline]
__kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:394
kasan_kmalloc include/linux/kasan.h:260 [inline]
__kmalloc_cache_noprof+0x230/0x3d0 mm/slub.c:4372
kmalloc_noprof include/linux/slab.h:905 [inline]
batadv_forw_packet_alloc+0x1e9/0x390 net/batman-adv/send.c:519
batadv_iv_ogm_aggregate_new net/batman-adv/bat_iv_ogm.c:571 [inline]
batadv_iv_ogm_queue_add+0x85f/0xd30 net/batman-adv/bat_iv_ogm.c:678
batadv_iv_ogm_schedule_buff net/batman-adv/bat_iv_ogm.c:841 [inline]
batadv_iv_ogm_schedule+0x81c/0xea0 net/batman-adv/bat_iv_ogm.c:876
batadv_iv_send_outstanding_bat_ogm_packet+0x6c6/0x7e0 net/batman-adv/bat_iv_ogm.c:1720
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0xade/0x17a0 kernel/workqueue.c:3319
worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400
kthread+0x711/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4e/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
Freed by task 6252:
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:68
kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:576
poison_slab_object mm/kasan/common.c:247 [inline]
__kasan_slab_free+0x62/0x70 mm/kasan/common.c:264
kasan_slab_free include/linux/kasan.h:233 [inline]
slab_free_hook mm/slub.c:2398 [inline]
slab_free mm/slub.c:4656 [inline]
kfree+0x193/0x440 mm/slub.c:4855
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0xade/0x17a0 kernel/workqueue.c:3319
worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400
kthread+0x711/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4e/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
Last potentially related work creation:
kasan_save_stack+0x3e/0x60 mm/kasan/common.c:47
kasan_record_aux_stack+0xbc/0xd0 mm/kasan/generic.c:548
insert_work+0x3d/0x330 kernel/workqueue.c:2183
__queue_work+0xbd9/0xfe0 kernel/workqueue.c:2345
call_timer_fn+0x17e/0x5f0 kernel/time/timer.c:1789
expire_timers kernel/time/timer.c:1835 [inline]
__run_timers kernel/time/timer.c:2414 [inline]
__run_timer_base+0x646/0x860 kernel/time/timer.c:2426
run_timer_base kernel/time/timer.c:2435 [inline]
run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2445
handle_softirqs+0x286/0x870 kernel/softirq.c:579
run_ksoftirqd+0x9b/0x100 kernel/softirq.c:968
smpboot_thread_fn+0x542/0xa60 kernel/smpboot.c:164
kthread+0x711/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4e/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
The buggy address belongs to the object at ffff88807d60e800
which belongs to the cache kmalloc-512 of size 512
The buggy address is located 0 bytes inside of
freed 512-byte region [ffff88807d60e800, ffff88807d60ea00)
The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7d60c
head: order:2 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
anon flags: 0xfff00000000040(head|node=0|zone=1|lastcpupid=0x7ff)
page_type: f5(slab)
raw: 00fff00000000040 ffff88801a041c80 0000000000000000 dead000000000001
raw: 0000000000000000 0000000000100010 00000000f5000000 0000000000000000
head: 00fff00000000040 ffff88801a041c80 0000000000000000 dead000000000001
head: 0000000000000000 0000000000100010 00000000f5000000 0000000000000000
head: 00fff00000000002 ffffea0001f58301 00000000ffffffff 00000000ffffffff
head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000004
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 2, migratetype Unmovable, gfp_mask 0xd20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 5197, tgid 5197 (udevd), ts 90749117127, free_ts 90540158601
set_page_owner include/linux/page_owner.h:32 [inline]
post_alloc_hook+0x1d8/0x230 mm/page_alloc.c:1718
prep_new_page mm/page_alloc.c:1726 [inline]
get_page_from_freelist+0x21ce/0x22b0 mm/page_alloc.c:3688
__alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:4970
alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2301
alloc_slab_page mm/slub.c:2468 [inline]
allocate_slab+0x8a/0x3b0 mm/slub.c:2632
new_slab mm/slub.c:2686 [inline]
___slab_alloc+0xbfc/0x1480 mm/slub.c:3872
__slab_alloc mm/slub.c:3962 [inline]
__slab_alloc_node mm/slub.c:4037 [inline]
slab_alloc_node mm/slub.c:4198 [inline]
__kmalloc_cache_noprof+0x296/0x3d0 mm/slub.c:4367
kmalloc_noprof include/linux/slab.h:905 [inline]
kzalloc_noprof include/linux/slab.h:1039 [inline]
kernfs_fop_open+0x397/0xca0 fs/kernfs/file.c:623
do_dentry_open+0xdf3/0x1970 fs/open.c:956
vfs_open+0x3b/0x340 fs/open.c:1086
do_open fs/namei.c:3880 [inline]
path_openat+0x2ee5/0x3830 fs/namei.c:4039
do_filp_open+0x1fa/0x410 fs/namei.c:4066
do_sys_openat2+0x121/0x1c0 fs/open.c:1429
do_sys_open fs/open.c:1444 [inline]
__do_sys_openat fs/open.c:1460 [inline]
__se_sys_openat fs/open.c:1455 [inline]
__x64_sys_openat+0x138/0x170 fs/open.c:1455
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf6/0x210 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
page last free pid 15 tgid 15 stack trace:
reset_page_owner include/linux/page_owner.h:25 [inline]
free_pages_prepare mm/page_alloc.c:1262 [inline]
__free_frozen_pages+0xb0e/0xcd0 mm/page_alloc.c:2725
rcu_do_batch kernel/rcu/tree.c:2568 [inline]
rcu_core+0xca8/0x1710 kernel/rcu/tree.c:2824
handle_softirqs+0x286/0x870 kernel/softirq.c:579
run_ksoftirqd+0x9b/0x100 kernel/softirq.c:968
smpboot_thread_fn+0x542/0xa60 kernel/smpboot.c:164
kthread+0x711/0x8a0 kernel/kthread.c:464
ret_from_fork+0x4e/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
Memory state around the buggy address:
ffff88807d60e700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff88807d60e780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff88807d60e800: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff88807d60e880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff88807d60e900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
Return-Path: <linux-kernel+bounces-665260-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C514C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:03:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id EDD3316895A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:03:34 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6E7D1278E5D;
Wed, 28 May 2025 10:03:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="4rmJsxYh"
Received: from mail-lj1-f201.google.com (mail-lj1-f201.google.com [209.85.208.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C75B92750E8
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:03:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426604; cv=none; b=LnCnhRyW2s6hUz5KBP07kp9q+IPE2aSBEvE6EjZbVHJa/INKVt4JQqLOFCuLkIPM949GPwOBS/Apy7o7dNeOR/6ZGl3b5RdGbrTw0rID8V8cTbelVdcJ7dRppwspeM82hmhdqxUAzU4rQh5ZqZk2AeGKSNBDZQ0RjPgT/Y3DhR4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426604; c=relaxed/simple;
bh=+GUMx5EH0FP3Oa5MBwWMhXUxhpvPBze1VwK216GenuQ=;
h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=noiqKDZ5IBiTxKIOw4G7Upv7x8R3TOtKmBoejfwFMdR6zmJ+m6Ng+LTi0eVHxkwQun4jyspAFazzMVMYX8nuGc6llZ9DVWCd1CXL5KUh0e0ZPNEXYhL6t8QiJbjhUFHasn+/xmfZnF/O2pc+3FmDLa+mUOOol04Y/WxNuK6zuZI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--khtsai.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=4rmJsxYh; arc=none smtp.client-ip=209.85.208.201
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--khtsai.bounces.google.com
Received: by mail-lj1-f201.google.com with SMTP id 38308e7fff4ca-32a71048a07so6706011fa.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:03:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748426601; x=1749031401; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject
:date:message-id:reply-to;
bh=O+jQScou4QoSDFiztXLbagVwGDmym8ydVy8Mf+yatAw=;
b=4rmJsxYhDZ8Fl0tkWNJIe5l5nxu3PqdgBCgSZWgSErjJ4aI9BwpZODqUwL5dLkPVZN
RRnUB0m9VAYSwajS2BbcBhzGHJi01CM+U6kf8JaC3r2le4hNP17A+rQvS4YKZ6Cj7am6
gHuA8YDimwxZfN5844748p49jeFHw0WlZ8wbpVDtRCdG+Yy0ZctKybv6aecyroXhhp4J
+swri9fSmVAjBMZcOroctx7VcTSMC1hojvE4r5rAIlIgye7cBJ9B4+7u2Ezi7soBce+5
YtVi17I4Z0Bj1/+dl7j/OFXS5qUW0gGmRQxU1MBjo1lBO6ASfS+PszrWEoGVFfAHowjn
WfyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748426601; x=1749031401;
h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=O+jQScou4QoSDFiztXLbagVwGDmym8ydVy8Mf+yatAw=;
b=QZBnvEnor73mPjl4xBuNnL6AMTJn2GSQ4EgaftVutTnJVsVY4I3A/MR/gVE1LS4QXd
RiPJoxRRqN+fxHOuDGErUUY5Su9gfo9bnUIVt81WZLXn0ZmxwkQs51O/xLscpGpx1mcj
CyYQBd0RkaiZb8b+MXQX0wupuBw3/lXZg8y5tz+vj6MN0yUi7VUqovP7E0xOF8c+Bh2C
6tWqFkKhMN0873b5t3w6uDjrw9aLdZdLulDbupuuYgijQ5VEBVkQjPGJP7XeuUsaTNOz
gsCQZL3onCxy64Bp8u5OM/3wNKNZtErVBwOf+XKc3RUDTbezVF/Tvr+SiP4OfyRPd/FG
NCGA==
X-Forwarded-Encrypted: i=1; AJvYcCUtfwTIw+DemqJgx/OIJM3AHv6uhvOWl93xrE0C+vBtp2pAaMqxfMeFIEJeHSuN1Ta3CdQvD6GoJZdbDhg=@vger.kernel.org
X-Gm-Message-State: AOJu0Yz4SapqXIbaH0iaHEt8VlJXnlx8Y2I2KdgQ46CtWgLkKg3BYjQY
oqAw8Ve9nXT1um/eVXNPPs+3CLu8GMuq5+63eZ+Cpp1EoOIHqlBV9AoPnKLjNxmNcGDL60RNTcm
QYXj0Ag==
X-Google-Smtp-Source: AGHT+IHq5/nELfCM5MZE1DSjOc09AXh+XweMFraNemMFKFZy2W1gmuaXI1LIh+dh9Dhld1zHCS4D2SQH5u0=
X-Received: from ljpn10.prod.google.com ([2002:a2e:a5ca:0:b0:326:ca2b:4494])
(user=khtsai job=prod-delivery.src-stubby-dispatcher) by 2002:a2e:be04:0:b0:32a:78f7:9bef
with SMTP id 38308e7fff4ca-32a78f79d23mr5981261fa.8.1748426600775; Wed, 28
May 2025 03:03:20 -0700 (PDT)
Date: Wed, 28 May 2025 18:03:11 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
X-Mailer: git-send-email 2.49.0.1164.gab81da1b16-goog
Message-ID: <20250528100315.2162699-1-khtsai@xxxxxxxxxx>
Subject: [PATCH v5] usb: dwc3: Abort suspend on soft disconnect failure
From: Kuen-Han Tsai <khtsai@xxxxxxxxxx>
To: Thinh.Nguyen@xxxxxxxxxxxx, gregkh@xxxxxxxxxxxxxxxxxxx
Cc: linux-usb@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Kuen-Han Tsai <khtsai@xxxxxxxxxx>, stable@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
When dwc3_gadget_soft_disconnect() fails, dwc3_suspend_common() keeps
going with the suspend, resulting in a period where the power domain is
off, but the gadget driver remains connected. Within this time frame,
invoking vbus_event_work() will cause an error as it attempts to access
DWC3 registers for endpoint disabling after the power domain has been
completely shut down.
Abort the suspend sequence when dwc3_gadget_suspend() cannot halt the
controller and proceeds with a soft connect.
Fixes: 9f8a67b65a49 ("usb: dwc3: gadget: fix gadget suspend/resume")
CC: stable@xxxxxxxxxxxxxxx
Acked-by: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
Signed-off-by: Kuen-Han Tsai <khtsai@xxxxxxxxxx>
---
Kernel panic - not syncing: Asynchronous SError Interrupt
Workqueue: events vbus_event_work
Call trace:
dump_backtrace+0xf4/0x118
show_stack+0x18/0x24
dump_stack_lvl+0x60/0x7c
dump_stack+0x18/0x3c
panic+0x16c/0x390
nmi_panic+0xa4/0xa8
arm64_serror_panic+0x6c/0x94
do_serror+0xc4/0xd0
el1h_64_error_handler+0x34/0x48
el1h_64_error+0x68/0x6c
readl+0x4c/0x8c
__dwc3_gadget_ep_disable+0x48/0x230
dwc3_gadget_ep_disable+0x50/0xc0
usb_ep_disable+0x44/0xe4
ffs_func_eps_disable+0x64/0xc8
ffs_func_set_alt+0x74/0x368
ffs_func_disable+0x18/0x28
composite_disconnect+0x90/0xec
configfs_composite_disconnect+0x64/0x88
usb_gadget_disconnect_locked+0xc0/0x168
vbus_event_work+0x3c/0x58
process_one_work+0x1e4/0x43c
worker_thread+0x25c/0x430
kthread+0x104/0x1d4
ret_from_fork+0x10/0x20
---
Changelog:
v5:
- add the Acked-by tag
v4:
- correct the mistake where semicolon was forgotten
- return -EAGAIN upon dwc3_gadget_suspend() failure
v3:
- change the Fixes tag
v2:
- move declarations in separate lines
- add the Fixes tag
---
drivers/usb/dwc3/core.c | 9 +++++++--
drivers/usb/dwc3/gadget.c | 22 +++++++++-------------
2 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 66a08b527165..f36bc933c55b 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -2388,6 +2388,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
{
u32 reg;
int i;
+ int ret;
if (!pm_runtime_suspended(dwc->dev) && !PMSG_IS_AUTO(msg)) {
dwc->susphy_state = (dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)) &
@@ -2406,7 +2407,9 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
case DWC3_GCTL_PRTCAP_DEVICE:
if (pm_runtime_suspended(dwc->dev))
break;
- dwc3_gadget_suspend(dwc);
+ ret = dwc3_gadget_suspend(dwc);
+ if (ret)
+ return ret;
synchronize_irq(dwc->irq_gadget);
dwc3_core_exit(dwc);
break;
@@ -2441,7 +2444,9 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
break;
if (dwc->current_otg_role == DWC3_OTG_ROLE_DEVICE) {
- dwc3_gadget_suspend(dwc);
+ ret = dwc3_gadget_suspend(dwc);
+ if (ret)
+ return ret;
synchronize_irq(dwc->irq_gadget);
}
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 321361288935..b6b63b530148 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -4821,26 +4821,22 @@ int dwc3_gadget_suspend(struct dwc3 *dwc)
int ret;
ret = dwc3_gadget_soft_disconnect(dwc);
- if (ret)
- goto err;
-
- spin_lock_irqsave(&dwc->lock, flags);
- if (dwc->gadget_driver)
- dwc3_disconnect_gadget(dwc);
- spin_unlock_irqrestore(&dwc->lock, flags);
-
- return 0;
-
-err:
/*
* Attempt to reset the controller's state. Likely no
* communication can be established until the host
* performs a port reset.
*/
- if (dwc->softconnect)
+ if (ret && dwc->softconnect) {
dwc3_gadget_soft_connect(dwc);
+ return -EAGAIN;
+ }
- return ret;
+ spin_lock_irqsave(&dwc->lock, flags);
+ if (dwc->gadget_driver)
+ dwc3_disconnect_gadget(dwc);
+ spin_unlock_irqrestore(&dwc->lock, flags);
+
+ return 0;
}
int dwc3_gadget_resume(struct dwc3 *dwc)
--
2.49.0.1164.gab81da1b16-goog
Return-Path: <linux-kernel+bounces-665261-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CCE2D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:04:16 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 934A61BA2FBF
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:04:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AC9A627933C;
Wed, 28 May 2025 10:04:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b="ly37Zask";
dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="hNnqbfIw"
Received: from fhigh-b8-smtp.messagingengine.com (fhigh-b8-smtp.messagingengine.com [202.12.124.159])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9054018DB03
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:04:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.12.124.159
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426648; cv=none; b=qKfaufhTxAttehzhu4jktXy9NGUBpP7uZiyXny1libaH/yHK0DKL1EWVDgcLoznPL9weYL3HYO85olm2u/f34xyXg3kXV/9wKJ4mLvpnjqKc6Q1YqV9IKu1Sx+x8CtxO1usFRFx6vl4x8i1vCgH+9koVfFgieg4zOjVLroZLP30=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426648; c=relaxed/simple;
bh=cxMhNSA7YFBb8MzIwBHUr29JpB+FgIinMUdGqLaC5zA=;
h=MIME-Version:Date:From:To:Cc:Message-Id:In-Reply-To:References:
Subject:Content-Type; b=CAQ9GGDczmHTiNKBhHO8yOIdX80m/siyxvtdVc6xLtkSp2FYxM64SNltqIqKwRi2an0nuBaAXourzASfCiWcRgOQoXvucEPNsiHo8b7zU6WuCY+Jkt8rrr2/5DxWj4P2P3ibOxjNoK+g5GD0RhrQFQp+yqAOY1zUDUjeGozEpsM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de; spf=pass smtp.mailfrom=arndb.de; dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b=ly37Zask; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=hNnqbfIw; arc=none smtp.client-ip=202.12.124.159
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arndb.de
Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45])
by mailfhigh.stl.internal (Postfix) with ESMTP id 185FD2540182;
Wed, 28 May 2025 06:04:04 -0400 (EDT)
Received: from phl-imap-02 ([10.202.2.81])
by phl-compute-05.internal (MEProxy); Wed, 28 May 2025 06:04:04 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc
:cc:content-transfer-encoding:content-type:content-type:date
:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to; s=fm3; t=1748426643;
x=1748513043; bh=DdqNUWHK+3KtA5rMoqugrHpTxGmQgyC2mzb11PVWk48=; b=
ly37ZaskxbhqjBjflAx0xO4yF6euWNRBLSukyUOY7Y4mPVvhAGcB9NTvbMXjF1uZ
R6lbabU0OjFT5nDwH915JAaHfIsikwAr/fK+q4mijc2XeyEJvbaWJD/u/JbcJc2q
OcdwfmyhWsC/IvZCh+D/WLhmckZofeowLa3+gqGovleroYLHr/pGdChZY0S9Kpcv
/SxgD1wwPXmUH8O4w1lmx0orEysYlRqfdqBYnJoCLe7sH7dz9YQ0TZO5aR1B0W57
yb2rPe3GUqYCMsdP6oDlnmq3ewsvmBlehvVcx57tzPZ8/IqKnUBlBd5nfgLxsMpo
2NjPFak4M5szt3XSmzPtgg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-transfer-encoding
:content-type:content-type:date:date:feedback-id:feedback-id
:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to:x-me-proxy
:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1748426643; x=
1748513043; bh=DdqNUWHK+3KtA5rMoqugrHpTxGmQgyC2mzb11PVWk48=; b=h
NnqbfIwVoEIQ5xyWWROA+8wrBUitc3WIvjX/SCnlbt/rkFyWZVclaWXQgNbL7eDl
hnYNCl9B9/VXGoutViD+QQPulLkNqA96qgUJxWAlOng0lnf7i9vnzGhpUeJ9JEvB
9JnxreLAWvGMmB7ZN9kmxZoa0/NTezcND8TrhbmR15LDCMWCpZ90rvpnv/Ez0LqH
lTSaidZsMPZxj7+c4p6hYtaaOy8EJa85wW1Gr8wScfGcs10Oay4eyndLm12Qh2xQ
Bz918zQLzi6CdI6/GuycN3KzsznKBVa1DnjUlf2iPaaWGN0M1m7LewRse1UZ6xMQ
5lGJKESwtiXNoM9zsjh6g==
X-ME-Sender: <xms:k982aKHYGhoMP0jnCGCWDL_hSQnO3HqkRdHo_8vkuGVZZ1TfMPdx2w>
<xme:k982aLX-cNZHka7KnbWDxsfh1BBilWPSq5K3kw0HQHrV4ALq-N0I1dGx5ZY7Vu4qa
u4KjmMru_vZYiXYv4Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvvdeljeculddtuddrgeefvddrtd
dtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggft
fghnshhusghstghrihgsvgdpuffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftd
dtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefoggffhffvvefk
jghfufgtgfesthejredtredttdenucfhrhhomhepfdetrhhnugcuuegvrhhgmhgrnhhnfd
cuoegrrhhnugesrghrnhgusgdruggvqeenucggtffrrghtthgvrhhnpefhtdfhvddtfeeh
udekteeggffghfejgeegteefgffgvedugeduveelvdekhfdvieenucevlhhushhtvghruf
hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrrhhnugesrghrnhgusgdruggv
pdhnsggprhgtphhtthhopeduhedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepsh
himhhonhgrsehffhiflhhlrdgthhdprhgtphhtthhopegrihhrlhhivggusehgmhgrihhl
rdgtohhmpdhrtghpthhtohephhhimhgrlhdrphhrrghsrggurdhghhhimhhirhgrhiesih
hnthgvlhdrtghomhdprhgtphhtthhopehimhhrvgdruggvrghksehinhhtvghlrdgtohhm
pdhrtghpthhtoheplhhutggrshdruggvmhgrrhgthhhisehinhhtvghlrdgtohhmpdhrtg
hpthhtohepmhgrthhthhgvfidrsghrohhsthesihhnthgvlhdrtghomhdprhgtphhtthho
pehmihgthhgrvghlrdhjrdhruhhhlhesihhnthgvlhdrtghomhdprhgtphhtthhopehroh
gurhhighhordhvihhvihesihhnthgvlhdrtghomhdprhgtphhtthhopegrrhhnugeskhgv
rhhnvghlrdhorhhg
X-ME-Proxy: <xmx:k982aEJpL4_3GWPnK1oqeKTn6WarLOQlBM94cmDPgotwBXZH-T1GfA>
<xmx:k982aEGJfBlV3Xy4WwHfQTCaDWdZgQ9gOh8Hh2-gRqNFFJvOf8yXLg>
<xmx:k982aAWbht-hN00qrA987d9SIO3LKOtOqAWyt3-JQB6uLtPLXXppgg>
<xmx:k982aHMbGdv56or7uIA4Q1yiaLCwkVHY07jHDdvhqJnH0VfhbdmQrg>
<xmx:k982aCRLqOQPFP8g47PNqMJg0Ft17WaYnEin7FVC_pepEH7he5TdeJOy>
Feedback-ID: i56a14606:Fastmail
Received: by mailuser.phl.internal (Postfix, from userid 501)
id A12D7700060; Wed, 28 May 2025 06:04:03 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-ThreadId: Tea118988e335f97b
Date: Wed, 28 May 2025 12:03:43 +0200
From: "Arnd Bergmann" <arnd@xxxxxxxx>
To: "Andy Shevchenko" <andriy.shevchenko@xxxxxxxxxxxxxxx>,
"Lucas De Marchi" <lucas.demarchi@xxxxxxxxx>
Cc: "Arnd Bergmann" <arnd@xxxxxxxxxx>,
=?UTF-8?Q?Thomas_Hellstr=C3=B6m?= <thomas.hellstrom@xxxxxxxxxxxxxxx>,
"Rodrigo Vivi" <rodrigo.vivi@xxxxxxxxx>, "Dave Airlie" <airlied@xxxxxxxxx>,
"Simona Vetter" <simona@xxxxxxxx>, "Matthew Brost" <matthew.brost@xxxxxxxxx>,
"Himal Prasad Ghimiray" <himal.prasad.ghimiray@xxxxxxxxx>,
"Imre Deak" <imre.deak@xxxxxxxxx>,
=?UTF-8?Q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>,
"Michael J. Ruhl" <michael.j.ruhl@xxxxxxxxx>, intel-xe@xxxxxxxxxxxxxxxxxxxxx,
dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Message-Id: <704fd2b9-04da-4ec8-b854-22bc3ce9058e@xxxxxxxxxxxxxxxx>
In-Reply-To: <aDbYs7QZRfr2i80A@xxxxxxxxxxxxxxxxxx>
References: <20250523121106.2231003-1-arnd@xxxxxxxxxx>
<j7yodlrk7wh3ylvb2z622ndlzm4guhahmakdb6l5d6qtv5sabo@w4bfiehtmaab>
<aDbYs7QZRfr2i80A@xxxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote:
> On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote:
>> On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote:
>
> ...
>
>> > + depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI)
>>
>> ^
>> Did you mean X86_PLATFORM_DEVICES here?
Yes, my mistake.
> Why do we need to depend on the whole thingy (yes, it will be enabled at the
> end) if we only talking about Intel?
I don't understand what you mean with 'the whole thing'. My change
changed the existing 'select X86_PLATFORM_DEVICES if X86 && ACPI'
into the corresponding dependency, in order to change it the
least.
The dependency itself is needed because of
select ACPI_WMI if X86 && ACPI
and this in turn is needed for
select ACPI_VIDEO if X86 && ACPI
>> With that, Reviewed-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
>>
>> I see several drivers selecting
>> X86_PLATFORM_DEVICES though. Maybe they should also be translated to
>> dependencies instead?
>
> I think so, selecting that sounds wrong.
Agreed. Overall, what I'd really like to see is to remove
all those 'select' of drivers from other subsystems. I think
ACPI_VIDEO is at the center here, and changing all the
'select ACPI_VIDEO if ACPI' instances to
'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of
the recurring dependency loop problems in drivers/gpu/.
Actually doing it without regressions is going to be
nontrivial though, because any change in this area is likely
to trigger another dependency loop somewhere.
Arnd
Return-Path: <linux-kernel+bounces-665262-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 75E5C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:07:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 84E1C176E46
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:07:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3A2152798E8;
Wed, 28 May 2025 10:07:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="1JZHIkqL"
Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 655C3275863
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:07:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426862; cv=none; b=neg947vHK/RCy8SqHcEIuHvAAcuB6++6dtzwLCBaiPoaICdOtTeveno6PZDieQCR5dBx81Js6ZUcGMPwQBXo8K/b+GT4jAgdQ6pCQeXHmUH7e6Qmu/1EMYC3Rlo0/xNrFnPoz/s/h7U5jydB8CUpYd2Q91DpH/PXGjPNmfQKCf4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426862; c=relaxed/simple;
bh=qQFe6rVqcyQFoEiSf7r6q/+IaWuCcw8oKuk3h3oThjk=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=cFYPa0bwQPNQEt15BGcIbQiCZr0T8/B3bB2Yu/D3HnRD9v3b1d/7LmdxFvGVZ0rO7y3BXGUSPirvgcHQneKPhAaX2yprQowr9nmHCTvfqLleLER7iSkTlIQN+dWnDd9ZZ0HcToZf/7mHF9rTdiZEe3/EpHHq0Q/fNPE6Ns3QdAI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=1JZHIkqL; arc=none smtp.client-ip=209.85.167.43
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com
Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-55320f715bdso6837e87.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:07:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748426858; x=1749031658; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=hUgR3I1/9djOJDjMSGNUDP/fcCUlqLXDyS64tD1xt3Y=;
b=1JZHIkqLWVhOWCdz0fL3pInpVQwVIG15ju/3FQ9RpTHLQKPs96S5efC9/9ML6cPV50
q9VifqyjFG+MnrAZe7xPuuJr5K8to72EV8gYXV16SY39NnnkxO2W9MXN28yeLmOEZL6h
okUEQPr8FDjNDgA071ZsZZ7hv9VTQIHipAkX5lg1oKU6bmU0L14KaWfFYiPUpEK5z4dv
P0Mo4P8XutwhoH5W7FI5/5RF12JGEd7zbmNTBGXrkdyLTvV/63negFJxmyvHhRRk2Ttm
9bsqS/2pISTjbWQaRnhlKlRI1XKsN4MGhS48lNPXUfKOm64nIBjMdydgtgDd8x22/NlA
tzfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748426858; x=1749031658;
h=content-transfer-encoding:cc:to: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=hUgR3I1/9djOJDjMSGNUDP/fcCUlqLXDyS64tD1xt3Y=;
b=wN+7mobZzwxETkRSW9SguyJCAomomvV3IxAE3iZNrB6WSIV9XhKYsEjpXeZTlUashe
Mt5bp9eX5TWgiGhQOCBtDm0zvgbmWwwpeSEZAJCAK4xOelGSV6PIjxRCoEu5QezWhPoR
+dAGTJif+Y8dSccj4XvnUTtXgqDKjK8uzUqtLxUer6UZV04izk4E+JXSX0LnLsqLnNgM
wSGpv19EA1QfVJNUXL4q7tM00BkUPXKMYBXySJE+lTgyZDKTVHErp3bO6CtgQIfYieKD
dv/w0LaXjGrQcEnG58GS4un9yIauNuDCVSY3l1dp4TvgU8XIVbgOoRlyJbIZD5wcnWPo
1Gcw==
X-Forwarded-Encrypted: i=1; AJvYcCXXlFhb9rQKmRWev4Q5KgalQeUZubemhslMhQXrYoLEuACXOJfvsBE+IRLe+yQRxXExXtKhVUanYNeJOf8=@vger.kernel.org
X-Gm-Message-State: AOJu0YyS27yZiR88czh/KC2TWvC5dNFJVgfy8bJuZwOPOm06ecA86n/X
xmQTTQAflx6OyIy7KLoQnYPnpeawWkXbh9iKOTk2n4nL7hb62MgHmw058wycth3G6GO2WUshZuh
d11zsW7KO/qmp3LsjFx6VGyIm3NRRr4ZHd+1Qk02T4ywRaMXiYanssODeM6M=
X-Gm-Gg: ASbGncv0iJjck9h1phCKsSQXMRXnNnD8/ksS+AZTcgoS8lRMuo94eZt144AHgHJCc45
RVxFGefSBa6zl9b5zvHgSTwwAekH/4TqOsOWm1PpZZlekrspMWChDNc9fngZslNVbNLF9KIXXwq
hvMKMFQtd1xLui09c2rK6/hP2s8aOOS37VSJrFYfuIGfIFuvnbF8IFGoZ0O0JgzqblQ88Hb3A=
X-Google-Smtp-Source: AGHT+IHFgfvj33yIaJRpjmrIG2/RZ8tg1z4PPfBAXTOJNZYZOUlkuXVbhA7VckM+dh4T6BrZ+JmJGE4kZIR/yrgc69A=
X-Received: by 2002:ac2:5d6c:0:b0:550:e93a:cfa5 with SMTP id
2adb3069b0e04-5532ef807bfmr142417e87.1.1748426857497; Wed, 28 May 2025
03:07:37 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250416100515.2131853-1-khtsai@xxxxxxxxxx> <20250419012408.x3zxum5db7iconil@xxxxxxxxxxxx>
<CAKzKK0qi9Kze76G8NGGoE=-VTrtf47BbTWCA9XWbKK1N=rh9Ew@xxxxxxxxxxxxxx> <2025052819-affluent-reputably-83bb@gregkh>
In-Reply-To: <2025052819-affluent-reputably-83bb@gregkh>
From: Kuen-Han Tsai <khtsai@xxxxxxxxxx>
Date: Wed, 28 May 2025 18:07:10 +0800
X-Gm-Features: AX0GCFuXGaTl7wE46Hh7sCuJ_xdh4lOpJTWk67IkPD9e8iv8YV7PJr9cWZPAsPA
Message-ID: <CAKzKK0rezBC_9zwzkmeejGXtO3W+fTDOKsS26CsvhW+WwKRySA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v4] usb: dwc3: Abort suspend on soft disconnect failure
To: "gregkh@xxxxxxxxxxxxxxxxxxx" <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>,
"linux-usb@xxxxxxxxxxxxxxx" <linux-usb@xxxxxxxxxxxxxxx>,
"linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>,
"stable@xxxxxxxxxxxxxxx" <stable@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 4:23=E2=80=AFPM gregkh@xxxxxxxxxxxxxxxxxxx
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Wed, May 28, 2025 at 03:35:15PM +0800, Kuen-Han Tsai wrote:
> > On Sat, Apr 19, 2025 at 9:24=E2=80=AFAM Thinh Nguyen <Thinh.Nguyen@syno=
psys.com> wrote:
> > >
> > > On Wed, Apr 16, 2025, Kuen-Han Tsai wrote:
> > > > When dwc3_gadget_soft_disconnect() fails, dwc3_suspend_common() kee=
ps
> > > > going with the suspend, resulting in a period where the power domai=
n is
> > > > off, but the gadget driver remains connected. Within this time fra=
me,
> > > > invoking vbus_event_work() will cause an error as it attempts to ac=
cess
> > > > DWC3 registers for endpoint disabling after the power domain has be=
en
> > > > completely shut down.
> > > >
> > > > Abort the suspend sequence when dwc3_gadget_suspend() cannot halt t=
he
> > > > controller and proceeds with a soft connect.
> > > >
> > > > Fixes: 9f8a67b65a49 ("usb: dwc3: gadget: fix gadget suspend/resume"=
)
> > > > CC: stable@xxxxxxxxxxxxxxx
> > > > Signed-off-by: Kuen-Han Tsai <khtsai@xxxxxxxxxx>
> > > > ---
> > > >
> > > > Kernel panic - not syncing: Asynchronous SError Interrupt
> > > > Workqueue: events vbus_event_work
> > > > Call trace:
> > > > dump_backtrace+0xf4/0x118
> > > > show_stack+0x18/0x24
> > > > dump_stack_lvl+0x60/0x7c
> > > > dump_stack+0x18/0x3c
> > > > panic+0x16c/0x390
> > > > nmi_panic+0xa4/0xa8
> > > > arm64_serror_panic+0x6c/0x94
> > > > do_serror+0xc4/0xd0
> > > > el1h_64_error_handler+0x34/0x48
> > > > el1h_64_error+0x68/0x6c
> > > > readl+0x4c/0x8c
> > > > __dwc3_gadget_ep_disable+0x48/0x230
> > > > dwc3_gadget_ep_disable+0x50/0xc0
> > > > usb_ep_disable+0x44/0xe4
> > > > ffs_func_eps_disable+0x64/0xc8
> > > > ffs_func_set_alt+0x74/0x368
> > > > ffs_func_disable+0x18/0x28
> > > > composite_disconnect+0x90/0xec
> > > > configfs_composite_disconnect+0x64/0x88
> > > > usb_gadget_disconnect_locked+0xc0/0x168
> > > > vbus_event_work+0x3c/0x58
> > > > process_one_work+0x1e4/0x43c
> > > > worker_thread+0x25c/0x430
> > > > kthread+0x104/0x1d4
> > > > ret_from_fork+0x10/0x20
> > > >
> > > > ---
> > > > Changelog:
> > > >
> > > > v4:
> > > > - correct the mistake where semicolon was forgotten
> > > > - return -EAGAIN upon dwc3_gadget_suspend() failure
> > > >
> > > > v3:
> > > > - change the Fixes tag
> > > >
> > > > v2:
> > > > - move declarations in separate lines
> > > > - add the Fixes tag
> > > >
> > > > ---
> > > > drivers/usb/dwc3/core.c | 9 +++++++--
> > > > drivers/usb/dwc3/gadget.c | 22 +++++++++-------------
> > > > 2 files changed, 16 insertions(+), 15 deletions(-)
> > > >
> > > > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> > > > index 66a08b527165..f36bc933c55b 100644
> > > > --- a/drivers/usb/dwc3/core.c
> > > > +++ b/drivers/usb/dwc3/core.c
> > > > @@ -2388,6 +2388,7 @@ static int dwc3_suspend_common(struct dwc3 *d=
wc, pm_message_t msg)
> > > > {
> > > > u32 reg;
> > > > int i;
> > > > + int ret;
> > > >
> > > > if (!pm_runtime_suspended(dwc->dev) && !PMSG_IS_AUTO(msg)) {
> > > > dwc->susphy_state =3D (dwc3_readl(dwc->regs, DWC3_GUS=
B2PHYCFG(0)) &
> > > > @@ -2406,7 +2407,9 @@ static int dwc3_suspend_common(struct dwc3 *d=
wc, pm_message_t msg)
> > > > case DWC3_GCTL_PRTCAP_DEVICE:
> > > > if (pm_runtime_suspended(dwc->dev))
> > > > break;
> > > > - dwc3_gadget_suspend(dwc);
> > > > + ret =3D dwc3_gadget_suspend(dwc);
> > > > + if (ret)
> > > > + return ret;
> > > > synchronize_irq(dwc->irq_gadget);
> > > > dwc3_core_exit(dwc);
> > > > break;
> > > > @@ -2441,7 +2444,9 @@ static int dwc3_suspend_common(struct dwc3 *d=
wc, pm_message_t msg)
> > > > break;
> > > >
> > > > if (dwc->current_otg_role =3D=3D DWC3_OTG_ROLE_DEVICE=
) {
> > > > - dwc3_gadget_suspend(dwc);
> > > > + ret =3D dwc3_gadget_suspend(dwc);
> > > > + if (ret)
> > > > + return ret;
> > > > synchronize_irq(dwc->irq_gadget);
> > > > }
> > > >
> > > > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> > > > index 89a4dc8ebf94..630fd5f0ce97 100644
> > > > --- a/drivers/usb/dwc3/gadget.c
> > > > +++ b/drivers/usb/dwc3/gadget.c
> > > > @@ -4776,26 +4776,22 @@ int dwc3_gadget_suspend(struct dwc3 *dwc)
> > > > int ret;
> > > >
> > > > ret =3D dwc3_gadget_soft_disconnect(dwc);
> > > > - if (ret)
> > > > - goto err;
> > > > -
> > > > - spin_lock_irqsave(&dwc->lock, flags);
> > > > - if (dwc->gadget_driver)
> > > > - dwc3_disconnect_gadget(dwc);
> > > > - spin_unlock_irqrestore(&dwc->lock, flags);
> > > > -
> > > > - return 0;
> > > > -
> > > > -err:
> > > > /*
> > > > * Attempt to reset the controller's state. Likely no
> > > > * communication can be established until the host
> > > > * performs a port reset.
> > > > */
> > > > - if (dwc->softconnect)
> > > > + if (ret && dwc->softconnect) {
> > > > dwc3_gadget_soft_connect(dwc);
> > > > + return -EAGAIN;
> > >
> > > This may make sense to have -EAGAIN for runtime suspend. I supposed t=
his
> > > should be fine for system suspend since it doesn't do anything specia=
l
> > > for this error code.
> > >
> > > When you tested runtime suspend, did you observe that the device
> > > successfully going into suspend on retry?
> > >
> > > In any case, I think this should be good. Thanks for the fix:
> > >
> > > Acked-by: Thinh Nguyen <Thinh.Nguyen@xxxxxxxxxxxx>
> > >
> > > Thanks,
> > > Thinh
> >
> > Hi Greg,
> >
> > It looks like this patch hasn't been cherry-picked into the usb-next
> > branch yet. Am I missing something?
>
> It's somehow not in my queue anymore, sorry. Can you please resend it
> and I'll pick it up after -rc1 is out.
>
> thanks,
>
> greg k-h
Hi Greg,
Sent out the v5 patch, which includes Thinh Nguyen's Acked-by tag. Thanks!
https://lore.kernel.org/linux-usb/20250528100315.2162699-1-khtsai@xxxxxxxxx=
m/T/#u
Regards,
Kuen-Han
Return-Path: <linux-kernel+bounces-665263-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E34F441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:08:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A5DEB1BA647B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:08:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B6735279789;
Wed, 28 May 2025 10:08:34 +0000 (UTC)
Received: from mail-io1-f80.google.com (mail-io1-f80.google.com [209.85.166.80])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38E23214211
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:08:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.80
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426914; cv=none; b=RtNf+ckZkDNEuKHXEAGHM6lHaN0uqd1LZo5TsAPrXOBlD1DpZxlobvGZPfoJYkcIf3o30yVWAvlz7cnnVcwNsw2DBy87X43TvW4Z4qtXqi2ZuvyQFGShMDxiRAWvvFmMZ/E991/Ko/i4ZR9mOymOQEAUS8fSTfHiPgufra3M4HE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426914; c=relaxed/simple;
bh=lvBocvR3mMSNbVVnSRolMGmuBM9k96/8He6R+6JhIvM=;
h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type; b=QHLSF7HlNxtVDu268FJ2hKjs7fgr59c0y3muiz6j0F0iAiQPApS7WsNuNQuUE6iphrPeCoMOPqcl+ppDiZIpm/GIBqewKlIDuiGJIb8KwGsv3xYYYwIReAAR5Brh51BY2gTgCaJizwAZqdz9Qgwtn4Z2cM7OA3q57oYApqW4aUA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.80
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-io1-f80.google.com with SMTP id ca18e2360f4ac-85e4f920dacso321879739f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:08:31 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748426911; x=1749031711;
h=to:from:subject:message-id:date:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=tlAbtLPCjJbKhUV4OSvbkSnMZspOL3ZGmMs8BGjds5I=;
b=fNPn8/4/2cMEWocy/T/YAMacD0vHRwJOi2vA9APeV0T4XCtDakn7ldc3VQ9NC8td46
n3jebK63EOMBDPFl61AcnM4E63TOOwD64QuB+ZsB4VdA81iWIWr4uAIGjikzX3mvqTaj
pwyySaznfpc3PmT0DDPU2owJ8x+w6+M6BT7Ksac/8EJPF+E3KLPAG+mQMb4g244KeW3Q
7DDyX6VWES4pDSaUbSJ8u7uigdndJ8ZeMFuPH3O8ppA+DFxFsGd/YlUrEM3nnalVWY/F
kx+1vt/zkeSjhfYKfqZ0uLceI5uvTECfQygp+oWOU+NWf91D898H1rKsBAhc50r+76mw
JQsA==
X-Forwarded-Encrypted: i=1; AJvYcCWoH1YnZ09afn8KKkXrjsFyrtFGTebhzRLLpC6rBbBCYz2eHZfewHr3kP64b1H3QJRvwzKzvM2Hhwf5ipA=@vger.kernel.org
X-Gm-Message-State: AOJu0YwljbfkpYOY5W8SwMEsklGYcJGehTClcg0/YfJOaI+Z2s2YGAjh
HQuE0CU5cB79BDy6ZE86FGRzIUEJQubE9ac7OambxU/xahmKQvRh/jh4NdDlCfwxvpcNl01TTIY
B8702xP8kAgTF+LwzRjcKii7b5MisnWpTSQkFlIHEUU8Dh4WU5azGK+nqiHE=
X-Google-Smtp-Source: AGHT+IEvcUSWl0jgFYihi0H2EUPfRWBoZwBcww7GsnobayXNbrLsLJxfI+4j/zT/hLHaeyIAI+g9ag3FBn5bVEp9ccIDkuQNwvEl
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6602:4a03:b0:867:237f:381e with SMTP id
ca18e2360f4ac-86cbb818153mr1439473739f.2.1748426911339; Wed, 28 May 2025
03:08:31 -0700 (PDT)
Date: Wed, 28 May 2025 03:08:31 -0700
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6836e09f.a70a0220.253bc2.00c7.GAE@xxxxxxxxxx>
Subject: [syzbot] [gfs2?] KASAN: slab-use-after-free Write in gfs2_qd_dealloc (3)
From: syzbot <syzbot+42a37bf8045847d8f9d2@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: agruenba@xxxxxxxxxx, gfs2@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.0 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello,
syzbot found the following issue on:
HEAD commit: 01c6df60d5d4 Add linux-next specific files for 20250411
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=13deaa3f980000
kernel config: https://syzkaller.appspot.com/x/.config?x=db03cefa26ecf825
dashboard link: https://syzkaller.appspot.com/bug?extid=42a37bf8045847d8f9d2
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/928246b3f3d5/disk-01c6df60.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/79a68c4e1134/vmlinux-01c6df60.xz
kernel image: https://storage.googleapis.com/syzbot-assets/9caf8c293819/bzImage-01c6df60.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+42a37bf8045847d8f9d2@xxxxxxxxxxxxxxxxxxxxxxxxx
==================================================================
BUG: KASAN: slab-use-after-free in instrument_atomic_read_write include/linux/instrumented.h:96 [inline]
BUG: KASAN: slab-use-after-free in atomic_dec_and_test include/linux/atomic/atomic-instrumented.h:1383 [inline]
BUG: KASAN: slab-use-after-free in gfs2_qd_dealloc+0x83/0xf0 fs/gfs2/quota.c:112
Write of size 4 at addr ffff888033e98a80 by task kworker/u8:3/53
CPU: 1 UID: 0 PID: 53 Comm: kworker/u8:3 Not tainted 6.15.0-rc1-next-20250411-syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Workqueue: bat_events batadv_tt_purge
Call Trace:
<IRQ>
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
print_address_description mm/kasan/report.c:408 [inline]
print_report+0x16e/0x5b0 mm/kasan/report.c:521
kasan_report+0x143/0x180 mm/kasan/report.c:634
check_region_inline mm/kasan/generic.c:-1 [inline]
kasan_check_range+0x28f/0x2a0 mm/kasan/generic.c:189
instrument_atomic_read_write include/linux/instrumented.h:96 [inline]
atomic_dec_and_test include/linux/atomic/atomic-instrumented.h:1383 [inline]
gfs2_qd_dealloc+0x83/0xf0 fs/gfs2/quota.c:112
rcu_do_batch kernel/rcu/tree.c:2546 [inline]
rcu_core+0xaac/0x17a0 kernel/rcu/tree.c:2802
handle_softirqs+0x2d6/0x9b0 kernel/softirq.c:579
do_softirq+0x11f/0x1e0 kernel/softirq.c:480
</IRQ>
<TASK>
__local_bh_enable_ip+0x1be/0x200 kernel/softirq.c:407
spin_unlock_bh include/linux/spinlock.h:396 [inline]
batadv_tt_local_purge+0x2a0/0x340 net/batman-adv/translation-table.c:1315
batadv_tt_purge+0x35/0xa40 net/batman-adv/translation-table.c:3509
process_one_work kernel/workqueue.c:3238 [inline]
process_scheduled_works+0xac3/0x18e0 kernel/workqueue.c:3319
worker_thread+0x870/0xd50 kernel/workqueue.c:3400
kthread+0x7b7/0x940 kernel/kthread.c:464
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
Allocated by task 6071:
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
poison_kmalloc_redzone mm/kasan/common.c:377 [inline]
__kasan_kmalloc+0x9d/0xb0 mm/kasan/common.c:394
kasan_kmalloc include/linux/kasan.h:260 [inline]
__kmalloc_cache_noprof+0x236/0x370 mm/slub.c:4362
kmalloc_noprof include/linux/slab.h:905 [inline]
kzalloc_noprof include/linux/slab.h:1039 [inline]
init_sbd fs/gfs2/ops_fstype.c:77 [inline]
gfs2_fill_super+0x13e/0x27b0 fs/gfs2/ops_fstype.c:1140
get_tree_bdev_flags+0x490/0x5c0 fs/super.c:1686
gfs2_get_tree+0x54/0x220 fs/gfs2/ops_fstype.c:1330
vfs_get_tree+0x90/0x2b0 fs/super.c:1809
do_new_mount+0x2cf/0xb70 fs/namespace.c:3879
do_mount fs/namespace.c:4219 [inline]
__do_sys_mount fs/namespace.c:4430 [inline]
__se_sys_mount+0x38c/0x400 fs/namespace.c:4407
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Freed by task 6071:
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:576
poison_slab_object mm/kasan/common.c:247 [inline]
__kasan_slab_free+0x59/0x70 mm/kasan/common.c:264
kasan_slab_free include/linux/kasan.h:233 [inline]
slab_free_hook mm/slub.c:2389 [inline]
slab_free mm/slub.c:4646 [inline]
kfree+0x198/0x430 mm/slub.c:4845
free_sbd fs/gfs2/ops_fstype.c:69 [inline]
gfs2_fill_super+0x14bf/0x27b0 fs/gfs2/ops_fstype.c:1313
get_tree_bdev_flags+0x490/0x5c0 fs/super.c:1686
gfs2_get_tree+0x54/0x220 fs/gfs2/ops_fstype.c:1330
vfs_get_tree+0x90/0x2b0 fs/super.c:1809
do_new_mount+0x2cf/0xb70 fs/namespace.c:3879
do_mount fs/namespace.c:4219 [inline]
__do_sys_mount fs/namespace.c:4430 [inline]
__se_sys_mount+0x38c/0x400 fs/namespace.c:4407
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
The buggy address belongs to the object at ffff888033e98000
which belongs to the cache kmalloc-8k of size 8192
The buggy address is located 2688 bytes inside of
freed 8192-byte region [ffff888033e98000, ffff888033e9a000)
The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x33e98
head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
flags: 0xfff00000000040(head|node=0|zone=1|lastcpupid=0x7ff)
page_type: f5(slab)
raw: 00fff00000000040 ffff88801b042280 dead000000000100 dead000000000122
raw: 0000000000000000 0000000000020002 00000000f5000000 0000000000000000
head: 00fff00000000040 ffff88801b042280 dead000000000100 dead000000000122
head: 0000000000000000 0000000000020002 00000000f5000000 0000000000000000
head: 00fff00000000003 ffffea0000cfa601 00000000ffffffff 00000000ffffffff
head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000008
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 3, migratetype Unmovable, gfp_mask 0xd2040(__GFP_IO|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 5487, tgid 5487 (run-parts), ts 55699630622, free_ts 55641758587
set_page_owner include/linux/page_owner.h:32 [inline]
post_alloc_hook+0x1f4/0x240 mm/page_alloc.c:1718
prep_new_page mm/page_alloc.c:1726 [inline]
get_page_from_freelist+0x360a/0x37a0 mm/page_alloc.c:3700
__alloc_frozen_pages_noprof+0x211/0x5b0 mm/page_alloc.c:4982
alloc_pages_mpol+0x339/0x690 mm/mempolicy.c:2301
alloc_slab_page mm/slub.c:2459 [inline]
allocate_slab+0x8f/0x3a0 mm/slub.c:2623
new_slab mm/slub.c:2676 [inline]
___slab_alloc+0xc3b/0x1500 mm/slub.c:3862
__slab_alloc+0x58/0xa0 mm/slub.c:3952
__slab_alloc_node mm/slub.c:4027 [inline]
slab_alloc_node mm/slub.c:4188 [inline]
__kmalloc_cache_noprof+0x26a/0x370 mm/slub.c:4357
kmalloc_noprof include/linux/slab.h:905 [inline]
kzalloc_noprof include/linux/slab.h:1039 [inline]
tomoyo_print_bprm security/tomoyo/audit.c:26 [inline]
tomoyo_init_log+0x121e/0x2150 security/tomoyo/audit.c:264
tomoyo_supervisor+0x3c0/0x18b0 security/tomoyo/common.c:2198
tomoyo_audit_env_log security/tomoyo/environ.c:36 [inline]
tomoyo_env_perm+0x17b/0x220 security/tomoyo/environ.c:63
tomoyo_environ security/tomoyo/domain.c:672 [inline]
tomoyo_find_next_domain+0x1497/0x1dd0 security/tomoyo/domain.c:888
tomoyo_bprm_check_security+0x11a/0x180 security/tomoyo/tomoyo.c:102
security_bprm_check+0x86/0x250 security/security.c:1302
search_binary_handler fs/exec.c:1768 [inline]
exec_binprm fs/exec.c:1810 [inline]
bprm_execve+0x903/0x1430 fs/exec.c:1862
do_execveat_common+0x57c/0x710 fs/exec.c:1968
page last free pid 5485 tgid 5485 stack trace:
reset_page_owner include/linux/page_owner.h:25 [inline]
free_pages_prepare mm/page_alloc.c:1262 [inline]
__free_frozen_pages+0xde8/0x10a0 mm/page_alloc.c:2725
__slab_free+0x2c6/0x390 mm/slub.c:4557
qlink_free mm/kasan/quarantine.c:163 [inline]
qlist_free_all+0x9a/0x140 mm/kasan/quarantine.c:179
kasan_quarantine_reduce+0x14f/0x170 mm/kasan/quarantine.c:286
__kasan_slab_alloc+0x23/0x80 mm/kasan/common.c:329
kasan_slab_alloc include/linux/kasan.h:250 [inline]
slab_post_alloc_hook mm/slub.c:4151 [inline]
slab_alloc_node mm/slub.c:4200 [inline]
__do_kmalloc_node mm/slub.c:4330 [inline]
__kmalloc_noprof+0x238/0x4d0 mm/slub.c:4343
kmalloc_noprof include/linux/slab.h:909 [inline]
tomoyo_add_entry security/tomoyo/common.c:2132 [inline]
tomoyo_supervisor+0xc94/0x18b0 security/tomoyo/common.c:2204
tomoyo_audit_path_log security/tomoyo/file.c:168 [inline]
tomoyo_path_permission+0x243/0x360 security/tomoyo/file.c:587
tomoyo_check_open_permission+0x309/0x4f0 security/tomoyo/file.c:777
security_file_open+0xac/0x250 security/security.c:3114
do_dentry_open+0x320/0x1960 fs/open.c:933
vfs_open+0x3b/0x370 fs/open.c:1086
do_open fs/namei.c:3849 [inline]
path_openat+0x2caf/0x35d0 fs/namei.c:4008
do_filp_open+0x284/0x4e0 fs/namei.c:4035
do_sys_openat2+0x12b/0x1d0 fs/open.c:1429
do_sys_open fs/open.c:1444 [inline]
__do_sys_openat fs/open.c:1460 [inline]
__se_sys_openat fs/open.c:1455 [inline]
__x64_sys_openat+0x249/0x2a0 fs/open.c:1455
Memory state around the buggy address:
ffff888033e98980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff888033e98a00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff888033e98a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff888033e98b00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff888033e98b80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxx.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
Return-Path: <linux-kernel+bounces-665264-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A72EA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:08:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id C63179E4F73
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:08:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0196727979C;
Wed, 28 May 2025 10:08:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Y68g+cv/"
Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B5010279358
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:08:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748426930; cv=none; b=bdBk4yG2HISrGnYJ1Kl8uL68c+iy5o9t5q/hgvYaTVzEzw0te08/nqt2PkqLqhP1uvMOaEr5TbHAmobjI10etjzW2AV0l474HlTht58aQ6ADbbJ5rKoa3p6O1bVOMBTnRwzmaAY1MqYUCz6nxtntDQM/zhkVpkr0g3R1jk5Uri8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748426930; c=relaxed/simple;
bh=K6LuZnoG9l9tErcwlPRRYLNk1X769nTvgY4Ttx/vpuk=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=eZCmi19l9iCDqZ3dTVunnbaSy/rW9Zt2bnVti9c2MLqP3RVgeO4icvllgjHJR/2Ag0T5uIWc7XtwV8/WPWUAe0OqxEaLXzvUQLndA0kbfwNPoPKSdp6ZzBC7jpHRcyXwY9lQ6OPSNb6BLleRv0kMqdb4gjE6LXGMIgH4mlfUFOo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Y68g+cv/; arc=none smtp.client-ip=209.85.128.44
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-44b1ff82597so38097655e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:08:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748426925; x=1749031725; darn=vger.kernel.org;
h=in-reply-to:content-transfer-encoding:content-disposition
:mime-version:references:message-id:subject:cc:to:from:date:from:to
:cc:subject:date:message-id:reply-to;
bh=LXZzj7zT/aoC0USaD96wdCURxHjN4LGV2uTI7X0jaRg=;
b=Y68g+cv/1zFSGOXRf9CGyDnipoEnK+T3uTvJ8Mi1Kx8YHEFJSRDeyagR2rAxnOj36o
6KAxFfv+iJaqfDHu0ktYzz9MBpgMmqwIiCAnmiFKnDKgW2g6CHlfSmIMfQSuVH2iG70K
AeM5Z2aCs4sFwb5p7ZYbxESJ7IrRarZYw8+srv85YNKzBOIfrlIT0EOLcivsA5Rr8xY4
ooapPIFcnPyWNDHCBDpGyOgaiB+V4/4cKuwD9JdxnALuLGBlKMQCxy3ulSsE6NjLWUlf
PvKKDZRDIc70khOla1u0cBpSmlsbJQdFS6QQat3vA+/nI2rJOHrYd5IvsBZemNKbP0Sk
A+ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748426925; x=1749031725;
h=in-reply-to:content-transfer-encoding:content-disposition
:mime-version:references:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=LXZzj7zT/aoC0USaD96wdCURxHjN4LGV2uTI7X0jaRg=;
b=tBBcH2nR/O3JDhhnjVxvuOtBvWFigeABwuvcKqpJDI7Hcrwz83f78kDLXBg8kIIohW
wriFrje6WGZl29uY5JzRKivSVTUrtGL1TOvdf9kIJvMREQzqkFimggOXwjf4S53cfOlf
BtQSrm6BMSZ9zAUOnFu+Hs7dXCJ0IZ/R6e2I0mNIZ2OWTAim1lx5ta+xA0QD/i90bTzt
tyW5ezypYe4JR0B/Aud1AsAJxs+Ox/oBr/nu0l0bgBFaR05D6Femr52HV7EtRvRcUESP
0ALZr3kegRfESlbREYZcQSmMlt8wAocqUqed6EKUZ+7aGx7+46m0QtmUI0evb0P/SE9t
yCYw==
X-Forwarded-Encrypted: i=1; AJvYcCVmaE0ygf5EaDFF0cMvqY7cSo8mumAYQO5gYPI4MRTuf3soTqNW5eUe/xXJpp58dZEPQ1XO7HMfT/NqLjw=@vger.kernel.org
X-Gm-Message-State: AOJu0YzGKgyorDD+9o2K6ANFjt+jnhFmmZs6VEkAKYBg1Oi3FlTYKXVy
1tPGMc0dfAIVY2NeQ3ow639vLk02N8pGUCGWhG9ZjOrr+4cNaDn6aLzWTfvpB1k2BNI=
X-Gm-Gg: ASbGncvxQ+gr3VauaEmwzL62sE2o63oGSOG1SVM845UIlrRUY62kmKtMrRJLw+SkPZ8
AKRksqQGUREoj7cvVaafZQKChpnwHDIy3P6j/0O1vn0QyZYhSvUo7PTjCiDG5uSgW4+1k61hYvE
iUpnaBx4pX/j5jMIoD0lg4f7oYvYEu+Xb8asOyWGgn/x6KHgkL4B1AjdpgFgznnpY7bpl0691oM
VC4Ch3g/u25ExvM4tQgVeP53k0Bhl11TwS504TL629MMoEvw/hSCS1qby1kcZNEzArGshvBohkz
ZWynF1zsIDtfWMvvBT0T21yF/W4/bySuqXcrQc9cB3q58wPFjkqPx2rI
X-Google-Smtp-Source: AGHT+IH1cqD8JfGDs8gNDNG0gb2rXylng5BHr1nRy86mzCRj9b/g68TecwmVmLDn832A+JGk0SdlRA==
X-Received: by 2002:a05:600c:648a:b0:43e:a7c9:8d2b with SMTP id 5b1f17b1804b1-44c92f21e1fmr126046605e9.24.1748426924877;
Wed, 28 May 2025 03:08:44 -0700 (PDT)
Received: from localhost ([196.207.164.177])
by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-4500e1d3c94sm16176005e9.28.2025.05.28.03.08.43
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:08:44 -0700 (PDT)
Date: Wed, 28 May 2025 13:08:40 +0300
From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
To: Shawn Hua <shawnhuasz@xxxxxxxxx>
Cc: linux-staging@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
gregkh@xxxxxxxxxxxxxxxxxxx, philipp.g.hortmann@xxxxxxxxx,
pkshih@xxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
yixuanhuashawn@xxxxxxxxxxxx
Subject: Re: [PATCH] staging: rtl8723bs: fix checkpatch issues in
rtw_pwrctrl.c
Message-ID: <aDbgqBKV-bIJXDjN@stanley.mountain>
References: <20250528091914.2963-1-yixuanhuashawn@xxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250528091914.2963-1-yixuanhuashawn@xxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 05:19:14PM +0800, Shawn Hua wrote:
> This patch addresses several style issues in rtw_pwrctrl.c, as reported by checkpat
> ch.pl. Iâ??ve fixed most warnings and errors, but left CamelCase and one type of CHECK unresolved.
>
> Iâ??m new to kernel development and submitting this for learning purposes. Please let me know if this type of patch is still helpful, or if it should be reworked or dropped.
Emails and patches should line wrap at 74 characters.
>
> Best regards,
> Shawn Hua
> -----
Don't start your patch with an email, we don't want that in the git log.
> This patch fixes ~80 checkpatch.pl style issues, including spacing, indentation, and alignment.
>
> Remaining issues:
> - CamelCase warnings were left unchanged to avoid breaking interface consistency across related files.
> - One CHECK regarding alignment with open parenthesis could not be resolved despite several attempts.
Don't list the things you haven't done.
>
> No functional changes were made.
>
This does too many things at once. Also start with the latest code.
Some of these are already fixed.
regards,
dan carpenter
Return-Path: <linux-kernel+bounces-665265-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4AD4A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:10:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 281659E3E76
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:10:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D08832797B8;
Wed, 28 May 2025 10:10:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b="Vc6HxHKx"
Received: from mail-m49202.qiye.163.com (mail-m49202.qiye.163.com [45.254.49.202])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3F61D171C9;
Wed, 28 May 2025 10:10:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.254.49.202
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427022; cv=none; b=cFCe13p0BwFWdPGLEfghV4P/Te6aBD+JPgXokaKVgzVZ4LaE046VW7s1j3UI99XafO6gzrSxW0pDzf2EbTz/FDRTORmMTeDWBwUwyHLiw7Bx7xKmzjmxd5filrN4/EyrFMFRtsVMjdLDB2O4UxOFJ8yveRoFABgP9J+8NrzmO/c=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427022; c=relaxed/simple;
bh=xyeaaxOwVkanLxqVEwdOLAOwLbiiNhbr/ezVG4Vm0IA=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=UbnEYB4UwyUZ37qfM/3spaFlqrLThCb4mJrpWzphZZncubG0e2igADOhM9E6DOqQToF7aOkvxGg3wVHpYnKmcN7jm8XIDnwbgfw79Iqc4agdwN9j/Baf1gwbFZLWrbVSOBHL6BxDaI2p8txNl0b4H8KUfWCQfg79D6GDuHvgZXs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com; spf=pass smtp.mailfrom=thundersoft.com; dkim=pass (1024-bit key) header.d=thundersoft.com header.i=@thundersoft.com header.b=Vc6HxHKx; arc=none smtp.client-ip=45.254.49.202
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=thundersoft.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=thundersoft.com
Received: from localhost.localdomain (unknown [117.184.129.134])
by smtp.qiye.163.com (Hmail) with ESMTP id 16b15a5e2;
Wed, 28 May 2025 16:54:43 +0800 (GMT+08:00)
From: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Heiko Stuebner <heiko@xxxxxxxxx>,
=?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Junhao Xie <bigfoot@xxxxxxxxxxx>,
Kever Yang <kever.yang@xxxxxxxxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>,
Ge Gordon <gordon.ge@xxxxxx>
Subject: [PATCH v1 1/9] dt-bindings: vendor-prefixes: Add Black Sesame Technologies Co., Ltd.
Date: Wed, 28 May 2025 16:54:10 +0800
Message-Id: <20250528085410.481107-1-yangzh0906@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly
tZV1koWUFITzdXWS1ZQUlXWQ8JGhUIEh9ZQVkZGktMVk9LSUNOSEpDT0NLTVYVFAkWGhdVEwETFh
oSFyQUDg9ZV1kYEgtZQVlKSkxVSkNPVUpJQlVKSE9ZV1kWGg8SFR0UWUFZT0tIVUpLSEpOTE5VSk
tLVUpCS0tZBg++
X-HM-Tid: 0a971619deb409cckunm252380b4397c94
X-HM-MType: 1
X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6NFE6FTo5QzEyNkg8Pgg*OTMU
AhgKCxdVSlVKTE9DT0lJT0NPTE5OVTMWGhIXVQIaFRwBE0tCS007DxMOFR8eCQgUHQ9VGBQWRVlX
WRILWUFZSkpMVUpDT1VKSUJVSkhPWVdZCAFZQUpDQ043Bg++
DKIM-Signature:a=rsa-sha256;
b=Vc6HxHKxdaJINJLWkxuh5AkJlDgLVvoRfVwosMfILMktKGNtZcea+dJc90EK5Thfy3k7B847x847UQaTptzr6JiBlXoyy1A9xCUEdSG8WUDJrK33sqozGjIUcl7x0s7NSWO1SAsYvPJQHyDmHsiwTCeJ1NRXTmla7GDy4VzFeCM=; c=relaxed/relaxed; s=default; d=thundersoft.com; v=1;
bh=AKVDUkNC8XfUMycKiaIoEYEHYmiKh+/8RJhrPb/PC+A=;
h=date:mime-version:subject:message-id:from;
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Black Sesame Technologies Co., Ltd.s a leading automotive-grade
computing SoC and SoC-based
intelligent vehicle solution provider. Link: https://bst.ai/.
Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 86f6a19b28ae..963d4ef2ab4d 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -220,6 +220,8 @@ patternProperties:
description: Shenzhen BigTree Tech Co., LTD
"^bitmain,.*":
description: Bitmain Technologies
+ "^bst,.*":
+ description: Black Sesame Technologies Co., Ltd.
"^blaize,.*":
description: Blaize, Inc.
"^blutek,.*":
--
2.25.1
Return-Path: <linux-kernel+bounces-665266-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6425441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:11:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 63CBC4A329D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:12:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 240182798EB;
Wed, 28 May 2025 10:11:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="aTg85LV5"
Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 11C4927932B;
Wed, 28 May 2025 10:11:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427113; cv=none; b=vC6nsf3smVWshTzMnxp1FBJLpt3+wZbYpDn4jd9I3BruOD8MXwURzlv1auvpk6o0QhiZNESf6+4NbYe2fDTzBzTsK28HOA4VaoNyfS7GohhFosT8XS6qqWaaWoNwQUBU72WLZ/sFdvM51E/eXuBN5FzL5+lTgbWn1+ob5mAQU38=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427113; c=relaxed/simple;
bh=jQm/Idqdz/CKRY7nuelIqDNot1qzY4oj6ANAyNVprKQ=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=W1tyYbbEoktQIuPoisPUzkSd7vAmkPQ1gCVozOlznotlG15X1EPlQOpLBrC5G06822iHlm9oRP7oJyH3u5Vk3bKfluC2ngVoIrucYdBM/KqfR3fbXGFY1gl0HRLQEbf+rQanvRZ2Hecheiu0euVGM7WwfT5MUHa7HfxIfmV+wIQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=aTg85LV5; arc=none smtp.client-ip=209.85.214.173
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-22e16234307so6666465ad.0;
Wed, 28 May 2025 03:11:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748427111; x=1749031911; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=u1/Vt2mp73cleoni8AtXiYI0r+BUVH7GhRhyE5d0M3E=;
b=aTg85LV5XonIN79ZDYiW6eNmJotr+PeHx4/uNCcc3mdfghtSmfTG5kQwvvcgpwMFDd
XPyff3ZQCnVmbAwA5vS7AnZww8m1gfFVaK0tsdfMNB9/jWeY7wDBuo/e6qeVWXJ9i7Yq
K9Z2wUK9JcM1OJfP8TUEQ20NluMJYslfNmXzIukpfMvzKlDiWLvBh1WyMZtMQs7Av5Z6
lVbt8e4+zEE93ZnHt59ZR+buq4rXA1B0lUNMHAC/uMSnHYkTt6WKjKqjsJ7rhaNmDaw1
x8hT9Lu8c1iuJviIWXaHwnkXMFQXB6eR8PzEFcuHMdw4CK7RxZ4HEdQc/IGj303gMHGs
mFqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427111; x=1749031911;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=u1/Vt2mp73cleoni8AtXiYI0r+BUVH7GhRhyE5d0M3E=;
b=MPxSwZpNQFNCTPLKkOPclhF4uOCTaww2VpwiEpytq6Bi6PJ0yOeXuIcSqGyiQRD2P9
FAZ2lctxtSwHxxirF/QMo1Yx3Ty4gk/+p7JfD7fEGuxy8AaC2HzuE63+FQTJBaY4hT5J
TlU11QvVrynSPzCefAwV+Rz14x3SPhSJi+RvseRBBKkRznN6HRZxMYtR6CT3mI7pjdOm
Oorwmc4nTFV6sGkP6pEppPdZkGVaSGrPoo44SoMlVdGhz0rn/kUl/N5vXUd2OABZoz+R
JsTZxnKwOWmAfR03b1gOjOYWaeyxCZUXFzj+h/gJHu02+DlTeD4Du05vZtTz71MXgJfe
3IrQ==
X-Forwarded-Encrypted: i=1; AJvYcCVrcKmCLEtB/WpW4RvAKmRgbvX/s7IS6RY1GPU9XUYNFaSMuFytBUVUXMz7oXyh5Hg/gg8iGsfRFesxMrCd@xxxxxxxxxxxxxxx, AJvYcCXp4R+95Fey2A54t7u0KS2e9ZTBhaIfUeDMQduZoD65kBvByNiP8G5UEiAZ4KjtIqFWJtcLS6IJ3Mpa@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxVGmU5vT6eZusH8Z5AAddabUdGgOkJfpRKGEvlkb10w/notxI+
XXFRvQs4PjQ+dQFejlwtp9wXuAL7ULEGzZP4SHVOiwPihV0TDxKmdF+ZKsE89g==
X-Gm-Gg: ASbGncvCrz5JHaozvP/3azWIZi2C7ZflyRbdW0nSbPlXH2liSGJGpHGJkdNk7JP4JM+
+Wn4aF6mjydGSzNVNPlxrXg6zh36U3S3kbPm32I3/5EowLnvs575oG8MkLxwnzg4vE8j7B7K0b4
RAFhJBgoPZFNMaXnlmqCcnLiaAtLw/p6rVyXEXXMybK7QbW2WS068KtNmprjEf4I/RPo21BUcfI
/vdA6HiTporgOrMZbHwcPhCfS7CkMTehfG2dcAyrZjwbK6Bdi5AplK/3//LJeCL5wHmfwBLZK5V
0hWnpkyi4YcP3sPm7ngW7AVj4UGdXCqLd4UKgzFA6ttPJHu6/9QMNwOI
X-Google-Smtp-Source: AGHT+IFZgXlqFr/nZJIbvYhr8VBnFB2u+fgWRkPoYOa2czSx/AkDylcuc63qHSavCUSvhb5c85NwtQ==
X-Received: by 2002:a17:902:f693:b0:234:325:500b with SMTP id d9443c01a7336-234b74f4119mr68932215ad.22.1748427111266;
Wed, 28 May 2025 03:11:51 -0700 (PDT)
Received: from cu.. ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-234d358f118sm8453595ad.138.2025.05.28.03.11.46
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:11:50 -0700 (PDT)
From: Longbin Li <looong.bin@xxxxxxxxx>
To: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <ukleinek@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Chen Wang <unicorn_wang@xxxxxxxxxxx>,
Inochi Amaoto <inochiama@xxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Albert Ou <aou@xxxxxxxxxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Longbin Li <looong.bin@xxxxxxxxx>
Cc: linux-pwm@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
sophgo@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx
Subject: [PATCH v5 0/3] riscv: pwm: sophgo: add pwm support for SG2044
Date: Wed, 28 May 2025 18:11:35 +0800
Message-ID: <20250528101139.28702-1-looong.bin@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This patch adds PWM controller support for four independent
PWM channel outputs.
---
Changes in v5:
- Rename function and variables for clarity.
- Modify code style.
Changes in v4:
You can simply review or test the patches at the link [4].
- add tags for mail.
Changes in v3:
You can simply review or test the patches at the link [3].
- Rename macro definitions to unify naming.
- Modify code style.
Changes in v2:
You can simply review or test the patches at the link [2].
- Modify variable naming and code logic.
- update "MODULE_AUTHOR".
Changes in v1:
You can simply review or test the patches at the link [1].
Link: https://lore.kernel.org/linux-riscv/20250407072056.8629-1-looong.bin@xxxxxxxxx/ [1]
Link: https://lore.kernel.org/linux-riscv/20250418022948.22853-1-looong.bin@xxxxxxxxx/ [2]
Link: https://lore.kernel.org/linux-riscv/20250424012335.6246-1-looong.bin@xxxxxxxxx/ [3]
Link: https://lore.kernel.org/linux-riscv/20250428013501.6354-1-looong.bin@xxxxxxxxx/ [4]
---
Longbin Li (3):
pwm: sophgo: reorganize the code structure
pwm: sophgo: add driver for SG2044
dt-bindings: pwm: sophgo: add pwm controller for SG2044
.../bindings/pwm/sophgo,sg2042-pwm.yaml | 4 +-
drivers/pwm/pwm-sophgo-sg2042.c | 141 +++++++++++++++---
2 files changed, 127 insertions(+), 18 deletions(-)
--
2.49.0
Return-Path: <linux-kernel+bounces-665267-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 74B5641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:12:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 3AD9B1897F7C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:12:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3E9AC279908;
Wed, 28 May 2025 10:12:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jZAdIVl+"
Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C063212D7D;
Wed, 28 May 2025 10:12:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.176
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427131; cv=none; b=m5mE40G3usZ1lisHj5ZE09ulKgZuxSRPzGQtnqgujCKv8GjNzCBtpFYSjOY/dzWFESnBPJ1XYZTMcojY2Ga+nC51xI7mm0dnYnAF6uEwrPcXylNA3rUXZaIGsmID2SV2i59wHx3o2QQVX5Pk+jKdtbS5FRD0WDGr0/AEm6y4ETw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427131; c=relaxed/simple;
bh=t1QahdLTkbggHPkd85bqDjxlEjBR+yVNZ2AkbAlaWf4=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=o9R13Cd9vtqTbiXWISt2C/6sgRbOnrkMiGfd0QHOHFNDVGORyfm573+9RGnvM5JJFlfoBLxdRAjaoyZaO0aLUhmWpakg4hqKmRaedwnhcioGyhDE/44VNf1ueWRy8JnrxipCMxPZFr22mb2802mTiwid4KX4dM3CLMICMZ0CNbo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jZAdIVl+; arc=none smtp.client-ip=209.85.160.176
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-4769bbc21b0so37078711cf.2;
Wed, 28 May 2025 03:12:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748427129; x=1749031929; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=pHBvgY1YVP5MIQkksIw+XJJlNkG/WcVVicP7k946nis=;
b=jZAdIVl+KmmchVtsjac/Xadd0cD9cifEEcyskRqGqu4MwNmDme8MafI5k73fKdGMN6
9iF/9ww2TcE2NlPh2sJ5DwQI6BaKdNFHBiicxjZwT7u8y1nBIzy7X1vORiW5DtXXwWjX
D5UHNRiB+3tOVZE1BRNtbjFx0n6sUmSQdRXtn7ycZrLBBUyfV4quqSwZpu6Qqo9aLKeg
SSIHMIoI9dxRfCc92pZKfXa58skYDUZ2jWw7SSmpASNNIsmGwgGnYw38UxXOJVqPIMM0
+3WrRPVyyM9UolUVPylAJjOQ4fckIExP1Q+67J9phvxATM7SumX5UBHr9kk1rxZHviaK
Lp3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427129; x=1749031929;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=pHBvgY1YVP5MIQkksIw+XJJlNkG/WcVVicP7k946nis=;
b=kSuaGkQ5gs3GGKJspjkUICjv1+k9d8EXMRmOIg0EH04cCGKPD97ec4P0L6Qc7dp+QV
zo6OM8lP0JIIdtqHiR4TJkXknrHKCenz7Xq4HgEbGeS/8ribyp8dsFknS+ke9b5OkJXZ
WeSFmaAptEld01KfQvZHXgdgMIgBOhPfFkx3TjTH0jrG0qLWdHdxM+P+Qjo7YE8uhaJx
Jgwkb583kFPwCHKsZPUquAPQqtL/HZqXLz/IB6cmgXkUIQdvsICawICZUMV2EvYCnk0V
69y2BC9daBEP+Yg0hZju++4bUWUd9ZlIWoQiDBeAKhjBs7OMFnZ+nWA/HXLd6vi2MV20
nnTg==
X-Forwarded-Encrypted: i=1; AJvYcCUTUqIGSc2nSYBOnbdT9RnPdF/O1+zDN61tKcerh4ADUWUMwA/ZlN3L6s75DhgJog+QGUnSv2Rh0PzT@xxxxxxxxxxxxxxx, AJvYcCWgWk5H6xSHP8gxdkXz5lcIGjMS803B/iNU6srsWfGSIhhMitVNfdsCUBXttjcAMBWmlnD7mJ2LbJCkZ+XE@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0Yzmy0FeHnkYa7WGP7GY7Ww4wKKv3QMiOa0ZD4IgE5YKflXz/K+7
jTwt4PFuIqppniJZIR4s7g1ovAMhOwHsW68QAwrLNVocfOR5q9WQiOOHBlf2rw==
X-Gm-Gg: ASbGncsnXxpVa1H+HfsZQNij/rmLSBM6XDtLl0V0CI34tGzRwqoCsli0BuSr6ic3u17
lRu0kzixmECAdVYQcdPHvrkkym7YhiBawFbfIn+a4Y4kWMxFi8ClJGdR+UZv1iOTtS4sz/l/l9R
HuPujD90z99r6VVcVk4NYCZQc0LXXN7cqBSW2WXGXHnsnsZj8tKAjX33b/qpnZLh0WOVkdWqedc
C53opTPDyyhJK184kXi4g2ODEfEj9DZvzJzTIcxILuqkS8CFM/TvoBJ2Q3fqOIIlr/8fdaBVKAT
wxDyXBt4M7a8W025vyjf/Pi5tIyPNs4IzFC9ZgpO3zFgOA==
X-Google-Smtp-Source: AGHT+IFtudEecNzRLHvC5Zt8E0tk2TyAeIGxp30jdo8UAfABBjjMtWvXU6go6Qz89iGaprdGhLkqmQ==
X-Received: by 2002:a17:903:2f92:b0:234:d7b2:2aab with SMTP id d9443c01a7336-234d7b22ba9mr17655095ad.14.1748427118714;
Wed, 28 May 2025 03:11:58 -0700 (PDT)
Received: from cu.. ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-234d358f118sm8453595ad.138.2025.05.28.03.11.53
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:11:58 -0700 (PDT)
From: Longbin Li <looong.bin@xxxxxxxxx>
To: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <ukleinek@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Chen Wang <unicorn_wang@xxxxxxxxxxx>,
Inochi Amaoto <inochiama@xxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Albert Ou <aou@xxxxxxxxxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Longbin Li <looong.bin@xxxxxxxxx>
Cc: linux-pwm@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
sophgo@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Subject: [PATCH v5 1/3] dt-bindings: pwm: sophgo: add pwm controller for SG2044
Date: Wed, 28 May 2025 18:11:36 +0800
Message-ID: <20250528101139.28702-2-looong.bin@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250528101139.28702-1-looong.bin@xxxxxxxxx>
References: <20250528101139.28702-1-looong.bin@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add compatible string for PWM controller on SG2044.
Signed-off-by: Longbin Li <looong.bin@xxxxxxxxx>
Tested-by: Chen Wang <unicorn_wang@xxxxxxxxxxx>
Reviewed-by: Chen Wang <unicorn_wang@xxxxxxxxxxx>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
Documentation/devicetree/bindings/pwm/sophgo,sg2042-pwm.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/pwm/sophgo,sg2042-pwm.yaml b/Documentation/devicetree/bindings/pwm/sophgo,sg2042-pwm.yaml
index bbb6326d47d7..e0e91aa237ec 100644
--- a/Documentation/devicetree/bindings/pwm/sophgo,sg2042-pwm.yaml
+++ b/Documentation/devicetree/bindings/pwm/sophgo,sg2042-pwm.yaml
@@ -17,7 +17,9 @@ allOf:
properties:
compatible:
- const: sophgo,sg2042-pwm
+ enum:
+ - sophgo,sg2042-pwm
+ - sophgo,sg2044-pwm
reg:
maxItems: 1
--
2.49.0
Return-Path: <linux-kernel+bounces-665268-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 93EE441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:12:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id CD40D17F262
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:12:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E9AA12798FD;
Wed, 28 May 2025 10:12:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gScjPPHt"
Received: from mail-qv1-f42.google.com (mail-qv1-f42.google.com [209.85.219.42])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 843A7212D7D;
Wed, 28 May 2025 10:12:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.42
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427141; cv=none; b=duD6RzjMM5fI69Ob8Xp/JMu6L7TaEoy+FGlajPfV6QLp9TfAWgOY5cCncLtlvRyyzyKyPfkGogVc0yCn+PEicYzXJEbBOKjm8DUfyVbGnYipAsfyqYZgnsm2klEcNivgsWatf2fneuCiQF8ccw9GAuSgfV2FENbLfJ/5pyBFCwc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427141; c=relaxed/simple;
bh=3fmT8a4w2c2UFK2NC819rGC2QieFNea0UjuWO8kZ5NQ=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=E27SKtJJw6PVYCd9dkd8vKpXj4paP7Il1elbzrwkP/vAvnTQDEBP8mUGkzw3heNaRTSimDqhjqu9GnNAlnUidSYIAJ7fWQMJfX7LiRL79ydXP+HqEWr9RUwR8dFqwBx3g8je/8ebKnp9FN9gfGalTHYQX/jLJFkgqg8qU82IY/8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=gScjPPHt; arc=none smtp.client-ip=209.85.219.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-qv1-f42.google.com with SMTP id 6a1803df08f44-6fab467aacdso14507086d6.2;
Wed, 28 May 2025 03:12:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748427136; x=1749031936; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=zZIuoUuOKk0C9c3zdfmp4xS8a8OdfkLmfezVI5NFdqE=;
b=gScjPPHtrGqoyFYLau/Hi7HEXTpkRr+PMnzW8HDV0qanp+EysurOk3ZYEMf8JRJn8Z
ScOo0UionNjl/r7JjzrV9zluiK3Eb66+eqy43rBmnHMOu29nZV3iwFx/fM6dzGUItERj
XxJbmX3XXUGjBcIHx5fzY6gMj3Phk2r7eAGjl0h9+dpl7bBAuChP/lCjQ5+fs8tvMMCV
/3dZa45ROXIXPWXzw9Djg0aK8Wz7IPZ3iniDVMcRzcUwOhVH7dntmrDdSxZvptpSB3Gi
cd+Js7EWKG6QSGAyVQdVzbiWjGGv0X6RVhyxa48d77XPkvkDN3nAY2coxEZ7vpVC2oCx
GKUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427136; x=1749031936;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=zZIuoUuOKk0C9c3zdfmp4xS8a8OdfkLmfezVI5NFdqE=;
b=o2KK67z/w6yuxVG4Eawev3QGSFpPFwdsUZeZaV/QKPLBVtYocGbvEVIw1bcKNyl8Kx
oerWftag+LOvi2JwcCvzxUf/5sZ1TMOLndXYzM3n+bCqkIMR0lnf0rWNZTZ5HiKcV9ha
sx7/WMegTAvSjM1d23ODYq6hY6jJVF8Pr2Y+tVoFXHhCmKogcdGFQAplcEWvflGBwZO4
sdis2j1apATNSSarwR+++1jy4RuTy9ZGF+2S8YYzI8A70lJ/EDDPFsvEyvREQtMlcSTb
j/zjVc0A/HhYYO+A79MSbt2evrAGTG+hKODQO6asgwO4AQk4wI0FeFjhR1Pl/KKPsA98
Gjlw==
X-Forwarded-Encrypted: i=1; AJvYcCXZddciO7GE8V7vNmn1tKCvUFH4scVsNX5mVeR7etQzqrupfrlGyoRxHvo8VwMG1DEB1QhuYWWz1/dyNqPZ@xxxxxxxxxxxxxxx, AJvYcCXfHx16Ey8TpwM94Z45fwEhZi7pE24vxGn3pPU0nrH9bM/h6PPq+FoCi4Y1e/amsRM49CY0gNAg4jtv@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxyDYdGVpoHL4lYQJqy8YtgUvurQwFoULaHN3pvv7SlpcLNfsi9
NO96aZH9LxmCxatjcrdLuIX95vez7Q5sfWMGXBvsK81dm3wxuFtvx5tvWpfruQ==
X-Gm-Gg: ASbGncvCfnb42TyUUHTwEpcc4RXJlkwI2x2Kf5vdIq6/PhL5stNm1/iLp7AHJFPwbIJ
9FP27c1lBmja7X50OL/rds9clj1bew3fj6sBQy1RtqvDx4VtUQ0BgeBptE86guEiHxEbuWQ9KZ0
Cn1+gO5AjIGXRh6pi82DxE2KCEaW2iKnqz7gtn2ABkWnvY6oCbnEqglHylTpoqk75RQeEGPDN9a
Gy1OpaaVmHo0GOXe85aNuUHztTuwmowbd3gV7lj5ou2igHgE7+2P/w6+qc2Ik+dwTlUc1Tes6Rw
trVGiYuDaCJRCvG4568H454CaZTZjjj/RIKTDnSSlqqcdQ==
X-Google-Smtp-Source: AGHT+IFWPOwlvnziJrU1SXRbxNHI5NCoM7BJbMrItu4d5oRPG+SLE6qRrjKuSLB0YMT8eQPS4/wi0g==
X-Received: by 2002:a17:903:2403:b0:234:8a16:d62b with SMTP id d9443c01a7336-2348a16d6damr97040175ad.12.1748427125955;
Wed, 28 May 2025 03:12:05 -0700 (PDT)
Received: from cu.. ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-234d358f118sm8453595ad.138.2025.05.28.03.12.00
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:12:05 -0700 (PDT)
From: Longbin Li <looong.bin@xxxxxxxxx>
To: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <ukleinek@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Chen Wang <unicorn_wang@xxxxxxxxxxx>,
Inochi Amaoto <inochiama@xxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Albert Ou <aou@xxxxxxxxxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Longbin Li <looong.bin@xxxxxxxxx>
Cc: linux-pwm@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
sophgo@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx
Subject: [PATCH v5 2/3] pwm: sophgo: reorganize the code structure
Date: Wed, 28 May 2025 18:11:37 +0800
Message-ID: <20250528101139.28702-3-looong.bin@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250528101139.28702-1-looong.bin@xxxxxxxxx>
References: <20250528101139.28702-1-looong.bin@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
As the driver logic can be used in both SG2042 and SG2044, it
will be better to reorganize the code structure.
Signed-off-by: Longbin Li <looong.bin@xxxxxxxxx>
Reviewed-by: Chen Wang <unicorn_wang@xxxxxxxxxxx>
Tested-by: Chen Wang <unicorn_wang@xxxxxxxxxxx>
---
drivers/pwm/pwm-sophgo-sg2042.c | 52 +++++++++++++++++++++++----------
1 file changed, 37 insertions(+), 15 deletions(-)
diff --git a/drivers/pwm/pwm-sophgo-sg2042.c b/drivers/pwm/pwm-sophgo-sg2042.c
index ff4639d849ce..da1c75b9c8f5 100644
--- a/drivers/pwm/pwm-sophgo-sg2042.c
+++ b/drivers/pwm/pwm-sophgo-sg2042.c
@@ -53,6 +53,10 @@ struct sg2042_pwm_ddata {
unsigned long clk_rate_hz;
};
+struct sg2042_chip_data {
+ const struct pwm_ops ops;
+};
+
/*
* period_ticks: PERIOD
* hlperiod_ticks: HLPERIOD
@@ -66,21 +70,13 @@ static void pwm_sg2042_config(struct sg2042_pwm_ddata *ddata, unsigned int chan,
writel(hlperiod_ticks, base + SG2042_PWM_HLPERIOD(chan));
}
-static int pwm_sg2042_apply(struct pwm_chip *chip, struct pwm_device *pwm,
- const struct pwm_state *state)
+static void pwm_sg2042_set_dutycycle(struct pwm_chip *chip, struct pwm_device *pwm,
+ const struct pwm_state *state)
{
struct sg2042_pwm_ddata *ddata = pwmchip_get_drvdata(chip);
u32 hlperiod_ticks;
u32 period_ticks;
- if (state->polarity == PWM_POLARITY_INVERSED)
- return -EINVAL;
-
- if (!state->enabled) {
- pwm_sg2042_config(ddata, pwm->hwpwm, 0, 0);
- return 0;
- }
-
/*
* Duration of High level (duty_cycle) = HLPERIOD x Period_of_input_clk
* Duration of One Cycle (period) = PERIOD x Period_of_input_clk
@@ -92,6 +88,22 @@ static int pwm_sg2042_apply(struct pwm_chip *chip, struct pwm_device *pwm,
pwm->hwpwm, period_ticks, hlperiod_ticks);
pwm_sg2042_config(ddata, pwm->hwpwm, period_ticks, hlperiod_ticks);
+}
+
+static int pwm_sg2042_apply(struct pwm_chip *chip, struct pwm_device *pwm,
+ const struct pwm_state *state)
+{
+ struct sg2042_pwm_ddata *ddata = pwmchip_get_drvdata(chip);
+
+ if (state->polarity == PWM_POLARITY_INVERSED)
+ return -EINVAL;
+
+ if (!state->enabled) {
+ pwm_sg2042_config(ddata, pwm->hwpwm, 0, 0);
+ return 0;
+ }
+
+ pwm_sg2042_set_dutycycle(chip, pwm, state);
return 0;
}
@@ -123,13 +135,18 @@ static int pwm_sg2042_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
return 0;
}
-static const struct pwm_ops pwm_sg2042_ops = {
- .apply = pwm_sg2042_apply,
- .get_state = pwm_sg2042_get_state,
+static const struct sg2042_chip_data sg2042_chip_data = {
+ .ops = {
+ .apply = pwm_sg2042_apply,
+ .get_state = pwm_sg2042_get_state,
+ }
};
static const struct of_device_id sg2042_pwm_ids[] = {
- { .compatible = "sophgo,sg2042-pwm" },
+ {
+ .compatible = "sophgo,sg2042-pwm",
+ .data = &sg2042_chip_data
+ },
{ }
};
MODULE_DEVICE_TABLE(of, sg2042_pwm_ids);
@@ -137,12 +154,17 @@ MODULE_DEVICE_TABLE(of, sg2042_pwm_ids);
static int pwm_sg2042_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
+ const struct sg2042_chip_data *chip_data;
struct sg2042_pwm_ddata *ddata;
struct reset_control *rst;
struct pwm_chip *chip;
struct clk *clk;
int ret;
+ chip_data = device_get_match_data(dev);
+ if (!chip_data)
+ return -ENODEV;
+
chip = devm_pwmchip_alloc(dev, SG2042_PWM_CHANNELNUM, sizeof(*ddata));
if (IS_ERR(chip))
return PTR_ERR(chip);
@@ -170,7 +192,7 @@ static int pwm_sg2042_probe(struct platform_device *pdev)
if (IS_ERR(rst))
return dev_err_probe(dev, PTR_ERR(rst), "Failed to get reset\n");
- chip->ops = &pwm_sg2042_ops;
+ chip->ops = &chip_data->ops;
chip->atomic = true;
ret = devm_pwmchip_add(dev, chip);
--
2.49.0
Return-Path: <linux-kernel+bounces-665269-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C21D541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:12:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id C05DC163B30
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:12:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CE7C127A448;
Wed, 28 May 2025 10:12:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eB0Yhs9+"
Received: from mail-oi1-f175.google.com (mail-oi1-f175.google.com [209.85.167.175])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F33C27991C;
Wed, 28 May 2025 10:12:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.175
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427145; cv=none; b=Zuc1RFtHNKlzhKpoyziwvYN9l+kh2ar/EyB43CWtUcp3IfYBtwsaQrE1lR6TSwDwoQAS76cezFmh2T6ae0wlnlFqGk0Ffui/vrIrHIT4cXIc1nVdEwW4APHEEbRAPOKNQabVVvn7+O0/sN+YlzSHkgHViIJz7wXjujbKaqUELwI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427145; c=relaxed/simple;
bh=xr9G46dj58Ks9R2hFHMEyGZQjQDhmexVHbnzDbFEwVM=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=si+iRYvZh3LcDLzem/zkSZXIduyStW9ZfmqQkVrbfnpbIzf9N9UftoyX4ZbMGBNThx035ahMrAjEe7Kt8XknRPpAExjcX+O3759y4EryEZKtNEeK4Mpede8W4AwOrMly8k+Q78mtXle3oK1XFIVWddqPdzd2KoS4pPYvi7x/bc8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=eB0Yhs9+; arc=none smtp.client-ip=209.85.167.175
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-oi1-f175.google.com with SMTP id 5614622812f47-3fa6c54cc1aso2523582b6e.1;
Wed, 28 May 2025 03:12:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748427143; x=1749031943; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=M9UzaJZDvKRNmn4BJ2b4hvJbdoSm7qg3xJXdaBQvCs4=;
b=eB0Yhs9+42K8/KhZI0GQuQ6GGIPkDAwu47Us7KskuAqyijbrQF/VBdZsDI9SMC3hA1
ruipRu+qHVQ7gwEuxywCbHaLtZxaPA7eJb1uLNL5u9Otr2GMjmH8Z4U8Apj20iKt0jmw
1HLeN/BlIzqqgST/mtna+nU4hHEAzLlWorvhH4iM+oAMB9n1e0IUUwqPhAT15KM9IGz3
8NnP528ZCmBrj0vCo9TC+FFs/8zs42PghD6lpS3SZssyy0vCZPK9eDl7InTSxZLKy8OZ
FJo24RVncIf6FyQCEH1QvDshy9GiLwBu64GAsQQdGkZ9hwPqkCxdfSY09pjaQK3Bv1GW
fCkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427143; x=1749031943;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=M9UzaJZDvKRNmn4BJ2b4hvJbdoSm7qg3xJXdaBQvCs4=;
b=fws0ndU5p0lRsQCQFOb169xw0j2hhrFJxOt+LqTLVR2a8j9mAsLd0QkmmfDPhmv9VI
7Xf69vO5QMsBLXrIf1fcbgWqQoizNX4N8L3iyPv3nS82ycmDNQVc4lQoTiVmKikWED1i
SETQTfK/MI9oHbXGuRHrjWHhfRFSJA19YrLmtOloKOc8RALunwig/wmJw2BBrNA3ESY4
1YOBc59eC/qdRb5Pwb0/klqK86mhBfw+qPaIg2BqggW4Sx/TDMNk23ZuD8f6EZ91Ns2H
vWyn4mf9aqJ2yJVbWeeCeQbg1AKAPr0yscFxfZKPtyTVg8lI5DwI4WWnCbXYvqgfwmXb
AArA==
X-Forwarded-Encrypted: i=1; AJvYcCUyyjoyya485HzwONcK0JWV89VEsDjCK05Qp9UkZAG7vRBkt34KRO/Ztq5qN+7QnCQ8eo9Tnsoe5kTg+C+l@xxxxxxxxxxxxxxx, AJvYcCVTmZsIMwYM9ATa40hVMxRZ1KvfQ1PnmHFCRi0MSjQtVuYf5ryc7o7zBUhRG6hIjOJP0nEJNLIl20ks@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YzcnRo1GoyFiKfCHvtGDBB0/EB7S9aY6zsUmf+MtIfvsKEZ5w6+
KWiKNmEeHViZ/PrK5fkh2YhlS9ufgA4SZEruFly53nJcPbcMkYYNxpnkfb9SnA==
X-Gm-Gg: ASbGncvysRn5jTx3rNR1I7G9/1BBm4vqrMFcU54owRWT3PkhUns2kTB94+mJWyTYhl6
eqBhpRJ6yGv3rxTFgG/BmSGjF5TzvX1Bre0l8PwPIt6dnEVR5ZwPpPIRq3An8zqCt7bquXkzqcm
KMtH0DBjntAa/hOCaZk24xeeSiUdVPZ0ChfrRY/HUbhXYwOsw6z0JqhTKoOWCZpRJeJ+erkgxSA
S6r02v2w/NTwRbAvbj5r8ptEyFWwDVWT6POv1L54UrvVBIqeKR5LlorTm6g7CZwHglz0eJ9eQ29
/jI+xJCINL5MMWQ7VgIKdj3GYYemA3qN4oX+v2UQ7N3+VQ==
X-Google-Smtp-Source: AGHT+IEjHqDXErb8LHY+YXueka86+j+atlpa5otAATrNzDLyo6C+uNeLDmOMpvofRqGSXrlPBv+XBQ==
X-Received: by 2002:a17:902:f544:b0:220:c164:6ee1 with SMTP id d9443c01a7336-23414feac2bmr246739315ad.32.1748427132449;
Wed, 28 May 2025 03:12:12 -0700 (PDT)
Received: from cu.. ([2001:19f0:ac00:4eb8:5400:5ff:fe30:7df3])
by smtp.gmail.com with ESMTPSA id d9443c01a7336-234d358f118sm8453595ad.138.2025.05.28.03.12.07
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:12:12 -0700 (PDT)
From: Longbin Li <looong.bin@xxxxxxxxx>
To: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <ukleinek@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Chen Wang <unicorn_wang@xxxxxxxxxxx>,
Inochi Amaoto <inochiama@xxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Albert Ou <aou@xxxxxxxxxxxxxxxxx>,
Alexandre Ghiti <alex@xxxxxxxx>,
Longbin Li <looong.bin@xxxxxxxxx>
Cc: linux-pwm@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
sophgo@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx
Subject: [PATCH v5 3/3] pwm: sophgo: add driver for SG2044
Date: Wed, 28 May 2025 18:11:38 +0800
Message-ID: <20250528101139.28702-4-looong.bin@xxxxxxxxx>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250528101139.28702-1-looong.bin@xxxxxxxxx>
References: <20250528101139.28702-1-looong.bin@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add PWM controller for SG2044 on base of SG2042.
Signed-off-by: Longbin Li <looong.bin@xxxxxxxxx>
Reviewed-by: Chen Wang <unicorn_wang@xxxxxxxxxxx>
Tested-by: Chen Wang <unicorn_wang@xxxxxxxxxxx>
---
drivers/pwm/pwm-sophgo-sg2042.c | 89 ++++++++++++++++++++++++++++++++-
1 file changed, 87 insertions(+), 2 deletions(-)
diff --git a/drivers/pwm/pwm-sophgo-sg2042.c b/drivers/pwm/pwm-sophgo-sg2042.c
index da1c75b9c8f5..d71d2a66b722 100644
--- a/drivers/pwm/pwm-sophgo-sg2042.c
+++ b/drivers/pwm/pwm-sophgo-sg2042.c
@@ -13,6 +13,7 @@
* the running period.
* - When PERIOD and HLPERIOD is set to 0, the PWM wave output will
* be stopped and the output is pulled to high.
+ * - SG2044 supports both polarities, SG2042 only normal polarity.
* See the datasheet [1] for more details.
* [1]:https://github.com/sophgo/sophgo-doc/tree/main/SG2042/TRM
*/
@@ -41,6 +42,10 @@
#define SG2042_PWM_HLPERIOD(chan) ((chan) * 8 + 0)
#define SG2042_PWM_PERIOD(chan) ((chan) * 8 + 4)
+#define SG2044_PWM_POLARITY 0x40
+#define SG2044_PWM_PWMSTART 0x44
+#define SG2044_PWM_OE 0xd0
+
#define SG2042_PWM_CHANNELNUM 4
/**
@@ -84,8 +89,8 @@ static void pwm_sg2042_set_dutycycle(struct pwm_chip *chip, struct pwm_device *p
period_ticks = min(mul_u64_u64_div_u64(ddata->clk_rate_hz, state->period, NSEC_PER_SEC), U32_MAX);
hlperiod_ticks = min(mul_u64_u64_div_u64(ddata->clk_rate_hz, state->duty_cycle, NSEC_PER_SEC), U32_MAX);
- dev_dbg(pwmchip_parent(chip), "chan[%u]: PERIOD=%u, HLPERIOD=%u\n",
- pwm->hwpwm, period_ticks, hlperiod_ticks);
+ dev_dbg(pwmchip_parent(chip), "chan[%u]: ENABLE=%u, PERIOD=%u, HLPERIOD=%u, POLARITY=%u\n",
+ pwm->hwpwm, state->enabled, period_ticks, hlperiod_ticks, state->polarity);
pwm_sg2042_config(ddata, pwm->hwpwm, period_ticks, hlperiod_ticks);
}
@@ -135,6 +140,74 @@ static int pwm_sg2042_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
return 0;
}
+static void pwm_sg2044_set_outputen(struct sg2042_pwm_ddata *ddata, struct pwm_device *pwm,
+ bool enabled)
+{
+ u32 pwmstart;
+
+ pwmstart = readl(ddata->base + SG2044_PWM_PWMSTART);
+
+ if (enabled)
+ pwmstart |= BIT(pwm->hwpwm);
+ else
+ pwmstart &= ~BIT(pwm->hwpwm);
+
+ writel(pwmstart, ddata->base + SG2044_PWM_PWMSTART);
+}
+
+static void pwm_sg2044_set_outputdir(struct sg2042_pwm_ddata *ddata, struct pwm_device *pwm,
+ bool enabled)
+{
+ u32 pwm_oe;
+
+ pwm_oe = readl(ddata->base + SG2044_PWM_OE);
+
+ if (enabled)
+ pwm_oe |= BIT(pwm->hwpwm);
+ else
+ pwm_oe &= ~BIT(pwm->hwpwm);
+
+ writel(pwm_oe, ddata->base + SG2044_PWM_OE);
+}
+
+static void pwm_sg2044_set_polarity(struct sg2042_pwm_ddata *ddata, struct pwm_device *pwm,
+ const struct pwm_state *state)
+{
+ u32 pwm_polarity;
+
+ pwm_polarity = readl(ddata->base + SG2044_PWM_POLARITY);
+
+ if (state->polarity == PWM_POLARITY_NORMAL)
+ pwm_polarity &= ~BIT(pwm->hwpwm);
+ else
+ pwm_polarity |= BIT(pwm->hwpwm);
+
+ writel(pwm_polarity, ddata->base + SG2044_PWM_POLARITY);
+}
+
+static int pwm_sg2044_apply(struct pwm_chip *chip, struct pwm_device *pwm,
+ const struct pwm_state *state)
+{
+ struct sg2042_pwm_ddata *ddata = pwmchip_get_drvdata(chip);
+
+ pwm_sg2044_set_polarity(ddata, pwm, state);
+
+ pwm_sg2042_set_dutycycle(chip, pwm, state);
+
+ /*
+ * re-enable PWMSTART to refresh the register period
+ */
+ pwm_sg2044_set_outputen(ddata, pwm, false);
+
+ if (!state->enabled)
+ return 0;
+
+ pwm_sg2044_set_outputdir(ddata, pwm, true);
+ pwm_sg2044_set_outputen(ddata, pwm, true);
+
+ return 0;
+}
+
static const struct sg2042_chip_data sg2042_chip_data = {
.ops = {
.apply = pwm_sg2042_apply,
@@ -142,11 +215,22 @@ static const struct sg2042_chip_data sg2042_chip_data = {
}
};
+static const struct sg2042_chip_data sg2044_chip_data = {
+ .ops = {
+ .apply = pwm_sg2044_apply,
+ .get_state = pwm_sg2042_get_state,
+ }
+};
+
static const struct of_device_id sg2042_pwm_ids[] = {
{
.compatible = "sophgo,sg2042-pwm",
.data = &sg2042_chip_data
},
+ {
+ .compatible = "sophgo,sg2044-pwm",
+ .data = &sg2044_chip_data
+ },
{ }
};
MODULE_DEVICE_TABLE(of, sg2042_pwm_ids);
@@ -212,5 +296,6 @@ static struct platform_driver pwm_sg2042_driver = {
module_platform_driver(pwm_sg2042_driver);
MODULE_AUTHOR("Chen Wang");
+MODULE_AUTHOR("Longbin Li <looong.bin@xxxxxxxxx>");
MODULE_DESCRIPTION("Sophgo SG2042 PWM driver");
MODULE_LICENSE("GPL");
--
2.49.0
Return-Path: <linux-kernel+bounces-665270-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 39DC041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:16:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 5472E16538C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:16:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4048C1F463F;
Wed, 28 May 2025 10:16:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="QUTpOA5T"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A41374A28
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:16:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.14
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427378; cv=none; b=rLPOodm/mc4bvKIP1PDm2XbYhxEz9jJDkpxMR345BYfh9pvLm7zmOjjG2v5g5gpiyNjhnIZt5Wval64kLFjliG5IPy9vq6f34cF2Y1HvMYQzP64xW5D+1S8bTnPHtqOK6jGs7Wnwc+ZB3bjx/AwypPJRbEcbj8SpcCsO4FtquDQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427378; c=relaxed/simple;
bh=4pYxOTuaQHO2ph4JvhXpeDEXDuJLt50hEX6YyA8tTZU=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=HjAHB9NYKcj79Bz1asc3RDp0NBhHFIda9S5LqF9P0WUf3oe19NcgsKTXOFdirr/uT04NwPU7quNHUkkeB75v9rZwIzM2TRhTPolTypZlEmoPm8JNDr5kiOlo8KYgKH7tx/3zMcB6MfsDIJyz868UIm79T6ALsussq5OBsTdEiBc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=QUTpOA5T; arc=none smtp.client-ip=192.198.163.14
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748427377; x=1779963377;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=4pYxOTuaQHO2ph4JvhXpeDEXDuJLt50hEX6YyA8tTZU=;
b=QUTpOA5Tgi0HbU47UQmaoQN9oA2Z5rcM65p1NoGntU2McnEQtWBHYSjj
CqZnBmiiSNMZBdOaefhwXwLItvQIQDE4G0UvUb5wY5wWC8Qk3Nr+2BGwR
Q3bxVVhUM3027/85E2V9M9kKwxE458PwbxXhjTBOfGP1QpF7h6/RJkr7D
ywVlcE+C+DjEtiWXivNghrG2egACWykGc5WJNLidAE7L9cLWgEqGqnIT/
AIxRufUtZcXCMg5vBuhlp9CU+8APpMXHfs96xetX+eYNSYOklCXBeMADO
ggxohJsC3aAEHeLGcyAsntL/b3GgdTVvAh5JsNC8+ptKkCtpJa/iDlPhy
w==;
X-CSE-ConnectionGUID: Yfrfkh1cQZOtbOlTpS/lxw==
X-CSE-MsgGUID: 3ZRoI18XRgCa5n+176oYeg==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="50552498"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="50552498"
Received: from fmviesa009.fm.intel.com ([10.60.135.149])
by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:16:16 -0700
X-CSE-ConnectionGUID: UukijEHMSIWZ6yS+Xmbk4A==
X-CSE-MsgGUID: dh2cMWCgSMi1dXUS1hwIZA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="144171151"
Received: from smile.fi.intel.com ([10.237.72.52])
by fmviesa009.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:16:13 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uKDpR-00000001PjW-2sfp;
Wed, 28 May 2025 13:16:09 +0300
Date: Wed, 28 May 2025 13:16:09 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxxxx>,
Thomas =?iso-8859-1?Q?Hellstr=F6m?= <thomas.hellstrom@xxxxxxxxxxxxxxx>,
Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>,
Dave Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Matthew Brost <matthew.brost@xxxxxxxxx>,
Himal Prasad Ghimiray <himal.prasad.ghimiray@xxxxxxxxx>,
Imre Deak <imre.deak@xxxxxxxxx>,
Ilpo =?iso-8859-1?Q?J=E4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>,
"Michael J. Ruhl" <michael.j.ruhl@xxxxxxxxx>,
intel-xe@xxxxxxxxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency
Message-ID: <aDbiaepHBSgh1BNZ@xxxxxxxxxxxxxxxxxx>
References: <20250523121106.2231003-1-arnd@xxxxxxxxxx>
<j7yodlrk7wh3ylvb2z622ndlzm4guhahmakdb6l5d6qtv5sabo@w4bfiehtmaab>
<aDbYs7QZRfr2i80A@xxxxxxxxxxxxxxxxxx>
<704fd2b9-04da-4ec8-b854-22bc3ce9058e@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <704fd2b9-04da-4ec8-b854-22bc3ce9058e@xxxxxxxxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 12:03:43PM +0200, Arnd Bergmann wrote:
> On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote:
> > On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote:
> >> On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote:
> >
> > ...
> >
> >> > + depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI)
> >>
> >> ^
> >> Did you mean X86_PLATFORM_DEVICES here?
>
> Yes, my mistake.
>
> > Why do we need to depend on the whole thingy (yes, it will be enabled at the
> > end) if we only talking about Intel?
>
> I don't understand what you mean with 'the whole thing'. My change
> changed the existing 'select X86_PLATFORM_DEVICES if X86 && ACPI'
> into the corresponding dependency, in order to change it the
> least.
It used to be (for only one or two releases) X86_PLATFORM_DRIVERS_INTEL, but it
doesn't look closer to the mistake above, which I was thinking of. So, Lucas is
right.
> The dependency itself is needed because of
>
> select ACPI_WMI if X86 && ACPI
>
> and this in turn is needed for
>
> select ACPI_VIDEO if X86 && ACPI
>
> >> With that, Reviewed-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
> >>
> >> I see several drivers selecting
> >> X86_PLATFORM_DEVICES though. Maybe they should also be translated to
> >> dependencies instead?
> >
> > I think so, selecting that sounds wrong.
>
> Agreed. Overall, what I'd really like to see is to remove
> all those 'select' of drivers from other subsystems.
Let's start from some low-hanging fruits?
> I think
> ACPI_VIDEO is at the center here, and changing all the
> 'select ACPI_VIDEO if ACPI' instances to
> 'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of
> the recurring dependency loop problems in drivers/gpu/.
>
> Actually doing it without regressions is going to be
> nontrivial though, because any change in this area is likely
> to trigger another dependency loop somewhere.
True and I agree this requires more comprehensive testing.
--
With Best Regards,
Andy Shevchenko
Return-Path: <linux-kernel+bounces-665271-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 581DA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:17:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 6025B7AC947
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:15:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9441821420A;
Wed, 28 May 2025 10:17:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kode54.net header.i=@kode54.net header.b="bw0yXxjI";
dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="ah4jn+b3"
Received: from fout-a3-smtp.messagingengine.com (fout-a3-smtp.messagingengine.com [103.168.172.146])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B67891DE3CA
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:17:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.146
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427428; cv=none; b=ZaHB1jO4JWRWhC/HRHzHmbDh3k4lmNcaJ3TxuivbSSiNQH62Fp5hkKTUYTzHhON9dQrhhIiCnCsUT7j5BzTWcpgPmR7DaVmNF1kr5VKKC2Y+KiyAjxQSgiiOaKfSLbBl2TZqX6O5Dj7D1BMbQoA58Rdlln9OBbKk++nM36c/iUg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427428; c=relaxed/simple;
bh=PbDzw/ZxaObgLMGXVIHx8zHTWK7BUQcYBIeexMNbRXM=;
h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To:
References:In-Reply-To; b=tc2M9FRRNBktsaL18ZldjrQL7IXy/sfdQ2tJhIhZxfTQ0EMWQBAFNnq5MD1ZG/KWZQzUlxqaajyQ9Zt7Ao1TWbbVsJWkKoYv3hB+ldYaZlKpDxu0MGWN3XMaTj07AZRwpSMbY231y+H86Jr7s4QY21BLKql+CcOtvsgWtKVdBPg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kode54.net; spf=pass smtp.mailfrom=kode54.net; dkim=pass (2048-bit key) header.d=kode54.net header.i=@kode54.net header.b=bw0yXxjI; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=ah4jn+b3; arc=none smtp.client-ip=103.168.172.146
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=kode54.net
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kode54.net
Received: from phl-compute-09.internal (phl-compute-09.phl.internal [10.202.2.49])
by mailfout.phl.internal (Postfix) with ESMTP id C15DE1380476;
Wed, 28 May 2025 06:17:05 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
by phl-compute-09.internal (MEProxy); Wed, 28 May 2025 06:17:05 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kode54.net; h=cc
:cc:content-transfer-encoding:content-type:content-type:date
:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to; s=fm3; t=1748427425;
x=1748513825; bh=P8auA2USmEdV18y196k++sC84Brou4F8CImPgumm/YE=; b=
bw0yXxjIdRpX2JiAU1gW3q3m+Pmc4svAkyeqFwWqy0Mu1t9uns8kjClG25fyZt3I
52yo8PX64Zpq7R9oZcw8QKZOnxIT2k+ly+M6sz9BsMj3kpGPP4wDKZFldxAVB/CH
4Jl0eNZc+NUvjaij+3FmjpXyQnnLKzKvwo0xmU/AJHgsdvClS9H7KGd4Z/1pNyOP
ZpGyIDafkQ7mZ9E+/NDJ25ORJFtM2wQyqqG8ejX2TjJm+B1TUHdXHzjYC8j4mXCm
dUZDrRMh1ixlcvcqrDMib4NWmmJpgi7y0mH4AnRVmeOLTAy/RIBdQmsBVyqDlFmJ
wSSSussQy94Golyh6eymng==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-transfer-encoding
:content-type:content-type:date:date:feedback-id:feedback-id
:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to:x-me-proxy
:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1748427425; x=
1748513825; bh=P8auA2USmEdV18y196k++sC84Brou4F8CImPgumm/YE=; b=a
h4jn+b3bDstgtI9YVEt7q/20vVDEvqcTaj+79ZYBC2d4yb7RoD/YV/8mziMFJrEl
EVuTzuvmOu37+t7pZLSRdRqQF5x8AP2fIscnD6mY9EHAZl339To4+KHMyMUw6DgW
DTITG8J3yXFO07ohRUNLhVjY2l3iQoSVscZcDJXmFDQteAtSY1qDUcHLI4VTTC75
AyawPRw7M3qzBbyjl1fvVyPGYNiqJv9aPnc/f5JS7E888V/k6PwNnPrEzRx7Mpn2
+OLk58z2+1c7LUORHVwhRoejwMd+bSV8ZITa8/GQA+pggYAh5P9Q9/3P67hTSq4o
wzf1IzTWC7n9bgthCBv2A==
X-ME-Sender: <xms:oeI2aGUjCBb0kfSLU7OWEAKLyYom2FrZd3p8V70NqfQGnK8eo6dEqg>
<xme:oeI2aCnsVTCZ4zFOH6CKzaRop5uVxPDcoq4SKDJggP-J4Bdnf6GrajPeTTPJDL4zv
llqsDcNjzfz9cjtTvA>
X-ME-Received: <xmr:oeI2aKa77gH4agOXiVudrjnsFg1B1wqratG2JDhPpr5zln0ZlYXcuxpo5WYOmKcPpYdl62KRtJF0Jt-m1r9rfgEddBR5qQkCuA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvfedttdculddtuddrgeefvddrtd
dtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggft
fghnshhusghstghrihgsvgdpuffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftd
dtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpegggfgtfffkvefu
hffvofhfjgesthhqredtredtjeenucfhrhhomhepfdevhhhrihhsthhophhhvghrucfunh
hofihhihhllhdfuceotghhrhhisheskhhouggvheegrdhnvghtqeenucggtffrrghtthgv
rhhnpeeileetudejffegjeegfffhhffhkeefjefgtddujeehheevleevjeejffekieekve
enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegthhhr
ihhssehkohguvgehgedrnhgvthdpnhgspghrtghpthhtohepudejpdhmohguvgepshhmth
hpohhuthdprhgtphhtthhopegrrhhnugesrghrnhgusgdruggvpdhrtghpthhtoheprghn
ughrihihrdhshhgvvhgthhgvnhhkoheslhhinhhugidrihhnthgvlhdrtghomhdprhgtph
htthhopehluhgtrghsrdguvghmrghrtghhihesihhnthgvlhdrtghomhdprhgtphhtthho
pegrrhhnugeskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepthhhohhmrghsrdhhvghllh
hsthhrohhmsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtoheprhhoughrihhg
ohdrvhhivhhisehinhhtvghlrdgtohhmpdhrtghpthhtoheprghirhhlihgvugesghhmrg
hilhdrtghomhdprhgtphhtthhopehsihhmohhnrgesfhhffihllhdrtghhpdhrtghpthht
ohepmhgrthhthhgvfidrsghrohhsthesihhnthgvlhdrtghomh
X-ME-Proxy: <xmx:oeI2aNV1KIVFuLFKAGU7Yw5vDO3VbiclarcMsIhpLqKE3qzcqfyyyw>
<xmx:oeI2aAlOt54hH0akC_bt-N19RitpIX1frmmgBOaK3q52MVnA6UNHqA>
<xmx:oeI2aCfsWoPmqSl1iRe7uXYdVC4AQFb4AQKrryV2DvBVkb0UmkQNWg>
<xmx:oeI2aCEoc5ZwzlAGqMLhoUUOhk1J-JoGq586MWHbG0YxERGYY9BDvA>
<xmx:oeI2aEnBSGh_6jhHSjTF187X_eMD8WMiR0jJi3k6ZlGE-tNowY2soXxp>
Feedback-ID: i9ec6488d:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
28 May 2025 06:17:04 -0400 (EDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Wed, 28 May 2025 03:17:03 -0700
Message-Id: <DA7PSM1WUKBI.3JA6THJTRF5B7@xxxxxxxxxx>
Cc: "Arnd Bergmann" <arnd@xxxxxxxxxx>, =?utf-8?q?Thomas_Hellstr=C3=B6m?=
<thomas.hellstrom@xxxxxxxxxxxxxxx>, "Rodrigo Vivi"
<rodrigo.vivi@xxxxxxxxx>, "Dave Airlie" <airlied@xxxxxxxxx>, "Simona
Vetter" <simona@xxxxxxxx>, "Matthew Brost" <matthew.brost@xxxxxxxxx>,
"Himal Prasad Ghimiray" <himal.prasad.ghimiray@xxxxxxxxx>, "Imre Deak"
<imre.deak@xxxxxxxxx>, =?utf-8?q?Ilpo_J=C3=A4rvinen?=
<ilpo.jarvinen@xxxxxxxxxxxxxxx>, "Michael J. Ruhl"
<michael.j.ruhl@xxxxxxxxx>, <intel-xe@xxxxxxxxxxxxxxxxxxxxx>,
<dri-devel@xxxxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
"dri-devel" <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency
From: "Christopher Snowhill" <chris@xxxxxxxxxx>
To: "Arnd Bergmann" <arnd@xxxxxxxx>, "Andy Shevchenko"
<andriy.shevchenko@xxxxxxxxxxxxxxx>, "Lucas De Marchi"
<lucas.demarchi@xxxxxxxxx>
X-Mailer: aerc 0.20.1-0-g2ecb8770224a
References: <20250523121106.2231003-1-arnd@xxxxxxxxxx>
<j7yodlrk7wh3ylvb2z622ndlzm4guhahmakdb6l5d6qtv5sabo@w4bfiehtmaab>
<aDbYs7QZRfr2i80A@xxxxxxxxxxxxxxxxxx>
<704fd2b9-04da-4ec8-b854-22bc3ce9058e@xxxxxxxxxxxxxxxx>
In-Reply-To: <704fd2b9-04da-4ec8-b854-22bc3ce9058e@xxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed May 28, 2025 at 3:03 AM PDT, Arnd Bergmann wrote:
> On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote:
>> On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote:
>>> On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote:
>>
>> ...
>>
>>> > + depends on INTEL_PLATFORM_DEVICES || !(X86 && ACPI)
>>>=20
>>> ^
>>> Did you mean X86_PLATFORM_DEVICES here?
>
> Yes, my mistake.
>
>> Why do we need to depend on the whole thingy (yes, it will be enabled at=
the
>> end) if we only talking about Intel?
>
> I don't understand what you mean with 'the whole thing'. My change
> changed the existing 'select X86_PLATFORM_DEVICES if X86 && ACPI'
> into the corresponding dependency, in order to change it the
> least.
>
> The dependency itself is needed because of
>
> select ACPI_WMI if X86 && ACPI
>
> and this in turn is needed for
>
> select ACPI_VIDEO if X86 && ACPI
>
>>> With that, Reviewed-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
>>>=20
>>> I see several drivers selecting
>>> X86_PLATFORM_DEVICES though. Maybe they should also be translated to
>>> dependencies instead?
>>
>> I think so, selecting that sounds wrong.
>
> Agreed. Overall, what I'd really like to see is to remove
> all those 'select' of drivers from other subsystems. I think
> ACPI_VIDEO is at the center here, and changing all the
> 'select ACPI_VIDEO if ACPI' instances to
> 'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of
Maybe you meant 'depends on ACPI_VIDEO || !ACPI' ?
> the recurring dependency loop problems in drivers/gpu/.
>
> Actually doing it without regressions is going to be
> nontrivial though, because any change in this area is likely
> to trigger another dependency loop somewhere.
>
> Arnd
Return-Path: <linux-kernel+bounces-665272-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EA8A241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:18:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0A78A17F68B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:18:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2247327602A;
Wed, 28 May 2025 10:18:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="pJPFUHQE"
Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id F083220FABC
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:18:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427504; cv=none; b=MXY7PrisCvGBarzziA/HiLMz7BAXrW3f9TNMI+GljCWR+Jj9HMLaANX4fVQ8Wy6cI8Jmw5hSLz21BGJzaAX+mrQ5QzadcexS3Mlbb58eKizOoAb59Ll9sYWAbWAeYYjQYZ8H+MPidh8lK5XtWRFucbr3U4f6Ae4VSPDvkmFrmW8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427504; c=relaxed/simple;
bh=A0xb8zh27S93Eetp8e9L6f77n+tEtjFUeeIM8YlkTkI=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=Eo2Qr4JKGRpOaZkIcFPr62+B5ahVMYIfjEFbcLq7/n6jIIvas8PDj/9FcX1M1z/IuqkyKaaOX8qOKgzuIlS8KShvPLj/pYao/akExMP5XZ0UP2cN4WxzKWOePttaEomk0NRf5LuBlLbG7weWjoinFIQ8kqLtQmJJcXbx1hvkvls=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=pJPFUHQE; arc=none smtp.client-ip=209.85.128.74
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com
Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-43cf5196c25so25032315e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:18:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748427500; x=1749032300; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=8NINXg8J4QmaW8sPWc6e+ws47cGsufUBr4Yz5V/EO6s=;
b=pJPFUHQEn3WIBV0/p3yjBolM7DbIugyFbQA9a5cPBLSH2NwW6ttsXd7NThCtu057NZ
lDiMBTTPK4faNbNOQ7pzXXU7jS+SVWag9YMfmJeopLaQZO2kCw87Cy9clLy+kejdYNgh
X9ZFGBh8us/U2QMmhVJ5hOm/wj+r1BFdGMoRFxZyKuSsRT8lmZKV/sdyFlrg7lmpOfmZ
WiIJtdIrCendbCOOsgIePtrhuQf/hhjpkYL3m65gGK2E4fmawODsw6TDhVbfRFLB6T7r
Zjwiuej5wLEx0kqq0XSNWj3K5vftEIrutiVx9eYvIpWpNZiOe5fmjGsuBchqs4IsnFlq
m2GQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427500; x=1749032300;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=8NINXg8J4QmaW8sPWc6e+ws47cGsufUBr4Yz5V/EO6s=;
b=ckN5BIVFoHXpzDqOmLlriH1Z6uFi49vy4WXjjcObDGjAqq7EmXIY/MDwAzNqEG+eJv
z/jHN+gul5t0FofVdCdV2ZHA3YOhRNK5iptHAo8WJoBQRK1uBhMfwGybGgFdIUIPdbuU
1V3ByfoMsRxOwQ11ZARE9PIq6ZfSiOhEz8H1Ma/sjBsS8ZQO9q8OFwP+2UxbKnN0AE11
9QDK6gEuJQgvSQcVKxZ6EcEsAg25FX0d25zLvUT7nDN90B+141R1Kbq67vy3tyktGUFH
fkbWQmB3ZHpF0k/0YKlJmIZNEEnoXBzY3gv6MiC7RyfKjnuVTt8vpR0byuCHlxB/nJOC
l63Q==
X-Forwarded-Encrypted: i=1; AJvYcCXBTO28Q2+q79vVxIPxhUtH2T6Y86o7JTdrLf/74cYKuEXsOsx0FA6woZeS5Faifgiq7y0Ph1kN02f2K60=@vger.kernel.org
X-Gm-Message-State: AOJu0Yz0l+qwKHZwIk96XTTJDidtbyrdIsQdKtQmcw5jrfwU5TW8GgG7
pPy/05wmNyib5qMrSNx73+p1u2qgWh/+klqmPoGxCu8r748myDguWkMJrvJq/PBFXrP2YHkItdF
gdFkVHQ/VAVhGrQrQkQ==
X-Google-Smtp-Source: AGHT+IG9PGBM2TysjUwYmOEWzK8Ty36GnkdiP9d5JzUPAfuLhTCZs5RZuwULClsLB26imfDnECTaA8g9RXT0RAo=
X-Received: from wmsp39.prod.google.com ([2002:a05:600c:1da7:b0:442:ddf8:99dc])
(user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by
2002:a05:600c:1e25:b0:43d:db5:7af8 with SMTP id 5b1f17b1804b1-44c92a547bbmr142010215e9.21.1748427500382;
Wed, 28 May 2025 03:18:20 -0700 (PDT)
Date: Wed, 28 May 2025 10:18:18 +0000
In-Reply-To: <20250527-idiomatic-match-slice-v1-1-34b0b1d1d58c@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250527-idiomatic-match-slice-v1-1-34b0b1d1d58c@xxxxxxxxx>
Message-ID: <aDbi6i9xWWRHaBGb@xxxxxxxxxx>
Subject: Re: [PATCH] rust: replace length checks with match
From: Alice Ryhl <aliceryhl@xxxxxxxxxx>
To: Tamir Duberstein <tamird@xxxxxxxxx>
Cc: Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
"=?utf-8?B?QmrDtnJu?= Roy Baron" <bjorn3_gh@xxxxxxxxxxxxxx>, Benno Lossin <lossin@xxxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, Brendan Higgins <brendan.higgins@xxxxxxxxx>,
David Gow <davidgow@xxxxxxxxxx>, Rae Moar <rmoar@xxxxxxxxxx>, linux-kselftest@xxxxxxxxxxxxxxx,
kunit-dev@xxxxxxxxxxxxxxxx, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="utf-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 12:09:36PM -0400, Tamir Duberstein wrote:
> Use a match expression with slice patterns instead of length checks and
> indexing. The result is more idiomatic, which is a better example for
> future Rust code authors.
>
> Signed-off-by: Tamir Duberstein <tamird@xxxxxxxxx>
Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665273-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2BE6141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:19:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 824BD7AB4B8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:18:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C73E2279323;
Wed, 28 May 2025 10:19:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ijYDzEZp"
Received: from mail-wr1-f74.google.com (mail-wr1-f74.google.com [209.85.221.74])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D7D620FABC
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:19:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.74
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427584; cv=none; b=tmXKwZPepoM6DqBpXr9lNR/yg+3vzJMqnzzTevIIytpATaW39gWIgpm9G8+LAdUnb5olgvbpzZ15VCvQWA5m7qHUrznIDtZE+hfzZhdYmcz5r1D/ZodMpCUFMpnKLVb8X67USQ7EPa73odbdh2trX51DziGONtiBjm42/wn2CGs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427584; c=relaxed/simple;
bh=VI5XMEtYymvXEZUkdE+CqGy2x1qc/eA9MLFr5yEawCQ=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=cJUtE/E2CrwkfBlbzfH/K62auk6onQzPgAU05nqjItRcgsmQJY1syKxd+mMAamN1f4kqVk+cQHSlNjo2DWOKR8lezUOaWIowcA0DKHT9LvCLa1WsIT8wN5WSiIw0w9PwQ85t18FvC4gdNkkAzcYN3dGL+8N4w7Ev6crJMVuStts=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=ijYDzEZp; arc=none smtp.client-ip=209.85.221.74
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com
Received: by mail-wr1-f74.google.com with SMTP id ffacd0b85a97d-3a4e1c6c68bso1280334f8f.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:19:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748427580; x=1749032380; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=35ch6qViYkOrTqxvbtV1QWyz6ls9oFvjHKTve0SAxuA=;
b=ijYDzEZpLM/ljFL27Zw4J5Z7ow4fX6iH2DOmxAhc8rtlmukRy1oryn6DfiJKBVOS+C
rtUiDdiem9ZxmIjJA/sNJokTA3zcF3FZgTzM74bldF6wbdU7JButYczPljqc/aMI7Ium
0nHfQEJA/YNBbqU9bzSVEDHNwZDpfk1GZnEC6MNeZNx23I9ydOk/eS6h0j0RANCUydLs
Tcowauwk8U23WzAhr1fb+CKriGFxhPOISlKs/VjS2fYTinHiyRkNnYlsaNelSM3qYG76
+DWldDSNS9XUiIYh6U0VytYy2FWrTlYoxAqJYV0ye49eKEbOtHLGn5nkcQHRB+H64J6Q
yt/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427580; x=1749032380;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=35ch6qViYkOrTqxvbtV1QWyz6ls9oFvjHKTve0SAxuA=;
b=pk3etcLopA3nzeLXqI248Fx6Utbh2zf58GMFWvtC1TSHulG7VchOflGDOBs9fkhyan
DA3kJA1KOOTLN0oCy/OS9P4POa97r0l6WsWQZw6fdY5t8sFV/C7oNsITnCMwQbCLxUmn
WGhA0OXxg8vgEgObDy/xlEmhu0tKHY5XtK2wADiTxsQdf1sQqVYFwLr1KzHVl1K2CZsh
TR4FWiRolrIrzGvzDiydPWKy8jtob6/hrYeDMrBUvgRRVCY/kZbi2vTx/kR9qiCI9rgE
a5UCqSui6b1mUUWOK8Ou/mnVbdWBHI3pQox+LACBkTi3uRQQK4wV48tIQmX9Q8UQYc8g
t4Jw==
X-Forwarded-Encrypted: i=1; AJvYcCVxSZz45NrmOOdeUAcoGmf2Z8MHZ/Om3K6r23YUEs5cDpYP16uxGmpZKwxwkl+DyH8eEmlws9+sUD0WQu0=@vger.kernel.org
X-Gm-Message-State: AOJu0YzymSeKkPL2SwsPQEZR1sMllB4zbahp0OeOqfejQdDHTj54dXkA
7MtVz2DfdnbNxlwDf+wfsqRXPLze7aZdKCnmsziV+bvJ+lusovXdf0Jw8/RJwtunIoQp++noo4Y
oHP1E2C13Z/AwK7yCig==
X-Google-Smtp-Source: AGHT+IEi18Sdr/w5PdnXm7hoCErFl0eH4ZUw2NhMf6AyANXqE0wnRIFEZpzrukKxGggH9pmtR5JC9r1qkIR6+VE=
X-Received: from wrd12.prod.google.com ([2002:a05:6000:4a0c:b0:3a3:6d37:3db2])
(user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by
2002:a05:6000:40dd:b0:3a4:e1d2:9a7a with SMTP id ffacd0b85a97d-3a4e1d29b1cmr5537906f8f.46.1748427579900;
Wed, 28 May 2025 03:19:39 -0700 (PDT)
Date: Wed, 28 May 2025 10:19:38 +0000
In-Reply-To: <20250527204636.12573-1-pekkarr@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250527204636.12573-1-pekkarr@xxxxxxxxxxxxxx>
Message-ID: <aDbjOpMZlhD6irj-@xxxxxxxxxx>
Subject: Re: [PATCH 1/2] rust: file: mark `LocalFile` as `repr(transparent)`
From: Alice Ryhl <aliceryhl@xxxxxxxxxx>
To: Pekka Ristola <pekkarr@xxxxxxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>, Christian Brauner <brauner@xxxxxxxxxx>,
Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>, Jan Kara <jack@xxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
"=?utf-8?B?QmrDtnJu?= Roy Baron" <bjorn3_gh@xxxxxxxxxxxxxx>, Benno Lossin <lossin@xxxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx,
rust-for-linux@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="utf-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 08:48:55PM +0000, Pekka Ristola wrote:
> Unsafe code in `LocalFile`'s methods assumes that the type has the same
> layout as the inner `bindings::file`. This is not guaranteed by the default
> struct representation in Rust, but requires specifying the `transparent`
> representation.
>
> The `File` struct (which also wraps `bindings::file`) is already marked as
> `repr(transparent)`, so this change makes their layouts equivalent.
>
> Fixes: 851849824bb5 ("rust: file: add Rust abstraction for `struct file`")
> Closes: https://github.com/Rust-for-Linux/linux/issues/1165
> Signed-off-by: Pekka Ristola <pekkarr@xxxxxxxxxxxxxx>
Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665274-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B580441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:20:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 1DE697AC8C6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:19:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DF929279331;
Wed, 28 May 2025 10:20:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="KJoSS04+"
Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F7D32147F6
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:20:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427616; cv=none; b=UuOvnZoGT6LIOzZmSDB+BYXL4xeHT/akXS7HqFP14++an/lRBLM1M853/9V7zx2ccWJA4zZW72YS+eK/XW96aTgqLALD3srSnbnEE3X8ocl3N6rkWJ+xuFRIzZHwE+7/vRBtjHzawGoHgUlZgA0HYaPO1MYTMFFYgtADMBbZPDM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427616; c=relaxed/simple;
bh=QVXvLr3GtA7cc1rTDq8wqrsCt69VXLlXgxESkQwMPGs=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=ZBUWyFivncKWE2hkJDETwav7n85w1D0Mi2TkLWuDUe/IVbpzWN7kt3m4uC6LGrl6TbMVphODT3PCKfN/LPGNeRKZwzV6nkzdgkIDhqxRuaM97gvLvLwdScXpqj93192Wdq6Avlsh4IfGKfNL8SJTfO1rNCuk5nM4+MUq6LNigTg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=KJoSS04+; arc=none smtp.client-ip=209.85.128.73
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com
Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-43f251dc364so24984795e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:20:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748427613; x=1749032413; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=ZqTpKLT888ECG39NBheVQQY2QZ8sDTvoN58x2xm6E7Y=;
b=KJoSS04+5nFceubjLn07ZmwFPgjJAPvZD2Ya8WqinsLMA23elwz8zz2ZwI3Ywwewdv
quIbB1+ANRrSMqPeEZcaoF+YxuZ01Xs1fJO/eXHbsPPAtPtJYhpqYFAZ9m8WIklNr7u+
gy0KI2JQY+E8QtvkxK6P2HHDRTpNebxqt1CdJvG+6/BtJx21I4wNA3ZmIbGSaQq6871a
+L2xArlSw9D6NLNxHknGZ1XsoJrzjQDJnr9fRitB0PPBBJDheR7slHCCAmpEoJlMX9Bp
hzTfGqTlnU6L5/FcqEoP7C16k3ZITgudSHwO44RthEX45/iQaAWJ9zUA10n/vTtf+OSb
9dFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427613; x=1749032413;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=ZqTpKLT888ECG39NBheVQQY2QZ8sDTvoN58x2xm6E7Y=;
b=uDsGTWCk+MTZkMcHiWtmkFcIjNn/ab8uMixEddgVp8Ra7/sHym0y0Z4rytPUB9zoxz
mZbrNYn7gdVpBfJ3rXe43BvRyj8oMdME5PpagB4dZc+WcqworUGD+2Eh6OIdaYK42SkH
jgUMvbn2hjxRn5toD200Yb5+mNFWPM0LHnJXEytTPs3kJQIm10z3CjhyJBS7aY7//45Z
YGh0yrUXMaQ8jWphiu3I08J6JDNYbzT/ycUhOy669XD0eQtxh4Db64bM90C5buMaQi6R
xwhwH2jSw/nfYahZCjsKht/zoP+L/kUbbLqUAl6b2Cn4tMFyYFFgjjkGy73Ww3TTxppV
mz2Q==
X-Forwarded-Encrypted: i=1; AJvYcCXPFlTWSRjeBPwvxv8cpcOgELqYlCVGg8k/C+yHjXY+n5bZuEWS27HJkQnLsVOTvWAEs5PG83D4glT/11I=@vger.kernel.org
X-Gm-Message-State: AOJu0YwfKbMJ8EcU517rLdigqjD02vKRvYeFZ2khhpO1ro+MbPIiMZto
e+7zHm0UXQ1fezHwaPqKII/1nKgU6znf2S4XwshocaxexqXl0O8BFBm32OuDmSbOZbeSl48kKho
3AdeqPZowxs6IZut0Zw==
X-Google-Smtp-Source: AGHT+IFbZP87yhpd+A5UORuRl+efDd9mhI47Db4pLu1nsC4kPmFxtELld4jQWoKyvlreBoGWn167CcDJWgZNgZI=
X-Received: from wmbdv21.prod.google.com ([2002:a05:600c:6215:b0:450:5dbe:5f11])
(user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by
2002:a05:600c:a13:b0:43d:160:cd9e with SMTP id 5b1f17b1804b1-44c91fbb448mr159238185e9.17.1748427612802;
Wed, 28 May 2025 03:20:12 -0700 (PDT)
Date: Wed, 28 May 2025 10:20:10 +0000
In-Reply-To: <20250527204636.12573-2-pekkarr@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250527204636.12573-1-pekkarr@xxxxxxxxxxxxxx> <20250527204636.12573-2-pekkarr@xxxxxxxxxxxxxx>
Message-ID: <aDbjWk-18QxVPIn8@xxxxxxxxxx>
Subject: Re: [PATCH 2/2] rust: file: improve safety comments
From: Alice Ryhl <aliceryhl@xxxxxxxxxx>
To: Pekka Ristola <pekkarr@xxxxxxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>, Christian Brauner <brauner@xxxxxxxxxx>,
Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>, Jan Kara <jack@xxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
"=?utf-8?B?QmrDtnJu?= Roy Baron" <bjorn3_gh@xxxxxxxxxxxxxx>, Benno Lossin <lossin@xxxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx,
rust-for-linux@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="utf-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 08:48:59PM +0000, Pekka Ristola wrote:
> Some of the safety comments in `LocalFile`'s methods incorrectly refer to
> the `File` type instead of `LocalFile`, so fix them to use the correct
> type.
>
> Also add missing Markdown code spans around lifetimes in the safety
> comments, i.e. change 'a to `'a`.
>
> Link: https://github.com/Rust-for-Linux/linux/issues/1165
> Signed-off-by: Pekka Ristola <pekkarr@xxxxxxxxxxxxxx>
Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665275-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B952041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:21:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id BB59F3A5896
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:21:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 295A927875C;
Wed, 28 May 2025 10:21:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="dPGc8QOZ"
Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E512220F07D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:21:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427692; cv=none; b=UYSG1uFmzU3urHCLNlNMUwzK8vvgUoMAyKtd4tCXGhRmvoOlP21XMloSYgr4ghaJMRgJ7+a3ZQLeFR/PWyrMIj2w0LTH/XSOIaWsX4sLWOf8X6XznttJpweL1hVPHZ+HG3s2dvTdcNnWb8RINU0Mbk/sbDBG85ZtZG+/1/EY6+s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427692; c=relaxed/simple;
bh=dcMsoNk413jU5nMOVSSWNMWozGrxa6Y/JoRiP9+BC/w=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=ogWJMWgeHWynV5jTI103grSTuseAD5RLZSZXBDVFAG/V9gYwJv6AuWcTreN9RNexusdL08bV7W+ODTuqbhyyY1tZidCj08Io2WX4OF4Y0YuQdbQCSA1k00UoFXLfnfu4Rg+K8Sdf7h/iXj7N6DFSTRwIohclpk49gIl2j6QTN4Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=dPGc8QOZ; arc=none smtp.client-ip=209.85.128.73
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com
Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-43d0830c3f7so35144935e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:21:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748427689; x=1749032489; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=ihiUk54rwHLhPgQ/ymNPw0bmICGiLYzE3RfqwI1pWg8=;
b=dPGc8QOZEEOtso2iiK+PNqTfM11KNVC0sX2yftEkhPp8JR9hFAxJKOGokvsok0nJUd
mx/2MxhInCejAtp732bS2ikE2y7eLEm7XoPtfRppkUxSJLEE7dY82J+ZHe/iI16ol7fr
7yKHDNfvZoZlt3g2cQ11ZaPv0QauV6DpqC3uNQANv9aGfRkXDI90RBhUsTH61MxSY2qO
2wAqDY9g9YGlY5njlyu8u3ioG64IIVzjS9zBCPvMPAnjkTpD/P3H9+NwgQ8CkkYVFaGw
j7/HFzjiryTSe26tXWkZ6Fj4WmzHdoQmNBIoXXEVUNHYmyaT3Tb5H1Ppg9WPj1dxXKcI
gKMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427689; x=1749032489;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=ihiUk54rwHLhPgQ/ymNPw0bmICGiLYzE3RfqwI1pWg8=;
b=R8Hw4SKgUbAfMB8tIaKqfhUP2Vo8Dmmhfzhpdr8JwPaKYZluIFaPshjcWNAeKCppSk
dSng38UjtbGOFWbuQFQp0HPNgq/ZkgJSSkhxs8jLcqlKOvhF8myTXW/IDnSqrGSeqpP6
wFQp8aAlosAdGvyV60sV5uy8VwwhKDOpfYaql/6XzqPHHt0VUlfCCOabirsP17ErKaTA
H+oxO3Um3XuDm5MKOXQNLn08pPk6sZ2xyGlSqKmEvMosyyLtlcFpc0XDh3YKV+CNE6NY
RL9AFeFrVF7qo1WJ2XjVg11NjfZj36dZF1s+YatkBNM7MMQbCntGaLJe4Kaad/FdKZs4
TUow==
X-Forwarded-Encrypted: i=1; AJvYcCULxuKLZmVr2BRuYa8NqPu7ADvUwdqld6aPEwDUEjOdoXAok5qocQeoEQ7BKPejgBDQpy4xGpLPDRCdbzg=@vger.kernel.org
X-Gm-Message-State: AOJu0YxZjEFbBXG50mQkqctcxAbB9bM+TQ4TeZK+yTlrXKD9IhnQDsMR
AottOZMchSW1InpO4C9XBBj7JaA+rOnY393bhlATqsjXB4AGbvElEWCULph44qGa/Eh+Y0iAtuo
oCFtH2MCJl+aYkReTsg==
X-Google-Smtp-Source: AGHT+IHs5mJnbDInw3TkGPf3wo/Sg9XehLgPlODOdQf67wGziF/MJj+S+6bCTlQgb/SVU7imTB0yCuQAEVqM6f8=
X-Received: from wmbez3.prod.google.com ([2002:a05:600c:83c3:b0:442:f8e9:a2ac])
(user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by
2002:a05:600c:3f07:b0:442:f4d4:522 with SMTP id 5b1f17b1804b1-44c916072e2mr127245905e9.5.1748427689385;
Wed, 28 May 2025 03:21:29 -0700 (PDT)
Date: Wed, 28 May 2025 10:21:27 +0000
In-Reply-To: <20250527204928.5117-1-albinbabuvarghese20@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250527204928.5117-1-albinbabuvarghese20@xxxxxxxxx>
Message-ID: <aDbjp1oCqtGi6W9l@xxxxxxxxxx>
Subject: Re: [PATCH v2] rust/list: replace unwrap() with ? in doctest examples
From: Alice Ryhl <aliceryhl@xxxxxxxxxx>
To: Albin Babu Varghese <albinbabuvarghese20@xxxxxxxxx>
Cc: ojeda@xxxxxxxxxx, alex.gaynor@xxxxxxxxx, boqun.feng@xxxxxxxxx,
gary@xxxxxxxxxxx, bjorn3_gh@xxxxxxxxxxxxxx, lossin@xxxxxxxxxx,
a.hindborg@xxxxxxxxxx, tmgross@xxxxxxxxx, dakr@xxxxxxxxxx,
rust-for-linux@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="utf-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 04:49:28PM -0400, Albin Babu Varghese wrote:
> Using `unwrap()` in kernel doctests can cause panics on error and may
> give newcomers the mistaken impression that panicking is acceptable
> in kernel code.
>
> Replace all `.unwrap()` calls in `kernel::list`
> examples with `.ok_or(EINVAL)?` so that errors are properly propagated.
>
> Closes: https://github.com/Rust-for-Linux/linux/issues/1164
> Suggested-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
> Reviewed-by: Benno Lossin <lossin@xxxxxxxxxx>
> Link: https://github.com/Rust-for-Linux/linux/issues/1164
> Signed-off-by: Albin Babu Varghese <albinbabuvarghese20@xxxxxxxxx>
Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665276-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1294B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:21:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 17B2F7AD5CA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:20:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 57633278768;
Wed, 28 May 2025 10:21:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="U4QFFQUI"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8E7B3214A9E;
Wed, 28 May 2025 10:21:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427708; cv=none; b=V3fznS8Ps7OlB6t73dsWXHuFfJkrKhjL/RKck4bV1zCYAMyJownL4ruxLfGFGYpKwKYd8HFsPWZg+nWzv0KuozVmxLvvA3S/1fe/CqMRz4mPPAoFMZyxPWa3gQpx0TnWVPNewCNMqf65GiH8IwO7DKe2CRjybqiIWc4XCUhRvOs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427708; c=relaxed/simple;
bh=MarkZ8utDfJEEqG+ZwLpK8d+OC45TaBkZgBFc7qet+U=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=DwYkyneQnV4KzQW1mIqD4RSWAsbX2IHZpbYNz0W+FxSGIYRiX8p92RvjyOrP9h+bBrV9RnrP8aUDvGxBkgt4LRLtPcVXU2fCn0bIGlsgY6VDMRLe2Ko+Mf/0/CsrOXlm/AF4IOuDT7pfPVCOWjKUuWiJzCAo8LjU6O4D/UFzqqM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=U4QFFQUI; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 626A6C4CEEB;
Wed, 28 May 2025 10:21:47 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748427708;
bh=MarkZ8utDfJEEqG+ZwLpK8d+OC45TaBkZgBFc7qet+U=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=U4QFFQUIcZimiPD3SX9jXdRRX77wR2TsQWYRGBAm7B+x66WD6mXbTPY8CFWaatNzT
BHpRSl9D0m0FV3dyChup6xal++HQlK+ocxtllMOk59zPyM1hOM43W45usPV/a1cF15
hqroARrL1RjBAtB8rh/GjU3BNsCaSW7Ozrpg3opRCsOtJEpuffjm413yrnP5/HeANG
Wpw0cqfAbUqjZ10TiqhukNRnJPqjA387wshfZqS4ipF3XJOSA9LSYIKkWHLOL4wgqI
CP7gtUj2HsLSfbQ92/w4Ckam3mMIwyeNIY1f6UzHUl6nk1Sdj130C9sV/AusB0V8Tp
ZucM4V6myOcTg==
Date: Wed, 28 May 2025 12:21:45 +0200
From: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= <ukleinek@xxxxxxxxxx>
To: Nylon Chen <nylon.chen@xxxxxxxxxx>, Conor Dooley <conor@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>, Albert Ou <aou@xxxxxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx, linux-pwm@xxxxxxxxxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, robh@xxxxxxxxxx,
krzk+dt@xxxxxxxxxx, paul.walmsley@xxxxxxxxxx, samuel.holland@xxxxxxxxxx
Subject: Re: [PATCH v14 0/5] Change PWM-controlled LED pin active mode and
algorithm
Message-ID: <crcfskukqifse6gqrydx2iezargv5frv6dguj3iqdkfm7xxbqh@4v2dvo4zcmbz>
References: <20250509095234.643890-1-nylon.chen@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="q3beuwyz772xtchz"
Content-Disposition: inline
In-Reply-To: <20250509095234.643890-1-nylon.chen@xxxxxxxxxx>
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--q3beuwyz772xtchz
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: [PATCH v14 0/5] Change PWM-controlled LED pin active mode and
algorithm
MIME-Version: 1.0
Hello,
patches 1 and 2 ideally go in together, right? @Conor, does your Ack
mean that you're OK with me taking the dts change via my pwm tree?
On Fri, May 09, 2025 at 05:52:29PM +0800, Nylon Chen wrote:
> Nylon Chen (5):
> riscv: dts: sifive: unleashed/unmatched: Remove PWM controlled LED's
> active-low properties
> pwm: sifive: change the PWM algorithm
> pwm: sifive: Fix the error in the idempotent test within the
> pwm_apply_state_debug function
> pwm: sifive: Fix rounding issues in apply and get_state functions
> pwm: sifive: clarify inverted compare logic in comments
The objective of patches #3 and #4 is the same, right? Both prevent that
=2Eapply =E2=88=98 .get_state is idempotent, right?
And I'd also squash patches #2 and #5 to have the comments updated
together with the respective code changes.
I think the algorithm implemented in this driver is more complicated
than it should be, but this is not this series's fault, so I tend to
apply it with the above mentioned squashes.
Best regards
Uwe
--q3beuwyz772xtchz
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmg247UACgkQj4D7WH0S
/k6YPwf8CPS53gGarqxZhus1KnVvEiNi//eZnxRpZNoAwKCuMXf3nZ87lDGFDOpr
ZafvQskHAPQK6E5WffbH33HJyr+8sFLhHWPFLWBmpHbi4pNdUDYfYWPhgwcU0roH
j3J0ihE2ysD3hq8AnYFjM/O5wqZDkXQQ+Qgk1XUuLp3SywIQDYmsVt5+Gqy7LXRd
BcYv7fWURROIeLL4XnKEZghjYDJUXIk50ue3UYqeYDv6jhWdoJOn6Acc7KdUXDYQ
hO99harJgO772boFRxa7+c9edXfNpCHzeVMFJbqoqvWu8msq7SpvZqJKz1aUQOMN
EPaRoaY8tdFY4qPbwrka8VfubM395A==
=dm+D
-----END PGP SIGNATURE-----
--q3beuwyz772xtchz--
Return-Path: <linux-kernel+bounces-665277-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DF8F841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:22:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id BB5877AE3FD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:21:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 102E1214A9E;
Wed, 28 May 2025 10:22:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="wvb99DWY"
Received: from mail-vk1-f173.google.com (mail-vk1-f173.google.com [209.85.221.173])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7477217BA1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:22:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.173
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427743; cv=none; b=fAo6KVNOMMd7+6NBJVaWTtT8RN/G1EBjYwg9yShX6hDVTu93k4o/WzGOGcRQPhsbKggBP0xE/2TB8qF4xQas9KdlMvxN4Quw6alE24Oq4RlJr1LGknSHgjwW1adr7bzy4R1DOalnEHgQiSvTCdEW90twddjpKxMn4LeH+2dQVsE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427743; c=relaxed/simple;
bh=xIZDmtQ2bvvQrjrF0cMpsxOEeT+sh9IA+MNDwQ3A68s=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=O8LoQY2/VbBML5JLezTmGgtWtDcs2/5qpGZOp//fJAXEpaR3FzfD6U9jB7cigVo//kwZA2pn8/z78Eq0nPiJM9j7dM6Yk8U+9Cuq4G0Z3rgChH3kUTHP1xNEMahafYjPrgQ8H8Mp7fyucVgFVPprWSMWLgJg0cAL0HiKoV+bPws=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=wvb99DWY; arc=none smtp.client-ip=209.85.221.173
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-vk1-f173.google.com with SMTP id 71dfb90a1353d-52edc9ad68aso1362516e0c.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:22:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748427740; x=1749032540; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=UAEI9dBBmQszHW+RKw/FSPz3iCXRW4F3HWgkJ+DnBwI=;
b=wvb99DWYCXQ61OXHGI21DT4cnPTAC9dIYsxvn2u+e9oU1YuSuuPn2I7F+u/2tkYZKg
r2VOUDDN9HVL71sNYm/6J5YWT6lZRjE1EkurS98MqyYB7OzBR1bpPN2kNQaIr//4IBbl
Ys1L8vUG8ozYhhouEYLM/t2FGtJnUgzbdRbNPO95RrhtiRJkMIRbz2j1uhGTOScoQEBi
MtLqzGcxIYQnQn+tvUn4Gwmg658ZEANQNRWmtXx9mB3qMxf5k53bwLOE1lfvPmYgi37l
OfLKhYBzQjzBbWJregksUDag4aoEDHnYNi2kYdiaISLnIxXk6PAyalFlyzhhD+YRzPGb
HMPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427740; x=1749032540;
h=content-transfer-encoding:cc:to: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=UAEI9dBBmQszHW+RKw/FSPz3iCXRW4F3HWgkJ+DnBwI=;
b=Ex+V4Ql+Jk9RJnRebaUeYP7l9kwIIRU6PuP/T7NGK2qI3H5yH1iC8zo7MNofRVSm6N
O4KlLmWk3BDNNbmS3CoGaYLq8wsLAgI0Bakb3vjM1F2/OJ4y2a9mH8Xya+FxZt82oDQN
vNCw7mP4pL2n4gXEQ5fS9352blTrmNENs7DOcNllt2LX7qRnKg5232qwMwIWRuCLSNAy
+o9TZ08BHMnDyVmWyazKlwZnOHLZ5m3HSaIm+rzOyndSPqWTqKeisjuElwXX7yrqidaD
LDJz1Muh8GvHEai+VHITheOmnY0bPyCD9xwbe/3oBirO6NM2pdvVE+CuVOmZ7tziN1Ja
En0g==
X-Forwarded-Encrypted: i=1; AJvYcCU5BodYbGzprD77Qh/drQm95dle2pywsMaWW0/FylWCsu1AB1elPjT7dF6ajIzSTplX/yHBPf/Ki3xSvBA=@vger.kernel.org
X-Gm-Message-State: AOJu0YyJvaR/1Et6uSWTxT6n34/FcOpT8vmhLVVCOv9XIa3odxjOy8B5
0UvyH4QO5JRvgdmpZUEqI10PVhzWl9Yfeva6Zl/HuaOWk87tkOMJkU5gchz211lSP8fQE5vbsqy
s9crPwj35DXwZpN9FWoi0SL9wx1jlwXNKDmeGm2C74g==
X-Gm-Gg: ASbGncvlMZNF+5HVKyDkMs1MP9r/f4U+sQkl8mZNICOpjwF4XptgI96TZUXm2NkYpj7
gpP8NZ7c50Midv3okWehLghyYCBsownkY0De/Xjl3/L+J0Opsv0livVpVZbIQ0BfAu4UDDyVbZQ
tjXq0fnnr1cAxJhWt4D8kf+9UoyEEnnuqYpq7twGHtidHjLfXDN6hE8hPcYKwGGNI=
X-Google-Smtp-Source: AGHT+IEO3OOrOKakDBXhBTdlrsfwTV2dD71uDOAnQpVHty/kUYLxbnKLo9QmXXM/u9gXgZxa0nnw9P5aUEWPNgid+No=
X-Received: by 2002:a05:6122:d9b:b0:526:1ddc:6354 with SMTP id
71dfb90a1353d-52f2c310e57mr11013519e0c.0.1748427740331; Wed, 28 May 2025
03:22:20 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250527162445.028718347@xxxxxxxxxxxxxxxxxxx>
In-Reply-To: <20250527162445.028718347@xxxxxxxxxxxxxxxxxxx>
From: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>
Date: Wed, 28 May 2025 15:52:07 +0530
X-Gm-Features: AX0GCFsXzFBM0eq21JXza1j0vn6z6QdWuG8ZgACS1SYBRb2dXaTUVPRzdxziTBQ
Message-ID: <CA+G9fYsJ_=E0+eE0p32TZ993JSr57N9eS3f=B-conLWJwts3SQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 6.12 000/626] 6.12.31-rc1 review
To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, torvalds@xxxxxxxxxxxxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, linux@xxxxxxxxxxxx, shuah@xxxxxxxxxx,
patches@xxxxxxxxxxxx, lkft-triage@xxxxxxxxxxxxxxxx, pavel@xxxxxxx,
jonathanh@xxxxxxxxxx, f.fainelli@xxxxxxxxx, sudipm.mukherjee@xxxxxxxxx,
srw@xxxxxxxxxxxxxxxx, rwarsow@xxxxxx, conor@xxxxxxxxxx, hargar@xxxxxxxxxxxxx,
broonie@xxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, 27 May 2025 at 22:15, Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> This is the start of the stable review cycle for the 6.12.31 release.
> There are 626 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Thu, 29 May 2025 16:22:51 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-=
6.12.31-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable=
-rc.git linux-6.12.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
Results from Linaro=E2=80=99s test farm.
No regressions on arm64, arm, x86_64, and i386.
Tested-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
## Build
* kernel: 6.12.31-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-=
rc.git
* git commit: 3fc6e1848884b217db332a5f677a33ad485a128e
* git describe: v6.12.30-627-g3fc6e1848884
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.12.y/build/v6.12=
.30-627-g3fc6e1848884
## Test Regressions (compared to v6.12.29-144-g28ceb2ca3164)
## Metric Regressions (compared to v6.12.29-144-g28ceb2ca3164)
## Test Fixes (compared to v6.12.29-144-g28ceb2ca3164)
## Metric Fixes (compared to v6.12.29-144-g28ceb2ca3164)
## Test result summary
total: 323787, pass: 297841, fail: 5458, skip: 19725, xfail: 763
## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 139 total, 137 passed, 2 failed
* arm64: 57 total, 56 passed, 1 failed
* i386: 18 total, 18 passed, 0 failed
* mips: 34 total, 33 passed, 1 failed
* parisc: 4 total, 4 passed, 0 failed
* powerpc: 40 total, 40 passed, 0 failed
* riscv: 25 total, 23 passed, 2 failed
* s390: 22 total, 21 passed, 1 failed
* sh: 5 total, 5 passed, 0 failed
* sparc: 4 total, 3 passed, 1 failed
* x86_64: 49 total, 48 passed, 1 failed
## Test suites summary
* boot
* commands
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-efivarfs
* kselftest-exec
* kselftest-fpu
* kselftest-ftrace
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-kcmp
* kselftest-kvm
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-mincore
* kselftest-mm
* kselftest-mqueue
* kselftest-net
* kselftest-net-mptcp
* kselftest-openat2
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-tc-testing
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user_events
* kselftest-vDSO
* kselftest-x86
* kunit
* kvm-unit-tests
* lava
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-build-clang
* log-parser-build-gcc
* log-parser-test
* ltp-capability
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-hugetlb
* ltp-ipc
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-pty
* ltp-sched
* ltp-smoke
* ltp-syscalls
* ltp-tracing
* modules
* perf
* rcutorture
* rt-tests-cyclicdeadline
* rt-tests-pi-stress
* rt-tests-pmqtest
* rt-tests-rt-migrate-test
* rt-tests-signaltest
--
Linaro LKFT
https://lkft.linaro.org
Return-Path: <linux-kernel+bounces-665278-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C877341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:23:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 917324E1B30
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:23:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 05E48278751;
Wed, 28 May 2025 10:23:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="LxWF0gfB"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 969FC20F07D;
Wed, 28 May 2025 10:23:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.20
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427787; cv=none; b=tGgYZeRbOI5wrj4QJl863673rVODH/vHmEjaZLRf8xmPiCzQhccAxD5QX2dQpkzjBZYDVlehU9IPIZno4k0GQzKW7va1ncppE6YyGtGNeQ5SDW1sUltpewScZ+dCz4v1wZhwyXNWlQSPcACN/pcc7QJGKCJ9xFCfq5YgNSC36zc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427787; c=relaxed/simple;
bh=5q0BJjuFYMKfAu0Lsls9akQKrbkSPVyVkJDHOZPWe9E=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=fVy+DVwS8tBAJsUA7BIekfW43TAT78dt6SB8VDfnAMHPs9l7rlZq+NZpfoE1JMuLdiWntt0oZwuubJzi+JgOa5i0xuwBqXVEnJwPI/x148KHqlNu7EK0o0lSQgwJVSpg/iK821JS9KS+Ovd8xYzdTKkdq5PtRBsXr96wIBPF7Jg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=LxWF0gfB; arc=none smtp.client-ip=198.175.65.20
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748427786; x=1779963786;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=5q0BJjuFYMKfAu0Lsls9akQKrbkSPVyVkJDHOZPWe9E=;
b=LxWF0gfBcgevgV+MswMAatUwdYMvxXMgldN6cAJMjtM+VZELRRSFhzvL
GfcCs2wzjrbKEqRHPR96qkevDikGwINNnGeKpeLpb2zu7lYYB6gU+1Sy2
b+qAPnu0YLVdfMZFy0PFRNK4wAYy28lfddBNdw+l6bMpOBh5K4UpXFx2R
lgrCwJPj1aLsNTMXUtGogfDM8E+I8jyJYuNtYpXoWfLEWLS/94mFuK0bJ
nXGZgL+xxvVvQWBh/AUHGfJX8EAIxubOYlsS+B8gHey+uSIyTLhpZT1Fl
5tOok6cXGM1SOpiNTC17J+MrnwzcWyDJ+hlPAJmLjs6oNqxI1OqKutGOG
g==;
X-CSE-ConnectionGUID: QzIGebEYTmO84Hx4iRKeCQ==
X-CSE-MsgGUID: h4q5bwZaQHOZG5M521FO/w==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="50146342"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="50146342"
Received: from orviesa006.jf.intel.com ([10.64.159.146])
by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:23:05 -0700
X-CSE-ConnectionGUID: cmf5Wwz4ThCES6b3Go4S4w==
X-CSE-MsgGUID: gBILxGxYSHe6BVzY1oTLCA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="143116436"
Received: from kuha.fi.intel.com ([10.237.72.152])
by orviesa006.jf.intel.com with SMTP; 28 May 2025 03:23:02 -0700
Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Wed, 28 May 2025 13:23:01 +0300
Date: Wed, 28 May 2025 13:23:01 +0300
From: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
To: Yongbo Zhang <giraffesnn123@xxxxxxxxx>
Cc: gregkh@xxxxxxxxxxxxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] usb: typec: fusb302: fix scheduling while atomic when
using virtio-gpio
Message-ID: <aDbkBZi1L442jd7i@xxxxxxxxxxxxxxxxx>
References: <20250526043433.673097-1-giraffesnn123@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250526043433.673097-1-giraffesnn123@xxxxxxxxx>
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Mon, May 26, 2025 at 12:34:33PM +0800, Yongbo Zhang wrote:
> When the gpio irqchip connected to a slow bus(e.g., i2c bus or virtio
> bus), calling disable_irq_nosync() in top-half ISR handler will trigger
> the following kernel BUG:
>
> BUG: scheduling while atomic: RenderEngine/253/0x00010002
> ...
> Call trace:
> dump_backtrace+0x0/0x1c8
> show_stack+0x1c/0x2c
> dump_stack_lvl+0xdc/0x12c
> dump_stack+0x1c/0x64
> __schedule_bug+0x64/0x80
> schedule_debug+0x98/0x118
> __schedule+0x68/0x704
> schedule+0xa0/0xe8
> schedule_timeout+0x38/0x124
> wait_for_common+0xa4/0x134
> wait_for_completion+0x1c/0x2c
> _virtio_gpio_req+0xf8/0x198
> virtio_gpio_irq_bus_sync_unlock+0x94/0xf0
> __irq_put_desc_unlock+0x50/0x54
> disable_irq_nosync+0x64/0x94
> fusb302_irq_intn+0x24/0x84
> __handle_irq_event_percpu+0x84/0x278
> handle_irq_event+0x64/0x14c
> handle_level_irq+0x134/0x1d4
> generic_handle_domain_irq+0x40/0x68
> virtio_gpio_event_vq+0xb0/0x130
> vring_interrupt+0x7c/0x90
> vm_interrupt+0x88/0xd8
> __handle_irq_event_percpu+0x84/0x278
> handle_irq_event+0x64/0x14c
> handle_fasteoi_irq+0x110/0x210
> __handle_domain_irq+0x80/0xd0
> gic_handle_irq+0x78/0x154
> el0_irq_naked+0x60/0x6c
>
> This patch replaces request_irq() with devm_request_threaded_irq() to
> avoid the use of disable_irq_nosync().
>
> Signed-off-by: Yongbo Zhang <giraffesnn123@xxxxxxxxx>
Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
> ---
> drivers/usb/typec/tcpm/fusb302.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
> index f15c63d3a8f4..f2801279c4b5 100644
> --- a/drivers/usb/typec/tcpm/fusb302.c
> +++ b/drivers/usb/typec/tcpm/fusb302.c
> @@ -1477,9 +1477,6 @@ static irqreturn_t fusb302_irq_intn(int irq, void *dev_id)
> struct fusb302_chip *chip = dev_id;
> unsigned long flags;
>
> - /* Disable our level triggered IRQ until our irq_work has cleared it */
> - disable_irq_nosync(chip->gpio_int_n_irq);
> -
> spin_lock_irqsave(&chip->irq_lock, flags);
> if (chip->irq_suspended)
> chip->irq_while_suspended = true;
> @@ -1622,7 +1619,6 @@ static void fusb302_irq_work(struct work_struct *work)
> }
> done:
> mutex_unlock(&chip->lock);
> - enable_irq(chip->gpio_int_n_irq);
> }
>
> static int init_gpio(struct fusb302_chip *chip)
> @@ -1747,9 +1743,10 @@ static int fusb302_probe(struct i2c_client *client)
> goto destroy_workqueue;
> }
>
> - ret = request_irq(chip->gpio_int_n_irq, fusb302_irq_intn,
> - IRQF_ONESHOT | IRQF_TRIGGER_LOW,
> - "fsc_interrupt_int_n", chip);
> + ret = devm_request_threaded_irq(dev, chip->gpio_int_n_irq,
> + NULL, fusb302_irq_intn,
> + IRQF_ONESHOT | IRQF_TRIGGER_LOW,
> + "fsc_interrupt_int_n", chip);
> if (ret < 0) {
> dev_err(dev, "cannot request IRQ for GPIO Int_N, ret=%d", ret);
> goto tcpm_unregister_port;
> @@ -1774,7 +1771,6 @@ static void fusb302_remove(struct i2c_client *client)
> struct fusb302_chip *chip = i2c_get_clientdata(client);
>
> disable_irq_wake(chip->gpio_int_n_irq);
> - free_irq(chip->gpio_int_n_irq, chip);
> cancel_work_sync(&chip->irq_work);
> cancel_delayed_work_sync(&chip->bc_lvl_handler);
> tcpm_unregister_port(chip->tcpm_port);
> --
> 2.49.0
--
heikki
Return-Path: <linux-kernel+bounces-665279-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 41F9B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:23:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A0F1CA230DC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:23:27 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9C71527978C;
Wed, 28 May 2025 10:23:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="3pP04dgc"
Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5560B2147F6
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:23:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427820; cv=none; b=uJ6v3PaEvJKAsM78v3Pl8DXQBxjO4wF5otZvRErRGqWxf/Pc4JH0lCsu6hzTE3MPuAGiUTTP60ck6hfq1hAdAKZ1aV//AMzwdgcxjZ3Cg/KjhQHlZhojNQ9KE4jwVUrakGHb2ncTHXQwn+ELQG7s0xD7bj66Lvpag4mYntc7z1s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427820; c=relaxed/simple;
bh=MM/ozcOCXZ5d+VyTWQymctGaa9SnFX03kQYidoP+Ecs=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=R1YFZrXuRIvUJ3m3eVMfwTlBURLuYvaA8AGm97Az+PE5P2MnxnR8zwrZ4HYrkxR0Ykhyo0lXM3pxV3M4erHytmFmNhQjZI8ogNyNfW7SkFDgV6+/DAzMJJ4vE/P37cNXBu1OqoH0LIL1Q7cWVwt29dGQ651iLxC9hzVj3gwsHKU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=3pP04dgc; arc=none smtp.client-ip=209.85.128.74
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com
Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-442e0e6eb84so27435505e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:23:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748427816; x=1749032616; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=UOkwFKzz2wqGgEsUgo/sGUbk2ueBcmlhvGMY23/sxjQ=;
b=3pP04dgcMEkiDubgugINoeGBlm5giD5sq58cXIM8t6lWL6AcdMc9GV7tplseN5BJEU
MCuHbY60Pkyxahq9kuPSg8Js7WAF0V81C/47XSyi+obwk7vLskIV78ggHols7C16atfw
5EzqeX4Y5RrCRyFX/CF6CplWu8lbEPGtGm15DmauB26SNHITEJ3qQ8b7CptiUGUgum5a
/DtrtvlV+rAtB/pH9Me5wzKlIBeZhk3NHZJlbmV+Ix5fDExAFosoq4JZu+yPDOmogCyC
Rb7sTQmRl5IQIF/IW8+NaX56v8YmuWY1MRbyQp7flRCt7BJ8UTgTNjdg5Zu4Wn9tmQhK
TfRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748427816; x=1749032616;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=UOkwFKzz2wqGgEsUgo/sGUbk2ueBcmlhvGMY23/sxjQ=;
b=UKSeWRt++8pheLU9y4CYH5ggjnU2DutBIGlW+Z+4dA62STshYsWMix8VZZrRB+Vgnw
pXc9jGROno9sXr0WQpEa67T71NyQH2xCTjuE4hTKty8xqTkQl2hPAzNGSg5Y2HdX93XQ
6TIQ3wnXHS2zbGeM0uXlbnoNxZhLHgLVcF4wcIeBdo6LIT+7tfTvXh9kripOZZfjhf0z
GKsvarc6QQSd4VPhRcSyIjntnz3y4ihvNpF1fAveeTo4f+1+QcQHgNuu0A5MwQp32NiV
ID6TRJ1MTy2Js1zltupfYNceqn4hkNivJaX89HNjfylFZ91jrajfqcxFi5brXgUa6YsU
QGAw==
X-Gm-Message-State: AOJu0Yzm+m1zxzcTDht9ejU2QAq2J0rhM3C5GuBnLYxwXZbp5I3JDvYi
vxha97unrLoec1YQGDUsichrbGDCblc2zPptu9yl7C3bHCPkGdXn+/02U4A8KS0mn9jqAUIah/g
qL8vqo4lgN7b4vjutXw==
X-Google-Smtp-Source: AGHT+IE/d7QvjBd9m9AiElll2EXSy/M+uGwax68KFlLRDUZEw5WjgchZ+RZlIS0fNhH6I9/raBwqDL4gIz57Ke0=
X-Received: from wmqe8.prod.google.com ([2002:a05:600c:4e48:b0:442:ccef:e0aa])
(user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by
2002:a05:600c:3b02:b0:43d:412e:8a81 with SMTP id 5b1f17b1804b1-44c937d12dfmr114075975e9.28.1748427816674;
Wed, 28 May 2025 03:23:36 -0700 (PDT)
Date: Wed, 28 May 2025 10:23:34 +0000
In-Reply-To: <20250528083431.1875345-1-pbonzini@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250528083431.1875345-1-pbonzini@xxxxxxxxxx>
Message-ID: <aDbkJhSA2SJphO7i@xxxxxxxxxx>
Subject: Re: [PATCH] rust: add helper for mutex_trylock
From: Alice Ryhl <aliceryhl@xxxxxxxxxx>
To: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx,
rust-for-linux@xxxxxxxxxxxxxxx, ojeda@xxxxxxxxxx,
Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset="utf-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 10:34:30AM +0200, Paolo Bonzini wrote:
> After commit c5b6ababd21a ("locking/mutex: implement mutex_trylock_nested",
> currently in the KVM tree) mutex_trylock() will be a macro when lockdep is
> enabled. Rust therefore needs the corresponding helper. Just add it and
> the rust/bindings/bindings_helpers_generated.rs Makefile rules will do
> their thing.
>
> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665280-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7083641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:25:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 865324E27D9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:25:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A0C70278768;
Wed, 28 May 2025 10:25:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WwF1Y6Pg"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D7D50214229;
Wed, 28 May 2025 10:25:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427914; cv=none; b=bZwqaI3YWpPoIrDDRkuI2tbVxlMnL65j+fpl4xBARyrFgGrF0DkM/YbM2j8yuphhx0RI4jwuRdjtob0CLhDt0YrnViLL3VTQwLHJczXx2Vo1eJjZKiXHay5/zdtOMTbrLhN51NqCi8guUNqOGtYmmYqIN5Q8hLxeBNUQ1q7Ziag=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427914; c=relaxed/simple;
bh=LIOi3dndS8s1nCiZiSl6vDayk7Pb84g5JnDJyZlqFBc=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=RyRuCSnUj6BY9pHVOLmuKr3eUKIJW3fuq10NBiK28gEF+HDNWhjBMivnetKetAkp+DDJ+WjZf7K2/R/LThhBeyfvA1MMx/+IOV9fAQZdfhRBwArFzN21LCetaSmi694TAjXEueZEiJD26Ew/HgKfROinHKXaEmwXS1iA9Qnvt/o=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WwF1Y6Pg; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5A661C4CEEB;
Wed, 28 May 2025 10:25:14 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748427914;
bh=LIOi3dndS8s1nCiZiSl6vDayk7Pb84g5JnDJyZlqFBc=;
h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
b=WwF1Y6Pgx07N4IHmEht4KvHtaFDFCXdIRjCLcBQM0vAMt7nfuNKKGk2N9aIkJxMNR
c8uD4nxRwhY35mkUYEB6BuxGYbUPy2PJ+ZFLzu53Kko+6bfc7Sp7DzFecCgjHr9nDC
0oPdgTKrPVfQ6J228yqd6e9sUEC3q6wK+4xekoHJeeG5gNEk+7sM4Mk5hgZNMbanW9
kCj9r+ya5T+Rr6nAGtTOnndPG5QyZN+UDp4wYayDjUyzqoDybD1hM5ga8SQ4CCMRP4
zh+tqor8DBWu+q9ucD5NZJBA3I8U+miEeKzEp8wpsV2u1RtFKfNgNW0jLcVsgw2HTo
mDIptO3dJpE1w==
Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-6049431b0e9so4508735a12.0;
Wed, 28 May 2025 03:25:14 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCUoXRF/roCTFp+oABmJg7TPQaSokUOC6xLa2SiRhn4h9WMASUdDpbAl+uSh7wRIhVj/P9JiJ2SePXkiG14=@vger.kernel.org, AJvYcCXGVcGqWUvHaBiKnb+6Q0XSMRvrhlC1pmL7pF1YshhPBQvyncCbP9QdHLQn5RGXS4RsP2p6eHkQQfG+jp26@xxxxxxxxxxxxxxx, AJvYcCXbqMv7JZF71GQpnMJlxilWEw62AcC0F0cUlWdKef9q3Bgz6rh+Oyv4Qdfr9pmLRfZfWL9VixsR3hPxaqAxAr+G@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YykD88yXTfANlSy7fnnuUKiO0hS2GoXDQPqX8pbNrLB9DGtGr+m
ZiYWRaGcA2ePI4cBwx94Px49/DXKk55s30Rsc5ESpBMRlHVBAqhibN4X8gf8W+iy991AcLd1NRg
3hziz3nzGYT5G6/sGsTO23f438IQvtOM=
X-Google-Smtp-Source: AGHT+IGDHiTwGJRagnogeg3ewv6dw7u75sF89so1xzMF1zhmt53vyAE51gY9xZM/y+SFsY6wONjEbQnz9Jore+K4BjA=
X-Received: by 2002:a05:6402:2713:b0:5f8:e6e5:54ac with SMTP id
4fb4d7f45d1cf-602d934d18fmr12369031a12.14.1748427912970; Wed, 28 May 2025
03:25:12 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250528065944.4511-1-zhaoqunqin@xxxxxxxxxxx> <CAAhV-H7hBksA2P+vfMbpDVnbjW1Mo09Out_wOQLgLRXPLaFCfA@xxxxxxxxxxxxxx>
<cda7ef56-87b3-6594-c2b6-2a4f5a1b63ce@xxxxxxxxxxx> <CAAhV-H557CLtoF23nbRQaoDPdzuM5xgsS-+-1p_VeX0OreG2vQ@xxxxxxxxxxxxxx>
<0b328692-f333-4bba-9572-6f3c86dbed29@xxxxxxxxx>
In-Reply-To: <0b328692-f333-4bba-9572-6f3c86dbed29@xxxxxxxxx>
From: Huacai Chen <chenhuacai@xxxxxxxxxx>
Date: Wed, 28 May 2025 18:25:00 +0800
X-Gmail-Original-Message-ID: <CAAhV-H4voq8HgwOgxObj-wOzBA0+Wv=8x+oVsR3++01i2NAHTQ@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFvKzI2jSyUtQ0kx2nTZcGobH-pL8xGqTAba7znizU98oerpW-343mbJqLY
Message-ID: <CAAhV-H4voq8HgwOgxObj-wOzBA0+Wv=8x+oVsR3++01i2NAHTQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v10 0/5] Add Loongson Security Engine chip driver
To: Yanteng Si <si.yanteng@xxxxxxxxx>
Cc: Qunqin Zhao <zhaoqunqin@xxxxxxxxxxx>, lee@xxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx,
jarkko@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx, peterhuewe@xxxxxx,
jgg@xxxxxxxx, linux-integrity@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 5:15=E2=80=AFPM Yanteng Si <si.yanteng@xxxxxxxxx> w=
rote:
>
> =E5=9C=A8 5/28/25 4:17 PM, Huacai Chen =E5=86=99=E9=81=93:
> > On Wed, May 28, 2025 at 4:06=E2=80=AFPM Qunqin Zhao <zhaoqunqin@loongso=
n.cn> wrote:
> >>
> >>
> >> =E5=9C=A8 2025/5/28 =E4=B8=8B=E5=8D=883:17, Huacai Chen =E5=86=99=E9=
=81=93:
> >>> Hi, Qunqin,
> >>>
> >>> As I said before, why the patch "MAINTAINERS: Add entry for Loongson
> >>> Security Module driver" is missing?
> >>
> >> Hi, Huacai
> >>
> >> https://lore.kernel.org/all/8e55801a-a46e-58d5-cf84-2ee8a733df9a@loong=
son.cn/
> > Sorry, I missed this email. But if you put all files in one entry, you
> > can merge Patch-3 and Patch-5 as the last patch (then you will also
> > not meet the 5 patches limit).
>
> We are cutting the foot to fit the shoe. Sigh...
No, the two patches really need to be squashed.
Huacai
>
>
> Thanks,
> Yanteng
> >
> > Huacai
> >
> >>
> >> Thanks,
> >>
> >> Qunqin.
> >>
> >>>
> >>> Huacai
Return-Path: <linux-kernel+bounces-665281-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EC68041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:25:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 96F154E2AE5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:25:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 80DEE27875C;
Wed, 28 May 2025 10:25:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PkB48l0v"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C20C94C9F;
Wed, 28 May 2025 10:25:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748427940; cv=none; b=JevuTB0IuWyY5A5oPw4f9OOLFikffDbHXqZ0U6/SI6+q8bxO26HOu5CYVDmcOrmM/hry2nVlbVb/urD6T4F1c/3j4nXCkEfvcC1TpWUKgPTUAkbGSEUDEzzk6MdQiZZKmtAIZBR1lhaj8u3+x0Y9qnKMfeSNsGVLdzkz2DMMzf0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748427940; c=relaxed/simple;
bh=yn1kjL2j1FxCyhnNv2768phSpYJ1y+Yq4unHgP3yEYI=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=tiZoswM4CYQodJw4iUurrhU0WrHsAn6xka4cmkb9Sxk0A0+aLSIzY7e4u5GdrvDuC9SxnK0MU0v3LlvYKh5i1/jZERW7jYtM3X/s5YDhK/Uih7reu4sTir84nSikIjtyHXE3EtrskyBXCRdfGX9x6NMJ+RY5lp2uKl0xOswB1cc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PkB48l0v; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2615C4CEE7;
Wed, 28 May 2025 10:25:37 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748427940;
bh=yn1kjL2j1FxCyhnNv2768phSpYJ1y+Yq4unHgP3yEYI=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=PkB48l0v++wCEV8s2dXt2Dw06PfEcbrcuMSMrvCacLdXQe3QBz3HmibkNyUel6Lxy
W4f9drmzm6dH42rkaWYVoei9KviWmlXFUX3LL0DtSihkxW3vlm9xEkG578BAWThihu
Ysmn+GOTVdV8ptu8PrLmuUlM8kMcCId9iz1nc87xiNMhUet7Z8UY8i43cvY3bt8PPv
7u1Ppa2oBHkIzbf4Nef+SBYCKTv54HNyzKg94saJtwn/bo2SuqR6V3DdF67OR7b3RK
erkXdxHbVA4XA8PHVx1q0yTLG+oDOsf+QBUU8tekwSRdAKpI+pkS5Cj6SyrqpNhmHH
ew5OUEqwBTZSg==
Message-ID: <5853f5f8-004a-4107-acbf-31986150308a@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:25:35 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] rust/list: replace unwrap() with ? in doctest examples
To: Albin Babu Varghese <albinbabuvarghese20@xxxxxxxxx>
Cc: ojeda@xxxxxxxxxx, alex.gaynor@xxxxxxxxx, boqun.feng@xxxxxxxxx,
gary@xxxxxxxxxxx, bjorn3_gh@xxxxxxxxxxxxxx, lossin@xxxxxxxxxx,
a.hindborg@xxxxxxxxxx, aliceryhl@xxxxxxxxxx, tmgross@xxxxxxxxx,
rust-for-linux@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250527204928.5117-1-albinbabuvarghese20@xxxxxxxxx>
From: Danilo Krummrich <dakr@xxxxxxxxxx>
Content-Language: en-US
In-Reply-To: <20250527204928.5117-1-albinbabuvarghese20@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/27/25 10:49 PM, Albin Babu Varghese wrote:
> Using `unwrap()` in kernel doctests can cause panics on error and may
> give newcomers the mistaken impression that panicking is acceptable
> in kernel code.
>
> Replace all `.unwrap()` calls in `kernel::list`
> examples with `.ok_or(EINVAL)?` so that errors are properly propagated.
>
> Closes: https://github.com/Rust-for-Linux/linux/issues/1164
> Suggested-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
> Reviewed-by: Benno Lossin <lossin@xxxxxxxxxx>
> Link: https://github.com/Rust-for-Linux/linux/issues/1164
> Signed-off-by: Albin Babu Varghese <albinbabuvarghese20@xxxxxxxxx>
Reviewed-by: Danilo Krummrich <dakr@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665282-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id BB3CE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:27:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 1F76D175690
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:27:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7B920279354;
Wed, 28 May 2025 10:27:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="koHvMo6l"
Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D1CA73398A;
Wed, 28 May 2025 10:27:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428065; cv=none; b=py8vQ3GuDj1yfOQCPLGYZLvyQh7bqhSC+2XsKlO8fIBIAqxbGuM0iVMQTxocWFSFIEwaOILnexwoi6kxsl0AYLmffjvPrd8dOTqXTJgxxigSuJfyoIcva4DBC2F+tFzvYe9qKSrWgZL79+D5EQP5yCVQl3m8tQ68Boxse9/ugAQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428065; c=relaxed/simple;
bh=C5cBFqMtxDyHOh5cYqHPUlKRQ4UDdHA8dzrRsVt0heI=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version; b=ilwV5goDQzY/8lpY1Wrd0Y/TVIz/JhnkZ3y3mFHTe4QMJcTVWaiEBW5LgWLpG4Lx6JiGRmKXKUgwUYcXx4e++6asejlpVhOd0n5vr6C8xCoLxMlcIJu05Kc+wfhBXRQASqyS+kW99KB0UwpCmJOD4aG1dUMsb6LSOjRpunjg+u8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=koHvMo6l; arc=none smtp.client-ip=148.163.158.5
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0360072.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S8eoLT003540;
Wed, 28 May 2025 10:27:05 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-transfer-encoding:date:from:in-reply-to:message-id
:mime-version:references:subject:to; s=pp1; bh=0KymHl1YrZju146WA
uwWhH5mwRc0fQXuXhbbB8no0nY=; b=koHvMo6l4fEPv/eEwE4dWKQveDzL6tC4F
vSXNGYQnnfyqgLWzdFp8stGHvWsClmuQelzedmsD2se9fymYlsti/YJm1l2Sg+G7
ZtIz39s84fRU8kbTQYyOcuMaAGtt6R30jMmArcFV8uqxSO2V9Q+GZ/V6fW9IxnjT
cbHOnKKhq0WfnEKAXQ7Ayk3aCMi0qtdlFTzUUNGORyRokcHovH6oOdK4zI2vUelf
49awOA/TQldD813tMnEETWFfMFlTGD93iZsxCI8QGTVjuO73jZMoOu57V2kQdB3d
CllzG4JZyhJSNGWSmf8hYqvVFwvJ9c+anR6ywOoQFh0XKQZmyWCAg==
Received: from pps.reinject (localhost [127.0.0.1])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wy690ffu-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 10:27:04 +0000 (GMT)
Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1])
by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 54SAHLp7005637;
Wed, 28 May 2025 10:27:04 GMT
Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wy690ffn-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 10:27:04 +0000 (GMT)
Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1])
by ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54S6Hlwi028915;
Wed, 28 May 2025 10:27:03 GMT
Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224])
by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 46usepy2k5-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 10:27:03 +0000
Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105])
by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54SAQxmb55443928
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 10:26:59 GMT
Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 5B47C20049;
Wed, 28 May 2025 10:26:59 +0000 (GMT)
Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 878D120040;
Wed, 28 May 2025 10:26:58 +0000 (GMT)
Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9])
by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP;
Wed, 28 May 2025 10:26:58 +0000 (GMT)
From: Jens Remus <jremus@xxxxxxxxxxxxx>
To: rostedt@xxxxxxxxxxx
Cc: aahringo@xxxxxxxxxx, acme@xxxxxxxxxx, adrian.hunter@xxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, alexander.shishkin@xxxxxxxxxxxxxxx,
andrii.nakryiko@xxxxxxxxx, beaub@xxxxxxxxxxxxxxxxxxx,
blakejones@xxxxxxxxxx, broonie@xxxxxxxxxx, fweimer@xxxxxxxxxx,
indu.bhagat@xxxxxxxxxx, irogers@xxxxxxxxxx, jemarch@xxxxxxx,
jolsa@xxxxxxxxxx, jordalgo@xxxxxxxx, jpoimboe@xxxxxxxxxx,
jremus@xxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-perf-users@xxxxxxxxxxxxxxx, linux-toolchains@xxxxxxxxxxxxxxx,
linux-trace-kernel@xxxxxxxxxxxxxxx, luto@xxxxxxxxxx,
mark.rutland@xxxxxxx, mathieu.desnoyers@xxxxxxxxxxxx,
mhiramat@xxxxxxxxxx, mingo@xxxxxxxxxx, namhyung@xxxxxxxxxx,
peterz@xxxxxxxxxxxxx, sam@xxxxxxxxxx, wnliu@xxxxxxxxxx, x86@xxxxxxxxxx,
hca@xxxxxxxxxxxxx
Subject: [PATCH] fixup! unwind_user/sframe: Add support for reading .sframe contents
Date: Wed, 28 May 2025 12:26:55 +0200
Message-ID: <20250528102655.1455423-1-jremus@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250424201823.595811743@xxxxxxxxxxx>
References: <20250424201823.595811743@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=UP3dHDfy c=1 sm=1 tr=0 ts=6836e4f8 cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=VnNF1IyMAAAA:8 a=CCpqsmhAAAAA:8 a=u0hKKabxG1pr0n04s-QA:9 a=x3xD2gU-9FUA:10
a=ul9cdbp4aOFLsgKbc677:22
X-Proofpoint-GUID: AVHS09y03cNbPT7bymJ0m0UlsulVvs2F
X-Proofpoint-ORIG-GUID: RzZ7FAImJogcA7vgndjTTNRu5cvmUmDK
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA4NyBTYWx0ZWRfX0tBCRHsHk3YI d4jmrUFtOj9UGpGNwgVHwiY+i8TcUWvRr+cOEfeQIeW0BHyrS7hGpcfkewI8NJ74hgb57E4aOIk s4k+1I0/4om/rmX9oqITunsyszOz5n19NxFD+OCnDMqzxKowOxLrhzIPX60FNuQH6UK+5Z1pPY2
8LgRtMnMf2PK0eBkBjUgYPX4qzMsoPjj3PSn21XNdQ3jSSJ4+0HWYUCmAc9cK/F2pJSywILi+HK /bpvZxH0WylO5rzDrAFADD+7YCyAbI+dSOUk3WIDzZPEQzN1cJTCH913I6MpjaH4jipY54T9u8M 1yyw9imN7aAvh53Hlr0cq8RamO6zgZsyGmqiQR8Ts/oH1P9Kbd+KV3vfABAbYFZ7nno8WOtbWzp
3cO7Zbw7cR6dmi5/NHg609cZfMS0/R8HJfX0pNsENl3UJYEZFRRIo1aQidkgkUIZvlZwOWzY
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0
lowpriorityscore=0 suspectscore=0 malwarescore=0 impostorscore=0
mlxlogscore=999 clxscore=1015 priorityscore=1501 bulkscore=0 phishscore=0
spamscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280087
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
---
Notes (jremus):
Link: https://lore.kernel.org/all/b35ca3a3-8de5-4d32-8d30-d4e562f6b0de@xxxxxxxxxxxxx/
The struct sframe_fre field ip_off must be u32, as the SFrame FRE start
address (sfre_start_address) is unsigned 8-bit, 16-bit, or 32-bit:
https://sourceware.org/binutils/docs/sframe-spec.html#SFrame-Frame-Row-Entries
When searching for a FRE of a FDE for an IP, the IP offset from function
start address (ip_off = ip - (sec->sframe_start + fde->start_addr)) is
always positive, as the search for a FDE for the same IP returned a
FDE with: sec->sframe_start + fde->start_addr <= ip
This enables comparison against the unsigned FDE ip_off.
This fixup includes a proposed fix from Josh (with minor modification
due to duplicate macro names) to correctly perform sign extension when
reading (un-)signed SFrame FDE/FRE fields:
https://lore.kernel.org/all/20250207210614.nks6bxad4jhdulwg@jpoimboe/
kernel/unwind/sframe.c | 38 +++++++++++++++++++++++++++-----------
1 file changed, 27 insertions(+), 11 deletions(-)
diff --git a/kernel/unwind/sframe.c b/kernel/unwind/sframe.c
index 3f7cc9bc27eb..8804ac59edfa 100644
--- a/kernel/unwind/sframe.c
+++ b/kernel/unwind/sframe.c
@@ -19,7 +19,7 @@
struct sframe_fre {
unsigned int size;
- s32 ip_off;
+ u32 ip_off;
s32 cfa_off;
s32 ra_off;
s32 fp_off;
@@ -129,33 +129,48 @@ static __always_inline int __find_fde(struct sframe_section *sec,
return -EFAULT;
}
-#define __UNSAFE_GET_USER_INC(to, from, type, label) \
+#define ____UNSAFE_GET_USER_INC(to, from, type, label) \
({ \
type __to; \
unsafe_get_user(__to, (type __user *)from, label); \
from += sizeof(__to); \
- to = (typeof(to))__to; \
+ to = __to; \
})
-#define UNSAFE_GET_USER_INC(to, from, size, label) \
+#define __UNSAFE_GET_USER_INC(to, from, size, label, u_or_s) \
({ \
switch (size) { \
case 1: \
- __UNSAFE_GET_USER_INC(to, from, u8, label); \
+ ____UNSAFE_GET_USER_INC(to, from, u_or_s##8, label); \
break; \
case 2: \
- __UNSAFE_GET_USER_INC(to, from, u16, label); \
+ ____UNSAFE_GET_USER_INC(to, from, u_or_s##16, label); \
break; \
case 4: \
- __UNSAFE_GET_USER_INC(to, from, u32, label); \
+ ____UNSAFE_GET_USER_INC(to, from, u_or_s##32, label); \
break; \
default: \
- dbg_sec_uaccess("%d: bad UNSAFE_GET_USER_INC size %u\n",\
+ dbg_sec_uaccess("%d: bad unsafe_get_user() size %u\n", \
__LINE__, size); \
return -EFAULT; \
} \
})
+#define UNSAFE_GET_USER_UNSIGNED_INC(to, from, size, label) \
+ __UNSAFE_GET_USER_INC(to, from, size, label, u)
+
+#define UNSAFE_GET_USER_SIGNED_INC(to, from, size, label) \
+ __UNSAFE_GET_USER_INC(to, from, size, label, s)
+
+#define UNSAFE_GET_USER_INC(to, from, size, label) \
+ _Generic(to, \
+ u8: UNSAFE_GET_USER_UNSIGNED_INC(to, from, size, label), \
+ u16: UNSAFE_GET_USER_UNSIGNED_INC(to, from, size, label), \
+ u32: UNSAFE_GET_USER_UNSIGNED_INC(to, from, size, label), \
+ s8: UNSAFE_GET_USER_SIGNED_INC(to, from, size, label), \
+ s16: UNSAFE_GET_USER_SIGNED_INC(to, from, size, label), \
+ s32: UNSAFE_GET_USER_SIGNED_INC(to, from, size, label))
+
static __always_inline int __read_fre(struct sframe_section *sec,
struct sframe_fde *fde,
unsigned long fre_addr,
@@ -164,7 +179,8 @@ static __always_inline int __read_fre(struct sframe_section *sec,
unsigned char fde_type = SFRAME_FUNC_FDE_TYPE(fde->info);
unsigned char fre_type = SFRAME_FUNC_FRE_TYPE(fde->info);
unsigned char offset_count, offset_size;
- s32 ip_off, cfa_off, ra_off, fp_off;
+ u32 ip_off;
+ s32 cfa_off, ra_off, fp_off;
unsigned long cur = fre_addr;
unsigned char addr_size;
u8 info;
@@ -248,9 +264,9 @@ static __always_inline int __find_fre(struct sframe_section *sec,
unsigned long fre_addr;
bool which = false;
unsigned int i;
- s32 ip_off;
+ u32 ip_off;
- ip_off = (s32)(ip - sec->sframe_start) - fde->start_addr;
+ ip_off = ip - (sec->sframe_start + fde->start_addr);
if (fde_type == SFRAME_FDE_TYPE_PCMASK)
ip_off %= fde->rep_size;
--
2.45.2
Return-Path: <linux-kernel+bounces-665283-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 10CE841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:28:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id D8D85A20A9A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:27:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8D5002798FD;
Wed, 28 May 2025 10:28:10 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B6D42211A35;
Wed, 28 May 2025 10:28:07 +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=1748428090; cv=none; b=E7cp2gQznRCflOjs1KaqF1nswXOE9tERKkiK+CU38scbkP5kN9cKc0ozd+te2BRmZKRnqW/+K7Ts+IcTITv/xYcjEWXRSG260uhxuOjsT3q6YmhB/RkxZLOOVzPdNirjY80QJJ4HQdkgT25C1Y0RHuBB/qSPwso04rYl/Htvuzc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428090; c=relaxed/simple;
bh=OiPr5S8H4taGYCOmTB82i6TUzOFqaMw1IUaBhFv59WM=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=rleGvaa4LTTtPvGvyCWdPkOGxGZeVCtLjS83FwJV+64d5tidMcHeKTYdCBwakpgzpUUSozA87eRvhiJiLedDn9sL4S7FDycmqaPVcRGIdIPjO/VjyF9YXkwHW6mO8M08/whg7bax6CGRggdB5tv8pKT8l5AL7VHvaKXIQomCg24=
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 41ACC12FC;
Wed, 28 May 2025 03:27:50 -0700 (PDT)
Received: from localhost (e132581.arm.com [10.1.196.87])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 274B13F673;
Wed, 28 May 2025 03:28:06 -0700 (PDT)
Date: Wed, 28 May 2025 11:28:01 +0100
From: Leo Yan <leo.yan@xxxxxxx>
To: "Liang, Kan" <kan.liang@xxxxxxxxxxxxxxx>
Cc: peterz@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, namhyung@xxxxxxxxxx,
irogers@xxxxxxxxxx, mark.rutland@xxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-perf-users@xxxxxxxxxxxxxxx,
eranian@xxxxxxxxxx, ctshao@xxxxxxxxxx, tmricht@xxxxxxxxxxxxx,
Aishwarya.TCV@xxxxxxx
Subject: Re: [PATCH V4 01/16] perf: Fix the throttle logic for a group
Message-ID: <20250528102801.GK2566836@xxxxxxxxxxxxxxx>
References: <20250520181644.2673067-1-kan.liang@xxxxxxxxxxxxxxx>
<20250520181644.2673067-2-kan.liang@xxxxxxxxxxxxxxx>
<20250527161656.GJ2566836@xxxxxxxxxxxxxxx>
<44e1c864-a6e1-41a8-9f11-0ea25999131c@xxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <44e1c864-a6e1-41a8-9f11-0ea25999131c@xxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 03:30:06PM -0400, Liang, Kan wrote:
[...]
> There may be two ways to fix it.
> - Add a check of MAX_INTERRUPTS in the event_stop. Return immediately if
> the stop is invoked by the throttle.
> - Introduce a PMU flag to track the case. Avoid the event_stop in
> perf_event_throttle() if the flag is detected.
>
> The latter looks more generic. It may be used if there are other cases
> that want to avoid the stop. So the latter is implemented as below.
Yes. I agreed the fix below is more general and confirmed it can fix
the observed issue.
> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
> index 947ad12dfdbe..66f02f46595c 100644
> --- a/include/linux/perf_event.h
> +++ b/include/linux/perf_event.h
> @@ -303,6 +303,7 @@ struct perf_event_pmu_context;
> #define PERF_PMU_CAP_AUX_OUTPUT 0x0080
> #define PERF_PMU_CAP_EXTENDED_HW_TYPE 0x0100
> #define PERF_PMU_CAP_AUX_PAUSE 0x0200
> +#define PERF_PMU_CAP_NO_THROTTLE_STOP 0x0400
>
> /**
> * pmu::scope
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 8327ab0ee641..596597886d96 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -2655,7 +2655,8 @@ static void perf_event_unthrottle(struct
> perf_event *event, bool start)
>
> static void perf_event_throttle(struct perf_event *event)
> {
> - event->pmu->stop(event, 0);
> + if (!(event->pmu->capabilities & PERF_PMU_CAP_NO_THROTTLE_STOP))
> + event->pmu->stop(event, 0);
A background info is that even a PMU event is not stopped when
throttling, we still need to re-enable it. This is why we don't do
particualy handling for PERF_PMU_CAP_NO_THROTTLE_STOP in
perf_event_unthrottle().
Maybe it is deserved add a comment for easier understanding.
Thanks,
Leo
> event->hw.interrupts = MAX_INTERRUPTS;
> perf_log_throttle(event, 0);
> }
> @@ -11846,7 +11847,8 @@ static int cpu_clock_event_init(struct
> perf_event *event)
> static struct pmu perf_cpu_clock = {
> .task_ctx_nr = perf_sw_context,
>
> - .capabilities = PERF_PMU_CAP_NO_NMI,
> + .capabilities = PERF_PMU_CAP_NO_NMI |
> + PERF_PMU_CAP_NO_THROTTLE_STOP,
> .dev = PMU_NULL_DEV,
>
> .event_init = cpu_clock_event_init,
> @@ -11928,7 +11930,8 @@ static int task_clock_event_init(struct
> perf_event *event)
> static struct pmu perf_task_clock = {
> .task_ctx_nr = perf_sw_context,
>
> - .capabilities = PERF_PMU_CAP_NO_NMI,
> + .capabilities = PERF_PMU_CAP_NO_NMI |
> + PERF_PMU_CAP_NO_THROTTLE_STOP,
> .dev = PMU_NULL_DEV,
>
> .event_init = task_clock_event_init,
>
>
> Thanks,
> Kan
>
>
Return-Path: <linux-kernel+bounces-665284-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 51DA741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:28:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 72B87A22702
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:28:04 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 773C427A12F;
Wed, 28 May 2025 10:28:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="QWuEu22m"
Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010062.outbound.protection.outlook.com [52.101.85.62])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 644973398A;
Wed, 28 May 2025 10:28:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.62
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428090; cv=fail; b=iIsFlmnlJvoxBguJGFe2hSRWVrqBu2tQY1Qleazu053Gxsh2w/50WBAokJoB5U7aO3bLYu9zNRpZHw9Chh9kwZVlgFbm9NYfJ50G0IcY0Y6tV9WGxgNFQO6/AjsQBwzGa2ErGzDMqxyqge/JdoSisKIbeZQWdDLMzuSWYUzZR/U=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428090; c=relaxed/simple;
bh=TaBmxuT1vDj/cWheJmtriy1OWMOKY4QfDBN4Y+FrX7k=;
h=Message-ID:Date:From:Subject:To:Cc:References:In-Reply-To:
Content-Type:MIME-Version; b=eFBmi7+9prB4Q2ypWmw+VL883xev+ZBNGf21xryp4VEBJDpattvqDKUlYuaVDP9a58RjDec30vHjz+znrqMi9MjDFCdOw6ZPdS4mnqH7l8ZEq7NKguGR1hjj0V5QIdSVbTH0uS88A06H1DciJXheCgh94BPG3ItNNy2K46YdKtM=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=QWuEu22m; arc=fail smtp.client-ip=52.101.85.62
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=DH1DZzj0NwHNc6e1KYj7EWLD7Ps6FLdC3Ti9b0eXVIDVmBrcQ91mbe1IqAQ59STD7BPGfJuYNEeVHwr6zYjSC/Rur7jL9aohKp+5UbEae9mlEYVcpiHhYyMWNnpQt64bsqZai7RrgfgbiVAzw6z4ZEDh44SpoCThxqCoVZkofMpFrr9C/d62O+NOQtEqT/b+kwGTqiK5Zi/NnsTGOfnh69oH7d7OIBZNkzsColtFGQWvOCj0v9L3i0hyMlayPZyo65utND4sy4EJ2fxqQJGzxtvhx7m5MpEaqZViUZhk9XDdxFbYzlONcfQpokjECgukvoMyOeOANp+XsYCVAEHs0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=ssWFnHgHyycAuwzhntW4yMXjlJoPHlESVcjLoMb9S3g=;
b=JdYYu0TaKiU4TvbTDPqUJupiCnlLJe3jk1XIO7i8cYBJqjdrn5aFc0mqya3cPNGtiFA0ANCRnlKpDPcwF2FTXSpx352cM2fHcRUgZXhUq/dxp79d5BvkMf/m+MNDROajJP21xx5kl1NB82McIJAV7nzD+2IAItA50QPH82QNrv5RkEwZV5b+4vNW8VTgJ0mrtpV2vNs2vmAze9wYeG37nc0YhdT+4oVxwHUk1QjTQy1dh/FKX3/RWl9DTHcnjUgC5Qb9aoDX2qvI+sU5CVz6Of59wVzmZLkqJEzZ9SJlAMNCyngx7eHnL7Hz1d9kHfcJs8Jt5AOPt3aetgvfvLfb9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com;
dkim=pass header.d=altera.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=ssWFnHgHyycAuwzhntW4yMXjlJoPHlESVcjLoMb9S3g=;
b=QWuEu22mOmO9DVSXrYlijQ59BiN7ib/Z9OqYJ5Qd1jJXsP95uQPZYfWA9VUqQPlN1X8Co2mjDBMAwjX6xQL9jpbfGfr/g6/F1xXtISpVJEcZ8v/3fVadxQNT8D6/xf6ZOg39H78B5kjG4JU3J53jQ1Nqfix8eO8wq0MLVe5PE5q8lo2Z/tEodp3QEBgHzi1ptG/mPX5n7nc5Q5NYASosDNS71t3YBPg1YAwwr1mpk2OjAXfVETfSxeUmXmuHT0hEsgFfSJMUVVvr8g0Jqbd/exMlzheQGvo/zQP4FsAuaFUdi/QXqnR1Kcnph/uLo5/v3ZnsKZVZDmEDH9Af0109Mw==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=altera.com;
Received: from BN9PR03MB6201.namprd03.prod.outlook.com (2603:10b6:408:11e::20)
by DM4PR03MB6176.namprd03.prod.outlook.com (2603:10b6:5:39c::22) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Wed, 28 May
2025 10:28:05 +0000
Received: from BN9PR03MB6201.namprd03.prod.outlook.com
([fe80::6b16:5fd0:112:ab8e]) by BN9PR03MB6201.namprd03.prod.outlook.com
([fe80::6b16:5fd0:112:ab8e%5]) with mapi id 15.20.8769.021; Wed, 28 May 2025
10:28:05 +0000
Message-ID: <5d055750-787e-44e8-a498-47258c7ffe70@xxxxxxxxxx>
Date: Wed, 28 May 2025 15:57:58 +0530
User-Agent: Mozilla Thunderbird
From: Mahesh Rao <mahesh.rao@xxxxxxxxxx>
Subject: Re: [PATCH v3 1/4] firmware: stratix10-svc: Add mutex lock and unlock
in stratix10 memory allocation/free
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>, Dinh Nguyen <dinguyen@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: Matthew Gerlach <matthew.gerlach@xxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx
References: <20250526-sip_svc_upstream-v3-0-6a08a4502de3@xxxxxxxxxx>
<20250526-sip_svc_upstream-v3-1-6a08a4502de3@xxxxxxxxxx>
<c9c08142-752a-4ce5-a723-9f50486dddb6@xxxxxxxxxx>
Content-Language: en-US
In-Reply-To: <c9c08142-752a-4ce5-a723-9f50486dddb6@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: MA0PR01CA0078.INDPRD01.PROD.OUTLOOK.COM
(2603:1096:a01:ad::20) To BN9PR03MB6201.namprd03.prod.outlook.com
(2603:10b6:408:11e::20)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR03MB6201:EE_|DM4PR03MB6176:EE_
X-MS-Office365-Filtering-Correlation-Id: a07f2206-2930-4476-0f22-08dd9dd2552b
X-MS-Exchange-AtpMessageProperties: SA
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?d3BLRlhCYVBxOEtaazJieEh4K2tSakdYc2N3OUthMklpSVJhSURwNGV6N1l2?=
=?utf-8?B?NlR2QzNVRVBIWmdIanY1aTRjY1M5Y0xVVEkvalhIR0N6Rkw1ZDRvYzFpOGpR?=
=?utf-8?B?d21ycC9SUVpmTXNRMXcvbUxhcDBFWVo3aFhpMGpRM2FwR3cwMmtDZUplb1VS?=
=?utf-8?B?SFBSeFVxTnJXVTVyelR6dFZuRDBweXZ4SldhdVdEaVo0b3NqZWN2MUxFVzUr?=
=?utf-8?B?b296MEx2SURlYll1d1FtUUFpZEdRQnRaek5yeWtDRVBJU3lxSzR4TWUwdWYy?=
=?utf-8?B?ajVDQjhQU1dpb0lwMW5VZUhCb005SStsd0RYNTgzVmdxbU1hYjJYeGYvUGQ2?=
=?utf-8?B?ZC9PeUJqbTh5YU9peVR3Tnk5cnowRnMrNXBuSzMvbVppaDFNT1Y1ak8wOHdH?=
=?utf-8?B?dmxMWVM2a0x4bGFlM3pKMURYZjR1VEJhMmtuVDl2Y01PdzYzdVIzN3duVkd0?=
=?utf-8?B?WStKYXdKQS9mRlZVbFJFelZIMHB1RW9YQW9TNEM4Z0ZFcWpkTFAzaHlzKzI5?=
=?utf-8?B?a0FUODZiS0c1OVc3T2I1NU1nbmFEdjJJTHBMWXBMY0tCc0prQ004MVQ3eFpt?=
=?utf-8?B?MmpPNWVTVDBCakJVWlc5VURMWTJ6T1pHNUVsditKRjBTZTZoUEx5dVBYU3dL?=
=?utf-8?B?NVZ2RFE4TkdCbTVWZjFvUkJBeFZOQWlZNVpaMXhPNG5nOFNwam9JNEFlMVlL?=
=?utf-8?B?Q1h6cTk4L3c2dVh2dEQrRmk2bEFSTUFKelBDcWdXVHdoYytVUG9kSUJML1BW?=
=?utf-8?B?WXhyVDJnQ21TOEsrSTJsajJ2bVByYjVWSEZOZDQ0VWlCKzIxMjlmNlRBMlBY?=
=?utf-8?B?Q2JmKythaUZLVGdqMzA2QTgxRThMZTZDK2pncFc4SHZ1TU1ZMEF1NnJ3elBZ?=
=?utf-8?B?TXFxV1FQWG9LZFM2YVI5NldPYVNYczFTYm53M2JlLzJrOWQyRWg5OXFJOEIx?=
=?utf-8?B?VU1hayt3aFY5eHd5Zy9tT2crOUVZS3YzN1ZDUW1adUpNc21EMUh3OC9ySFRo?=
=?utf-8?B?QUZ5VyswWUtTM256em1PaG9FQkVrRzFaTDhJaEhqbk9NWUZ0VTBSd01WaVE4?=
=?utf-8?B?c1dOZEs2UWhqeVpINkFvaWxvQ3Z5RXBkSnd2MXNwUmpRTWhLbEJnZ3BrOGw5?=
=?utf-8?B?aE1wRFIzVEpGV09saUpTVzRlOHJPMWpDVTJRRlYvMTBSaFZ2WjFpazhmT0lJ?=
=?utf-8?B?MHV5NnRXdkV0VVk3YzgxYzNDV3RYUDAzMmorQ3RFN3lobWFWWjltaDRvRFVM?=
=?utf-8?B?dFgzUEtkR1prVlJ4d3U4NzRvZjlOS3JONVFma2Q4Qjl6MGRvSHlwajJETHVF?=
=?utf-8?B?cm53Y0M1UGxDdG1Qb1p2eXF4cnNLV0RQS2FRcDVjQjhaQ0xUS2hzTlF3Qmp2?=
=?utf-8?B?VXFHRXg0d0RCYjA5Z0JzV1ZzYnBZYTR5SXlWLzM3dHlHT0hkNUh3NERwU3pF?=
=?utf-8?B?WXBjWnFuZDNjQ3NDbG8zQjRaVUFCa1loV3phcDRjTGZxdjBTYXZKaTZPdGMz?=
=?utf-8?B?L3p1S1JHSFJmZVFpcnVNTnNkWVc2SSt6SitRc0ppS0hkSzg5emhzUEppU1Y3?=
=?utf-8?B?RFl3clJzRHVEQVppd3N0MDlsWWtuTGhSUi82VHNQUzB0bElQa2U0V0VhcE5D?=
=?utf-8?B?ZTBWT203NC9aeEhCdStjZ1BudFF0YWdiZnIrYk5McUZYVGx5anltRzVkbk1k?=
=?utf-8?B?cnBNdXZkL0F5em1vNUp5dWdSdnRUdHJla1NxcERjK1hnc041TFFpVVI2YlJO?=
=?utf-8?B?QjRtdWNtVUU0TTZ5R2FoT2N4YXhvNFBQUHRlUHpFQXZHNE55QkNHTHQ5L0F1?=
=?utf-8?B?Y1lBbmRlSE9CWlhsM0xBeVkxZlRDcWJVdFBBVXRDUDhxUllLQ0o0NzVTbnZl?=
=?utf-8?B?aUtXVm5kQitkZUM4eGxBQWZOL0l3RTdLZDBhcjdsUXVORGFUbTRGMnFsa2k5?=
=?utf-8?Q?Ugao42Wf1ek=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR03MB6201.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?SkdaQUQ3aTRQcnBVTmRqaThDSEJPdWZIWGFYNkRJbFRLandkOUQ2emJxOTlO?=
=?utf-8?B?OUF1Z2JXdjRjQzVFajRTS2NjbkhIa1VQU0tFR2EwSUtkVjl0VlBDTC9lVDVC?=
=?utf-8?B?RmY0Ykc5aDU1aFUrOVlmQXQxZ0FBT3dwajhJVVM1TWRKZmg0eXdUNU9Tem4z?=
=?utf-8?B?U1BpbXd6UHJwOHVQcHpobjZkY1dhTDFTY0xpamc1UmFoMHFVaml5a0hFa1Uv?=
=?utf-8?B?K2hRdGRsOTVmM0tMTWttWUxCSW94bE55SVV6czlGcnlIN0FXTHNWc3U2YTFm?=
=?utf-8?B?ZFBoUWNXZ0RKVzBXWjlhU3F1LzdMUlZWR3RMNzB4THE4NGo2eW5xcTJrRU9l?=
=?utf-8?B?YjNlS2psZnVCTEFRb0RoRzhCUFBiOEF5ZVZRUndLNnMrOHA4OUhvUUgzQnNV?=
=?utf-8?B?WkIwa3lseGNCbi9LcDhCaFl3bldqRm1mUDYzbVJkWkR4aDJ3aFZFUytvaVhJ?=
=?utf-8?B?UVdiN2ZvRUJtWFVDbVpwcVFmYjJhbGdkdFM4c2hNeVo5cG1MR1BVbklDVnZ6?=
=?utf-8?B?RkVHYmVDTWp5MjhGVTRrVjRZNGpDTWlQTzRWN2hZamJ6MG82aTJ4TW9KY1Ar?=
=?utf-8?B?WHQyQnBaemhSdzVVSEtyNHd4K0dTTWdjUTBscFpZUG1EMEFhbDFQbUI2RSt5?=
=?utf-8?B?ZjVsWXFqOU5lMktwVGNNRjFmV3E4S1ZtbEF1NmJJV0ttdGF4RmhMNE55R05j?=
=?utf-8?B?UTNtMjBMbm1ZZVFVUmZRN2ZkQ0JZVGppMzR0VjU2Slp1UHVVK1kvQjduKzQ3?=
=?utf-8?B?MHUrOXZwVmZiVG10M0pSclI4a1N6QUU4OEYyOEE0WVNwOHdnZnlkcG9mdEN1?=
=?utf-8?B?Q0R6dFhLa1hNRDJOQmM1M2Z0cnJOOG4yWlY1U1JhU1RhbTVsQ1o3a0VoUFJB?=
=?utf-8?B?ZEd2aUxvMjYvUUU0Y0xRT2F2TXpHSi9rTEJJV29vS0ZsdHRHczcyT3QrVEkw?=
=?utf-8?B?MkNEVzFEcXlwNmMvM3NzY3VQYjA5c3kvaVBYWk1kL2VUMXlqT2RDcjZzOVNV?=
=?utf-8?B?S0YxWk5NejAxRkhoSlcxdVBKSWpHcFFYdVk1cEpxVXU4M1NYaEl3QTlTbHRJ?=
=?utf-8?B?YmRlZFlac01NTGNHQlFjdEVsQ2NiR1lwdGxXT0VYcTlwZXcrWGlIM1dJWnNU?=
=?utf-8?B?V3BDaFVQQnNZK1l4dlpveEFIVjFKYjBXRjE3Z0labUU4UDVXZktjYUFQWkdk?=
=?utf-8?B?dEtpN0loSEtDSmxkdzB3LzB1RmxhT1J6azNycWFpUXh5NktWN1lFeDFxb1d0?=
=?utf-8?B?bk1GaGlhakU0ZnZBL25iVWpsSnV3QWpOWkllT0NSVFlHS2VDV01zYmpDVlho?=
=?utf-8?B?YkJJeFViNVNhSjdqM3NRdHN0SldKWlVaYTRHOTJwMk5LS3JsaFNlZnJEQS9j?=
=?utf-8?B?c2p3U1Q4UzIzeHdxYWRPTUFycythMFpvMXY3TFRVcUIvTzF5OWVrTkI0Rjgw?=
=?utf-8?B?aVRXZ0MvWW1PN0lZTTV6dC8xYXYyZUgxOHlKUGZKZzNiTUNCVW9FbkV4WE1C?=
=?utf-8?B?RnYreW5CWkhTcU1sRWk4YitTUlpkTk81NCtRNzRCZWcrckg3TU5vd3RVUGx1?=
=?utf-8?B?SU1QRndwS1FQbkFCOHU2OVJzQktocE1lK3lEVmh3SHBmRXNRRmhKMmlYZ3JE?=
=?utf-8?B?UFlQRTdwYmZqNFRpUExZQ0dEazFJelVoQnZGUDZTTjBUS0hUZ2x0SHNZRTJ6?=
=?utf-8?B?K1RSOG9HUEdxRXNuc3VqVlNWR2Rhb3pQYWtvakh2bnpvQmt6aThPYmh0MXZa?=
=?utf-8?B?cUZIakROdk9qRTBGNUZLSGJVTjRLRXlQUjFBSWRBK1grNkY0SGNZL3ZWVUpG?=
=?utf-8?B?WVQ5RHF3N0ZQWXFKdEN0WmJmUkE1cFFwbWI3UWZ4aWlVS3Fvd3JtMEQ1Qkpr?=
=?utf-8?B?dXRoTVhVN0RnRFROcXZOanZrWVFteGVVVXpDd04vckxjaXdSNFJyakdmMU13?=
=?utf-8?B?c2NibmdGV3BnY1Y0ZE9RUE13N052OE5wQUpkaXVhYTFjaWFFOEFQb3I1Ymo2?=
=?utf-8?B?b0xiOHowK09XVHlTMDk0TnpsSXN1SjBkbkVvN2RsQllVZFJyWjl0dnNQTCtp?=
=?utf-8?B?dndraEN4dE51N0lsREdBTHhiS2dOK3REMkRjamxYb1JuMVpTaXIvU1d1bjds?=
=?utf-8?Q?JKmTzX+4/Mj/HJYireoJe6ZmC?=
X-OriginatorOrg: altera.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a07f2206-2930-4476-0f22-08dd9dd2552b
X-MS-Exchange-CrossTenant-AuthSource: BN9PR03MB6201.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 10:28:05.7802
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: epcnCe3H4SURqm3Gom/uV+ZJDEbwbYigLjL38A/dQAE89zVMAHIKCRxBqpMOLZKiVliDfvAJqAuwDRaIp8Q2jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6176
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Krzysztof,
Thanks for reviewing the code.
On 27-05-2025 02:19 pm, Krzysztof Kozlowski wrote:
> On 26/05/2025 08:25, Mahesh Rao via B4 Relay wrote:
>> From: Mahesh Rao <mahesh.rao@xxxxxxxxxx>
>>
>> This commit adds a mutex lock to stratix10_svc_allocate_memory
>> and stratix10_svc_free_memory functions to ensure
>> thread safety when allocating and freeing memory.
>> This prevents potential race conditions and ensures
>> synchronization.
>>
>> Signed-off-by: Mahesh Rao <mahesh.rao@xxxxxxxxxx>
>> Reviewed-by: Matthew Gerlach <matthew.gerlach@xxxxxxxxxx>
>> ---
>> drivers/firmware/stratix10-svc.c | 29 ++++++++++++++++++++++-------
>> 1 file changed, 22 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/firmware/stratix10-svc.c b/drivers/firmware/stratix10-svc.c
>> index e3f990d888d71829f0ab22b8a59aa7af0316bea0..3d42d4b18b7299d0a9e5110159e06253dfeddf88 100644
>> --- a/drivers/firmware/stratix10-svc.c
>> +++ b/drivers/firmware/stratix10-svc.c
>> @@ -1,6 +1,7 @@
>> // SPDX-License-Identifier: GPL-2.0
>> /*
>> * Copyright (C) 2017-2018, Intel Corporation
>> + * Copyright (C) 2025, Altera Corporation
>> */
>>
>> #include <linux/completion.h>
>> @@ -171,6 +172,7 @@ struct stratix10_svc_chan {
>>
>> static LIST_HEAD(svc_ctrl);
>> static LIST_HEAD(svc_data_mem);
>> +static DEFINE_MUTEX(svc_mem_lock);
>
> You need to document what you are protecting here.
Will make the change
>
>>
>> /**
>> * svc_pa_to_va() - translate physical address to virtual address
>> @@ -182,14 +184,17 @@ static LIST_HEAD(svc_data_mem);
>> static void *svc_pa_to_va(unsigned long addr)
>> {
>> struct stratix10_svc_data_mem *pmem;
>> + void *ret = NULL;
>>
>> pr_debug("claim back P-addr=0x%016x\n", (unsigned int)addr);
>> + mutex_lock(&svc_mem_lock);
>> list_for_each_entry(pmem, &svc_data_mem, node)
>> - if (pmem->paddr == addr)
>> - return pmem->vaddr;
>> -
>> - /* physical address is not found */
>> - return NULL;
>> + if (pmem->paddr == addr) {
>> + /* physical address is found */
>> + ret = pmem->vaddr;
>> + }
>> + mutex_unlock(&svc_mem_lock);
>> + return ret;
>> }
>>
>> /**
>> @@ -990,13 +995,16 @@ int stratix10_svc_send(struct stratix10_svc_chan *chan, void *msg)
>> p_data->flag = ct->flags;
>> }
>> } else {
>> + mutex_lock(&svc_mem_lock);
>> list_for_each_entry(p_mem, &svc_data_mem, node)
>> if (p_mem->vaddr == p_msg->payload) {
>> p_data->paddr = p_mem->paddr;
>> p_data->size = p_msg->payload_length;
>> break;
>> }
>> + mutex_unlock(&svc_mem_lock);
>> if (p_msg->payload_output) {
>> + mutex_lock(&svc_mem_lock);
>
> Especially that this looks odd.
Shall I combine the both lock invocation together?
>
>
>
> Best regards,
> Krzysztof
Return-Path: <linux-kernel+bounces-665285-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D8D4D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:29:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 589481BA3457
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:29:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A1A68279784;
Wed, 28 May 2025 10:29:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="wMdjYH7R"
Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11010060.outbound.protection.outlook.com [52.101.51.60])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AEE6E211A35;
Wed, 28 May 2025 10:29:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.51.60
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428156; cv=fail; b=d2bZPKXIXS4wgXyphB47u/zlLeTbRGysVcN2TXL6e8UhI4LCtY3JczgE/LliBQHLP8iZ80tVnzR2dMvgw5uQDSCc/y/IHELwJ7aaXbnsZmAdbExok3ykJtbzL64WaFBoQ2zud0kwy51vylEbf+yY8LcBANB1AkcXmj4j4VrxoJw=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428156; c=relaxed/simple;
bh=lcqcNqFQpPpOIVoPD4SRwXBqHtI25WBw23Z4EwhJjk0=;
h=Message-ID:Date:From:Subject:To:Cc:References:In-Reply-To:
Content-Type:MIME-Version; b=KOSzHQ/SR3ypIIKuFPU6sAeKlyZlxqeOmWdkioRNFnE6q0ELDxupvxifzWE98gqfzOiNETKjMi2e8dmO+6vRPAFDhSaRondI36Y4wTFHXt4f5uXG0BHX941t0PVgGyA0YlU+i4IWKQj9KvAE3vQI8XuIOyqua/kaZl/aj8hiZ+Q=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=wMdjYH7R; arc=fail smtp.client-ip=52.101.51.60
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=gMV3Qkcze7k3wtCcsGtxL1flQmRcM+z/EL2pQ9wRWmQdag9iK89NLlhztezokIzElGIz0f+tw9sOoRzv+FelDSR3p9Ofcq36VmS6iRSJpgSAZkGUq6sxyFUKax2o3AWWC0UDXEukGljJq26JmB5Hir8fKjYr9dRvUfEPFRUnhwInB1IKCR5DZh0y02yFZJLN22ZMTLikSVHNvyB0PTfqLDiJXxBtwt9fEB5wlOc8iTmCwL2bCvWJ0V1ud9k2+JQO0L4UKWX1Ld7XH5bIex6G7KHk0P3h57dpglSm/HWRnJJVulKs7Q/JOKqy/Zzt8FrxOlvfKkuFczscP9khzgkFBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=cVFQ385IfMWP+dmdQn3UliBRM7KkvEf7cViU3m0wzHM=;
b=gnEtNXX0iWoxzuyxstFfHidZ1bM+7/rHm2d7cK5xyEKP2wx5zjr83M4NoU1ghO1fHHfnXXHt4D3uE7UwwNQWzijvVYI1i9oZec2dbSf8KoEssHzI5WYf6cg7qABAgMI0h0Og6wbHmdbFj03BD9wBe9KcFzC9VUkvsAiaBmDKgkmlCAqSAK3fQ4KB50xErh42WMRZ0+LKVvMrGf34KuNfM5tIDavIwnSWjMsUB+1u49YRMWfvSMToUiAz/q3l5A6Ur+ll5Gd3Ob6i/sPVrymL0fybcUu8FlITaeuQ7OmrN/mNCbkXplKQcyiBkDhpJVU6/VFxko7ao2hWtofHP7jQKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com;
dkim=pass header.d=altera.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com;
s=selector2;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=cVFQ385IfMWP+dmdQn3UliBRM7KkvEf7cViU3m0wzHM=;
b=wMdjYH7RougFIpMDg4fndDkJe479ctbE6Jk8DS2ARW2ePLLf8adPOhYF825Ke7l30EK3qsHmF5nMsPlObYbcqkBmn4InHsWS2lc5Iz19ofNgdpf+kurAerzV9qNVWH2m+gSSk3gf4d87+q6uOG8bwsEcJP7hgq1mH7lnbKzi/9BnvCn7OakwdafAHiX+gJIF111Xg+LNGhlFqUh48FwiGxieYnGjcPPQoFRgOHQf6N23Yg6LT9z0kwJjW6qQHBUu32/atRGFmQypGCIwp1ocRGGLT1zDkM6cvjNoq1kL7L0PVhmI0O1aIjEvMllsEO3l90e9K5dZOT8HO+mbCW/ptA==
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=altera.com;
Received: from BN9PR03MB6201.namprd03.prod.outlook.com (2603:10b6:408:11e::20)
by DM4PR03MB6176.namprd03.prod.outlook.com (2603:10b6:5:39c::22) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Wed, 28 May
2025 10:29:12 +0000
Received: from BN9PR03MB6201.namprd03.prod.outlook.com
([fe80::6b16:5fd0:112:ab8e]) by BN9PR03MB6201.namprd03.prod.outlook.com
([fe80::6b16:5fd0:112:ab8e%5]) with mapi id 15.20.8769.021; Wed, 28 May 2025
10:29:12 +0000
Message-ID: <0f74ed36-13bd-4b6c-9d5e-f52cc25235f8@xxxxxxxxxx>
Date: Wed, 28 May 2025 15:59:05 +0530
User-Agent: Mozilla Thunderbird
From: Mahesh Rao <mahesh.rao@xxxxxxxxxx>
Subject: Re: [PATCH v3 3/4] firmware: stratix10-svc: Add initial support for
asynchronous communication with Stratix10 service channel
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>, Dinh Nguyen <dinguyen@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: Matthew Gerlach <matthew.gerlach@xxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx
References: <20250526-sip_svc_upstream-v3-0-6a08a4502de3@xxxxxxxxxx>
<20250526-sip_svc_upstream-v3-3-6a08a4502de3@xxxxxxxxxx>
<3a76c7b1-ce02-41eb-a4c0-ae065e9b99f3@xxxxxxxxxx>
Content-Language: en-US
In-Reply-To: <3a76c7b1-ce02-41eb-a4c0-ae065e9b99f3@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: MA0PR01CA0091.INDPRD01.PROD.OUTLOOK.COM
(2603:1096:a01:ae::14) To BN9PR03MB6201.namprd03.prod.outlook.com
(2603:10b6:408:11e::20)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN9PR03MB6201:EE_|DM4PR03MB6176:EE_
X-MS-Office365-Filtering-Correlation-Id: aca553fe-93ad-4bb9-93f8-08dd9dd27cfb
X-MS-Exchange-AtpMessageProperties: SA
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
=?utf-8?B?aVlheFFGTVpUYjVOYlVIWm5nRS9iQVpnRjhwTWNUVnMyRlVnSzV3OXVHUXA0?=
=?utf-8?B?QndBNk1MbW1PSVY1WDk4MXRLd2F2OTg0cjNnSnlDeHNrUC9XMm5kNVdNZHhK?=
=?utf-8?B?aWRjSHpobnZ5dlpMQ25zeE9XMCs2OFI0Z0h2VE9FT3Y5M1hyL1kvRml3TGFX?=
=?utf-8?B?blBEamtPcW91bU45aE1pVEx3T21LRGJsVTBRc1pmK28zVncvSjl2YmpscEwv?=
=?utf-8?B?bnIzWVcwL2lUQ2NsQkZtNklTcEM5QVdkVGJ1bm5RL1N6QVczUHJMcEJRQWxD?=
=?utf-8?B?ZWpMN3dZQnBCN0lySmNTWEdpalE2WjFhaXNablpyV05KemFPTTdPV2t4Zmg5?=
=?utf-8?B?QkFUcStFd05uTGpxd1FsSGVOc3gzVHArZ05hTGc5Y2psUlJ1cDIxUnB1czdj?=
=?utf-8?B?TVJ0UzVDMW5yY1dnYWRHSG92L1dQbHlSTVpzQ3NBUjZDVElEWTVMZE5TaHVJ?=
=?utf-8?B?SmVHZ1VmQ2FuL2RSRksyeWZVQ0hVTCtNbmhrbXMwditRSU1SRW80UlgreGFZ?=
=?utf-8?B?ZmwxbDRxWFFQYWV5VmMwUS8rNnVJUGdieGt0L09zeDIzOXJ6UlptVWR6dkw5?=
=?utf-8?B?VFp4MGpVOVA2UWh3TkIzTi9pQ2dVL2xxMk0zRHdqd2RZYTRyd2NHM0N3S2ZY?=
=?utf-8?B?OUFLMjFqM28rY0xucnpkV2Q4bGxoNityRnhYQ0hzNDdxNm9OSng0aDk3UWNm?=
=?utf-8?B?dXlTbU1DUDlHeUpWbUkzbzkyanBNNmhIS2xVSWM5SVpscTlPSXFFWGpJV3d3?=
=?utf-8?B?SFlrRG1taEhGaVoxTzBUeFMxYlZ2MDdEWnlQYUhwMEhtRVlmUFp2ZGxRbmxL?=
=?utf-8?B?SU5yamJZN2xDc2JpbDNpK1dUaVJRSEJ6RFdzRGptd1RIUmZsMVp6WGluSU9D?=
=?utf-8?B?YWZDSExScjJQaERBUU4way81NDFxeFBabFV5K1JKTzJtcm5MQzlEcG8zcHRk?=
=?utf-8?B?TVpDM0I1TXNXRVEzUUlIVmx3UGIzNjUzMm5Wa0UyTjd0MWFpNUZHdlRRSXNI?=
=?utf-8?B?b1dvSUdya0VacGhZL2R5RU1PejBhRXVibllITHV3cVdwM0F5NVhDNmFqbGFW?=
=?utf-8?B?Z05zTDM1amxhNExMTVlMaXBOT2lFZDFrWDBkMk1URE95NTB1NkxhN2FTUDB5?=
=?utf-8?B?ZEVVakxYdCs0THpuYWxuNjE5WUdib2J3T1JTOGQ0MERvZlNGeEFwdWtEVUZI?=
=?utf-8?B?V24wOEJXTTVPemdVRTgxVHBzNVFhUWpYb1lqT2c1YzhNMGhhN0lCOStQSmZo?=
=?utf-8?B?Um50UnZEQTYrOWtEbFQxZGF6bSt5bGdjM3d2c1FDMSt1OEZMZ2R6a2VDYVdF?=
=?utf-8?B?VDVHblZiamJIdUdVdEw1ak9LWHhaRml6Y3htdDZkeVlnb09WczJFQUM1WTds?=
=?utf-8?B?NHhZSXR1ZHdEdVdYY3hrL3lRaXhFYm85cWJ1R2x2Z2VnZ1FrYUxyWWFQcUlN?=
=?utf-8?B?S2Y1RC9MNmFQcVJOYkJCSW04M3N2NllmSkJFaEM0aXl4WWQ5dnBmT0xtdEVu?=
=?utf-8?B?VUZ3SGdOcVFzZ2NKKzZKMEgwV3VwQ0czejRpWDg2QzNJdzVMM29GbHc2Vlhr?=
=?utf-8?B?dkZ5ZWNkOGYvWDhFOHNEMkZDMVF3U0dsU0NTYkNLdTFOUEhULzFseGE2ZGk2?=
=?utf-8?B?ckhUQlFabFVicVlzVUV0eUFSK3RCTjRIaytFZkswSlVLbytabVVxS3VXemlv?=
=?utf-8?B?R3l3WGRCT1VOTXlRaTlnOHE1NVBGK0ZGbkUzcWYwQ1FBblB5WVFCeDdTZSs3?=
=?utf-8?B?SWlvWnFKSXBoYnNFRWo1QzBncE10SitKZDFsdCtKQjJnQ0toUVVEcTNkelhh?=
=?utf-8?Q?oLiL8nuznjJ1z7RqgPjgcSLY+OS0WHvcl4C1s=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR03MB6201.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?utf-8?B?eVpWUUp0MHdZYnljVVVXS1V4eU5hMlBmNUxTTGpwOFEzODgyc29sdFBabmw5?=
=?utf-8?B?ZmpTSlFoZTRaZG4yZDk4aUNHR2V6aXRwUTdkK1BJeFpZUmJHK3pwU3NMbDM3?=
=?utf-8?B?MklWMTZSZTNnZWlpVlRBTmZsVGlaaGNPOE42QTA1dnhKSzlUQzJFak16VXda?=
=?utf-8?B?K3kwQ1hXN25JR2xCNzlodnF1c3VQcUR0YnB4b1BHMU16ekZCTmdydUpvRG1w?=
=?utf-8?B?OEwza1VLS1JMQ1gwSk1xVTBOMDg5ZDJwNkh0UG42SEoxTWhRa0Fzbml3ZUVl?=
=?utf-8?B?aG44bkxPcU5NbFp3TTlKUzBETzh0RlVZTlFMeE9XcG9aWWROMlg3RWNKa1BR?=
=?utf-8?B?dFpFbkJUbmYvbm4xNVd1QVNtakhaMUVDUktQdDJKbkxLVnBnRTNNT0VXSGpO?=
=?utf-8?B?SVNLWFNUQ29CWXIyZXp0Mll2TjlKN0JNOXRCQUVGRXJ1WjNoT1JiQkxiY05M?=
=?utf-8?B?RkxmZWZUMU1SeVNMT3hTMGMzWldLVHJHNFFsbmVRanZrVjJacGRiZkZHRGN1?=
=?utf-8?B?SjZ3VlZNOUVEdk9aRTh2eTN2akhaSEN5LzRqbUk0c09ObFVIdmJqdjVaL1FK?=
=?utf-8?B?bnliNGJKUEJwL3BrdzZRaTdhU3hiZWpCNzlISkJQdEhvTUFYcVIwTUE5VXJx?=
=?utf-8?B?NWc5bEwzRjFha3hoekROU0R1UjVkN3lVYWNaRXVkUVB3WUcwVU1DYmFvNmYw?=
=?utf-8?B?NWtYcU5QMENzeDhZR0xKS1F3cytzTFZ6UENHaGlTQjR4dnF3OWJMN3hLRkNT?=
=?utf-8?B?YlhWTTM1SnorWFJ0dkd3VDlhUDgrU0l2NXQ3ZVJjUjJ4cnlWdzB5OHdLZ2ZM?=
=?utf-8?B?cXBmU1N5Q2ZScXpUTzZUbEwzRVFJd3JVWTBCb2trRWpzRFN2bGttVGF1M1BP?=
=?utf-8?B?NE1HYXhkS1M3M1dYQ25yYmtqcEVqSDhCM1BMSERzQndmRG9GTyt4VU1yWkEv?=
=?utf-8?B?WHN0TUhxbW13THBVUGljd09rU0w1bUZ5Y2dESUl5amc0ZkNhMXN5cFR4dzZm?=
=?utf-8?B?cm5HVFVQbzdxdmRlT003Sk00OWVOUmtFNk1CcUpJMHFGVW5Lbmg4bGFkY2lT?=
=?utf-8?B?QjQxUG5iTGI2aVFNY05YQXdrYkR3bVdVVkJiVXEyemJRSWxOTWVHbEppaVNn?=
=?utf-8?B?RzQ5S2YyTTZhbi82WTNzREk1aWFHbFFWL1ovS2FLQzR5S1VBNGd3U1dFdzlV?=
=?utf-8?B?WGx3eEpoYkZwU1lTSkRzWEUxL3Flem1VSWlKUEtKYXptZG13SUxsc3pybVU1?=
=?utf-8?B?aVVWSzRrVHpldDNkNWttc2wzTUZDYlBNSWE0Wm90OVB4VW84Yzg5cm5jRVEv?=
=?utf-8?B?UjNUZFlqQk9acDEvaHoxREwxRVVRZWFCc204a2RKVDlZV3Z6UjFKVjJHMTN5?=
=?utf-8?B?NGRRVDNtZ0pKR281WGovUElqR0VlQlBQSm56Zkp6amxUbG92TEY1NDRtTkQ4?=
=?utf-8?B?TFhsY1h0aS81ZlhhNXVtQ3BuRG5NSnVrU3Y3N1J0dWNianl6bUZJcnZCb0E5?=
=?utf-8?B?TEF4OXZySzc5K1B0YnVnRS9MQitXREF0aEgrbDdUampUSHQzMzY1dm5BWDhp?=
=?utf-8?B?LzkzQXgwQVhEQy9HaGs1L0ovZVVPU0NTUHdIU2Mwa0R6RU1lNCtkTkRBNGR4?=
=?utf-8?B?UmtUVVU3TWNONEREeEd0Z2M1U25vSzV4SDdpdlZIRVF6dm16WjYrV3dYMkQx?=
=?utf-8?B?djJQa3FEY2I0aWN1dlBPVjFCR1pjOUtKc2NsOElqbXlYK2RIL0VsSnEwTENG?=
=?utf-8?B?YW1DMzJ0SjZzMkJFVEw1S1Y1Vk0xS0tKMEwzbDZlZFRwdzlVcGFUNld4Y0Z0?=
=?utf-8?B?SUpDTER6YUIzbGZoRnMzV2JMQUJnVmVzd3piYjB2Z2lNNFFFZFlTaU1Sajdl?=
=?utf-8?B?SjBhWXBrTlNWS2p0RmpSUy93V3NyRmF6b1VYekE5Q01VVVRZTDk4QVZYQTFG?=
=?utf-8?B?Y0pzdkxqd3VRZUordzl4b3NreXVpUlBGNEcyUlJGOW51YVpaUjExOUZ6c28v?=
=?utf-8?B?QXl3S1BiQ1pZS0Vhb29IVUNkQWl6NmI2RDlTa3hKMkZ4MmJBaVh6MWtvcUlT?=
=?utf-8?B?Y0ZDMTJ1Nm5xYk9IY3l0b2J0THNONU1NZ21vdnFvdmtsMEQrT2M0QnRSbHh2?=
=?utf-8?Q?oHJatiRuWmzAinvHYDVvrmADJ?=
X-OriginatorOrg: altera.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aca553fe-93ad-4bb9-93f8-08dd9dd27cfb
X-MS-Exchange-CrossTenant-AuthSource: BN9PR03MB6201.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 10:29:12.5066
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aJ6+SZZ/IXZYmE3fhk91qjqfXenoszc5s5Wa0a2bFLswSTNLcPW1r4kUK3yMDyzc/IoC3l7JyFTxtsR+s84cRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6176
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Krzysztof,
Thanks for reviewing the code.
On 27-05-2025 02:14 pm, Krzysztof Kozlowski wrote:
> On 26/05/2025 08:25, Mahesh Rao via B4 Relay wrote:
>> From: Mahesh Rao <mahesh.rao@xxxxxxxxxx>
>>
>> This commit adds support for asynchronous communication
>
> Please do not use "This commit/patch/change", but imperative mood. See
> longer explanation here:
> https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95
Will incorporate the change.
>
>
>> with the Stratix10 service channel. It introduces
>> new definitions to enable asynchronous messaging to
>> the Secure Device Manager (SDM). The changes include
>> the adding/removing of asynchronous support to existing
>> channels, initializing/exit-cleanup of the new asynchronous
>> framework and sending/polling of messages to SDM.
>
> Please wrap commit message according to Linux coding style / submission
> process (neither too early nor over the limit):
> https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597
Will incorporate the change.
>
>
> ...
>
>> + args.a0 = INTEL_SIP_SMC_ASYNC_POLL;
>> + args.a1 =
>> + STRATIX10_SIP_SMC_SET_TRANSACTIONID_X1(handle->transaction_id);
>> +
>> + actrl->invoke_fn(actrl, &args, &handle->res);
>> +
>> + data->status = 0;
>> + if (handle->res.a0 == INTEL_SIP_SMC_STATUS_OK) {
>> + return 0;
>> + } else if (handle->res.a0 == INTEL_SIP_SMC_STATUS_BUSY) {
>> + dev_dbg(ctrl->dev, "async message is still in progress\n");
>> + return -EAGAIN;
>> + }
>> +
>> + dev_err(ctrl->dev,
>> + "Failed to poll async message ,got status as %ld\n",
>> + handle->res.a0);
>> + return -EINVAL;
>> +}
>> +EXPORT_SYMBOL_GPL(stratix10_svc_async_poll);
>
> No, drop entire function. There is no user of it. You cannot add exports
> for dead code.
These functions have been newly introduced for the Stratix10-SVC
platform driver. The client drivers that will utilize these APIs are
currently under development and are planned for inclusion in a
subsequent patch set. Would you prefer that I include a sample client
driver using these APIs in this patch set instead?
>
>> +
>> +/**
>> + * stratix10_svc_async_done - Completes an asynchronous transaction.
>> + * @chan: Pointer to the service channel structure.
>> + * @tx_handle: Handle to the transaction being completed.
>> + *
>> + * This function completes an asynchronous transaction identified by the given
>> + * transaction handle. It ensures that the necessary structures are initialized
>> + * and valid before proceeding with the completion operation. The function
>> + * deallocates the transaction ID, frees the memory allocated for the handler,
>> + * and removes the handler from the transaction list.
>> + *
>> + * Return: 0 on success, -EINVAL if any input parameter is invalid, or other
>> + * negative error codes on failure.
>> + */
>> +int stratix10_svc_async_done(struct stratix10_svc_chan *chan, void *tx_handle)
>> +{
>> + if (!chan || !tx_handle)
>> + return -EINVAL;
>> +
>> + struct stratix10_svc_controller *ctrl = chan->ctrl;
>> + struct stratix10_async_chan *achan = chan->async_chan;
>> +
>> + if (!achan) {
>> + dev_err(ctrl->dev, "async channel not allocated\n");
>> + return -EINVAL;
>> + }
>> +
>> + struct stratix10_svc_async_handler *handle =
>> + (struct stratix10_svc_async_handler *)tx_handle;
>> + if (!hash_hashed(&handle->next)) {
>> + dev_err(ctrl->dev, "Invalid transaction handle\n");
>> + return -EINVAL;
>> + }
>> +
>> + struct stratix10_async_ctrl *actrl = &ctrl->actrl;
>> +
>> + spin_lock(&actrl->trx_list_wr_lock);
>> + hash_del_rcu(&handle->next);
>> + spin_unlock(&actrl->trx_list_wr_lock);
>> + synchronize_rcu();
>> + stratix10_deallocate_id(achan->job_id_pool,
>> + STRATIX10_GET_JOBID(handle->transaction_id));
>> + kfree(handle);
>> + return 0;
>> +}
>> +EXPORT_SYMBOL_GPL(stratix10_svc_async_done);
>
> No, drop entire function. There is no user of it. You cannot add exports
> for dead code.
Same as above.
>
>> +
>> +static inline void stratix10_smc_1_2(struct stratix10_async_ctrl *actrl,
>> + const struct arm_smccc_1_2_regs *args,
>> + struct arm_smccc_1_2_regs *res)
>> +{
>> + arm_smccc_1_2_smc(args, res);
>> +}
>> +
>> +/**
>> + * stratix10_svc_async_init - Initialize the Stratix10 service controller
>> + * for asynchronous operations.
>> + * @controller: Pointer to the Stratix10 service controller structure.
>> + *
>> + * This function initializes the asynchronous service controller by setting up
>> + * the necessary data structures, initializing the transaction list.
>> + *
>> + * Return: 0 on success, -EINVAL if the controller is NULL or already initialized,
>> + * -ENOMEM if memory allocation fails, -EADDRINUSE if the client ID is already
>> + * reserved, or other negative error codes on failure.
>> + */
>> +static int stratix10_svc_async_init(struct stratix10_svc_controller *controller)
>> +{
>> + int ret;
>> + struct arm_smccc_res res;
>> +
>> + if (!controller)
>> + return -EINVAL;
>> +
>> + struct stratix10_async_ctrl *actrl = &controller->actrl;
>
> Do not declare variables in the middle of the code. See coding style.
Will incorporate the change.
>
>> +
>> + if (actrl->initialized)
>> + return -EINVAL;
>> +
>> + struct device *dev = controller->dev;
>
> Same here.
Will incorporate the change.
>
>
>
> Best regards,
> Krzysztof
Return-Path: <linux-kernel+bounces-665286-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AD87E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:29:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id C92B44E2B92
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:29:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A96AF27990D;
Wed, 28 May 2025 10:29:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="xLWfTKqK"
Received: from fllvem-ot03.ext.ti.com (fllvem-ot03.ext.ti.com [198.47.19.245])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0747278E44;
Wed, 28 May 2025 10:29:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.47.19.245
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428174; cv=none; b=PC4aFjGckMJ/HCcIQ84yWrE2uK503rNEf+VeHmwnz0zeaNDulJ/plNVRB7h9qbyzJPjn2D2hysVbV0cu+0yujmKIzkJW6BRmbSSFEAzeZKUHk4h8UvBZ90ALlGRtNNV+9OkdCpDjdCGfsxjB6evDBFSCzb5lnx8wG+EZLLu6ssU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428174; c=relaxed/simple;
bh=h+29phBmhlh1+LUraWLSuUdwRFKJoxTWtUu/2ITtjhI=;
h=Message-ID:Date:MIME-Version:Subject:To:References:From:
In-Reply-To:Content-Type; b=Gw8F83p0q62lTWINyKr6it3pFLYhTwB5lXHvBLeyxwWuL+C/7wsVvL9MSDDgYbC1IuAj7Yra+q/XrnWlD/MvMvWt4YO5PKg5NSx4oRc5ByKGXcwTFOKH19k8hohbLINj5c3jIdCIhRPkh8wLgLXbVWEg0BHTEnInx8I6stLec/s=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=xLWfTKqK; arc=none smtp.client-ip=198.47.19.245
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com
Received: from lelvem-sh01.itg.ti.com ([10.180.77.71])
by fllvem-ot03.ext.ti.com (8.15.2/8.15.2) with ESMTP id 54SATMNi3236486;
Wed, 28 May 2025 05:29:22 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
s=ti-com-17Q1; t=1748428162;
bh=m8AmUS6TNrYkLRwZxzaG8NF3Ct7s6HtxqfyDKxPFrLc=;
h=Date:Subject:To:References:From:In-Reply-To;
b=xLWfTKqKreLX83E7Sv7bJ60G/xqoWyLC028ZcbJwEzPTY9A76Glyl+04Mo3u9HbH1
fhFr4Ics7qmR+WKvc3GD3NzfP8/b04tuoFeKvVIaqXCTx6TYm1Wc656bquRb5CSVwS
29Mvkih+z9J4SHMT9dejzfRlcG3y6UKghjkSb89g=
Received: from DFLE109.ent.ti.com (dfle109.ent.ti.com [10.64.6.30])
by lelvem-sh01.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 54SATM8Q3369282
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=FAIL);
Wed, 28 May 2025 05:29:22 -0500
Received: from DFLE109.ent.ti.com (10.64.6.30) by DFLE109.ent.ti.com
(10.64.6.30) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Wed, 28
May 2025 05:29:22 -0500
Received: from lelvem-mr06.itg.ti.com (10.180.75.8) by DFLE109.ent.ti.com
(10.64.6.30) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
Frontend Transport; Wed, 28 May 2025 05:29:22 -0500
Received: from [172.24.30.41] (lt2k2yfk3.dhcp.ti.com [172.24.30.41])
by lelvem-mr06.itg.ti.com (8.18.1/8.18.1) with ESMTP id 54SATGi7013764;
Wed, 28 May 2025 05:29:17 -0500
Message-ID: <110b1fb3-da88-4b38-babf-eb0e375100a6@xxxxxx>
Date: Wed, 28 May 2025 15:59:16 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/8] drivers: dma: ti: Refactor TI K3 UDMA driver
To: =?UTF-8?Q?P=C3=A9ter_Ujfalusi?= <peter.ujfalusi@xxxxxxxxx>,
<vkoul@xxxxxxxxxx>, <robh@xxxxxxxxxx>, <krzk+dt@xxxxxxxxxx>,
<conor+dt@xxxxxxxxxx>, <nm@xxxxxx>, <ssantosh@xxxxxxxxxx>,
<dmaengine@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>,
<praneeth@xxxxxx>, <vigneshr@xxxxxx>, <u-kumar1@xxxxxx>,
<a-chavda@xxxxxx>
References: <20250428072032.946008-1-s-adivi@xxxxxx>
<20250428072032.946008-4-s-adivi@xxxxxx>
<e823a43e-20a8-4142-875f-a3575cbb0d0b@xxxxxxxxx>
Content-Language: en-US
From: "Adivi, Sai Sree Kartheek" <s-adivi@xxxxxx>
In-Reply-To: <e823a43e-20a8-4142-875f-a3575cbb0d0b@xxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-C2ProcessedOrg: 333ef613-75bf-4e12-a4b1-8e3623f5dcea
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/9/2025 7:55 PM, Péter Ujfalusi wrote:
> Hi,
>
> On 28/04/2025 10:20, Sai Sree Kartheek Adivi wrote:
>> Refactors and split the driver into common and device
>> specific parts. There are no functional changes.
>>
>> Signed-off-by: Sai Sree Kartheek Adivi <s-adivi@xxxxxx>
>> ---
>> drivers/dma/ti/Makefile | 2 +-
>> drivers/dma/ti/k3-udma-common.c | 2909 ++++++++++++++++++++++++
>> drivers/dma/ti/k3-udma.c | 3751 ++-----------------------------
>
> I'm affraid you do need to break this one up a bit. It might be doing it
> correctly, but it is impossible to check with the churn, like ....
noted. I'm working on splitting this. Will post a v2.
>
>> drivers/dma/ti/k3-udma.h | 548 ++++-
>> 4 files changed, 3700 insertions(+), 3510 deletions(-)
>> create mode 100644 drivers/dma/ti/k3-udma-common.c
>
> ...
>
>> -static bool udma_is_chan_running(struct udma_chan *uc)
>> -{
>> - u32 trt_ctl = 0;
>> - u32 rrt_ctl = 0;
>> -
>> - if (uc->tchan)
>> - trt_ctl = udma_tchanrt_read(uc, UDMA_CHAN_RT_CTL_REG);
>> - if (uc->rchan)
>> - rrt_ctl = udma_rchanrt_read(uc, UDMA_CHAN_RT_CTL_REG);
>> -
>> - if (trt_ctl & UDMA_CHAN_RT_CTL_EN || rrt_ctl & UDMA_CHAN_RT_CTL_EN)
>> - return true;
>> -
>> - return false;
>> -}
>> -
>> static bool udma_is_chan_paused(struct udma_chan *uc)
>> {
>> u32 val, pause_mask;
>> @@ -643,189 +88,73 @@ static bool udma_is_chan_paused(struct udma_chan *uc)
>> return false;
>> }
>>
>> -static inline dma_addr_t udma_get_rx_flush_hwdesc_paddr(struct udma_chan *uc)
>> +static void udma_decrement_byte_counters(struct udma_chan *uc, u32 val)
>
>
> These sort of diffs.
>
>> {
>> - return uc->ud->rx_flush.hwdescs[uc->config.pkt_mode].cppi5_desc_paddr;
>> + if (uc->desc->dir == DMA_DEV_TO_MEM) {
>> + udma_rchanrt_write(uc, UDMA_CHAN_RT_BCNT_REG, val);
>> + udma_rchanrt_write(uc, UDMA_CHAN_RT_SBCNT_REG, val);
>> + if (uc->config.ep_type != PSIL_EP_NATIVE)
>> + udma_rchanrt_write(uc, UDMA_CHAN_RT_PEER_BCNT_REG, val);
>> + } else {
>> + udma_tchanrt_write(uc, UDMA_CHAN_RT_BCNT_REG, val);
>> + udma_tchanrt_write(uc, UDMA_CHAN_RT_SBCNT_REG, val);
>> + if (!uc->bchan && uc->config.ep_type != PSIL_EP_NATIVE)
>> + udma_tchanrt_write(uc, UDMA_CHAN_RT_PEER_BCNT_REG, val);
>> + }
>> }
>>
>> -static int udma_push_to_ring(struct udma_chan *uc, int idx)
>> +static void udma_reset_counters(struct udma_chan *uc)
>> {
>
> ...
>
>> +struct udma_dev {
>> + struct dma_device ddev;
>> + struct device *dev;
>> + void __iomem *mmrs[MMR_LAST];
>> + const struct udma_match_data *match_data;
>> + const struct udma_soc_data *soc_data;
>> +
>> + struct udma_tpl bchan_tpl;
>> + struct udma_tpl tchan_tpl;
>> + struct udma_tpl rchan_tpl;
>> +
>> + size_t desc_align; /* alignment to use for descriptors */
>> +
>> + struct udma_tisci_rm tisci_rm;
>> +
>> + struct k3_ringacc *ringacc;
>> +
>> + struct work_struct purge_work;
>> + struct list_head desc_to_purge;
>> + spinlock_t lock;
>> +
>> + struct udma_rx_flush rx_flush;
>> +
>> + int bchan_cnt;
>> + int tchan_cnt;
>> + int echan_cnt;
>> + int rchan_cnt;
>> + int rflow_cnt;
>> + int tflow_cnt;
>> + unsigned long *bchan_map;
>> + unsigned long *tchan_map;
>> + unsigned long *rchan_map;
>> + unsigned long *rflow_gp_map;
>> + unsigned long *rflow_gp_map_allocated;
>> + unsigned long *rflow_in_use;
>> + unsigned long *tflow_map;
>> +
>> + struct udma_bchan *bchans;
>> + struct udma_tchan *tchans;
>> + struct udma_rchan *rchans;
>> + struct udma_rflow *rflows;
>> +
>> + struct udma_chan *channels;
>> + u32 psil_base;
>> + u32 atype;
>> + u32 asel;
>> +
>> + int (*udma_start)(struct udma_chan *uc);
>> + int (*udma_stop)(struct udma_chan *uc);
>> + int (*udma_reset_chan)(struct udma_chan *uc, bool hard);
>> + bool (*udma_is_desc_really_done)(struct udma_chan *uc, struct udma_desc *d);
>> + void (*udma_decrement_byte_counters)(struct udma_chan *uc, u32 val);
>
> You can drop the udma_ prefix, it is clear that they are for udma..
>
>> +};
Return-Path: <linux-kernel+bounces-665287-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C74BD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:31:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B19FE1BA6AF9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:31:30 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3DCDA214A69;
Wed, 28 May 2025 10:31:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="KnehEPHW"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EFAFF35979
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:31:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.18
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428270; cv=none; b=WV64KFx2UB+CSRnTTLYsmtILn/wndEFhnkkgNyxnhf5fbnJTkrwpbAq1z94jqncNNicXZ2mSpD0TekHVrou0P1uKoa2AuDnkUcivKMk2iGM++xYa/27gtVnHFGYwJpQlgZ0D5Oq/j0/PAuEzztLFj0GnWpr1bfZyr83+D5l3iaA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428270; c=relaxed/simple;
bh=5FpyHY2tQuyzJ0S2g4vKQEYDZ8iGnxH6tJ5/Xaw/2eg=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=K83/FiyLjZb1xwwdkKkTcSwHgV6zWq5v1BoO3icpDv15g/JISJ00Q9b7D0ieIIZ+jJOKzjNatEGrfA+O0LWiQ9Rbb+iucDJCjdcAPoenDJ+pqNL0DUISzkFmc04ivuVjCWW3bTVFmNGK8TtEchk661MBgsZsFjexdJqn1UG+gFs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=KnehEPHW; arc=none smtp.client-ip=192.198.163.18
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748428269; x=1779964269;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=5FpyHY2tQuyzJ0S2g4vKQEYDZ8iGnxH6tJ5/Xaw/2eg=;
b=KnehEPHWpC1e6bbHC1a1XMJPJg6n5WeMHh3cyp84peYFVqLIyonKYDym
qALCppj6gkhovHE3qYkGMnZQrn4sRuT+N1PfQMAtF+dVKNfmuCSqbET6n
33cNHD0n/S5BGH0TS4y8ZikaLPIntobZU+ISMg4nFtIrQUYp0v28TuAoV
n2rs8lL7gGqMA8NtKGz6vBF2TgDQ4cBKdv1mNa9TjH826L3x2SQ4fCG1u
DBgGTiEBXNuJthuDCKZIpyEdvJa7bkpBpcRlI0ot1wokPsoDggI6/i6JT
kQQuaK0+lvgXgz9jpx3x4oF2sdp2mZx46IiKVULqfgFg95tCnZyvg+V38
A==;
X-CSE-ConnectionGUID: izohwbUkRFaLsFI+zpvOdQ==
X-CSE-MsgGUID: Zq/+W9i3SqeXvxvqFp9VAQ==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="49695531"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="49695531"
Received: from orviesa009.jf.intel.com ([10.64.159.149])
by fmvoesa112.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:31:08 -0700
X-CSE-ConnectionGUID: s3rzE0s4SMa7uinSdw/PTw==
X-CSE-MsgGUID: mhMGwAv/SfGRjzvLZUWWkw==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="143234633"
Received: from smile.fi.intel.com ([10.237.72.52])
by orviesa009.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:31:04 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uKE3o-00000001PuX-3hiz;
Wed, 28 May 2025 13:31:00 +0300
Date: Wed, 28 May 2025 13:31:00 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Christopher Snowhill <chris@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>,
Lucas De Marchi <lucas.demarchi@xxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxxxx>,
Thomas =?iso-8859-1?Q?Hellstr=F6m?= <thomas.hellstrom@xxxxxxxxxxxxxxx>,
Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>,
Dave Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Matthew Brost <matthew.brost@xxxxxxxxx>,
Himal Prasad Ghimiray <himal.prasad.ghimiray@xxxxxxxxx>,
Imre Deak <imre.deak@xxxxxxxxx>,
Ilpo =?iso-8859-1?Q?J=E4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>,
"Michael J. Ruhl" <michael.j.ruhl@xxxxxxxxx>,
intel-xe@xxxxxxxxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency
Message-ID: <aDbl5CIGulMng3de@xxxxxxxxxxxxxxxxxx>
References: <20250523121106.2231003-1-arnd@xxxxxxxxxx>
<j7yodlrk7wh3ylvb2z622ndlzm4guhahmakdb6l5d6qtv5sabo@w4bfiehtmaab>
<aDbYs7QZRfr2i80A@xxxxxxxxxxxxxxxxxx>
<704fd2b9-04da-4ec8-b854-22bc3ce9058e@xxxxxxxxxxxxxxxx>
<DA7PSM1WUKBI.3JA6THJTRF5B7@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <DA7PSM1WUKBI.3JA6THJTRF5B7@xxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 03:17:03AM -0700, Christopher Snowhill wrote:
> On Wed May 28, 2025 at 3:03 AM PDT, Arnd Bergmann wrote:
> > On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote:
> >> On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote:
> >>> On Fri, May 23, 2025 at 02:10:46PM +0200, Arnd Bergmann wrote:
...
> > I think ACPI_VIDEO is at the center here, and changing all the
> > 'select ACPI_VIDEO if ACPI' instances to
> > 'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of
>
> Maybe you meant 'depends on ACPI_VIDEO || !ACPI' ?
I believe not. The depends on FOO || FOO=n is idiomatic in Kconfig.
> > the recurring dependency loop problems in drivers/gpu/.
> >
> > Actually doing it without regressions is going to be
> > nontrivial though, because any change in this area is likely
> > to trigger another dependency loop somewhere.
--
With Best Regards,
Andy Shevchenko
Return-Path: <linux-kernel+bounces-665288-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D3CFD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:32:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 7B03B188E8F9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:32:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 22451279784;
Wed, 28 May 2025 10:32:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="kSNlxrnx"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7025D35979;
Wed, 28 May 2025 10:32:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428344; cv=none; b=DEV9iMnKKXRoZk7qW56QNMB4fFThRexbpMnnAKJ9LpNunev9w4zi5ztcE4C7AqGruWOkRTsxyFTWZIi8NKh86Dv2pXRQ7OfvzCWaa3rwwwhOou+ysWU5E91HH5VtT+u0jD57XBNZ0gh2lSyw7JbZfHL1Em5qAyZpYEMpzZOOXro=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428344; c=relaxed/simple;
bh=WbWs/tlIGND6mcqk6aVU2k/Acw8Y8mcQZ+hfMzQQ344=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=l/TircpKMNaIA/ONt80nAn8lhLfpL0GlJEAz45ze2gXOQz5so0M6O378dS5A4Ai2hXiYJAQ1OZoy3VLJ1aklvgZl7KFYAXcnOEbyal9Rn6Pk47Sz1jMtVZqRYz8cTB54GpKZLvaUfRTpRqK+CNjHbc5b1T4MlzqJODOinPBDh0Q=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=kSNlxrnx; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com
Received: from pps.filterd (m0279864.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S5msL3011831;
Wed, 28 May 2025 10:32:20 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
5s5GmI5pDtXZRla9B+b3OjKjzb3+4yCSmqxSPDmf2zI=; b=kSNlxrnxaXB1eqOZ
zsX74pj5d1SlPXe74vKnv/n0Iu9nWi50o0wur1v4G2CZZF8lqM19+GS1a/r/x45k
xar00WWzWMTME0Ufp1KG2VYAlgWBGlyYIh33u0ApJAouos4P7fIrHajUetV0fCJM
cqBc9HYntsU8uD0dq1z/vK5q2vx8DCUtWxppKtqKX1DP8x6/0dbLGSkxJxeqlYz8
xgqG1pG+weCogoKRmg2YIK/7C0knoyeqm5CQHVtx0ZML56LuEVg1U5GgVdLvQLSM
VrvgqIQxfXOqQ7XLwafbcynEPFlORPXBGSM814+E3yCtqEJ0Q7pVfQhKvSCoSrw9
e1oGZw==
Received: from nalasppmta02.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u79p9xne-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 10:32:20 +0000 (GMT)
Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196])
by NALASPPMTA02.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 54SAWJ3w023266
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 10:32:19 GMT
Received: from [10.217.218.191] (10.80.80.8) by nalasex01a.na.qualcomm.com
(10.47.209.196) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.9; Wed, 28 May
2025 03:32:17 -0700
Message-ID: <83ffede3-b435-475d-8754-04d9c66616d4@xxxxxxxxxxx>
Date: Wed, 28 May 2025 16:02:14 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] bus: mhi: host: pci: Disable runtime PM for QDU100
To: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>
CC: <mhi@xxxxxxxxxxxxxxx>, <linux-arm-msm@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>,
Krishna Chaitanya Chundru
<krishna.chundru@xxxxxxxxxxxxxxxx>
References: <20250425-vdev_next-20250411_pm_disable-v4-1-d4870a73ebf9@xxxxxxxxxxx>
Content-Language: en-US
From: Vivek Pernamitta <quic_vpernami@xxxxxxxxxxx>
In-Reply-To: <20250425-vdev_next-20250411_pm_disable-v4-1-d4870a73ebf9@xxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To
nalasex01a.na.qualcomm.com (10.47.209.196)
X-QCInternal: smtphost
X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085
X-Proofpoint-GUID: fiyv-ymSeSf7rDrP_Rr6aWxGMFmnRiBs
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5MSBTYWx0ZWRfX98ZZi85DaigV
GbSQ141mhPSIpfojWg7x2A2cUnujuhZK7NOgLaUCK3QS/lYD/w04u7SHYHo3qkKV/HPSSUbUtQA
4t9A2lmPWXJJhrId3Hp20h/C6n0QJRjGdD6chBldlHyMtQHA09FdS8hQGeCSgrpFDCjFMjfX4l1
IiHOshiNXz9AFUAa0bw7QjQZb/pq8DY484sCkgwiuZAoHlTfO3vKHOR5XRwhSWOBH5/Y3HyMK/p
fsMu4qsUdDp43FKKJtwypa+N0xczgnQW6dqDj5g9wUVI3UsH+UXnkebI+AcaOb3RZbhEFjwS8ZM
UwPiFOwn3eIeZsuf3hsyeSmqSTOMdob/XCD2bK5Gn6vm6VEQ2fQnNuu8xpmEzga87oe/uIBwn+v
P7PWHZDvG8EktS+SvsyQXLFeb4og3/KdvNeVgbhWipuXevFxWbfhoUNHHGA89aiHIauiLUOf
X-Authority-Analysis: v=2.4 cv=HNnDFptv c=1 sm=1 tr=0 ts=6836e634 cx=c_pps
a=ouPCqIW2jiPt+lZRy3xVPw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17
a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8
a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=K2TQCGjYwjeuO8Cq6osA:9 a=QEXdDO2ut3YA:10
a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-ORIG-GUID: fiyv-ymSeSf7rDrP_Rr6aWxGMFmnRiBs
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
clxscore=1015 suspectscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0
priorityscore=1501 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0
bulkscore=0 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280091
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Gentle reminder, please help to review the change.
On 4/25/2025 12:49 PM, Vivek Pernamitta wrote:
> The QDU100 device does not support the MHI M3 state, necessitating the
> disabling of runtime PM for this device. It is essential to disable
> runtime PM if the device does not support M3 state.
>
> Signed-off-by: Vivek Pernamitta <quic_vpernami@xxxxxxxxxxx>
> Reviewed-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
> ---
> Changes in v4:
> - updated commit test from LPM to M3
> - updated comments in code
> - Link to v3: https://lore.kernel.org/r/20250418-vdev_next-20250411_pm_disable-v3-1-0175b691de61@xxxxxxxxxxx
>
> Changes in v3:
> - updated variable to no_m3 from pm_disable
> - Link to v2: https://lore.kernel.org/r/20250418-vdev_next-20250411_pm_disable-v2-1-27dd8d433f3b@xxxxxxxxxxx
>
> Changes in v2:
> - Updated device from getting runtime suspended by avoid skipping autosuspend.
> - Updated commit message.
> - Link to v1: https://lore.kernel.org/r/20250414-vdev_next-20250411_pm_disable-v1-1-e963677636ca@xxxxxxxxxxx
> ---
> drivers/bus/mhi/host/pci_generic.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
> index 03aa887952098661a488650053a357f883d1559b..49910b502d7c0b912f1dfba2c1ed6daa7b5583ef 100644
> --- a/drivers/bus/mhi/host/pci_generic.c
> +++ b/drivers/bus/mhi/host/pci_generic.c
> @@ -43,6 +43,7 @@
> * @mru_default: default MRU size for MBIM network packets
> * @sideband_wake: Devices using dedicated sideband GPIO for wakeup instead
> * of inband wake support (such as sdx24)
> + * @no_m3: M3 is disabled
> */
> struct mhi_pci_dev_info {
> const struct mhi_controller_config *config;
> @@ -54,6 +55,7 @@ struct mhi_pci_dev_info {
> unsigned int dma_data_width;
> unsigned int mru_default;
> bool sideband_wake;
> + bool no_m3;
> };
>
> #define MHI_CHANNEL_CONFIG_UL(ch_num, ch_name, el_count, ev_ring) \
> @@ -295,6 +297,7 @@ static const struct mhi_pci_dev_info mhi_qcom_qdu100_info = {
> .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
> .dma_data_width = 32,
> .sideband_wake = false,
> + .no_m3 = true,
> };
>
> static const struct mhi_channel_config mhi_qcom_sa8775p_channels[] = {
> @@ -1270,8 +1273,8 @@ static int mhi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> /* start health check */
> mod_timer(&mhi_pdev->health_check_timer, jiffies + HEALTH_CHECK_PERIOD);
>
> - /* Only allow runtime-suspend if PME capable (for wakeup) */
> - if (pci_pme_capable(pdev, PCI_D3hot)) {
> + /* Allow runtime suspend only if both PME from D3Hot and M3 are supported */
> + if (pci_pme_capable(pdev, PCI_D3hot) && !(info->no_m3)) {
> pm_runtime_set_autosuspend_delay(&pdev->dev, 2000);
> pm_runtime_use_autosuspend(&pdev->dev);
> pm_runtime_mark_last_busy(&pdev->dev);
>
> ---
> base-commit: 01c6df60d5d4ae00cd5c1648818744838bba7763
> change-id: 20250414-vdev_next-20250411_pm_disable-53d5e1acd45e
>
> Best regards,
Return-Path: <linux-kernel+bounces-665289-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F28DA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:33:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 41EB99E83A9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:32:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9EC8F2798FD;
Wed, 28 May 2025 10:33:08 +0000 (UTC)
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 910B035979;
Wed, 28 May 2025 10:33:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428388; cv=none; b=XPn0kgInO+YF1gE6uQ/zx9qj4a7RuWapNxtjeEZBF4AU84fz9SpW6QcIwDlRumTaITijxOuO7kfuu+axBF3DtwvRniow61oK7VbVYnHt1fpakrSot1xTbQUKSfxBwm6judzzUHOr9QsavekEaWX2BI06Vu3nnePJI/9RhHMumR4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428388; c=relaxed/simple;
bh=y0zEsHlsG2aRl5gev3bnEDneC5AhDmONPTNqoGbrqQg=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=QlWEoDzWHPuRkW0XpRS64zHvDO6wWAjKAdocbPqlFeVsFn4xKjAFX4kbNvcn4gKh8YH0H1xDMnVfDpCubAXlhb5cWnVr+KN8NlQo8v/Bb+4kOoxv/P9+VjNdh05DJeoXdKbw0cAQqUf6DeyonwVH0XQaaQPkjE56DxmhcXuVC00=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org; spf=fail smtp.mailfrom=kernel.org; arc=none smtp.client-ip=192.198.163.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=kernel.org
X-CSE-ConnectionGUID: SUrw+wohSDC6MylUdIfmdA==
X-CSE-MsgGUID: 6/3NdaRFSpOqRK87DUvDuQ==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="61106994"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="61106994"
Received: from orviesa010.jf.intel.com ([10.64.159.150])
by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:32:52 -0700
X-CSE-ConnectionGUID: RLj7Q9ijRpC+4K9vkmSrAg==
X-CSE-MsgGUID: iz4umwZ/SJOgIc72Sseqdg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="143181651"
Received: from smile.fi.intel.com ([10.237.72.52])
by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:32:49 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andy@xxxxxxxxxx>)
id 1uKE5W-00000001Pwl-0GHg;
Wed, 28 May 2025 13:32:46 +0300
Date: Wed, 28 May 2025 13:32:45 +0300
From: Andy Shevchenko <andy@xxxxxxxxxx>
To: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
Cc: Jonathan Cameron <jic23@xxxxxxxxxx>,
David Lechner <dlechner@xxxxxxxxxxxx>,
Nuno =?iso-8859-1?Q?S=E1?= <nuno.sa@xxxxxxxxxx>,
Lars-Peter Clausen <lars@xxxxxxxxxx>,
Michael Hennerich <Michael.Hennerich@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, linux-iio@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v7 1/6] Documentation: ABI: IIO: add calibconv_delay
documentation
Message-ID: <aDbmTaX1d0HCx8V2@xxxxxxxxxxxxxxxxxx>
References: <20250526-wip-bl-ad7606-calibration-v7-0-b487022ce199@xxxxxxxxxxxx>
<20250526-wip-bl-ad7606-calibration-v7-1-b487022ce199@xxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250526-wip-bl-ad7606-calibration-v7-1-b487022ce199@xxxxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Mon, May 26, 2025 at 12:03:16PM +0200, Angelo Dureghello wrote:
>
> Add new IIO "convdelay" documentation.
>
> The ad7606 implements a phase calibation feature, in nanoseconds.
> Being this a time delay, using the convdelay suffix.
...
> +KernelVersion: 6.16
You need to bump to 6.17 if it's not a fix.
...
> +KernelVersion: 6.16
Ditto.
--
With Best Regards,
Andy Shevchenko
Return-Path: <linux-kernel+bounces-665290-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DF76941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:33:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 20D531BC3F90
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:33:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8794927A463;
Wed, 28 May 2025 10:33:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="wL4Vlu2J"
Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA461279912
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:33:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428391; cv=none; b=jP+QgSOx6w5q90FjyT0+z2ycx5J/dYWv3ytRL5r9e41J2qN51wmZJHK8V3A1EiPVJAP2FbF2oDbLUTALOWQsf5cLuY2peLX7tY+U1Vnrer7UhlHYJe9GrI2yojqiGnSR0Uv3ILpcrLzTVmueRe9VfooZxAhQ1dyzWGIyKWT93bk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428391; c=relaxed/simple;
bh=k3gpEJcg0kYry2W0tqCCHTbk//8aSpTV6Apt8u04Q+M=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=GuQ2YxkGEtC5emnT+xhj3e1MFIO0mI8x+/BBrPagwB1BqDtwHXj9skgKVhBDVHeS4iptg6C718IaK3r+NwkaD5Lnnot2O4rm0q2mxw3D/6Gt8kaTuDo4I2OKdLdLOfDs4nNytTNEu1UIyxKDhWCbGFpSJ2KkkkVXUJJHkjDmW6M=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=wL4Vlu2J; arc=none smtp.client-ip=209.85.221.49
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com
Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3a366843fa6so2720735f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:33:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1748428387; x=1749033187; darn=vger.kernel.org;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
bh=k3gpEJcg0kYry2W0tqCCHTbk//8aSpTV6Apt8u04Q+M=;
b=wL4Vlu2JVrupEUnF5guft90dYBsfUNuccqT//3q5q1Lpkqkk0k3mBdeR8JyapwOg9R
weNxwll1844iXzXeJgo9stX5vsfCG8XllJ6AQk1AInGo6vygHU7svh8vcVSX2CF3hoqz
yEAm2QCxbpNXNXkcVATz+IYP7/LgpaarKTnQ40f44TOYnJNj24Ba34ugjedP2R8yulpn
vFukBoRBJ8fIQgTu78AogYtpqsa/Rxnr+Vjb5SSe5KgrWWwZNfGG7QvNAQaGHjd5WvIs
+8oFxTD6dt6O2J/IMaDlJUc63A6OeKjhZe3Ya3CZabRzR90Dc3tpGx3nYADFMTovW2oC
qxAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428387; x=1749033187;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=k3gpEJcg0kYry2W0tqCCHTbk//8aSpTV6Apt8u04Q+M=;
b=JjDCRAyP0iDzhNyfvu6kx0lWji0N5QTrQ/Aij1Birl/7MB3YLZJgm5uA64xDhebOh6
AUNIOBfZWBFB8nnznoj/pFkzCU6BrA90GHcUjKTCHIzgo3FbUlGL0/lAfVvK52JzqaOW
T6pSzDCaZvZB0XC7jDD7EWLtwYlPeQG9N6wOircj0OV7wJ6DIi9x60S6nK5/1HoEyaAp
3/hiZXSzeJ4XJca/Yv0IBQ4YPLU9N/4ncefDa5+36L9KdSgRRzSFQHXtcXZfW8ZCcegd
1f2o62yD9+vDdo1zssEP+ilPq52cy/oA6Th2sKUHK0qV0WHTfvFhXcRkrmYpGjep7pZz
BkLg==
X-Forwarded-Encrypted: i=1; AJvYcCVq0K3wurEYxQlN3RfQ9wyRRvrTMj8KEbZJ0SPAdMCTp90hezOcKulFwue5TR6yi3UprISCfvhZLnqHgEM=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy9CcXyhEeySBfiqfxbBfK05z2V9iHHCoqakKGt5ADPl0G91BC3
JSLYSvNCQfaZEOSWIKWlaOpRpQcd47JPAcuB7jh+OPO+Ov5LELqI8Y8PJZ3N4qq3ri8=
X-Gm-Gg: ASbGncsImDCpRabEhXxwnHDfOgJFpPCHyqsr8TUgTTaZ4sZLPZqmRaBHkH11A3/v1cD
yXcCDDQssNgFsPkb1tna4Dfg91lYleca7jc1gKIu01DxhK1F4XHTrBaS6saoUMbo8dJYfAXQ0r6
i236VSJvrnN79z5/Qd6U961q/KGSBVCtDKhvXXj52I2Xeo6Q3vpc/brVYtSR6djDPELnJ9L4eP+
BrvbQUOgbfL+BVDWbt9XWtFD02ZPs7yBiXXLkovr42B7lvDHkgSuSDkXnMrd59NyIhNTeGyQjMv
TdxqQ2r9bJiYwEuihEsql/BOL2K5JCDeWawVtSugVN7kR5yC6FDOuExWVlniKp+hpH4LuO/Ngmr
IZAxGea9KjOcb+9FzTA==
X-Google-Smtp-Source: AGHT+IFKnjxzu4eBQmsvCPg1xaKU/IIhLdWicIu7kaut12YixanQTz8B9WBJEx1lmJ7Uy4Pqov78Rg==
X-Received: by 2002:a05:6000:430b:b0:3a4:ebf6:49cc with SMTP id ffacd0b85a97d-3a4ebf64b1emr1076486f8f.52.1748428387150;
Wed, 28 May 2025 03:33:07 -0700 (PDT)
Received: from localhost (p200300f65f13c80400000000000001b9.dip0.t-ipconnect.de. [2003:f6:5f13:c804::1b9])
by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-450064a1bdbsm17144885e9.14.2025.05.28.03.33.06
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:33:06 -0700 (PDT)
Date: Wed, 28 May 2025 12:33:05 +0200
From: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= <u.kleine-koenig@xxxxxxxxxxxx>
To: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
Cc: Alexandre Mergnat <amergnat@xxxxxxxxxxxx>,
Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>, linux-rtc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>, Macpaul Lin <macpaul.lin@xxxxxxxxxxxx>
Subject: Re: [PATCH v4 1/5] rtc: Make rtc_time64_to_tm() support dates before
1970
Message-ID: <oedecrcylyiorqnbymuk65cjgqbvh6gr2wox753ff7hj3qbaw3@blb3sgh7qia6>
References: <20250428-enable-rtc-v4-0-2b2f7e3f9349@xxxxxxxxxxxx>
<20250428-enable-rtc-v4-1-2b2f7e3f9349@xxxxxxxxxxxx>
<5gpvxwgqfgvb6eu6nwso3xk4xpdqayz7wo6y2mvweci2veetqw@wsurri5h7xvu>
<yjymcsje4z5c2htgefya2cocyx5guvepng756vdigjmvxvk6dv@wqyeh33mfty4>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="ru76mgvkjhofjrqh"
Content-Disposition: inline
In-Reply-To: <yjymcsje4z5c2htgefya2cocyx5guvepng756vdigjmvxvk6dv@wqyeh33mfty4>
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--ru76mgvkjhofjrqh
Content-Type: text/plain; protected-headers=v1; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: [PATCH v4 1/5] rtc: Make rtc_time64_to_tm() support dates before
1970
MIME-Version: 1.0
Hello Alexandre,
On Tue, May 06, 2025 at 09:58:32AM +0200, Uwe Kleine-K=F6nig wrote:
> On Mon, Apr 28, 2025 at 06:59:33PM +0200, Uwe Kleine-K=F6nig wrote:
> > On Mon, Apr 28, 2025 at 12:06:47PM +0200, Alexandre Mergnat wrote:
> > > Conversion of dates before 1970 is still relevant today because these
> > > dates are reused on some hardwares to store dates bigger than the
> > > maximal date that is representable in the device's native format.
> > > This prominently and very soon affects the hardware covered by the
> > > rtc-mt6397 driver that can only natively store dates in the interval
> > > 1900-01-01 up to 2027-12-31. So to store the date 2028-01-01 00:00:00
> > > to such a device, rtc_time64_to_tm() must do the right thing for
> > > time=3D-2208988800.
> > >=20
> > > Signed-off-by: Alexandre Mergnat <amergnat@xxxxxxxxxxxx>
> >=20
> > Given this problem starts to bite in 2028 I'd like to see this (and the
> > next) patch backported to stable. If you want a Fixes: line, maybe
> > 34bbdc12d04e ("rtc: mt6359: Add RTC hardware range and add support for
> > start-year") is sensible here as this is the commit that introduced the
> > requirement to handle negative timestamps. (The drivers that made use
> > of the offset feature already before that commit all had
> > .range_min >=3D 0, and so are not affected by this problem.)
>=20
> Given that we're already at v6.15-rc5 I wonder if there is a chance to
> get these changes reviewed and applied before v6.15. Would a pull
> request help you? If yes, should it only contain the fixes, or also the
> updated tests?
We missed to get the patches in for v6.15 :-\
I see you recently applied some patches in your rtc-next branch, but
this series isn't included. That makes me wonder if you still have it on
your radar.
My offer to provide you a pull request still stands, just tell me if I
should include the tests if you want me to provide such a PR.
Best regards
Uwe
--ru76mgvkjhofjrqh
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmg25l4ACgkQj4D7WH0S
/k65MQf/WSzUcpB1XhqT0a0RlN0FfyIlADZVVqI+WuuiDznaDCOfGuaq7w5tljRN
LfW6en3fTwRpLyGM7G7aAMhElqIoSw/wL8OkS8IW6B28+ASu7FDxeuKcTBj44P4S
Nxd4lPW1r06ce5L7F7SUTdGOPRNORkbx0/XXRM5UKuyMV9W9ycNHYS/gp3zKeJey
NXQiIO+LPxRecRYjY6aDvaCQPLDSkEh8NrGMamG6Za9EOUN5vWnQ/1KuZ5jy3kcB
yDC+VnQpQj2yx3286OrbULJbO5fShzCowDj8eXQXkzyF0tFNjzhRBr8MGNZdoSTz
QxD0B1uTCIfcN0deT/xqWcfKnQ72Mw==
=M+MM
-----END PGP SIGNATURE-----
--ru76mgvkjhofjrqh--
Return-Path: <linux-kernel+bounces-665291-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B152641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:34:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id BBC913BF50D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:33:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3A47E279903;
Wed, 28 May 2025 10:33:56 +0000 (UTC)
Received: from mail-ua1-f43.google.com (mail-ua1-f43.google.com [209.85.222.43])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9B4B31FFC41;
Wed, 28 May 2025 10:33:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.43
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428435; cv=none; b=SxrcRYBtDWxs5HSkownCz3hRHAgpFqXvNENzMQUY2rkprXFLXsqf4BQYf4Ib5Pqfc9yMISyO/BxEBxSUHdu0ISvbPPHnJbVu572jA97Av7or85ffmCeIt8H1xLXawc96u+NpRGCwFLElqN2RQGnqpefrcHtKXqlt0XtZftFLtYc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428435; c=relaxed/simple;
bh=ne6IX4us/VjqdWhTGuAJz3lSn7Rnzm2r4vE6MDwMMVQ=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=u6vC4hMrhT/aY8yKEi05vvLhC17fbzyMNovydQKk+7VYUEgeTE+jy+HpDP0LOcft3k467KZHA68gB70nIeHWA8Jeb4EmUIhUl3I/oLHxxdTeTfi93gWcurNt/cyIYPx+9rrxDKtpg9h/ixPbhjrQln3TXKuTTUPRQuDqbL5TGXQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.222.43
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ua1-f43.google.com with SMTP id a1e0cc1a2514c-87dfd390745so1550078241.1;
Wed, 28 May 2025 03:33:52 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428431; x=1749033231;
h=cc:to: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=WDl9b7iJlwm+QFS5s1eRQDi/izVTXH90EB/w8qJ6d+w=;
b=BxouMftfA3XTwdLg7DeJWWv9sVeDztP/LB7kSTzbwr8BHbK136mOZx+iuvg4tpX/hG
4gNJUkvsVuauZAybVq9uk+8Ibolb8ldyKLa1ndpH3neb4OzoHCEgnd6hG9zvL7uLt0GQ
iZa5QK5ZvOWemh3iP2xS539UvOOjrkgijfJrHEwzjNYKk7s9HlLAxyQ/DNOMiSvPIdro
QHejpqOP4kpR4QZpn9HHLswsuTp2RTaHhWECZ30Dbevqrc5lktaRcyqWau4yQwkHpWiF
8Q/lkj9gJGq8nPzsgQwgLFHR6cLYLRT+xJjcy1LMmYvZmg1CHTroMr6D7VE0BcxTEcJn
0WEw==
X-Forwarded-Encrypted: i=1; AJvYcCWpPa2gjZpamwiH7Zg0x+bYPXeozCkuVuhW3pZs1+3NeGDI0+F9+c/axLhM/Z58F34P4ow+c4+68GPJTQPMN02M4Oc=@vger.kernel.org, AJvYcCX+gCibEUhNEcqfY37MwNwiHKHDY+QrmVBjNetrETC5VyRv9j1oiidCSdfrLvkNqE3ticU0uHPOL7IM@xxxxxxxxxxxxxxx, AJvYcCXmcREPlOOzJ4h3VNGt2ryeoLfE78VUPfhoTP6uXfHY+AUBpxc1u9EpcMCVFzL+sc8b+qiHgj9Kaa2/DrYX@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0Ywgraj1/e4uw+9BsDRucjt1QnGtXbPzD89E8PiNhYOqaXaG7bN8
spa73zlz6/HkMWF7Y/EgfDx9aUqVkCx7iBx4D/EhfdzamjcX8VyvowzGfWevJI8P
X-Gm-Gg: ASbGncutZtmd9GbhAdbKc7uhrUbbF8BJt9pnqBih57re5FW/9Dg8YqsucY4Z966UCbk
ujY2uq4d+PJjbvcxAFlqmPXdowHbuoq6Ox7iyT6u3fdc9SAySXzXLG7O8NINc8lsgSoMtRMase5
kkASuOMFxzYyN9MVz1nZtXOK2gKHmAK6BOb3L4BW3LMAyqR6Pn6Xx9MLnP4AeEDRAiUr8MSRp0p
dKjK4Z9tGzq0DWlnOTFMKnadYb2wuh+lbxoG2/dKynscAb4yNgDFKxci8eHhmxED3v04pVd5JM+
nnn2JAx/eTXditS+zEOyC6H65sxqo9wLfRJAFfWY7arSkIP8wR33xc6QYBNLjnba0ftkXprhoPo
aLc5b6nEIRPty3w==
X-Google-Smtp-Source: AGHT+IHxahTFgi6WKkxIE5oBu4wQTTIGQy5fYrYx1aCKhsJcXrdmNak2ITo13pMXzAoMREpTcIB3Rg==
X-Received: by 2002:a05:6102:1509:b0:4e1:48ee:6f3e with SMTP id ada2fe7eead31-4e4241638a1mr12730620137.20.1748428430948;
Wed, 28 May 2025 03:33:50 -0700 (PDT)
Received: from mail-vs1-f47.google.com (mail-vs1-f47.google.com. [209.85.217.47])
by smtp.gmail.com with ESMTPSA id ada2fe7eead31-4e59fc11396sm541023137.5.2025.05.28.03.33.50
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 03:33:50 -0700 (PDT)
Received: by mail-vs1-f47.google.com with SMTP id ada2fe7eead31-4e45bfb885cso1784146137.3;
Wed, 28 May 2025 03:33:50 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCU3MBOdu/WROA/LtJ5fXzsBYHJHrbBJckvqmmIciItQlDN3AavxPVIBtuI5/+Dki+4/Olb1o1Jk+sVpkxlw@xxxxxxxxxxxxxxx, AJvYcCUngQjc4bVoJ6pURmm3+JWaN+99Ktm61NpMuIoG1JhBx6TbmLfoaeaSoeFH+6OFv29F5VajznqF3pbFuRjmbhoK2Ys=@vger.kernel.org, AJvYcCXy+P4cJL1fY0HRaDKyBnS7m1r0X9VcELPoaEMU1gQhSB82f8FvgB9IAoedOxFEHhe2kHzxHpY/sUTI@xxxxxxxxxxxxxxx
X-Received: by 2002:a05:6102:6046:b0:4e4:57db:b28a with SMTP id
ada2fe7eead31-4e457dbb8e4mr7125331137.19.1748428430243; Wed, 28 May 2025
03:33:50 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250519215734.577053-1-thierry.bultel.yh@xxxxxxxxxxxxxx> <20250519215734.577053-3-thierry.bultel.yh@xxxxxxxxxxxxxx>
In-Reply-To: <20250519215734.577053-3-thierry.bultel.yh@xxxxxxxxxxxxxx>
From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 12:33:37 +0200
X-Gmail-Original-Message-ID: <CAMuHMdU5bSYnQxott+dc01ORFPzhPL8eo1ToUdKA7n8GkB+30w@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFssHahz9JB_OZEfek7C-zx1lTx-89JvbMePDOwI6XsCAqQ7GLT1vnqNeGE
Message-ID: <CAMuHMdU5bSYnQxott+dc01ORFPzhPL8eo1ToUdKA7n8GkB+30w@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 2/3] Add the pinctrl and gpio driver for RZ/T2H
To: Thierry Bultel <thierry.bultel.yh@xxxxxxxxxxxxxx>
Cc: thierry.bultel@xxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
paul.barker.ct@xxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-gpio@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Thierry,
On Mon, 19 May 2025 at 23:57, Thierry Bultel
<thierry.bultel.yh@xxxxxxxxxxxxxx> wrote:
> Add basic support, pinmode is not supported yet.
>
> Signed-off-by: Thierry Bultel <thierry.bultel.yh@xxxxxxxxxxxxxx>
Thanks for your patch!
> --- a/drivers/pinctrl/renesas/Kconfig
> +++ b/drivers/pinctrl/renesas/Kconfig
> @@ -44,6 +44,7 @@ config PINCTRL_RENESAS
> select PINCTRL_RZG2L if ARCH_R9A09G047
> select PINCTRL_RZG2L if ARCH_R9A09G056
> select PINCTRL_RZG2L if ARCH_R9A09G057
> + select PINCTRL_RZT2H if ARCH_R9A09G077
> select PINCTRL_PFC_SH7203 if CPU_SUBTYPE_SH7203
> select PINCTRL_PFC_SH7264 if CPU_SUBTYPE_SH7264
> select PINCTRL_PFC_SH7269 if CPU_SUBTYPE_SH7269
> @@ -261,6 +262,18 @@ config PINCTRL_RZV2M
> This selects GPIO and pinctrl driver for Renesas RZ/V2M
> platforms.
>
> +config PINCTRL_RZT2H
Please preserve sort order.
> + bool "pin control support for RZ/T2H"
> + depends on OF
> + depends on ARCH_R9A09G077 || COMPILE_TEST
> + select GPIOLIB
> + select GENERIC_PINCTRL_GROUPS
> + select GENERIC_PINMUX_FUNCTIONS
> + select GENERIC_PINCONF
> + help
> + This selects GPIO and pinctrl driver for Renesas RZ/T2H
> + platforms.
> +
> config PINCTRL_PFC_SH7203
> bool "pin control support for SH7203" if COMPILE_TEST
> select PINCTRL_SH_FUNC_GPIO
> diff --git a/drivers/pinctrl/renesas/Makefile b/drivers/pinctrl/renesas/Makefile
> index 2ba623e04bf8..ef877c516225 100644
> --- a/drivers/pinctrl/renesas/Makefile
> +++ b/drivers/pinctrl/renesas/Makefile
> @@ -49,6 +49,7 @@ obj-$(CONFIG_PINCTRL_PFC_SHX3) += pfc-shx3.o
> obj-$(CONFIG_PINCTRL_RZA1) += pinctrl-rza1.o
> obj-$(CONFIG_PINCTRL_RZA2) += pinctrl-rza2.o
> obj-$(CONFIG_PINCTRL_RZG2L) += pinctrl-rzg2l.o
> +obj-$(CONFIG_PINCTRL_RZT2H) += pinctrl-rzt2h.o
Please preserve sort order.
> obj-$(CONFIG_PINCTRL_RZN1) += pinctrl-rzn1.o
> obj-$(CONFIG_PINCTRL_RZV2M) += pinctrl-rzv2m.o
>
> diff --git a/drivers/pinctrl/renesas/pinctrl-rzt2h.c b/drivers/pinctrl/renesas/pinctrl-rzt2h.c
> new file mode 100644
> index 000000000000..dd2772672716
> --- /dev/null
> +++ b/drivers/pinctrl/renesas/pinctrl-rzt2h.c
> @@ -0,0 +1,783 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Renesas RZ/T2H Pin Control and GPIO driver core
> + *
> + * Copyright (C) 2025 Renesas Electronics Corporation.
> + */
> +
> +#include <linux/bitops.h>
> +#include <linux/clk.h>
> +#include <linux/gpio/driver.h>
> +#include <linux/io.h>
> +#include <linux/module.h>
> +#include <linux/of_device.h>
> +#include <linux/pinctrl/consumer.h>
> +#include <linux/pinctrl/pinctrl.h>
> +#include <linux/pinctrl/pinmux.h>
> +#include <linux/platform_device.h>
> +#include <linux/spinlock.h>
> +#include <linux/mutex.h>
> +
> +#include <dt-bindings/pinctrl/rzt2h-pinctrl.h>
> +
> +#include "../core.h"
> +#include "../pinconf.h"
> +#include "../pinmux.h"
> +
> +#define DRV_NAME "pinctrl-rzt2h"
> +
> +/*
> + * Use 16 lower bits [15:0] for pin identifier
> + * Use 16 higher bits [31:16] for pin mux function
> + */
> +#define MUX_PIN_ID_MASK GENMASK(15, 0)
> +#define MUX_FUNC_MASK GENMASK(31, 16)
> +
> +/*
> + * n indicates number of pins in the port, a is the register index
> + * and f is pin configuration capabilities supported.
> + */
> +#define RZT2H_GPIO_PORT_PACK(n, a, f) (((n) << 28) | ((a) << 20) | (f))
Unused...
> +
> +#define RZT2H_GPIO_PORT_GET_PINCNT(x) FIELD_GET(GENMASK(30, 28), (x))
> +#define RZT2H_GPIO_PORT_GET_INDEX(x) FIELD_GET(GENMASK(26, 20), (x))
> +#define RZT2H_GPIO_PORT_GET_CFGS(x) FIELD_GET(GENMASK(19, 0), (x))
> +
> +/*
> + * BIT(31) indicates dedicated pin, p is the register index while
> + * referencing to SR/IEN/IOLH/FILxx registers, b is the register bits
RZ/T2H does not have SR/IEN/IOLH/FILxx registers.
> + * (b * 8) and f is the pin configuration capabilities supported.
> + */
> +#define RZT2H_SINGLE_PIN BIT(31)
> +#define RZT2H_SINGLE_PIN_PACK(p, b, f) (RZT2H_SINGLE_PIN | \
> + ((p) << 24) | ((b) << 20) | (f))
> +
> +#define RZT2H_SINGLE_PIN_GET_PORT_OFFSET(x) FIELD_GET(GENMASK(30, 24), (x))
> +#define RZT2H_SINGLE_PIN_GET_BIT(x) FIELD_GET(GENMASK(22, 20), (x))
> +#define RZT2H_SINGLE_PIN_GET_CFGS(x) FIELD_GET(GENMASK(19, 0), (x))
... until here.
> +
> +#define P(n) (0x001 * (n))
This does not seem to conflict with a definition in a public header
file yet, surprisingly ;-)
> +#define PM(n) (0x200 + 0x002 * (n))
> +#define PMC(n) (0x400 + 0x001 * (n))
> +#define PFC(n) (0x600 + 0x008 * (n))
> +#define PIN(n) (0x800 + 0x001 * (n))
Perhaps use m instead of n, to match the documentation?
I would use decimal values for the (small) multipliers.
> +#define DRCTL(n) (0xA00 + 0x008 * (n))
Unused
> +
> +#define RSELPSR 0x1F04
Unused
> +
> +#define PM_MASK 0x03
GENMASK(1, 0)
> +#define PFC_MASK 0x3FULL
GENMASK_ULL(5, 0)
> +#define PM_INPUT 0x1
BIT(0)
> +#define PM_OUTPUT 0x2
BIT(1)
> +#define SR_MASK 0x01
Incorrect, not really a mask, and part of the DRCTL register, so
#define DRCTL_SR BIT(5)
> +#define SCHMITT_MASK 0x01
Incorrect, not really a mask, and part of the DRCTL register, so
#define DRCTL_SMT BIT(4)
> +#define IOLH_MASK 0x03
Do you mean DRV_MASK?
#define DRCTL_DRV_MASK GENMASK(1, 0)
> +#define PUPD_MASK 0x03
#define DRCTL_PUPD_MASK GENMASK(3, 2)
Anyway, all four are unused (for now, I assume).
May be easier to read if you interleave the register offset definitions
and the corresponding register bit definitions.
> +
> +#define RZT2H_PIN_ID_TO_PORT(id) ((id) / RZT2H_PINS_PER_PORT)
> +#define RZT2H_PIN_ID_TO_PORT_OFFSET(id) (RZT2H_PIN_ID_TO_PORT(id) + 0x10)
Unused
> +#define RZT2H_PIN_ID_TO_PIN(id) ((id) % RZT2H_PINS_PER_PORT)
> +
> +struct rzt2h_dedicated_configs {
> + const char *name;
> + u32 config;
> +};
Unused
> +
> +struct rzt2h_pinctrl_data {
> + const char * const *port_pins;
> + unsigned int n_port_pins;
> +};
> +
> +struct rzt2h_pinctrl {
> + struct pinctrl_dev *pctl;
> + struct pinctrl_desc desc;
> + struct pinctrl_pin_desc *pins;
> + const struct rzt2h_pinctrl_data *data;
> + void __iomem *base0, *base1;
> + struct device *dev;
> + struct clk *clk;
> + struct gpio_chip gpio_chip;
> + struct pinctrl_gpio_range gpio_range;
This seems to be set only.
> + int safety_region;
Unused
> + spinlock_t lock;
> + struct mutex mutex;
Please add comments to these two, to clarify what they are protecting
against.
> +};
> +
> +#define RZT2H_PORT_SAFETY_LAST 12
> +
> +#define RZT2H_PINCTRL_REG_ACCESS(size, type) \
> +static void rzt2h_pinctrl_write##size(struct rzt2h_pinctrl *pctrl, u8 port, type val, u16 offset) \
unsigned int offset
> +{ \
> + if (port > RZT2H_PORT_SAFETY_LAST) \
> + write##size(val, pctrl->base0 + offset); \
> + else \
> + write##size(val, pctrl->base1 + offset); \
> +} \
> +\
> +static type rzt2h_pinctrl_read##size(struct rzt2h_pinctrl *pctrl, u8 port, u16 offset) \
unsigned int offset
> +{ \
> + if (port > RZT2H_PORT_SAFETY_LAST) \
> + return read##size(pctrl->base0 + offset); \
> + else \
> + return read##size(pctrl->base1 + offset); \
> +}
> +
> +RZT2H_PINCTRL_REG_ACCESS(b, u8)
> +RZT2H_PINCTRL_REG_ACCESS(w, u16)
> +RZT2H_PINCTRL_REG_ACCESS(q, u64)
> +
> +static void rzt2h_pinctrl_set_pfc_mode(struct rzt2h_pinctrl *pctrl,
> + u8 port, u8 pin, u64 func)
> +{
> + u64 reg_pfc;
> + u32 reg;
In other functions, you use "u16 reg16" and "u8 reg8".
Please be consistent and pick one style.
> +
> + guard(spinlock_irqsave)(&pctrl->lock);
> +
> + /* Set pin to 'Non-use (Hi-Z input protection)' */
> + reg = rzt2h_pinctrl_readw(pctrl, port, PM(port));
> + reg &= ~(PM_MASK << (pin * 2));
> + rzt2h_pinctrl_writew(pctrl, port, reg, PM(port));
> +
> + /* Temporarily switch to GPIO mode with PMC register */
> + reg = rzt2h_pinctrl_readb(pctrl, port, PMC(port));
> + rzt2h_pinctrl_writeb(pctrl, port, reg & ~BIT(pin), PMC(port));
> +
> + /* Select Pin function mode with PFC register */
> + reg_pfc = rzt2h_pinctrl_readq(pctrl, port, PFC(port));
> + reg_pfc &= ~(PFC_MASK << (pin * 8));
> + rzt2h_pinctrl_writeq(pctrl, port, reg_pfc | (func << (pin * 8)), PFC(port));
> +
> + /* Switch to Peripheral pin function with PMC register */
> + reg = rzt2h_pinctrl_readb(pctrl, port, PMC(port));
> + rzt2h_pinctrl_writeb(pctrl, port, reg | BIT(pin), PMC(port));
> +};
> +
> +static int rzt2h_pinctrl_set_mux(struct pinctrl_dev *pctldev,
> + unsigned int func_selector,
> + unsigned int group_selector)
> +{
> + struct rzt2h_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev);
> + struct function_desc *func;
> + unsigned int i, *psel_val;
> + struct group_desc *group;
> + const unsigned int *pins;
> +
> + func = pinmux_generic_get_function(pctldev, func_selector);
> + if (!func)
> + return -EINVAL;
> + group = pinctrl_generic_get_group(pctldev, group_selector);
> + if (!group)
> + return -EINVAL;
> +
> + psel_val = func->data;
> + pins = group->grp.pins;
> +
> + for (i = 0; i < group->grp.npins; i++) {
> + dev_dbg(pctrl->dev, "port:%u pin: %u PSEL:%u\n",
Please use consistent spacing around the colons.
> + RZT2H_PIN_ID_TO_PORT(pins[i]), RZT2H_PIN_ID_TO_PIN(pins[i]),
> + psel_val[i]);
> + rzt2h_pinctrl_set_pfc_mode(pctrl, RZT2H_PIN_ID_TO_PORT(pins[i]),
> + RZT2H_PIN_ID_TO_PIN(pins[i]), psel_val[i]);
> + }
> +
> + return 0;
> +};
> +static void rzt2h_gpio_set_direction(struct rzt2h_pinctrl *pctrl, u32 port,
> + u8 bit, bool output)
> +{
> + u16 reg16;
> +
> + guard(spinlock_irqsave)(&pctrl->lock);
> +
> + reg16 = rzt2h_pinctrl_readw(pctrl, port, PM(port));
> + reg16 &= ~(PM_MASK << (bit * 2));
> +
> + reg16 |= (output ? PM_OUTPUT : PM_INPUT) << (bit * 2);
> + rzt2h_pinctrl_writew(pctrl, port, reg16, PM(port));
> +}
> +
> +static int rzt2h_gpio_get_direction(struct gpio_chip *chip, unsigned int offset)
> +{
> + struct rzt2h_pinctrl *pctrl = gpiochip_get_data(chip);
> + u32 port = RZT2H_PIN_ID_TO_PORT(offset);
> + u8 bit = RZT2H_PIN_ID_TO_PIN(offset);
> +
> + if (!(rzt2h_pinctrl_readb(pctrl, port, PMC(port)) & BIT(bit))) {
Invert the logic and return early, to reduce indentation?
> + u16 reg16;
> +
> + reg16 = rzt2h_pinctrl_readw(pctrl, port, PM(port));
> + reg16 = (reg16 >> (bit * 2)) & PM_MASK;
> + if (reg16 == PM_OUTPUT)
The hardware supports enabling both input and output, so I think you
better check for "(reg16 >> (bit * 2)) & PM_OUTPUT".
> + return GPIO_LINE_DIRECTION_OUT;
> + }
> +
> + return GPIO_LINE_DIRECTION_IN;
> +}
> +
> +static int rzt2h_gpio_direction_input(struct gpio_chip *chip,
> + unsigned int offset)
> +{
> + struct rzt2h_pinctrl *pctrl = gpiochip_get_data(chip);
> + u32 port = RZT2H_PIN_ID_TO_PORT(offset);
> + u8 bit = RZT2H_PIN_ID_TO_PIN(offset);
> +
> + rzt2h_gpio_set_direction(pctrl, port, bit, false);
> +
> + return 0;
> +}
> +
> +static void rzt2h_gpio_set(struct gpio_chip *chip, unsigned int offset,
> + int value)
> +{
> + struct rzt2h_pinctrl *pctrl = gpiochip_get_data(chip);
> + u32 port = RZT2H_PIN_ID_TO_PORT(offset);
> + u8 bit = RZT2H_PIN_ID_TO_PIN(offset);
> + u8 reg8;
> +
> + guard(spinlock_irqsave)(&pctrl->lock);
> +
> + reg8 = rzt2h_pinctrl_readb(pctrl, port, P(port));
> +
> + if (value)
> + rzt2h_pinctrl_writeb(pctrl, port, reg8 | BIT(bit), P(port));
> + else
> + rzt2h_pinctrl_writeb(pctrl, port, reg8 & ~BIT(bit), P(port));
> +}
> +
> +static int rzt2h_gpio_direction_output(struct gpio_chip *chip,
> + unsigned int offset, int value)
Please move this function up, just below rzt2h_gpio_direction_input().
> +{
> + struct rzt2h_pinctrl *pctrl = gpiochip_get_data(chip);
> + u32 port = RZT2H_PIN_ID_TO_PORT(offset);
> + u8 bit = RZT2H_PIN_ID_TO_PIN(offset);
> +
> + rzt2h_gpio_set(chip, offset, value);
> + rzt2h_gpio_set_direction(pctrl, port, bit, true);
> +
> + return 0;
> +}
> +
> +static int rzt2h_gpio_get(struct gpio_chip *chip, unsigned int offset)
> +{
> + struct rzt2h_pinctrl *pctrl = gpiochip_get_data(chip);
> + u32 port = RZT2H_PIN_ID_TO_PORT(offset);
> + u8 bit = RZT2H_PIN_ID_TO_PIN(offset);
> + u16 reg16;
> +
> + reg16 = rzt2h_pinctrl_readw(pctrl, port, PM(port));
> + reg16 = (reg16 >> (bit * 2)) & PM_MASK;
> +
> + if (reg16 == PM_INPUT)
"if (reg16 & PM_INPUT)", to handle both PM_INPUT and PM_OUTPUT set?
> + return !!(rzt2h_pinctrl_readb(pctrl, port, PIN(port)) & BIT(bit));
> + else if (reg16 == PM_OUTPUT)
> + return !!(rzt2h_pinctrl_readb(pctrl, port, P(port)) & BIT(bit));
> + else
> + return -EINVAL;
> +}
> +static int rzt2h_pinctrl_probe(struct platform_device *pdev)
> +{
> + struct rzt2h_pinctrl *pctrl;
> + int ret;
> +
> + pctrl = devm_kzalloc(&pdev->dev, sizeof(*pctrl), GFP_KERNEL);
> + if (!pctrl)
> + return -ENOMEM;
> +
> + pctrl->dev = &pdev->dev;
> +
> + pctrl->data = of_device_get_match_data(&pdev->dev);
> + if (!pctrl->data)
> + return -EINVAL;
> +
> + pctrl->base0 = devm_platform_ioremap_resource(pdev, 0);
> + if (IS_ERR(pctrl->base0))
> + return PTR_ERR(pctrl->base0);
> +
> + pctrl->base1 = devm_platform_ioremap_resource(pdev, 1);
> + if (IS_ERR(pctrl->base1))
> + return PTR_ERR(pctrl->base1);
> +
> + pctrl->clk = devm_clk_get_optional(pctrl->dev, NULL);
Why optional?
> + if (IS_ERR(pctrl->clk)) {
> + ret = PTR_ERR(pctrl->clk);
> + return dev_err_probe(pctrl->dev, ret, "failed to get GPIO clk\n");
> + }
> +
> + spin_lock_init(&pctrl->lock);
> + mutex_init(&pctrl->mutex);
> + platform_set_drvdata(pdev, pctrl);
> +
> + if (pctrl->clk) {
> + ret = clk_prepare_enable(pctrl->clk);
> + if (ret)
> + return dev_err_probe(pctrl->dev, ret,
> + "failed to enable GPIO clk\n");
> + ret = devm_add_action_or_reset(&pdev->dev, rzt2h_pinctrl_clk_disable,
> + pctrl->clk);
> + if (ret)
> + return dev_err_probe(pctrl->dev, ret,
> + "failed to register GPIO clk disable action\n");
> + }
> +
> + return rzt2h_pinctrl_register(pctrl);
> +}
> +core_initcall(rzt2h_pinctrl_init);
MODULE_DESCRIPTION/AUTHOR?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Return-Path: <linux-kernel+bounces-665292-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D423941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:34:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B53A41BC3AD9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:35:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D7F14279907;
Wed, 28 May 2025 10:34:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="MKBAKRFR"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.18])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 24BC81FFC41;
Wed, 28 May 2025 10:34:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.18
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428483; cv=fail; b=toN0VNyYhrkPqz5PyTTqjL/b2u7ijj/P/sNvPe0D4C1nC6qTwW7y7XemTqEpSXAxZ4PKV5yFUbFl5IwcRRjRihqIJBVyqxtVMOrNIIfN+W8aRNwXVsshnnVMoMerIf37UHnyjUQ2KEVn8v8eqnmJwML7DLk1w20uwVeZLvwJI+Q=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428483; c=relaxed/simple;
bh=0cJiCFRxAp12QhQQ7buvBJiYWLviyldY9uXGEaiqQpo=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=AZtkhVEzERIrebYMshh4aZDIaXB53Zv+lXPUBpCdutbe0JQR05eISBEAzbbmxSmaC40Yph2MZhDgCZ+BrSwCB6wwnGkgQz1apM21kIJ5AZzJp3L1CLHW9987VoN0D9eW0RqFTbMq+EBRNjiha5rErJTwrWpPi6/z60MbVJWgVcE=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=MKBAKRFR; arc=fail smtp.client-ip=192.198.163.18
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748428481; x=1779964481;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=0cJiCFRxAp12QhQQ7buvBJiYWLviyldY9uXGEaiqQpo=;
b=MKBAKRFRklxLzSWLhYWYnTzQQT8+SrY5PJxZwQaII/oEIsZOesa8j4E+
cHPqS5yMUjMRtu73+GD5Njt1VnNzvZVjw98yvWjcT3tqcnTzoAD21F87I
OcP9dWYBuctdbXgfnfj0lLTTwnC87QzKX9uD+qbG5cu64OptGLOZIrk6D
x+o2TUC6QptQOfJqyBUwQhSAFowCM0MsNS0J+hl68xlAtUA7SqH/h13Ii
l+rIVOq1G3r8BrhnvN4hWlawh4dRw4FvliP9LvA3usfhKNwXznfO6Fqck
a7vKWVtgSjTZzZXC4TqgX+20g7zLqaf3OuPM+Js1LFhRU/av6cfxKJEQR
Q==;
X-CSE-ConnectionGUID: uPZetwdKRDymhuofWl3q7Q==
X-CSE-MsgGUID: S54k8TNxQ3CVh4t/deuXEg==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="49695900"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="49695900"
Received: from orviesa009.jf.intel.com ([10.64.159.149])
by fmvoesa112.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:34:40 -0700
X-CSE-ConnectionGUID: BD7w/KQTTlyDIDe4PAN6yQ==
X-CSE-MsgGUID: IJ8PDw5PTw6ub/VqusjwMg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="143235281"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by orviesa009.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:34:40 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 28 May 2025 03:34:39 -0700
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 03:34:39 -0700
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (40.107.236.74)
by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 28 May 2025 03:34:39 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=n3WR2mXk6bnKq1eLdOBJ/bRcOaEaa+lwd1e0VYEgFPRv2zwPlIYBf6P+sD1RZB9SYRjvLLI+Y0tBGRF2eEOcHNDegpAdwiJgaU+EkLG6h11WCPMEOu03xcSTLPZOdtRsgmlNPaA5tcIlay/CUbTS3IIeg70OHj41MCG8riE+A7tArzcknHhljrwWsvpr2LxGNcvVFtaXBAngCuwpAaBWLJqhDErZwmFzowualoHWKfkLJTUB4OMlY/AgFCnSQ3tKEmnZtT6RewVyxQNkmHGPtXtvsH9nBumeCH1RMP1xjVGsbDS9N2A9OlH47g37rrC2pWmD60BFtWc5JN0hO77yRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=Ufb0Ngp376V6g+y/3nGpJCJaYdkATRB/Oe1Dh76cZqU=;
b=hM265kaH3K5fC8KmXmekHGo47K3FwJkx1FCXadNvoNlwwlfv9Ljp1FF0Jb2W8SP80KsJEUdrKHMdx5UN+FDMptW2ik5lddk8SU9/H0cbDwPob+73QmjHL5Z73Og0NCdavj3+u3MilE8xVgy3MzwB44qXM2EuPRyueGu1edMJg1xgGZ0DGv/ckpAJ5New1NlZrg/8OZZ5DFDmepa1CQaohje4UcrzqmojDZAuN90dz8eBeAADROUxthsKBGb+JBig3hG6A1GgAsJo4HPwjv2GfvkotYotlCRU1dCbZznfDCGEcnX+VavF+0p2lpwQWIKVssWsW3P/vlBOkA5j45vvrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH7PR11MB6054.namprd11.prod.outlook.com (2603:10b6:510:1d2::8)
by DM4PR11MB6191.namprd11.prod.outlook.com (2603:10b6:8:ac::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.29; Wed, 28 May
2025 10:34:37 +0000
Received: from PH7PR11MB6054.namprd11.prod.outlook.com
([fe80::a255:8692:8575:1301]) by PH7PR11MB6054.namprd11.prod.outlook.com
([fe80::a255:8692:8575:1301%6]) with mapi id 15.20.8769.029; Wed, 28 May 2025
10:34:35 +0000
Message-ID: <6be8a114-7775-415d-a48f-751466cce44d@xxxxxxxxx>
Date: Wed, 28 May 2025 13:34:29 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] mmc: sdhci-esdhc-imx: refactor clock loopback
selection logic
To: <ziniu.wang_1@xxxxxxx>, <haibo.chen@xxxxxxx>, <ulf.hansson@xxxxxxxxxx>,
<linux-mmc@xxxxxxxxxxxxxxx>
CC: <shawnguo@xxxxxxxxxx>, <s.hauer@xxxxxxxxxxxxxx>, <kernel@xxxxxxxxxxxxxx>,
<festevam@xxxxxxxxx>, <imx@xxxxxxxxxxxxxxx>, <s32@xxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>
References: <20250521025502.112030-1-ziniu.wang_1@xxxxxxx>
Content-Language: en-US
From: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki,
Business Identity Code: 0357606 - 4, Domiciled in Helsinki
In-Reply-To: <20250521025502.112030-1-ziniu.wang_1@xxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DU2PR04CA0267.eurprd04.prod.outlook.com
(2603:10a6:10:28e::32) To PH7PR11MB6054.namprd11.prod.outlook.com
(2603:10b6:510:1d2::8)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR11MB6054:EE_|DM4PR11MB6191:EE_
X-MS-Office365-Filtering-Correlation-Id: a29c96c7-7048-4f6e-cfaa-08dd9dd33d93
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014|7053199007;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?T0RoRGZEWjFraUxrcFh3bjZBODdaYzdWWUhHRFRoME9vV3JxM09qTnVjNVBY?=
=?utf-8?B?Y09HVk9nS1I0cEJMQ1JCOGR6TVl5TjFjdTg5aGhNaXdYb0xVR2V6V081NGhs?=
=?utf-8?B?dTdjMWRkVnd0eGZycUIwODRhTWQrOC9tSFloNDl6OXJNdkVtckpzdGRNLzFx?=
=?utf-8?B?ZU9JNjZMUmxYYWZXUXJxUkZMU3NwOVc4cm1GQ3BPM3RmcHdKOW00eWpwYll4?=
=?utf-8?B?ZWhhSEcrUEIyUFh2TUwxaE42Z2wzTmVEalZ5aWJDdzE2c1pqRm13YzRrL1pD?=
=?utf-8?B?SktLMVNhWUlDcUFpcDhtWGp6TWsySzNDRmxUb3hHVFRSYkRYcDNEWTZES3JU?=
=?utf-8?B?YUlrUkNpOXZNODk5SzFYUVpaZkxhMC9KVDhOUndmYzZTaEVFVzU4STNXbzBJ?=
=?utf-8?B?Y0k4N1lpUTMxU3NhUkwyR1lnUnJPNHBzTWFpekxDZDFDMkFhRHhiY3RRWTNP?=
=?utf-8?B?V0p6RjZROS9OUVJkdEJSUTNPbzg3R1VIUWpqTEtEZ3hMbTNjZFE2NmtQNVdU?=
=?utf-8?B?SDY4VHVjWkpjRCtDcy9ueEdSbmdab2RBcG9WMTdsZDJGbnpVT21oMmxKaVUx?=
=?utf-8?B?MGo0Y2M3cDBnZDUrbEEwc1pKNTFXNjhJZEI2OFB1SWtRT2cvRWg4bHZvNTV1?=
=?utf-8?B?MXJaMXZDbnQ2SnhRalJra0dBbks0VnY3S0hKRlo4TXlMdGl5dzFJM2habGsx?=
=?utf-8?B?TXJ6bzljQUQ1dFpjelFqTktzMHlrUkYrRGx6ZXRNWlhNNUtsSW5KdjNiK1Rp?=
=?utf-8?B?TnZCKzF4R0JtbTVZS0t5Rms2SWpqY0FEckJ6L0JyZ2lwSWFHYkNMV29JRzd5?=
=?utf-8?B?akkxVzVEWk5RT0p2enU5ek8wU2ZhYU5hQno4WVRJejJEZE5rVkQ4cjEyVjFV?=
=?utf-8?B?UVpGaUlYL1dCT0VNbXVGeFVHVTZDajd4Q1pQdmk3RG40YWdyZ1JmR1lCbVQx?=
=?utf-8?B?K0x0V0UxczRCK0orOFNRQTJXZDhXaHdYd1JmNlAvS1RtNUwvUnFWTVkxU2lz?=
=?utf-8?B?R0RpS3FlcFNoYWJnY2N2QlJJWERHMC9wYjhJV2E0MlJoaytRY0VOMDRoV2lq?=
=?utf-8?B?RTAycnBMT0RIN3BpRUxONHdMN1VIVy9rYnFHN3hmTWlKZHpqaDl4RjloMDlY?=
=?utf-8?B?WmppUjJkQkhjOVgyb1pnaXh2aEE0eEhiejJIZXFjR2dRSm0rdksxdmY4NWJa?=
=?utf-8?B?NmZ3Zm5PZ1V1VmdZekZvV29EUHJycGNRUnJHcTZiejFpSTc4L2xGbG10ODFw?=
=?utf-8?B?aklSVUFTYy9KVXpuYm9zb0xFK3FKVlRwTlRWQWZhWm90SVVkTzlVR2VKN0or?=
=?utf-8?B?bHVxQzM5WDZCOGdhNHhPM3NXQXdyc3F4bHlOU0EyN2QyMHNxTTJUVlBzY0Nv?=
=?utf-8?B?Nm1meWFFQi8vSHNZS3h6Q3FLRjFUMUR6bmpLOFdnTG9lZEx3ZHVZOEZXb2VX?=
=?utf-8?B?WnJkcm1NUjNlUnJsMytFclVnQzduVDE5OG4ySllrTXI2RDMvS0tRU2R2MWpN?=
=?utf-8?B?eDVnekh1RVhmanUvQnMzaUpaeGxvdnNua080ZXpsY0Y0MkVpTUdndE5tMURm?=
=?utf-8?B?WXZ6OWhjenNwS2l4UTF6Y0Z4eE1Ga1dUejlxdjNJZUo5NFZOMTRrZEtDN3BE?=
=?utf-8?B?TWhteXZDZ3pEK2trdXBpZzZHdkxTTHZDMENOUEc3QTBYSWF4SVcyZG83R1NP?=
=?utf-8?B?aU5DK29IVGY0QlNHcmxnZm10dDZzNDJ6QUpxTFM1THVyVEVBOUExWWRCSHdP?=
=?utf-8?B?VlBEV1RUTkUyQkpBU0pBbmp1M0EzSDBMTy8vS0I5aGFHcktmZjhXcDl3eUxm?=
=?utf-8?B?US9CaDhIMXhwdFhzZXJwR2V6RU9scXVRRjZ0Q25oWFVkUzQxa1JyREZqYU1S?=
=?utf-8?B?U3BReHZWM29ETEhSUGZHdEVza1hueEhIeEM2Q1Y0UkpuMjc5T0pDT29jNlIz?=
=?utf-8?Q?FYAkYFlpy8E=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB6054.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RDYxZkcvNW1ZcUlLOFIwTHl3cHMwRkJjQWNwMmtJS2liUjd5YlMrd1UrbU03?=
=?utf-8?B?amdNYXZrV2dXa1I4dFp1QWdIMnpIcSs1WHhLMEdqT0Zac1FlMkMycmIxemxG?=
=?utf-8?B?S1ZDc3NoeFdmN0I0NzhqZ0svVmJVSjVqSHd2Z1lIOVBIaXhPTi9IU1FITkNv?=
=?utf-8?B?VWcxOXNiQldnQ3pyK2docjVkVWg0ZjhsV1luSUIxSFRaS2pYZmFuWURzVllT?=
=?utf-8?B?cW1JcDdqNEhNb3B2Sng4UW9QN2RyMkNpTDlUaGxpdzRaNU04V2ZZaUg1eXl4?=
=?utf-8?B?T3pxcW5vTHNoM3JBSjNZZUtEcTBZOW9zUlpkN1FEeXlSVTRycER4a2pCTHpk?=
=?utf-8?B?eDRYYWtySysvQXM5VVNFNnliYjRlbEtiZ053SWlaUFcyRHlSbG0vanQrSEM0?=
=?utf-8?B?dkRpdkNUVHZFSXpWYmM1RXpOcWh1Tm9yRGk4NUI2dW9YS0FVWXAxNktsSmdI?=
=?utf-8?B?MGx2Y1BMOHd6ZVF6NklGcjdUT3g4WjlqbTk5Q0tYdEh0eEFTb2lSNG1hbE5k?=
=?utf-8?B?enN1Wk94bGdRdUk0b3A5L093SHh3bEhPeFBqYXdQSTVwajRlZmk4QjlKeHFq?=
=?utf-8?B?K293ak1JZWZWRGdKMXZWZW1qRzFtWWVGaHc3WDlQZkNiaEN5ZkpyNkNDSW1J?=
=?utf-8?B?K3N5UVdWVDV5MGxiVnVleGJLL3pkbWZxbTRPTndJY04wbjZ0NUFnS05hT1dP?=
=?utf-8?B?K2N5aG5GSHFCcllxNXBiUXROeG1nMUlVa003dUNtTHVuakp5SklJbUdrcFV0?=
=?utf-8?B?Vkl6ektaSGxmOTJlb040VE9kcW1scloyNUMrVko2QndNUDFsdy9zbnU5cTZ6?=
=?utf-8?B?SFRNN25XZWtSL2h0MEJtckhoTFBTMmRmQzlnK2RZOGJuOTAwTWVoWnQzTFFS?=
=?utf-8?B?TkhaSTFGdXFzV1hwYjdlV2JLVzd0bmprSVBoWHhLSXFlRVZrMmZDUGQrWnlk?=
=?utf-8?B?azNZSUpvcXVUSFg4eGpSbndsQ3ZZNkt2dE5OWUlkL3Z1citUWHp5RHZnbVcz?=
=?utf-8?B?Q2Y5Nks3cWZteVBPM3kzdE90QUtaeVg2b1c1UDRIRlAvM1JkYk52cE9DVHAz?=
=?utf-8?B?bVVXbDc3T1NTaHA0a2tOTXlOaHFnNlJ0K3V4NldjMEF0SG93M1cyT3NqdExy?=
=?utf-8?B?bW9GTlh3L1VXRWEza2dLdnQ4N0JBTlZ0WG4zQ1VGbHFHeGV2MEx0elkxOGYv?=
=?utf-8?B?WkVhd3lPWmlSY2o1d3dRQjc3Q2pzcmdiWjl3aEhIQWovWjc1d0pESEhGVDJU?=
=?utf-8?B?L3NUTTdOTUYrU2UvWkRlb1djRngwN3NKKzhqM3RJODRuNXRvQzlwNVhXVWp4?=
=?utf-8?B?eFpwR2NpcDAvemduMmV1V1U2R2QvVkQ4a2NGcE14Z1lYMlZXbVlwS2NhZVJl?=
=?utf-8?B?UHF5K1BDNkErbjBLdnE4alFWR1JaYVg5OHgyQUdLejJMaEpjbmVydW5wOEdn?=
=?utf-8?B?NFRra1hrVkpyQTVpaHZZOVkxdmRtS2FsRE5vQ2JDY1o5bGZ2WmNlekkrbEZD?=
=?utf-8?B?Zks1cDNHU0tWZ2VJYjVNVnlWNGxoZ3NuUG80NjFkOURDQmExY2hrMVpxWWQx?=
=?utf-8?B?L1FMaTRRQVh3SHkvejFEN0N2SXgwczJuZU5lRDJqOEJ0dGVSOUdaM0xmVVZT?=
=?utf-8?B?ZzRnMlNRZzA1UFJJd2lSU0c1SGh4UGJKaDZ6V3I3ekJ4OVdVZWIxcWdnUU1Z?=
=?utf-8?B?Vm1pSlhGU1VqcWlkU3g3aHM5ZFA0RVlzWWZta0xkNDljWTArSG1hK2JoZitz?=
=?utf-8?B?SUk3aUFUQm80aTRoV2dhSlh1UkdxckE1c1h1c29JTTgyN014ZG11Qmg4VEd4?=
=?utf-8?B?cW4vRk1pMnFla0RDUUlvbFBOTnJrTWtNWVZ3ZXI0dEcvQWVQaFAvNENlZDV3?=
=?utf-8?B?NnkrUEFPblJhY1NsSDBnNUExblhwc21OOHJCV1VWVndzbmtBaXRUNFA3dFRZ?=
=?utf-8?B?UUdZZ0RFblJTR0czcnY4SXpaWTFrYzR6QzNQTmF3MVdyQjlPY3JWczFVUU1V?=
=?utf-8?B?YldTK3JyU1UvYzlzVXdPYk5xRlBWWW95SWRDOGcxN0JtcFlLMlcrMi84bHN1?=
=?utf-8?B?SFRDYnlaWXd2RTlJZHRjU3ZjalNvVHVrS2tGT1UwT2JvNEJDMTNQVEVqZTB4?=
=?utf-8?B?OEFTY0U5M1llaFRHanJRd1c4a1pON3BWWVlpZkMrZ01hblVOVGw1MWk0ckZX?=
=?utf-8?B?Y1E9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: a29c96c7-7048-4f6e-cfaa-08dd9dd33d93
X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB6054.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 10:34:35.5593
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nnBIU3FHixVXa80BE490V+nwfO1aca5Hclnoh50oRQ3lg3/ksE11zJgMBKgfBkOZRBxwP7nCRMAv8pqQ9N9ucg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6191
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 21/05/2025 05:55, ziniu.wang_1@xxxxxxx wrote:
> From: Luke Wang <ziniu.wang_1@xxxxxxx>
>
> i.MX reference manual specifies that internal clock loopback should be
> used for SDR104/HS200/HS400 modes. Move ESDHC_MIX_CTRL_FBCLK_SEL
> configuration into the timing selection function to:
>
> 1. Explicitly set internal loopback path for SDR104/HS200/HS400 modes
> 2. Avoid redundant bit manipulation across multiple functions
>
> Preserve ESDHC_MIX_CTRL_FBCLK_SEL during system resume for SDIO devices
> with MMC_PM_KEEP_POWER and MMC_PM_WAKE_SDIO_IRQ flag, as the controller
> might lose register state during suspend while skipping card
> re-initialization.
>
> Signed-off-by: Luke Wang <ziniu.wang_1@xxxxxxx>
Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
> drivers/mmc/host/sdhci-esdhc-imx.c | 27 ++++++++++++++-------------
> 1 file changed, 14 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
> index 7611682f10c3..c448a53530a5 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -728,23 +728,17 @@ static void esdhc_writew_le(struct sdhci_host *host, u16 val, int reg)
> writel(new_val, host->ioaddr + ESDHC_VENDOR_SPEC);
> if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) {
> u32 v = readl(host->ioaddr + SDHCI_AUTO_CMD_STATUS);
> - u32 m = readl(host->ioaddr + ESDHC_MIX_CTRL);
> - if (val & SDHCI_CTRL_TUNED_CLK) {
> + if (val & SDHCI_CTRL_TUNED_CLK)
> v |= ESDHC_MIX_CTRL_SMPCLK_SEL;
> - } else {
> + else
> v &= ~ESDHC_MIX_CTRL_SMPCLK_SEL;
> - m &= ~ESDHC_MIX_CTRL_FBCLK_SEL;
> - }
>
> - if (val & SDHCI_CTRL_EXEC_TUNING) {
> + if (val & SDHCI_CTRL_EXEC_TUNING)
> v |= ESDHC_MIX_CTRL_EXE_TUNE;
> - m |= ESDHC_MIX_CTRL_FBCLK_SEL;
> - } else {
> + else
> v &= ~ESDHC_MIX_CTRL_EXE_TUNE;
> - }
>
> writel(v, host->ioaddr + SDHCI_AUTO_CMD_STATUS);
> - writel(m, host->ioaddr + ESDHC_MIX_CTRL);
> }
> return;
> case SDHCI_TRANSFER_MODE:
> @@ -1082,7 +1076,6 @@ static void esdhc_reset_tuning(struct sdhci_host *host)
> ctrl &= ~ESDHC_MIX_CTRL_AUTO_TUNE_EN;
> if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING) {
> ctrl &= ~ESDHC_MIX_CTRL_SMPCLK_SEL;
> - ctrl &= ~ESDHC_MIX_CTRL_FBCLK_SEL;
> writel(ctrl, host->ioaddr + ESDHC_MIX_CTRL);
> writel(0, host->ioaddr + ESDHC_TUNE_CTRL_STATUS);
> } else if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) {
> @@ -1177,8 +1170,7 @@ static void esdhc_prepare_tuning(struct sdhci_host *host, u32 val)
> "warning! RESET_ALL never complete before sending tuning command\n");
>
> reg = readl(host->ioaddr + ESDHC_MIX_CTRL);
> - reg |= ESDHC_MIX_CTRL_EXE_TUNE | ESDHC_MIX_CTRL_SMPCLK_SEL |
> - ESDHC_MIX_CTRL_FBCLK_SEL;
> + reg |= ESDHC_MIX_CTRL_EXE_TUNE | ESDHC_MIX_CTRL_SMPCLK_SEL;
> writel(reg, host->ioaddr + ESDHC_MIX_CTRL);
> writel(FIELD_PREP(ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK, val),
> host->ioaddr + ESDHC_TUNE_CTRL_STATUS);
> @@ -1432,6 +1424,15 @@ static void esdhc_set_uhs_signaling(struct sdhci_host *host, unsigned timing)
> break;
> }
>
> + if (timing == MMC_TIMING_UHS_SDR104 ||
> + timing == MMC_TIMING_MMC_HS200 ||
> + timing == MMC_TIMING_MMC_HS400)
> + m |= ESDHC_MIX_CTRL_FBCLK_SEL;
> + else
> + m &= ~ESDHC_MIX_CTRL_FBCLK_SEL;
> +
> + writel(m, host->ioaddr + ESDHC_MIX_CTRL);
> +
> esdhc_change_pinstate(host, timing);
> }
>
Return-Path: <linux-kernel+bounces-665293-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id AD6E541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:35:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id ED8899E161C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:34:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CCFCA279912;
Wed, 28 May 2025 10:35:05 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 158B0275115;
Wed, 28 May 2025 10:35:02 +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=1748428505; cv=none; b=T8LVr2hbW9SJF3EGC42znzu/LI/0osNyNGZv+AwyLxoYlJkvtebgJO6oKkoN+9FWrQMdmNI3kb7+Jw/AjYiC+GH5ICMOWGMs3Nau4pPwDOMQJf9rENxddY/1QRedw4ZQm4kFUU+dUDDm2mcdnLnoRlSLjGJddRFouTNK9nQhzZc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428505; c=relaxed/simple;
bh=NtuCmb2qX+u9TmUxgQhAMvqeHDbod2xF6zPhiRL7/+s=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=PrWnmZFt4AKiXsmbu0073OznZlH3/B7r8kn5AMz4CQfufWwp4jWF5KIp9xLcFP3SKh7EWL7ASfuRrHvqlcC/ndt1kCwnreiYZs9s7mh7VWGnSgNzy2UXHVryHK+j5cTdU1StMZViwfnpeX4QD2xpuZcGZEBBSCSujh7du3TIOTg=
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 08B89150C;
Wed, 28 May 2025 03:34:46 -0700 (PDT)
Received: from [10.57.94.142] (unknown [10.57.94.142])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BF7383F673;
Wed, 28 May 2025 03:35:00 -0700 (PDT)
Message-ID: <232960c2-81db-47ca-a337-38c4bce5f997@xxxxxxx>
Date: Wed, 28 May 2025 11:34:59 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] selftests/mm: add simple VM_PFNMAP tests based on
mmap'ing /dev/mem
Content-Language: en-GB
To: David Hildenbrand <david@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Shuah Khan <shuah@xxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>, Ingo Molnar
<mingo@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>, Dev Jain
<dev.jain@xxxxxxx>, Aishwarya TCV <Aishwarya.TCV@xxxxxxx>
References: <20250509153033.952746-1-david@xxxxxxxxxx>
From: Ryan Roberts <ryan.roberts@xxxxxxx>
In-Reply-To: <20250509153033.952746-1-david@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi David,
On 09/05/2025 16:30, David Hildenbrand wrote:
> Let's test some basic functionality using /dev/mem. These tests will
> implicitly cover some PAT (Page Attribute Handling) handling on x86.
>
> These tests will only run when /dev/mem access to the first two pages
> in physical address space is possible and allowed; otherwise, the tests
> are skipped.
We are seeing really horrible RAS errors with this test when run on arm64 tx2
machine. Based solely on reviewing the code, I think the problem is that tx2
doesn't have anything at phys address 0, so test_read_access() is trying to put
trasactions out to a bad address on the bus.
tx2 /proc/iomem:
$ sudo cat /proc/iomem
30000000-37ffffff : PCI ECAM
38000000-3fffffff : PCI ECAM
40000000-5fffffff : PCI Bus 0000:00
...
Whereas my x86 box has some reserved memory:
$ sudo cat /proc/iomem
00000000-00000fff : Reserved
00001000-0003dfff : System RAM
...
I think perhaps the only safe way to handle this is to parse /proc/iomem for a
region of "System RAM" that is at least 2 pages then use that for your read
tests. This would also solve the hypothetical issue of reading something that
has read size effects.
I also spotted a few nits while reading the code...
>
> On current x86-64 with PAT inside a VM, all tests pass:
>
> TAP version 13
> 1..6
> # Starting 6 tests from 1 test cases.
> # RUN pfnmap.madvise_disallowed ...
> # OK pfnmap.madvise_disallowed
> ok 1 pfnmap.madvise_disallowed
> # RUN pfnmap.munmap_split ...
> # OK pfnmap.munmap_split
> ok 2 pfnmap.munmap_split
> # RUN pfnmap.mremap_fixed ...
> # OK pfnmap.mremap_fixed
> ok 3 pfnmap.mremap_fixed
> # RUN pfnmap.mremap_shrink ...
> # OK pfnmap.mremap_shrink
> ok 4 pfnmap.mremap_shrink
> # RUN pfnmap.mremap_expand ...
> # OK pfnmap.mremap_expand
> ok 5 pfnmap.mremap_expand
> # RUN pfnmap.fork ...
> # OK pfnmap.fork
> ok 6 pfnmap.fork
> # PASSED: 6 / 6 tests passed.
> # Totals: pass:6 fail:0 xfail:0 xpass:0 skip:0 error:0
>
> However, we are able to trigger:
>
> [ 27.888251] x86/PAT: pfnmap:1790 freeing invalid memtype [mem 0x00000000-0x00000fff]
>
> There are probably more things worth testing in the future, such as
> MAP_PRIVATE handling. But this set of tests is sufficient to cover most of
> the things we will rework regarding PAT handling.
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Shuah Khan <shuah@xxxxxxxxxx>
> Cc: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Peter Xu <peterx@xxxxxxxxxx>
> Cc: Dev Jain <dev.jain@xxxxxxx>
> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>
> ---
>
> Hopefully I didn't miss any review feedback.
>
> v1 -> v2:
> * Rewrite using kselftest_harness, which simplifies a lot of things
> * Add to .gitignore and run_vmtests.sh
> * Register signal handler on demand
> * Use volatile trick to force a read (not factoring out FORCE_READ just yet)
> * Drop mprotect() test case
> * Add some more comments why we test certain things
> * Use NULL for mmap() first parameter instead of 0
> * Smaller fixes
>
> ---
> tools/testing/selftests/mm/.gitignore | 1 +
> tools/testing/selftests/mm/Makefile | 1 +
> tools/testing/selftests/mm/pfnmap.c | 196 ++++++++++++++++++++++
> tools/testing/selftests/mm/run_vmtests.sh | 4 +
> 4 files changed, 202 insertions(+)
> create mode 100644 tools/testing/selftests/mm/pfnmap.c
>
> diff --git a/tools/testing/selftests/mm/.gitignore b/tools/testing/selftests/mm/.gitignore
> index 91db34941a143..824266982aa36 100644
> --- a/tools/testing/selftests/mm/.gitignore
> +++ b/tools/testing/selftests/mm/.gitignore
> @@ -20,6 +20,7 @@ mremap_test
> on-fault-limit
> transhuge-stress
> pagemap_ioctl
> +pfnmap
> *.tmp*
> protection_keys
> protection_keys_32
> diff --git a/tools/testing/selftests/mm/Makefile b/tools/testing/selftests/mm/Makefile
> index ad4d6043a60f0..ae6f994d3add7 100644
> --- a/tools/testing/selftests/mm/Makefile
> +++ b/tools/testing/selftests/mm/Makefile
> @@ -84,6 +84,7 @@ TEST_GEN_FILES += mremap_test
> TEST_GEN_FILES += mseal_test
> TEST_GEN_FILES += on-fault-limit
> TEST_GEN_FILES += pagemap_ioctl
> +TEST_GEN_FILES += pfnmap
> TEST_GEN_FILES += thuge-gen
> TEST_GEN_FILES += transhuge-stress
> TEST_GEN_FILES += uffd-stress
> diff --git a/tools/testing/selftests/mm/pfnmap.c b/tools/testing/selftests/mm/pfnmap.c
> new file mode 100644
> index 0000000000000..8a9d19b6020c7
> --- /dev/null
> +++ b/tools/testing/selftests/mm/pfnmap.c
> @@ -0,0 +1,196 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Basic VM_PFNMAP tests relying on mmap() of '/dev/mem'
> + *
> + * Copyright 2025, Red Hat, Inc.
> + *
> + * Author(s): David Hildenbrand <david@xxxxxxxxxx>
> + */
> +#define _GNU_SOURCE
> +#include <stdlib.h>
> +#include <string.h>
> +#include <stdint.h>
> +#include <unistd.h>
> +#include <errno.h>
> +#include <fcntl.h>
> +#include <signal.h>
> +#include <setjmp.h>
> +#include <linux/mman.h>
> +#include <sys/mman.h>
> +#include <sys/wait.h>
> +
> +#include "../kselftest_harness.h"
> +#include "vm_util.h"
> +
> +static sigjmp_buf sigjmp_buf_env;
> +
> +static void signal_handler(int sig)
> +{
> + siglongjmp(sigjmp_buf_env, -EFAULT);
> +}
> +
> +static int test_read_access(char *addr, size_t size, size_t pagesize)
> +{
> + size_t offs;
> + int ret;
> +
> + if (signal(SIGSEGV, signal_handler) == SIG_ERR)
> + return -EINVAL;
> +
> + ret = sigsetjmp(sigjmp_buf_env, 1);
> + if (!ret) {
> + for (offs = 0; offs < size; offs += pagesize)
> + /* Force a read that the compiler cannot optimize out. */
> + *((volatile char *)(addr + offs));
> + }
> + if (signal(SIGSEGV, signal_handler) == SIG_ERR)
I think you mean:
if (signal(SIGSEGV, SIG_DFL) == SIG_ERR)
Otherwise your signal_handler will remain installed, right?
> + return -EINVAL;
> +
> + return ret;
> +}
> +
> +FIXTURE(pfnmap)
> +{
> + size_t pagesize;
> + int dev_mem_fd;
> + char *addr1;
> + size_t size1;
> + char *addr2;
> + size_t size2;
> +};
> +
> +FIXTURE_SETUP(pfnmap)
> +{
> + self->pagesize = getpagesize();
> +
> + self->dev_mem_fd = open("/dev/mem", O_RDONLY);
> + if (self->dev_mem_fd < 0)
> + SKIP(return, "Cannot open '/dev/mem'\n");
> +
> + /* We'll require the first two pages throughout our tests ... */
> + self->size1 = self->pagesize * 2;
> + self->addr1 = mmap(NULL, self->size1, PROT_READ, MAP_SHARED,
> + self->dev_mem_fd, 0);
> + if (self->addr1 == MAP_FAILED)
> + SKIP(return, "Cannot mmap '/dev/mem'\n");
> +
> + /* ... and want to be able to read from them. */
> + if (test_read_access(self->addr1, self->size1, self->pagesize))
> + SKIP(return, "Cannot read-access mmap'ed '/dev/mem'\n");
> +
> + self->size2 = 0;
> + self->addr2 = MAP_FAILED;
Do you need to init all the params in FIXTURE(pfnmap) to their "safe" values
before any possible early returns? We don't want FIXTURE_TEARDOWN(pfnmap)
getting confused.
Thanks,
Ryan
> +}
> +
> +FIXTURE_TEARDOWN(pfnmap)
> +{
> + if (self->addr2 != MAP_FAILED)
> + munmap(self->addr2, self->size2);
> + if (self->addr1 != MAP_FAILED)
> + munmap(self->addr1, self->size1);
> + if (self->dev_mem_fd >= 0)
> + close(self->dev_mem_fd);
> +}
> +
> +TEST_F(pfnmap, madvise_disallowed)
> +{
> + int advices[] = {
> + MADV_DONTNEED,
> + MADV_DONTNEED_LOCKED,
> + MADV_FREE,
> + MADV_WIPEONFORK,
> + MADV_COLD,
> + MADV_PAGEOUT,
> + MADV_POPULATE_READ,
> + MADV_POPULATE_WRITE,
> + };
> + int i;
> +
> + /* All these advices must be rejected. */
> + for (i = 0; i < ARRAY_SIZE(advices); i++) {
> + EXPECT_LT(madvise(self->addr1, self->pagesize, advices[i]), 0);
> + EXPECT_EQ(errno, EINVAL);
> + }
> +}
> +
> +TEST_F(pfnmap, munmap_split)
> +{
> + /*
> + * Unmap the first page. This munmap() call is not really expected to
> + * fail, but we might be able to trigger other internal issues.
> + */
> + ASSERT_EQ(munmap(self->addr1, self->pagesize), 0);
> +
> + /*
> + * Remap the first page while the second page is still mapped. This
> + * makes sure that any PAT tracking on x86 will allow for mmap()'ing
> + * a page again while some parts of the first mmap() are still
> + * around.
> + */
> + self->size2 = self->pagesize;
> + self->addr2 = mmap(NULL, self->pagesize, PROT_READ, MAP_SHARED,
> + self->dev_mem_fd, 0);
> + ASSERT_NE(self->addr2, MAP_FAILED);
> +}
> +
> +TEST_F(pfnmap, mremap_fixed)
> +{
> + char *ret;
> +
> + /* Reserve a destination area. */
> + self->size2 = self->size1;
> + self->addr2 = mmap(NULL, self->size2, PROT_READ, MAP_ANON | MAP_PRIVATE,
> + -1, 0);
> + ASSERT_NE(self->addr2, MAP_FAILED);
> +
> + /* mremap() over our destination. */
> + ret = mremap(self->addr1, self->size1, self->size2,
> + MREMAP_FIXED | MREMAP_MAYMOVE, self->addr2);
> + ASSERT_NE(ret, MAP_FAILED);
> +}
> +
> +TEST_F(pfnmap, mremap_shrink)
> +{
> + char *ret;
> +
> + /* Shrinking is expected to work. */
> + ret = mremap(self->addr1, self->size1, self->size1 - self->pagesize, 0);
> + ASSERT_NE(ret, MAP_FAILED);
> +}
> +
> +TEST_F(pfnmap, mremap_expand)
> +{
> + /*
> + * Growing is not expected to work, and getting it right would
> + * be challenging. So this test primarily serves as an early warning
> + * that something that probably should never work suddenly works.
> + */
> + self->size2 = self->size1 + self->pagesize;
> + self->addr2 = mremap(self->addr1, self->size1, self->size2, MREMAP_MAYMOVE);
> + ASSERT_EQ(self->addr2, MAP_FAILED);
> +}
> +
> +TEST_F(pfnmap, fork)
> +{
> + pid_t pid;
> + int ret;
> +
> + /* fork() a child and test if the child can access the pages. */
> + pid = fork();
> + ASSERT_GE(pid, 0);
> +
> + if (!pid) {
> + EXPECT_EQ(test_read_access(self->addr1, self->size1,
> + self->pagesize), 0);
> + exit(0);
> + }
> +
> + wait(&ret);
> + if (WIFEXITED(ret))
> + ret = WEXITSTATUS(ret);
> + else
> + ret = -EINVAL;
> + ASSERT_EQ(ret, 0);
> +}
> +
> +TEST_HARNESS_MAIN
> diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/selftests/mm/run_vmtests.sh
> index 188b125bf1f6b..dddd1dd8af145 100755
> --- a/tools/testing/selftests/mm/run_vmtests.sh
> +++ b/tools/testing/selftests/mm/run_vmtests.sh
> @@ -63,6 +63,8 @@ separated by spaces:
> test soft dirty page bit semantics
> - pagemap
> test pagemap_scan IOCTL
> +- pfnmap
> + tests for VM_PFNMAP handling
> - cow
> test copy-on-write semantics
> - thp
> @@ -472,6 +474,8 @@ fi
>
> CATEGORY="pagemap" run_test ./pagemap_ioctl
>
> +CATEGORY="pfnmap" run_test ./pfnmap
> +
> # COW tests
> CATEGORY="cow" run_test ./cow
>
Return-Path: <linux-kernel+bounces-665294-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4C5F841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:35:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id B843E1BC41C6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:35:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1C2F3279912;
Wed, 28 May 2025 10:35:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="GzxH4KTy"
Received: from casper.infradead.org (casper.infradead.org [90.155.50.34])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9451427A10D;
Wed, 28 May 2025 10:35:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=90.155.50.34
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428511; cv=none; b=C+GjA6jLcRFqQuGxw9MX1jiFzr3ra7mXqqzP4+pFOtGNqYFc+55+ix4BUR3NATN7S8mH3hpfnln1E7zn694X8ik2oQbGjJyTiXd9wxlEbqxPc4kf1Ml3BoDorD0rhX82MvmXYmXGxJI6DYE+PM6JJJNy3VENC1Qc9Bzsoz7J9Qc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428511; c=relaxed/simple;
bh=cYSghLuIhAoYSTdvRYsMj6ugu4cjASHNZF8y376rXmI=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=sekQcCP2bJCjSnOco/Ei7cs7s0HEuYf1xDoXvE8nw0ilvEYgid421XG+73vq+LuXsXawJFV/SxlYFQOn0l25mn7CDzTxM08d8pCbkJ+CmfexDQ4f7JiJJnpYaUP4bXjAYm25mMwxFjgg3A+/BOSIiCtcE4hFphUi6I4lKctqDZI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=GzxH4KTy; arc=none smtp.client-ip=90.155.50.34
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version:
References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
Content-Transfer-Encoding:Content-ID:Content-Description;
bh=P34XLFCfzk1CsPAhulJ9PexBHwchNyZWZ/M1aK5mWj4=; b=GzxH4KTyBYgzlK+BLZIYMj9CgF
jhUPSv2YMQExg63qcZElNpp45T5MrXfr7t9LHiZEslu9zMzJVwk37qXpLllekoKS9tZev0pBHlOWv
J57p4ntWNAJuvr03JyB1K8Hewp2kX+/RZUHqsbA24d9de19GnlSttYCPxrGMYj3NgKWm84xjIGuIQ
dZPiZEzkkm9TOiBjRKXHvIBTfp5RuEm5bts+FYj6mXoyDA1ZBYNz2EnUOy3GhnTZzvNOhwuKmHmJk
yyWOo8y0fE4ZRBKHNCtbITDoC8E8nAWcliX4CNFgiad+eG73SMkWf1LueC5PnDEN/EZpRvMt57/mv
kzl/bj/g==;
Received: from 77-249-17-252.cable.dynamic.v4.ziggo.nl ([77.249.17.252] helo=noisy.programming.kicks-ass.net)
by casper.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))
id 1uKE7c-0000000DV7N-2syw;
Wed, 28 May 2025 10:34:56 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
id 4887330066A; Wed, 28 May 2025 12:34:53 +0200 (CEST)
Date: Wed, 28 May 2025 12:34:53 +0200
From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
To: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Cc: x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Petr Mladek <pmladek@xxxxxxxx>, Miroslav Benes <mbenes@xxxxxxx>,
Joe Lawrence <joe.lawrence@xxxxxxxxxx>,
live-patching@xxxxxxxxxxxxxxx, Song Liu <song@xxxxxxxxxx>,
laokz <laokz@xxxxxxxxxxx>, Jiri Kosina <jikos@xxxxxxxxxx>,
Marcos Paulo de Souza <mpdesouza@xxxxxxxx>,
Weinan Liu <wnliu@xxxxxxxxxx>,
Fazla Mehrab <a.mehrab@xxxxxxxxxxxxx>,
Chen Zhongjin <chenzhongjin@xxxxxxxxxx>,
Puranjay Mohan <puranjay@xxxxxxxxxx>
Subject: Re: [PATCH v2 32/62] objtool: Suppress section skipping warnings
with --dryrun
Message-ID: <20250528103453.GF31726@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <cover.1746821544.git.jpoimboe@xxxxxxxxxx>
<7eccdb0b09eff581377e5efab8377b6a37596992.1746821544.git.jpoimboe@xxxxxxxxxx>
<20250526105240.GN24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250526105240.GN24938@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Mon, May 26, 2025 at 12:52:40PM +0200, Peter Zijlstra wrote:
> On Fri, May 09, 2025 at 01:16:56PM -0700, Josh Poimboeuf wrote:
> > It's common to use --dryrun on binaries that have already been
> > processed. Don't print the section skipping warnings in that case.
>
> Ah, I rather like this warning, it gives me an easy check to see if the
> file has already been processed.
>
> I typically do a OBJTOOL_ARGS="--backup" build and run dryrun debug
> sessions against those .orig files.
Turns out, you already broke this.. :-(
I'm now having a case where objtool fails on vmlinux.o and make happily
deletes vmlinux.o and I'm left empty handed.
Let me go resurrect --backup
Return-Path: <linux-kernel+bounces-665295-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B466C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:35:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C77021BC4305
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:36:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C750B275115;
Wed, 28 May 2025 10:35:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="RGMvHGUo"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD63C27602A;
Wed, 28 May 2025 10:35:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.9
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428548; cv=fail; b=H1fLNmZzxfSrzI7qYHkT9w2AQ6EFG74S3g0Eo7cDemMWpB73EVW0RqiFCsCXmrd2RbjBgxrqrQZHFfEwVd1ZBQ3OHYza+rryi+Fx/Ow/MOT/c66gwx/RCsR0PDKcixtJDB3eia0vvCZCwU0ohSwccxEpLFjCWaX1D/qV+X/izmw=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428548; c=relaxed/simple;
bh=AAE3k2PBfMH5mINKwcDbI9LWQw4t3SGUEG3wrtqwJsU=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=CESfJeOS4Q2n1PeHeMIC0+ULsHqw9/qlI9hz9x3r2f6ODacHbUgNf06APIiAXEmoYr0aWNFWO1JmUl+7ASWvIfKqrrzdY5mGFhxNrx0BfqC5B5ODCUXTqxgxwqhQ1oir7nb3jo+nLCqM0CR7eJMKvdYSbJOCKdBTi9+FL8IknyA=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=RGMvHGUo; arc=fail smtp.client-ip=192.198.163.9
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748428547; x=1779964547;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=AAE3k2PBfMH5mINKwcDbI9LWQw4t3SGUEG3wrtqwJsU=;
b=RGMvHGUolGnigg6ZMp9+yVRwsLWn832PgTyU2dzoM3k3aF4pYM6DnlJq
pC+euQWa3RyRu+Uml/HabfCZ5W4jJbcuej1DdZBgZNUlp0rDQPUcjNd+Z
Wug81bRfqaQZtTObM1gTTJlY1dYfaniiOsHxXZwccbzZ+JJ3WdpCzATEA
Xbv1+FHbu7ju+ARTKFA6rZ3Rl3sQhEoxlmQnNkFz9Xgw323FRjOif6mvo
0rS239JxYno1mio08kibsy3qkP+3om4yRdcytFVejPR6rWLDqzGJhaHIO
U+3HUPPsJSPHJGtQhifFqylc/gEze+D7iBUKVvPizMh7hPeVBjV1LkVzQ
A==;
X-CSE-ConnectionGUID: MJLi69dCSMCj6HkNEhrU3Q==
X-CSE-MsgGUID: ZtaUkPuOQl2ePYJKzvtC5Q==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="61107514"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="61107514"
Received: from orviesa004.jf.intel.com ([10.64.159.144])
by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:35:43 -0700
X-CSE-ConnectionGUID: dlPculyGSQ2lDeMHC3zGQg==
X-CSE-MsgGUID: U9lYgVeaR8aBmj/eCk4eqA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="148243608"
Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25])
by orviesa004.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:35:43 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 28 May 2025 03:35:42 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 03:35:42 -0700
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (40.107.220.70)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 28 May 2025 03:35:42 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=GB3Z7VXCXp+UBeLo2CfJMfzzxb21npdr3Vti9xQKwsbuB0KvWfrZi3PD8tS68LnFwLQVfsAtSkcPwad4M+EBAQwMlTpMMpYr7c7sN5qhzspCnoFLloeDQ0CzpgHiM4SJqa4/dzJGqU8lhp8fNidy1n7BKyj0ijb2uJCn7XFnR0Jr0MuV7L5mdsWsDfj6mhAOCxCwufkPbNh39KsZYALSKrYus2qDTZV91WUtFGRjQGFTnPj2TTRnddo54jeoDZ/SoaKFVrRIIFK9DBFjj4SnG8qMBws3i1nPPKrFrlq7BSUp1L0IJclBrm5lvQTcZkGtJoaVjsCWClzMTYvRUqORnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=VNfkN4TNMAKkYIVCneQDjqH/x4IOkv/760MsuMcuuac=;
b=gbJvoQ2QvukKDF2Z1eRIJvy9SO5QyTfXpuFTwDjBnDq4ZDGMrQwGXPycijM83sG7P4aEA/TQmMVt5j9rRFHu4aBflacUuMvSBvwZQ7D8jCpTjsO7pJykHHIPaoPREVdL0YAMWz/RPKFcVFnZcghuvh6RdQ+wfc4nx3lFshhEQLainhHTsXzIXU6LUF9rw7vfIUTLx+FI+yx/hXLVN6HodgQfZs+K35vCVUqNdMIZNujZs3R2xnGy6zblOVRViR45P4Bm/YUbO07yinWUgTGSscz/4hYuy2dQMBlfHCcRcqHET1HZW8YXVMmcqX07XBEofE6BsBVahDZIkQPB6VI7ig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH7PR11MB6054.namprd11.prod.outlook.com (2603:10b6:510:1d2::8)
by DM4PR11MB6191.namprd11.prod.outlook.com (2603:10b6:8:ac::19) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.29; Wed, 28 May
2025 10:34:59 +0000
Received: from PH7PR11MB6054.namprd11.prod.outlook.com
([fe80::a255:8692:8575:1301]) by PH7PR11MB6054.namprd11.prod.outlook.com
([fe80::a255:8692:8575:1301%6]) with mapi id 15.20.8769.029; Wed, 28 May 2025
10:34:59 +0000
Message-ID: <405271f5-3ae9-4f64-a433-043fb3194834@xxxxxxxxx>
Date: Wed, 28 May 2025 13:34:54 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] mmc: sdhci-esdhc-imx: optimize clock loopback
selection with dummy pad support
To: <ziniu.wang_1@xxxxxxx>, <haibo.chen@xxxxxxx>, <ulf.hansson@xxxxxxxxxx>,
<linux-mmc@xxxxxxxxxxxxxxx>
CC: <shawnguo@xxxxxxxxxx>, <s.hauer@xxxxxxxxxxxxxx>, <kernel@xxxxxxxxxxxxxx>,
<festevam@xxxxxxxxx>, <imx@xxxxxxxxxxxxxxx>, <s32@xxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>
References: <20250521025502.112030-1-ziniu.wang_1@xxxxxxx>
<20250521025502.112030-2-ziniu.wang_1@xxxxxxx>
Content-Language: en-US
From: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki,
Business Identity Code: 0357606 - 4, Domiciled in Helsinki
In-Reply-To: <20250521025502.112030-2-ziniu.wang_1@xxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DU2PR04CA0242.eurprd04.prod.outlook.com
(2603:10a6:10:28e::7) To PH7PR11MB6054.namprd11.prod.outlook.com
(2603:10b6:510:1d2::8)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR11MB6054:EE_|DM4PR11MB6191:EE_
X-MS-Office365-Filtering-Correlation-Id: a60fc8af-fd72-4f19-98ee-08dd9dd34c08
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014|7053199007;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?WjJvRmd1TVZDQlI5a3BsSXJrcnNFSkxBWSt6WGllQUxmQ1JuZTF4VGF5OUdj?=
=?utf-8?B?WVRJaWJQUlpnM2FYd1FuWnBCNGFWZ0c5dElsV0kyb0EwT25lYXRadWFSc1gz?=
=?utf-8?B?RGRCUVNldHVldVpzMWMzSVY1cG5zR1dVN25UQnZhVzRNbFlDaDdNUzlNZEd5?=
=?utf-8?B?QjhybGhBYjhVSkNRNi9NR1lIYU40aG1XTmg1TCtWNXBZMlZlUGpxRzlGRzVB?=
=?utf-8?B?R1JqaGpKYVJyUUpMb0NGQVk5Z0FMWjZld1NZY2tHOWlzR2pPV3B6dWJ6cGU0?=
=?utf-8?B?cUpjYWdUS2JidGM5bWxNWVdhQmZGNXRnaFlhMkZPUWFrVzB5R0tZdGRCb2JH?=
=?utf-8?B?Qk9xMDdsRDMwMmo3NDNPK09tWWk1SklJZElzVWkxSGNXdDhJNnYxWktFSnJF?=
=?utf-8?B?WjlkVW4zRGV2N1pxbWRBNEdQbnNuSTlIbTNOZThPcTNic29IMUwyVHRWT3JL?=
=?utf-8?B?WFdqL3d3UW9ydGNlNlVWNXBaeGQvMjlZMTNCdlRwanFFL2hCYlI4V1JJM3lt?=
=?utf-8?B?RGNWcThHcFo5ZEEweTRnUkVGWENCR3JwT2puRDBwdW9jK3hzdTlvS1ZNT3I4?=
=?utf-8?B?WUtJUFZxVmZYMDJ6K3d3S0l3ck9jT2JwSnY5cEpQUXF5YXR6MTFwMG5kSXN5?=
=?utf-8?B?ZXp1RlowNVVKVVBkSDR0Vy9tQndyQzkvT3hkSnpnaE5Ca1ZXT3BwNXk4M1Rp?=
=?utf-8?B?WFYxVXBJTDRPdDFTQThEblVtdXdkT0tXRi9wbFJBcnoxcitRbFhOc2ZxSmlX?=
=?utf-8?B?cVFvdHhHK01NOVovUmJwUVNwaStGajJ6aHdJNTkreGdEcUpwRE4xckR6czBp?=
=?utf-8?B?bW9QTFc0aHB3WGJ3RDZOR09rRldoVmthQytyQTRmVW9BdTZ3SXVYblFJYVpR?=
=?utf-8?B?bGxRSGtYdmNXRGZtQXIrVllKd3l4TE42Q3NOMFVzQ0w3ZjlIYUFsdmZqaDFp?=
=?utf-8?B?N0o5cFR4R3J5VE9VY0ltVkV3ZjFUcThoUlFkaXphMkRFbTVLczNDc01zMG5X?=
=?utf-8?B?dklvQSt3cmNpTDNqMVUrZkRQMHZTalNNQWxkdUVaMzlJSjFUcnRoWFJRWWVk?=
=?utf-8?B?SkFxREZVUnRQY0JrUEE1SGZaQ0N4QTQ4Y2lTL1IrNDltMmNHcVluMjRZM3pt?=
=?utf-8?B?SWNsNVZ5SlBtSkVQMXNTcWlITzA5akxIc000elZveU10WE1uSy92L3ZvQTdD?=
=?utf-8?B?dDRNZ2pwY1FXSlFYV1FBb2xIR256TmpHZi85YmppSWFqR2hPVUxoRmRMZkZS?=
=?utf-8?B?N3djZk9zUnZKSzRqTmpHWUoyaTdScG9GdWtpZkFzRXpZUC9jMHlJYjlUWXh2?=
=?utf-8?B?ZmJOQ3BaUkdWem1BNXZLQi96bXVubDRKTXNxOTBFdzhrdThVL0xsUFBOeWxn?=
=?utf-8?B?NzVxS0R5SFcrOG5lUm8vbWNaQVZKS1dMeFRON2dVRmNSNWZ4SVdBY3NxbFp4?=
=?utf-8?B?ZGc4MmFkaXErSXE1aUpPeEFlNFhSMU9tajNJa2N6RXdvdUVFak5ML2o2SC9h?=
=?utf-8?B?WHMvSGpTUi91UG9BUXZoY2JhM1ZFODRvQzFYTGhocE1EUTNkZHBIQ2pIRkVQ?=
=?utf-8?B?dTdXU051M1lNL2s4UlEwa3ZhMUgvdTA3djdidDR2b05Zc0NpMHN5UlhFbGNT?=
=?utf-8?B?cGMzcVdMZS9SMnJFcmQ2YmlTWXRuaU5hYVFLbVF3UC9QcUJtZTJxd2pFTW5B?=
=?utf-8?B?Mlc1bU04RXhiOEZwMTBySlNaUG8zK21YKzRaMHdDUWY3ZUJ6TVdhVHhmTkg5?=
=?utf-8?B?T04zUUNPSDlWU0R4bXNLVHFlaHJPNTdja3E4N09KdGp5S2MzbUEvZ295TlhU?=
=?utf-8?B?Z2kzbStCR0VTcGIrZFJIZldKNDlZbVhxT2RQSXVQQzc1bWdZMFVpVUVxU2VE?=
=?utf-8?B?dERTYzF1bjRXVkdSMzd6dnBJZUVGNTg2RFVLa3hCTnlZYWZBczRXRytOcTk0?=
=?utf-8?Q?GNH3/vMUAXQ=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB6054.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZGtJYjVJNjZPVThhVFBZMDFucW9NRnl3K05SVnh6UXkxZGR6Um53bFZ1YWhO?=
=?utf-8?B?VlVVS05zWkJwTXpMclVsbnVkQ21tYWxkTkpVMTRBdzV0UVhHdWZuY0IwQ1dl?=
=?utf-8?B?bENZanpsTG5QZm42c1BEeExKQnVoUWRlZHgrNCtnMllwdEJSazl4RzhTamhR?=
=?utf-8?B?Tkh2L1pQVGM1UmQvbHpjSVhsYTBLL0dpL1JtYXRuY3lLcVhYNVc3Q3pGMGdn?=
=?utf-8?B?ZllDOXJRbXZ2SExRT2Ezc1BEQUlKQ3p6elZVTEFYN1dTK0tuOEJheXBpZUJQ?=
=?utf-8?B?L3p1ZEp6Z2kwd2NpZkgzSHF0NlU5dHUyV09jNi82M0svZEJiZWd3YUxscHR1?=
=?utf-8?B?NlJ3ZmRrZnRjUERHZi9NakdDL3BCbWd5Q2I2Yk1nVHNNaWkvRVVLUVQzSUt4?=
=?utf-8?B?dzgvQlk0NlBxZ1JQZEZvYlkxZXZTcjk0VkQ2SXAxaDN3Rzd4a2FyOXphUSti?=
=?utf-8?B?eTlUcUJ5dkQ5QVNqVDh2dllER0hpeG53SmtXcWZySHhHY1RLamtIK2pnVk1u?=
=?utf-8?B?MXlFUVJ0UnIrc0s1bnlBMXdKMDhFYVNIRnp0dGZDRzh6OFlVRkVvZzlYcmM1?=
=?utf-8?B?eHhDMW50ckFuQjBWNDJiNnFhaG9zVG1Eb3d5MkZyQzJ2SHVoSjN3aVlmcXpz?=
=?utf-8?B?cE5ySHh6Qy9HNm1qajc3RUZ6ZDNJOXpaU1ZQZFYzMzFrM2JQbDdSVkdwdk9P?=
=?utf-8?B?UkVLV1JidVF2U1hOdVJ2ZzNiMDlVUS9VK2UrMnYzTXFUbGp2L2ptV2NtdHFk?=
=?utf-8?B?OE1ONUwzdzVkcUV3YzREVEl6WW5sclVaMGJVdEFsaDc2ZXZFbkJaV0tibW5j?=
=?utf-8?B?MUE2ZnUrcmJwYWlMUU5GSTBzcEpvVWdvUVE5bUJqSy91cHl1MGdxVmZvU2Fa?=
=?utf-8?B?MFVXc1hxY3RZVWdnL0Y2K1gycFZUc04zSmI4UFZRd3MxT2NRYVBhREtibWh4?=
=?utf-8?B?M3B0SFMvVjk3aU1IVUJTSE9DWkxtRXljUldWSTNYTUprY0xZR21OVFpGYWgw?=
=?utf-8?B?SE9uOXFpaXhjMUs5Z0ZsQ2p6V0txb1dQNHpHR05TRU5Va0VzUEZ2MmlFbEho?=
=?utf-8?B?cXpnSDVjbVZnWWV3Y0ViSVM2TWltVmJhSDYzSXFKOU80RkZTN3FjaXp2SXBE?=
=?utf-8?B?aGVmSDlmclVPZ3A3c3lKc080bEQ3ck51OU1tOS9DWmxtZk84QTllMGExWElG?=
=?utf-8?B?SGtHN3QvTTNhMlh0QW5HTnlqbTViU3N5emtnQ3Z6VkFVTWJiUmZZSERSNHYy?=
=?utf-8?B?Sm0yZ0JWZU10NXVFMlo0bWltRVU1ZitZS0svZWFmeEF0T3VOUy9kalhEaGZP?=
=?utf-8?B?TSs1YlRneU5WNWs0Z0l6U3VZYkowc3hJWDlsYTBJcGZJSXFmNGhsRDQ1MGYr?=
=?utf-8?B?elo3MnRKdlV5RTk2SDc4MjdZS1NuYkEvN0pEZFV1WldCY0p5S1M1REFoTmsw?=
=?utf-8?B?cmRsS0V5NHhlWU9VWVFocWo1M2pYMWpXUWtLZ1ErZlR2RFNnYmdkUjErSzg5?=
=?utf-8?B?NXE5cEZORXQ5TDczU1JOc1p5SHg0ZXBCVG9jZk1UNDF1c09ZcGJVcDhMTDJl?=
=?utf-8?B?eG40cU5acGxFUFU3OXFqazdOOFlLSkRJLzUzR3FCTTEyWWphaWlLUjFOa0d2?=
=?utf-8?B?TGtCaGVteHRBVkovbTQyQzAvZCtvczlKNWR4L3V3bnZWNVZjY0Y3eC9uQUdI?=
=?utf-8?B?MUtIbmJhTjRKdmRjMjc4NkFBYkpLVmtKM1VWNlVSSThWWVN5TFZtbjdpWURn?=
=?utf-8?B?QkRwcnRNNVdFVWVZYkk2ajlrNi9wN1l1ZTNsRlpSdXN6RWU4QTFIZldaWkJT?=
=?utf-8?B?QnR1OWxJQUxmN2FEd2RoNFgvWEtqR0VSbEV1QVZ3ZzFBWnFIRUMxSEUvTVZM?=
=?utf-8?B?cnI1UVJxeklzalY0MjhjMVRiODcwV043M3loUlJmWHVyWldrWFptSE5aZ0Z2?=
=?utf-8?B?WGpadDRSQW9EbFlTZzJLOWtFRFBZQS9QaU9UR2dSYWFnWTUzTzdwV1RNTXFl?=
=?utf-8?B?c3RuUTdrV1BTNFIxV2xscTFKYjQ4Nno3TzJZakNtT3VNTnRDMktBMjRuSHpw?=
=?utf-8?B?RTBtbkFVZE0yZ01Bd3UvZEhBaVdQTVdESnZCamxWVFJFbzZFZHpLRVl4NU80?=
=?utf-8?B?QlZvdkl2endKd3R1bGV0YVlaQkFJWUNWSnM5NktZNlVpSHpSU0Z3SXBNVUlD?=
=?utf-8?B?Ymc9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: a60fc8af-fd72-4f19-98ee-08dd9dd34c08
X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB6054.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 10:34:59.7906
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KgIAAwaxd6rOmvomwPGj3gV8PUVsc2F5DBHhGhXKYzdxFie3DwGOMuMG385i+fhymen8td+KjdHyc1Y9jF1aXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6191
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 21/05/2025 05:55, ziniu.wang_1@xxxxxxx wrote:
> From: Luke Wang <ziniu.wang_1@xxxxxxx>
>
> For legacy platforms without dummy pad:
> When clock <= 100MHz: Set ESDHC_MIX_CTRL_FBCLK_SEL to 0 (external clock
> pad loopback) for better bus clock proximity.
> When clock > 100MHz: Set ESDHC_MIX_CTRL_FBCLK_SEL to 1 (internal clock
> loopback) to avoid signal reflection noise at high frequency.
>
> For i.MX94/95 with dummy pad support:
> Keep ESDHC_MIX_CTRL_FBCLK_SEL at 0 for all speed mode. Hardware
> automatically substitutes clock pad loopback with dummy pad loopback
> when available, eliminating signal reflections while preserving better
> bus clock proximity.
>
> Signed-off-by: Luke Wang <ziniu.wang_1@xxxxxxx>
Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
> drivers/mmc/host/sdhci-esdhc-imx.c | 25 +++++++++++++++++++++----
> 1 file changed, 21 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
> index c448a53530a5..5f1c45b2bd5d 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -212,6 +212,9 @@
> /* The IP does not have GPIO CD wake capabilities */
> #define ESDHC_FLAG_SKIP_CD_WAKE BIT(18)
>
> +/* the controller has dummy pad for clock loopback */
> +#define ESDHC_FLAG_DUMMY_PAD BIT(19)
> +
> #define ESDHC_AUTO_TUNING_WINDOW 3
>
> enum wp_types {
> @@ -348,6 +351,15 @@ static struct esdhc_soc_data usdhc_imx8mm_data = {
> .quirks = SDHCI_QUIRK_NO_LED,
> };
>
> +static struct esdhc_soc_data usdhc_imx95_data = {
> + .flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_MAN_TUNING
> + | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200
> + | ESDHC_FLAG_HS400 | ESDHC_FLAG_HS400_ES
> + | ESDHC_FLAG_STATE_LOST_IN_LPMODE
> + | ESDHC_FLAG_DUMMY_PAD,
> + .quirks = SDHCI_QUIRK_NO_LED,
> +};
> +
> struct pltfm_imx_data {
> u32 scratchpad;
> struct pinctrl *pinctrl;
> @@ -392,6 +404,8 @@ static const struct of_device_id imx_esdhc_dt_ids[] = {
> { .compatible = "fsl,imx7ulp-usdhc", .data = &usdhc_imx7ulp_data, },
> { .compatible = "fsl,imx8qxp-usdhc", .data = &usdhc_imx8qxp_data, },
> { .compatible = "fsl,imx8mm-usdhc", .data = &usdhc_imx8mm_data, },
> + { .compatible = "fsl,imx94-usdhc", .data = &usdhc_imx95_data, },
> + { .compatible = "fsl,imx95-usdhc", .data = &usdhc_imx95_data, },
> { .compatible = "fsl,imxrt1050-usdhc", .data = &usdhc_imxrt1050_data, },
> { .compatible = "nxp,s32g2-usdhc", .data = &usdhc_s32g2_data, },
> { /* sentinel */ }
> @@ -1424,9 +1438,10 @@ static void esdhc_set_uhs_signaling(struct sdhci_host *host, unsigned timing)
> break;
> }
>
> - if (timing == MMC_TIMING_UHS_SDR104 ||
> - timing == MMC_TIMING_MMC_HS200 ||
> - timing == MMC_TIMING_MMC_HS400)
> + if (!(imx_data->socdata->flags & ESDHC_FLAG_DUMMY_PAD) &&
> + (timing == MMC_TIMING_UHS_SDR104 ||
> + timing == MMC_TIMING_MMC_HS200 ||
> + timing == MMC_TIMING_MMC_HS400))
> m |= ESDHC_MIX_CTRL_FBCLK_SEL;
> else
> m &= ~ESDHC_MIX_CTRL_FBCLK_SEL;
> @@ -1678,7 +1693,9 @@ static void sdhc_esdhc_tuning_restore(struct sdhci_host *host)
> writel(reg, host->ioaddr + ESDHC_TUNING_CTRL);
>
> reg = readl(host->ioaddr + ESDHC_MIX_CTRL);
> - reg |= ESDHC_MIX_CTRL_SMPCLK_SEL | ESDHC_MIX_CTRL_FBCLK_SEL;
> + reg |= ESDHC_MIX_CTRL_SMPCLK_SEL;
> + if (!(imx_data->socdata->flags & ESDHC_FLAG_DUMMY_PAD))
> + reg |= ESDHC_MIX_CTRL_FBCLK_SEL;
> writel(reg, host->ioaddr + ESDHC_MIX_CTRL);
>
> writel(FIELD_PREP(ESDHC_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK,
Return-Path: <linux-kernel+bounces-665296-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 93D0441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:37:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5900D3B28CD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:36:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9575A27A900;
Wed, 28 May 2025 10:36:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="B5eSM2ys"
Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA8F727602A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:36:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428597; cv=none; b=bUCbXRDZPoA+ZW5CHgu+QQm/YA3j/Y+ruY3knJyaaNj0zMJ07xreA0VIHehS4oXV0ffs5rBeEbvpp8ELKqqSrEfOjh4DyN0JnIsruRH+3uaEmMKE6MpFFd0pgVZj4cJkq1uMmiVzQ/6pTYxVYstlwFys+7MnQ+S2RNeP//5wPl8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428597; c=relaxed/simple;
bh=Si1j6uouuZRKixZgcv6BHoJXWodMnlY2oC/q9yWhRtM=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=pC533zs9iHDHy+6qD5Ypj7cc6TkAQgLCEnQfeG/cwx3N/cI0KO5xQlLzD7Ko+khM6GkNecx2e02q129/MXyCi0vLJDC3wwWtGSXHktBX2UeE/TFZZkLCX4Wo+VzMOFyzLuccZ07+sExCr06A8yKLXJu6Ra4Rut2KDXwzHyHorf8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=B5eSM2ys; arc=none smtp.client-ip=209.85.128.74
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com
Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-43d4d15058dso32373775e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:36:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748428594; x=1749033394; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:from:subject:message-id:references
:mime-version:in-reply-to:date:from:to:cc:subject:date:message-id
:reply-to;
bh=Si1j6uouuZRKixZgcv6BHoJXWodMnlY2oC/q9yWhRtM=;
b=B5eSM2ys+lzU9jsSKW8f2NVwNe8eM8+bJ9Ksg0qLUykjwmdFPweLQsA2/kF+LfbdR8
EsIc+idddvAhVYGr1+sUwYD72Xxq4Phgts9qUcpqLWH+zBunCLT3mtJRvorYWaH269ia
76WYrmuuTpaSXQ8kuLwNcE2+uzJ/VTMxs1CwpmHEICrvEzUCg77IGhCE9EiXGSZf7oO6
cdUa6gukkH8IQC4asmvi9L4vk+ZfJZwyoAAApzCpjJjmSJxvcZjnKFqxENnZ6YR8a/4u
CwEEY+jVnVwEYzBGXymd/EtIjY0b5Fek0EzcpNvaUSIVlrGx5DPowZVn1EwrZkjzaW1r
Tgbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428594; x=1749033394;
h=content-transfer-encoding:cc:to:from:subject:message-id:references
:mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=Si1j6uouuZRKixZgcv6BHoJXWodMnlY2oC/q9yWhRtM=;
b=e1nuA+80HyVrup+dxnyOTVwXto3ruAVNLvgL6RhryQC0NOQVKYcsc70y9em/nneX2p
7MMolX0/Sy6TdeJlJPdlwaYSmfxWo/Q3BJ8/VEneGVFZ4oUr++rlsKrrgCzTtqtibuw+
aIia5NXwVv6qNQRgH3GKVwGZ0TtT9XOL1xXNx3XXm4pQvKQpO5MXYrKW4QpyK4uzXEMw
ufausxdgsr2rWZs6jWGL/IEFHNmUygYVd69gvYTG+i9P9o/z0836XO/ak0nS69EZ2FU7
fvzwrTikkO0bJKmCenCHJ4wsDbxS3JrK65YdXDxGQfX9Z96JyWGwQdG0iTDiVO52jNHM
vgoQ==
X-Forwarded-Encrypted: i=1; AJvYcCWqJYWVOzQpJRLNZAC83Q46nFhNxJgN/ERPqa+kM+j3QKn5/KnjjMjNxzsvGDWkKHDMCfPEYdYO2edot14=@vger.kernel.org
X-Gm-Message-State: AOJu0Yxy+N0yGAcjpUu0X6XMbTLeMmKA22AsAkohDDgq7uMeUSZ8vTbR
YVJ4X99pWiiuRf0gz4u/DrZo3wTYRibCR0hAXhyXzfox4KGbT52FRDCrMnZfno4RDdFibrprpOp
0yI5gjxC0BtRYKcDRIA==
X-Google-Smtp-Source: AGHT+IHiPY375iu6n+ZkU8ZC6vWYnO6vfkfIsES083JMYvmdbEogAqIJfVfK9XDvKlL1n6CsZmK6dlKKd2C91Us=
X-Received: from wmbhc21.prod.google.com ([2002:a05:600c:8715:b0:442:f984:ed5e])
(user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by
2002:a05:600c:a13:b0:43d:160:cd9e with SMTP id 5b1f17b1804b1-44c91fbb448mr159783095e9.17.1748428594079;
Wed, 28 May 2025 03:36:34 -0700 (PDT)
Date: Wed, 28 May 2025 10:36:31 +0000
In-Reply-To: <CAJ-ks9nd6_iGK+ie-f+F0x4kwpyEGJ-kQiQGt-ffdbVN5S6kOg@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250524-cstr-core-v10-0-6412a94d9d75@xxxxxxxxx>
<20250524-cstr-core-v10-4-6412a94d9d75@xxxxxxxxx> <DA66NJXU86M4.1HU12P6E79JLO@xxxxxxxxxx>
<CAJ-ks9nd6_iGK+ie-f+F0x4kwpyEGJ-kQiQGt-ffdbVN5S6kOg@xxxxxxxxxxxxxx>
Message-ID: <aDbnLzPIGiAZISOq@xxxxxxxxxx>
Subject: Re: [PATCH v10 4/5] rust: replace `kernel::c_str!` with C-Strings
From: Alice Ryhl <aliceryhl@xxxxxxxxxx>
To: Tamir Duberstein <tamird@xxxxxxxxx>
Cc: Benno Lossin <lossin@xxxxxxxxxx>, Michal Rostecki <vadorovsky@xxxxxxxxxxxxxx>,
Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
"=?utf-8?B?QmrDtnJu?= Roy Baron" <bjorn3_gh@xxxxxxxxxxxxxx>, Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Trevor Gross <tmgross@xxxxxxxxx>, Brendan Higgins <brendan.higgins@xxxxxxxxx>,
David Gow <davidgow@xxxxxxxxxx>, Rae Moar <rmoar@xxxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, "Rafael J. Wysocki" <rafael@xxxxxxxxxx>,
Luis Chamberlain <mcgrof@xxxxxxxxxx>, Russ Weight <russ.weight@xxxxxxxxx>,
FUJITA Tomonori <fujita.tomonori@xxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Saravana Kannan <saravanak@xxxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Will Deacon <will@xxxxxxxxxx>, Waiman Long <longman@xxxxxxxxxx>,
Nathan Chancellor <nathan@xxxxxxxxxx>, Nick Desaulniers <nick.desaulniers+lkml@xxxxxxxxx>,
Bill Wendling <morbo@xxxxxxxxxx>, Justin Stitt <justinstitt@xxxxxxxxxx>, Andrew Lunn <andrew@xxxxxxx>,
Heiner Kallweit <hkallweit1@xxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>, Bjorn Helgaas <bhelgaas@xxxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxx>, Jens Axboe <axboe@xxxxxxxxx>,
"Krzysztof =?utf-8?Q?Wilczy=C5=84ski?=" <kwilczynski@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
kunit-dev@xxxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx, llvm@xxxxxxxxxxxxxxx,
linux-pci@xxxxxxxxxxxxxxx, nouveau@xxxxxxxxxxxxxxxxxxxxx,
linux-block@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Mon, May 26, 2025 at 06:29:46PM -0400, Tamir Duberstein wrote:
> On Mon, May 26, 2025 at 11:04=E2=80=AFAM Benno Lossin <lossin@xxxxxxxxxx>=
wrote:
> >
> > On Sat May 24, 2025 at 10:33 PM CEST, Tamir Duberstein wrote:
> > > +macro_rules! c_str_avoid_literals {
> >
> > I don't like this name, how about `concat_to_c_str` or
> > `concat_with_nul`?
> >
> > This macro also is useful from macros that have a normal string literal=
,
> > but can't turn it into a `c""` one.
>=20
> Uh, can you give an example? I'm not attached to the name.
I also think it should be renamed. Right now it sounds like it creates a
c string while avoiding literals in the input ... whatever that means. I
like Benno's suggestions, but str_to_cstr! could also work?
Alice
Return-Path: <linux-kernel+bounces-665297-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5754341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:38:21 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 7560F7B21F9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:37:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2C50127A114;
Wed, 28 May 2025 10:38:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="VWBoXXg2"
Received: from mail-wr1-f73.google.com (mail-wr1-f73.google.com [209.85.221.73])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id AFDD3279789
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:38:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.73
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428687; cv=none; b=syIY/R5NOx7BZ1RQCeQApcIarsqEJ41G3yJmfdO7HfHpPGF8by/9Bp+Q/b9xPP8sLduyZypkfEqTp8yUah0a+jKy+rh/v9Ho+b7kcL+wOpt4fqSkIoDXalJnWBJhIupDMb6wMsW44kk6PrbS1cFHoBH8NFd6VBCpcq5pZr0vpWY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428687; c=relaxed/simple;
bh=f88538q2yu07+QCvEaeEz9oVquJwFySRVSt/ENxM+xU=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=MqnPO76f8UuVV6bvIZs4/hMrzqbVbUrbCTyewKNaCn3toke0QmVgLQM2nsGj5Kh91djV8NaoVvc68NcofFzYDrfN1gcHa3FrsahurZBZnHc0bZeHdXXPPIwiqH7cozWvng4+n4RicmvKbKUMAW7qxFfVM1W8H5vswKSEq+W6iww=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=VWBoXXg2; arc=none smtp.client-ip=209.85.221.73
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com
Received: by mail-wr1-f73.google.com with SMTP id ffacd0b85a97d-3a4c8a4963fso2696292f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:38:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748428684; x=1749033484; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=IeeR9yH0GpAyOFZydrFxToBZKNrKT1e0eUyjOqJKqG0=;
b=VWBoXXg2NKCUo1b0ZAwDu3yGggmSYzpOOrmhru6hwShEWwN5g+N2vaIJ76si/ovTlU
fb6bOkDkEQIitJr0XlnJCaBoxuOrx2WMrFhhZ7tU488N5eEBAdq3Yqr3gVBrYctdinbK
EmCD7KeZXxCX9abK4O8wJjqm0svYkdKy2CtsGqYRejSzDEJtFLRuEOl9aFrTuYJqkL1G
B9F+SS+snvFhYk1pSRIoek5V1cNSDCkCV0U0mecx/gisAaD138LbyTcDsiuSUQ8A88GT
riNA01LSgnqAhVnGkcrzl0JDzSBB/t9hjPr7P87MoYvOxtuiCC9O1Fxezph5bJF2m0lu
niFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428684; x=1749033484;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=IeeR9yH0GpAyOFZydrFxToBZKNrKT1e0eUyjOqJKqG0=;
b=J+Wy3Q0XlFbpMz2RwjB+otqhrDFXHlB+5t9KJwVKGMtG+IWz4gzUWOxruC/TJEOAWc
oJuadr0fde/+ffaWB2x2ihC1AldEDlP+HoTIZmcRpIPeHR4frvvdXVbfeT+Qdq0V0iy4
IZiTNfphaxX4BqpypMqp7QegQz+Eza4n+JS8hVLQ6cOauFl1jupWe/GRXkjxJ8FOLv4O
2hzC+hUZzdXWr1IHS/enmI7UdpQ6NsHNuCi1+cadHsLzqt5obRtg3ytmr5qnblIq1wr/
GDxBEVTsp2AGZr6Laux22CjZhnaXkAMKisEJYXOx7pWtUG/FpobQQMGiBehtqEPigmwM
kstg==
X-Forwarded-Encrypted: i=1; AJvYcCUPPwF+yAY3tS7g+tOK+vzaEuc99urnn8HFm6/YdmSdaQVmkxWiirat2XYDHpRS3l9zHO0dQoqehSz6mts=@vger.kernel.org
X-Gm-Message-State: AOJu0YymWN/mgXFJFiRLd8eiv1rK6aBevbqbl2Kf7a+BqCbl93F7Pn94
5jeOBL5U2uDZfg17M2szLtsOrv0SYri5EnaacMNFxEErl0NS5PAxd8oM+9u4sF3UZEstuyvC6xG
ffVvi0fNIt6uMyi6P0g==
X-Google-Smtp-Source: AGHT+IEQyiB/rjNjbMrROAYgPHAOQltkjwgoUsDbxSNhCEmiFFBD4KxkcRnm6cL1n1mzqucg+R5Lc+Nr+C90dyo=
X-Received: from wmbdv21.prod.google.com ([2002:a05:600c:6215:b0:450:5dbe:5f11])
(user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by
2002:a5d:5f8b:0:b0:3a4:c95f:c1d1 with SMTP id ffacd0b85a97d-3a4cb428313mr13345804f8f.4.1748428683991;
Wed, 28 May 2025 03:38:03 -0700 (PDT)
Date: Wed, 28 May 2025 10:38:01 +0000
In-Reply-To: <20250524-cstr-core-v10-0-6412a94d9d75@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250524-cstr-core-v10-0-6412a94d9d75@xxxxxxxxx>
Message-ID: <aDbniZzL1ZOSnfVi@xxxxxxxxxx>
Subject: Re: [PATCH v10 0/5] rust: replace kernel::str::CStr w/ core::ffi::CStr
From: Alice Ryhl <aliceryhl@xxxxxxxxxx>
To: Tamir Duberstein <tamird@xxxxxxxxx>
Cc: Michal Rostecki <vadorovsky@xxxxxxxxxxxxxx>, Miguel Ojeda <ojeda@xxxxxxxxxx>,
Alex Gaynor <alex.gaynor@xxxxxxxxx>, Boqun Feng <boqun.feng@xxxxxxxxx>,
Gary Guo <gary@xxxxxxxxxxx>,
"=?utf-8?B?QmrDtnJu?= Roy Baron" <bjorn3_gh@xxxxxxxxxxxxxx>, Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Trevor Gross <tmgross@xxxxxxxxx>, Brendan Higgins <brendan.higgins@xxxxxxxxx>,
David Gow <davidgow@xxxxxxxxxx>, Rae Moar <rmoar@xxxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>, Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, "Rafael J. Wysocki" <rafael@xxxxxxxxxx>,
Luis Chamberlain <mcgrof@xxxxxxxxxx>, Russ Weight <russ.weight@xxxxxxxxx>,
FUJITA Tomonori <fujita.tomonori@xxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Saravana Kannan <saravanak@xxxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>,
Ingo Molnar <mingo@xxxxxxxxxx>, Will Deacon <will@xxxxxxxxxx>, Waiman Long <longman@xxxxxxxxxx>,
Nathan Chancellor <nathan@xxxxxxxxxx>, Nick Desaulniers <nick.desaulniers+lkml@xxxxxxxxx>,
Bill Wendling <morbo@xxxxxxxxxx>, Justin Stitt <justinstitt@xxxxxxxxxx>, Andrew Lunn <andrew@xxxxxxx>,
Heiner Kallweit <hkallweit1@xxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxx>,
"David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>,
Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>, Bjorn Helgaas <bhelgaas@xxxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxx>, Jens Axboe <axboe@xxxxxxxxx>, Benno Lossin <lossin@xxxxxxxxxx>,
"Krzysztof =?utf-8?Q?Wilczy=C5=84ski?=" <kwilczynski@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
kunit-dev@xxxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx, llvm@xxxxxxxxxxxxxxx,
linux-pci@xxxxxxxxxxxxxxx, nouveau@xxxxxxxxxxxxxxxxxxxxx,
linux-block@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="utf-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Sat, May 24, 2025 at 04:33:00PM -0400, Tamir Duberstein wrote:
> This picks up from Michal Rostecki's work[0]. Per Michal's guidance I
> have omitted Co-authored tags, as the end result is quite different.
>
> Link: https://lore.kernel.org/rust-for-linux/20240819153656.28807-2-vadorovsky@xxxxxxxxxxxxxx/t/#u [0]
> Closes: https://github.com/Rust-for-Linux/linux/issues/1075
>
> Signed-off-by: Tamir Duberstein <tamird@xxxxxxxxx>
Overall LGTM, thanks! Left a few comments on individual patches, but I
can probably give a RB when those a fixed. :)
Alice
Return-Path: <linux-kernel+bounces-665298-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B629141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:41:01 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 99EAE3AE8D1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:40:40 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1802A27A906;
Wed, 28 May 2025 10:40:52 +0000 (UTC)
Received: from mailgw.kylinos.cn (mailgw.kylinos.cn [124.126.103.232])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9D2227A12F;
Wed, 28 May 2025 10:40:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=124.126.103.232
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428851; cv=none; b=IASPYBPFwgWguAsKZw3O9gmpsDMtaDV5VJ5EYpfcgxqWebrx4jMIRrvRriypIFRxx3HYguRtBl/JEqHVo9qNRad5UEequcPzIzgXdBsTNVTWrAmwdSAmm50ASq+TSVJ4FarH2bO/2h6HSicULA0VmSngbW+eYKWo4zNJ11M6GzY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428851; c=relaxed/simple;
bh=4haYlpXI5Ixcum997fl2z6nwrGcuYNAvbh9OqGw7pCg=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=YA8H7smZV79gxAJqhsTYpysJSGTKE7l2HP8i2xcw+Taq+au84Py8nKV2K2pNN8NOD2II4LkwgZyQ2Hi7IoQ2krM25oSWzgFJ+kpC24cstv0r1e/v0/2cF+vSABuYdiE/4QX4haLQ8tGS9u5hbXU+nr5YzGLoWo31BvZ5bInIXqw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn; spf=pass smtp.mailfrom=kylinos.cn; arc=none smtp.client-ip=124.126.103.232
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinos.cn
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinos.cn
X-UUID: 30eaf12e3bb011f0b29709d653e92f7d-20250528
X-CID-P-RULE: Release_Ham
X-CID-O-INFO: VERSION:1.1.45,REQID:d77636db-7685-4e1e-b6c2-abe4fb78a234,IP:10,
URL:0,TC:0,Content:0,EDM:0,RT:0,SF:-3,FILE:0,BULK:0,RULE:Release_Ham,ACTIO
N:release,TS:7
X-CID-INFO: VERSION:1.1.45,REQID:d77636db-7685-4e1e-b6c2-abe4fb78a234,IP:10,UR
L:0,TC:0,Content:0,EDM:0,RT:0,SF:-3,FILE:0,BULK:0,RULE:Release_Ham,ACTION:
release,TS:7
X-CID-META: VersionHash:6493067,CLOUDID:a5b747f2bb1facfd45d139daa1634ba9,BulkI
D:250528184038GRIC8D5J,BulkQuantity:0,Recheck:0,SF:17|19|23|42|66|74|78|10
0|101|102,TC:nil,Content:0|50,EDM:-3,IP:-2,URL:0,File:nil,RT:nil,Bulk:nil,
QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0
,ARC:0
X-CID-BVR: 0
X-CID-BAS: 0,_,0,_
X-CID-FACTOR: TF_CID_SPAM_FAS,TF_CID_SPAM_FSD,TF_CID_SPAM_SNR
X-UUID: 30eaf12e3bb011f0b29709d653e92f7d-20250528
X-User: jianghaoran@xxxxxxxxxx
Received: from localhost.localdomain [(114.246.238.195)] by mailgw.kylinos.cn
(envelope-from <jianghaoran@xxxxxxxxxx>)
(Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256)
with ESMTP id 1632325228; Wed, 28 May 2025 18:40:36 +0800
From: Haoran Jiang <jianghaoran@xxxxxxxxxx>
To: loongarch@xxxxxxxxxxxxxxx
Cc: bpf@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
kernel@xxxxxxxxxx,
chenhuacai@xxxxxxxxxx,
hengqi.chen@xxxxxxxxx,
yangtiezhu@xxxxxxxxxxx,
haoluo@xxxxxxxxxx,
jolsa@xxxxxxxxxx,
sdf@xxxxxxxxxxx,
kpsingh@xxxxxxxxxx,
john.fastabend@xxxxxxxxx,
yonghong.song@xxxxxxxxx,
song@xxxxxxxxxx,
eddyz87@xxxxxxxxx,
martin.lau@xxxxxxxxx,
andrii@xxxxxxxxxx,
daniel@xxxxxxxxxxxxx
Subject: [PATCH] LoongArch: BPF: Optimize the calculation method of jmp_offset in the emit_bpf_tail_call function
Date: Wed, 28 May 2025 18:40:32 +0800
Message-Id: <20250528104032.1237415-1-jianghaoran@xxxxxxxxxx>
X-Mailer: git-send-email 2.25.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
For a ebpf subprog JITï¼?the last call bpf_int_jit_compile function will
directly enter the skip_init_ctx process. At this point, out_offset = -1,
the jmp_offset in emit_bpf_tail_call is calculated
by #define jmp_offset (out_offset - (cur_offset)) is a negative number,
which does not meet expectations.The final generated assembly as follow.
54: bgeu $a2, $t1, -8 # 0x0000004c
58: addi.d $a6, $s5, -1
5c: bltz $a6, -16 # 0x0000004c
60: alsl.d $t2, $a2, $a1, 0x3
64: ld.d $t2, $t2, 264
68: beq $t2, $zero, -28 # 0x0000004c
Before apply this patch, the follow test case will reveal soft lock issues.
cd tools/testing/selftests/bpf/
./test_progs --allow=tailcalls/tailcall_bpf2bpf_1
dmesg:
watchdog: BUG: soft lockup - CPU#2 stuck for 26s! [test_progs:25056]
Signed-off-by: Haoran Jiang <jianghaoran@xxxxxxxxxx>
---
arch/loongarch/net/bpf_jit.c | 28 +++++++++-------------------
1 file changed, 9 insertions(+), 19 deletions(-)
diff --git a/arch/loongarch/net/bpf_jit.c b/arch/loongarch/net/bpf_jit.c
index fa1500d4aa3e..d85490e7de89 100644
--- a/arch/loongarch/net/bpf_jit.c
+++ b/arch/loongarch/net/bpf_jit.c
@@ -208,9 +208,7 @@ bool bpf_jit_supports_far_kfunc_call(void)
return true;
}
-/* initialized on the first pass of build_body() */
-static int out_offset = -1;
-static int emit_bpf_tail_call(struct jit_ctx *ctx)
+static int emit_bpf_tail_call(int insn, struct jit_ctx *ctx)
{
int off;
u8 tcc = tail_call_reg(ctx);
@@ -220,9 +218,8 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx)
u8 t2 = LOONGARCH_GPR_T2;
u8 t3 = LOONGARCH_GPR_T3;
const int idx0 = ctx->idx;
-
-#define cur_offset (ctx->idx - idx0)
-#define jmp_offset (out_offset - (cur_offset))
+ int tc_ninsn = 0;
+ int jmp_offset = 0;
/*
* a0: &ctx
@@ -232,8 +229,11 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx)
* if (index >= array->map.max_entries)
* goto out;
*/
+ tc_ninsn = insn ? ctx->offset[insn+1] - ctx->offset[insn] :
+ ctx->offset[0];
off = offsetof(struct bpf_array, map.max_entries);
emit_insn(ctx, ldwu, t1, a1, off);
+ jmp_offset = tc_ninsn - (ctx->idx - idx0);
/* bgeu $a2, $t1, jmp_offset */
if (emit_tailcall_jmp(ctx, BPF_JGE, a2, t1, jmp_offset) < 0)
goto toofar;
@@ -243,6 +243,7 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx)
* goto out;
*/
emit_insn(ctx, addid, REG_TCC, tcc, -1);
+ jmp_offset = tc_ninsn - (ctx->idx - idx0);
if (emit_tailcall_jmp(ctx, BPF_JSLT, REG_TCC, LOONGARCH_GPR_ZERO, jmp_offset) < 0)
goto toofar;
@@ -254,6 +255,7 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx)
emit_insn(ctx, alsld, t2, a2, a1, 2);
off = offsetof(struct bpf_array, ptrs);
emit_insn(ctx, ldd, t2, t2, off);
+ jmp_offset = tc_ninsn - (ctx->idx - idx0);
/* beq $t2, $zero, jmp_offset */
if (emit_tailcall_jmp(ctx, BPF_JEQ, t2, LOONGARCH_GPR_ZERO, jmp_offset) < 0)
goto toofar;
@@ -263,22 +265,11 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx)
emit_insn(ctx, ldd, t3, t2, off);
__build_epilogue(ctx, true);
- /* out: */
- if (out_offset == -1)
- out_offset = cur_offset;
- if (cur_offset != out_offset) {
- pr_err_once("tail_call out_offset = %d, expected %d!\n",
- cur_offset, out_offset);
- return -1;
- }
-
return 0;
toofar:
pr_info_once("tail_call: jump too far\n");
return -1;
-#undef cur_offset
-#undef jmp_offset
}
static void emit_atomic(const struct bpf_insn *insn, struct jit_ctx *ctx)
@@ -916,7 +907,7 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, bool ext
/* tail call */
case BPF_JMP | BPF_TAIL_CALL:
mark_tail_call(ctx);
- if (emit_bpf_tail_call(ctx) < 0)
+ if (emit_bpf_tail_call(i, ctx) < 0)
return -EINVAL;
break;
@@ -1342,7 +1333,6 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
if (tmp_blinded)
bpf_jit_prog_release_other(prog, prog == orig_prog ? tmp : orig_prog);
- out_offset = -1;
return prog;
--
2.43.0
Return-Path: <linux-kernel+bounces-665299-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E335841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:41:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A8E3E189CDE9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BCCAC27A446;
Wed, 28 May 2025 10:41:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="MW7/9SVE"
Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C312F18DB03
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428895; cv=none; b=NmNrVhpp2NN1jDAEKPc9FmE8oPNImmM1bQRDfKasYTNb0PXf3AzuVgKD15RtZt4+qrJEBOwsjZlYrSCcSAdVyFpUUAALMSupymD5IsUSdmWW3eofh2ZcynMrkq+42Mwz2nuTCVawJZ1k6ceOFs9eNJ0ny3QtzggtkY5stFXTLPM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428895; c=relaxed/simple;
bh=31q5XaAMlBexIYczbpLSD3TpwdohBFMpqp6LWBCJyAo=;
h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=KdTELdv7fLaLGqfCqZIx4yMa7S96o51LHAoMyWt4Um1Nb+56srlTSLDxlJ+uvdJenQxFLLDp6R1q8ShLkXdHb9zN1NgJFbmoAPewoNp4Z7TFoliKsrBo4N/FPDAeyPswClCaCRuUxi8FDeEzhKKSQY9m92tyQSoNWkhvJoUHjXI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=MW7/9SVE; arc=none smtp.client-ip=209.85.128.44
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cfe99f2a7so5846095e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:41:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428892; x=1749033692; darn=vger.kernel.org;
h=cc:to:content-transfer-encoding:mime-version:message-id:date
:subject:from:from:to:cc:subject:date:message-id:reply-to;
bh=WYGECA6tC+WcTnZvoeh8g+cRlyTZnil5/IN1N4S/06M=;
b=MW7/9SVE0LCBuR3VdEZQUcZI+q/wrIA8c1C82+QV/i0t6FupFFHSg5l8cIl1L2qV6t
7a17W8thQR+NdgEGpmX06gW1eFnke2QnUnEkBGLUhdo1fGGdnxFuS+rHMSBE7AXbEHv0
gRelWuPHzAimrILeHTv/M0SGCacUb8r7OJFsApDbkKmLjBJqjC2WXPqgO9/nDEYOSlJS
kpR5dayR10fS6Uy3p6x9P+v4VS3QzWafxGvuKub4kL7x5nTbfzt2+utPmDHFiJpDkDNn
k2NqbIFuSyUCnefkKp1QuDyRx758YiALZlg2EX4EJFALBdpu5TwB8+fimlvfTDTbhIts
fA1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428892; x=1749033692;
h=cc:to:content-transfer-encoding:mime-version:message-id:date
:subject:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=WYGECA6tC+WcTnZvoeh8g+cRlyTZnil5/IN1N4S/06M=;
b=g9VEiDANHv0l763NpU1F6InDjdIrNFAHFtgoVjadM6WiRMZyQxncsDUCc3TTvGHcRL
rq+4qM3Zl7drZ94f1qH9jgJcpK33oO+/jyEUaUugOVPvt2UIrmx4gdIf7+V+UE60ds0u
moeN40V1TSJLRlbKsWLaJT7gjzqmWoNg0YkVXQQTD1GVWCTUZCMQbdWUNZD8I+RPHVyk
GCMXZYyjM2h8F6t9v4Sc74xCteSCn4n/2XFOo7nqSNbqJltIM+owRiAoKgl1uIz0pFUV
ln/m/RnlEXtNVhCEwMNIY+9+9fHCKp/IRfq9guWwMih58sObN0T4t7QZka4tZlXmjuq3
SfUg==
X-Forwarded-Encrypted: i=1; AJvYcCUEtPiP/PwN6htJk/wyE3ObP46e20HTn7kcEEQRTomKYq49foswATvJRXAcNvX5TG0J4Bgp5Myt3CdIQzM=@vger.kernel.org
X-Gm-Message-State: AOJu0Yx5V06R2lgJE/EBHSXKXwbNevw1KDs6xWXKyTijfgtw3dS5kF1H
ZeGUcw6MPlxIbNSgvz6N2tryTlBhZy+9+v4GvcPUzTjKcK6FebohU17MZ1Ut7xAQzpM=
X-Gm-Gg: ASbGncuuvb46LWACwjQsrpDB3ah6YhBvzGWB6ut0E5Sg9hlFmtcLylbFOYyVUTbTCca
ZFh6HWvCjiqZWXUuj6VBVWWKb6av1VkArYVOrh4A3B2COyFXUjKFOoyT+b07nimpuAekui0bOoG
nvJiMtgOEgJv0N2fjhbIrFacRGcFAl07zrGPQEErjNTQWIOvHUiZSJ9lV0n8i6bEwys/K8WUs6p
vMi5OcNMQq88o3v8zYFvAiRVYm+WEptYGrHr7sthGBM5izNPBkPTPOR2K5RSi9TbA1fhfqIh+Yy
2EdQMRo8mXc04ft7NKiAmSwo02AiNuA/DH3BnyESv9g5fFP2pbi1Hmq9z0bnz2bHF8Fld2E=
X-Google-Smtp-Source: AGHT+IGEfOLQIkgSBlZ2iFouY1f/KgLVcIHYsjuV4CgQ8KecLfZQnSg2l0D8HirR5K2pryTmJCchcg==
X-Received: by 2002:a05:600c:3144:b0:43d:fa58:81d2 with SMTP id 5b1f17b1804b1-44ffbf6531fmr6551045e9.9.1748428891894;
Wed, 28 May 2025 03:41:31 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.28
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:41:31 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Subject: [PATCH 00/17] pinctrl: Constify pointers to 'pinctrl_desc' and
more
Date: Wed, 28 May 2025 12:40:56 +0200
Message-Id: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIADjoNmgC/x3MMQqAMAxA0atIZgO1WlCvIg4lRg1IlUZEKL27x
fEN/ydQjsIKY5Ug8iMqZyho6gpo92FjlKUYrLHOONvjJYHueCCdQW9cWAlb3xluBybfOCjhFXm
V959Oc84fseaE1mQAAAA=
X-Change-ID: 20250528-pinctrl-const-desc-3a40e39eca15
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=4130;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=31q5XaAMlBexIYczbpLSD3TpwdohBFMpqp6LWBCJyAo=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhIG4ER1L7WtI9n7LAHBv7yR7/wd9Y62GAPM
YOkBRMFzV2JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboSAAKCRDBN2bmhouD
1/WaD/9J3m4W4vBhw2XThuOyRYX1b6hv7wnFg0kwf/oG58B+tqan9UkROsMsYaftbalsBBZ5ZRN
1M9nkKj1NYeRqNX8GD5zgdOlhg99/xoNAe4tKnXdHhemj/SZnMwRRpjoouoI5MZtU0Wyr3D/iRh
apzqHY1Bktzyyz3i0o+EX3N6UGXKOyRFk/Nv4gpE89Tnp5pCpCtNpTewhTStIJo5v/+Zbe2YPrQ
AnR+OeW0EPpY4/9GqX4FIXW/SBGtMEBrUl82vugNf3cxGgJTWmgAVoKYZNsVPsoZ7Cw5w9ZG7UJ
nT+moUwF280v4jVOMoAy14NfrX3rj2HWST1PKwMiowU5NSmpEaJi+w6xE/2vB6qVh2QW7+3dAaA
BpZVKNBQeFJMhZ8WdOg+Jh/qQ6uiZPxIFnUZRKqjwl44agPEeENckIbyD1wJJfAA+JkHuc8AiPh
V9ANQmhknrtWhe7+PeFJI8GfxRXLnum00ByOaQGly2msm7YKUjNC5gshTcRyWaWNB5rCwL7LPa1
0IdR7g9/Tt/4d5KIA6xWPHTzupJxtq1nsBEZwM9n0z2/82V8a2ByQNlhmzte2qCLPiweUR6oikT
3AEpIeiINOC5++QtVlihhuU7o9fNUbOyMpEqQNMr5jj0m6eoELYBLii4S7gWJrXGzT0Ya3JNLAx
mzmNbbD8leWapdw==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
In several drivers pointers to 'struct pinctrl_desc' is not modified, so
since core does not modify it, it can be made as const.
Dependencies/merging:
Patch #4 "pinctrl: Constify pointers to 'pinctrl_desc'" is a
prerequisite for all further patches, including RTC patch, therefore
probably everything should be via main pinctrl tree.
I split several patches, although not all, per SoC-submaintainers, so
reviewing will be easier.
Best regards,
Krzysztof
---
Krzysztof Kozlowski (17):
pinctrl: starfive: Allow compile testing on other platforms
pinctrl: Allow compile testing for K210, TB10X and ZYNQ
pinctrl: amd: Constify pointers to 'pinctrl_desc'
pinctrl: Constify pointers to 'pinctrl_desc'
pinctrl: aspeed: Constify static 'pinctrl_desc'
pinctrl: nuvoton: Constify static 'pinctrl_desc'
pinctrl: bcm: Constify static 'pinctrl_desc'
pinctrl: bcm: cygnus-mux: Move fixed assignments to 'pinctrl_desc' definition
pinctrl: bcm: cygnus-ns2: Move fixed assignments to 'pinctrl_desc' definition
pinctrl: bcm: cygnus-nsp: Move fixed assignments to 'pinctrl_desc' definition
pinctrl: as3722: Move fixed assignments to 'pinctrl_desc' definition
pinctrl: max77620: Move fixed assignments to 'pinctrl_desc' definition
pinctrl: palmas: Move fixed assignments to 'pinctrl_desc' definition
pinctrl: renesas: Move fixed assignments to 'pinctrl_desc' definition
pinctrl: pistachio: Constify static 'pinctrl_desc'
pinctrl: Constify static 'pinctrl_desc'
rtc: stm32: Constify static 'pinctrl_desc'
drivers/pinctrl/Kconfig | 8 ++++----
drivers/pinctrl/Makefile | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed.c | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed.h | 2 +-
drivers/pinctrl/bcm/pinctrl-bcm4908.c | 2 +-
drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 8 ++++----
drivers/pinctrl/bcm/pinctrl-ns.c | 2 +-
drivers/pinctrl/bcm/pinctrl-ns2-mux.c | 8 ++++----
drivers/pinctrl/bcm/pinctrl-nsp-mux.c | 8 ++++----
drivers/pinctrl/berlin/berlin.c | 2 +-
drivers/pinctrl/cirrus/pinctrl-cs42l43.c | 2 +-
drivers/pinctrl/core.c | 13 +++++++------
drivers/pinctrl/core.h | 2 +-
drivers/pinctrl/mediatek/pinctrl-airoha.c | 2 +-
drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c | 2 +-
drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c | 2 +-
drivers/pinctrl/nuvoton/pinctrl-wpcm450.c | 2 +-
drivers/pinctrl/pinctrl-amd.c | 8 ++++----
drivers/pinctrl/pinctrl-artpec6.c | 2 +-
drivers/pinctrl/pinctrl-as3722.c | 4 ++--
drivers/pinctrl/pinctrl-bm1880.c | 2 +-
drivers/pinctrl/pinctrl-k210.c | 2 +-
drivers/pinctrl/pinctrl-lpc18xx.c | 2 +-
drivers/pinctrl/pinctrl-max77620.c | 9 ++++-----
drivers/pinctrl/pinctrl-mlxbf3.c | 2 +-
drivers/pinctrl/pinctrl-palmas.c | 4 ++--
drivers/pinctrl/pinctrl-pistachio.c | 8 ++++----
drivers/pinctrl/pinctrl-tb10x.c | 2 +-
drivers/pinctrl/pinctrl-zynq.c | 2 +-
drivers/pinctrl/renesas/pinctrl-rzn1.c | 4 ++--
drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c | 2 +-
drivers/rtc/rtc-stm32.c | 2 +-
include/linux/pinctrl/pinctrl.h | 8 ++++----
36 files changed, 69 insertions(+), 69 deletions(-)
---
base-commit: 08ea0cc455fbf6f6719b7a4cdcd1d132ea34577b
change-id: 20250528-pinctrl-const-desc-3a40e39eca15
Best regards,
--
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665300-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5638241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:41:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 1E7734E2A26
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 758E127AC25;
Wed, 28 May 2025 10:41:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="FUf26LPi"
Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD6F327602A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428898; cv=none; b=asFi7LlnESX37C22RQyEI7qhLsVGGj8S0lbOgkOF/2kljr7wJTBOdZlI5X8eMxPSzIetNxQxiJMeTlnAAb/gpDybGs/1/42iHNXz7eYvVTzCITv2Jr+pGHrdSZryx8sAfd02UzsGi+YHeRnvdfG2rQNQE4d2XOqR4xWnEoZ21q0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428898; c=relaxed/simple;
bh=zrI5XszXIHo55XzuEzxs+Nt+l2DX90UOcjrVjPXljcM=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=AHn9YCrjwHiSbtalnfYnsuWEokTxYQsJfTGXvFPmrlAox9+EImtk1DHR0NpFA8zMC8dZFJMQOWXvsRehe5yn4TfbqhzJW84/tH8JapH5rmEKiDAkUMlpnxfNx2zOBfTN0VCPOequ41H5Gsf9xAonmbi4z572JL5/0OMCufjQz2M=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=FUf26LPi; arc=none smtp.client-ip=209.85.128.45
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-442cd12d28cso4687935e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:41:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428895; x=1749033695; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=7p6g8nrYLu2YSRDRFX7+ayHvEGE7eEHjSKPeWK9MLgc=;
b=FUf26LPiWgQDd/7WsZegNt9UYRVHMfMbl34DHzO3qwlmPqWWyNobyvpeC5gTt+tCoP
UAbfiKG94aigNoTDMorQWZhYeAo+xRyQ9rj4SHa+f5HpE9oRFMGka+zMowpyy8mGqoJ1
4rye4kYIanGg59wVZ/gldCV4VePH6DK8usT9ClDDJgydWpxHPsZQbh0FbfRiqU4JIqfN
5KZhrzO+X7Drj9gmgr+TQAMGRoubl3kPjmkiU69dNy8FDU9vg9Epxh15hmePzn2ksq0/
5yCPls6EXmSBURAVYvKIwKWN8bC2eCMrXszsTSbxYF5tXQfiKZ5uEI0kNKxqzsD32CmA
eAig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428895; x=1749033695;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=7p6g8nrYLu2YSRDRFX7+ayHvEGE7eEHjSKPeWK9MLgc=;
b=Ikbq4T5YYQyCNigYlFlPoxMY0r9rD/ArxRwtx4+vJr99Lm2DBfWsYTzQyaqkpEr/Tq
vzwzSd3b4Re2GucR7TsuP9WA+DkskSRfZxtML5rUTYcfC5CqAkRet2geUwOY3oZsvTH1
CD1RSXD9g5cgT6rp+zxSvc/K5a566i9x4OyCFEWg7Da2LA+4kFnVfd4uh+iOXMpLfgC4
Y0S5EWJwigLUXqenlpI74QCoK4zS6T2VeqRMQqGn+trAR5CUAD//ShmswC6BsrVNOlDc
xNU7wEsFKcPDw07YxqyNaAgDOcNe/1TYazICj7nCbV04/25RDZ9C/vnYx7nn+jbwZrpe
OBMQ==
X-Forwarded-Encrypted: i=1; AJvYcCVPYvNXPhVTv6BXyKGDVyk5va5hQYMeMndXrtDI5cNxqW5VkDtwylM2AOwnxmy1LvGth2f7v2YvAZtIIi4=@vger.kernel.org
X-Gm-Message-State: AOJu0YyPelProRpONfS4eoxopkzz+ZnPwAus8nu4mop1C0oRhnWd2hga
tE6Qp1rAbgkTNsjtD06zJpL5x8xnyJeEtv+dbnn+y+qwBz0gvAB1GnAsRvEm064tuWQ=
X-Gm-Gg: ASbGncvj6pe0k1OpZrEe8SjCKaVt3I7wDhYw6qxTyYG3efvKYpxssjUEsHDvx7TZ61M
spSjnUQNe5ymaOuF3TGH2ixruOpIXaoMJXDiel4UGk73+6JgTKs5mFur6iHWfGFcmPvclulAUqi
j/cHt04ESKVjKz1S9SANy5zOiQNf/yuIqQeHyubDR6NavYDg6atoFowvOTiIfS6HbeSgKkDQkSp
eZ2BHQaSO/TbIEmleZgPPjCNRK7VSt7Pq6p1111aH9CVbS3nuU1BDem9M5tFj6yCqtxQc6E0bXm
xJApvV84x4oL/f54pelHiKhbXFxxm7BvKMQIWl3BsRBXMQfKtkdNFh6G6RGiKbef27AHs/EULat
i4LnENw==
X-Google-Smtp-Source: AGHT+IF4XXp1aLCWKB2Y2JNdxIiZKbtNgU9ZnNFVay8r7bVjoBOcuQslbgG6XG2skmv22UHi94V+gA==
X-Received: by 2002:a05:6000:1885:b0:3a4:e672:df0c with SMTP id ffacd0b85a97d-3a4e672e083mr1108871f8f.13.1748428894969;
Wed, 28 May 2025 03:41:34 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.32
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:41:34 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:40:57 +0200
Subject: [PATCH 01/17] pinctrl: starfive: Allow compile testing on other
platforms
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-1-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=941;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=zrI5XszXIHo55XzuEzxs+Nt+l2DX90UOcjrVjPXljcM=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhJ4yZZSqj6dEPnXTgLNjKYLUIHgwgauUARk
H8eJl7B4ryJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboSQAKCRDBN2bmhouD
1+ivEACCJDREpm7C+JuFF39/eQGACEJKolMKPZ3B1qh8VZPQQTidC/Sc4YJsNMf2ALyneQVNJRr
ee0rzIGyB1dV+BdbrAAaU1luTOQfqd28ZU+hkN12kluq5TtfVYsfjC3qY+xT+s57CmqWJrS8suf
tF84DJ05p8vijBMGOe4xzZO7or5BqM1JK32hTFyoZh7kOPiI174p0w91Flem3uX1rLg8f2iRGf5
nPHw4aLV+fgDVeF1lulUpeOAfqHnt0lqKBhpWkowevGEp1PvCHxN9C+zZxjzyVFbhW7DQ7Vtb2q
ekSrBr/nfXxV1LWbppOeZjsUoqbUYpEBFiNSjCW5tB6Rc2K4ez83OLBVRPG6U/mKcdlG/sz8MYf
kxnETUB/7A5YgTrEHNeATC8iZ+qcu0dlniWB178PRj/Ohb5p/++wVINLNbOzxqKur1h03+i74ZQ
lU+QrFHay3EclA4eZmLOSb5rWnnCam0dbD7OAwUxuYLUeB1dFqcULcpDozUjb0t6M4vPm2Opadi
Y+Kcj/2g3qAtprbL+7BXQPANgJ7TNXpvHXfiUyPvyMmZPuCNkI2SsPmCPNPVAMn0fgSqkoz6iC1
UKVdN+23XFZMk5MbzTHm838PZoLCCpE96EW79bgbL2OEPv4hPAfZ9GTjdJjAGafoQ+3/4WhNNSh
y+XmeSNsjaGGtHQ==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Always descent to drivers/pinctrl/starfive/ because limiting it with
SOC_STARFIVE is redundant since all of its Kconfig entries are already
have "depends on SOC_STARFIVE". This allows compile testing on other
architectures with allyesconfig.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
index ac27e88677d14f1c697e0d0be9f295c746556f4d..dcede70b25660833a158c298d1269d6ecea9dd8b 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
@@ -82,7 +82,7 @@ obj-y += sophgo/
obj-y += spacemit/
obj-$(CONFIG_PINCTRL_SPEAR) += spear/
obj-y += sprd/
-obj-$(CONFIG_SOC_STARFIVE) += starfive/
+obj-y += starfive/
obj-$(CONFIG_PINCTRL_STM32) += stm32/
obj-y += sunplus/
obj-$(CONFIG_PINCTRL_SUNXI) += sunxi/
--
2.45.2
Return-Path: <linux-kernel+bounces-665301-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1D71041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:42:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 873EC3BEDDA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 181B327A12F;
Wed, 28 May 2025 10:41:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="s58b/9H9"
Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF96627AC57
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428902; cv=none; b=AwC2Erf+3qOUfv0/UnGT1KaGvi8qsqmackw1r5kd1FQkhwnqmS4rWdyod3LGXG7zmT0JjJCY0/hPg0cYgvlDV1ho98ivT94b8RQw/1TuRfV2eruLIqKoJKTkfNHzOKsCPXKe6BI1+JwmiM1hO1y5rgsjxCk3OvuqFLbEh5q7pd4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428902; c=relaxed/simple;
bh=ctLoeYbHiiEBT9tiXppJUMjUFh7QHQFzP0xX2rdTSyo=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=juacA0712PiSqnKv/T26hs5XF5YSr4betqSpcbKBP8mA5Xx9T0g/+A438DCM2EmwAbgOanwOAsMZpiYVfKzcQhcdJ7jAVepzdZftXAq+fJxJgSChGlK5RtY70K0/VkWp6NGaZpXOlB/fK0OsOpg6EwrBkAPzY3vX2Fnbz3JS9r8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=s58b/9H9; arc=none smtp.client-ip=209.85.128.49
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-440668acbf3so4924415e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:41:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428898; x=1749033698; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=5o7kHuq5fh1nhgrBmbItAcmZQfVjyPSWaEBF50baGeo=;
b=s58b/9H9Xb23FRjzD7gHPlTSFdA+ODYb1pzBnFDfVnrXU3V8L/pMYQiMmQy3NBvmQQ
iBSI9pWR5nAs6yDkY0er1/PwDI4wzJG7H6dcrpSnGIB7dC6lYpy63yvFudToVZ2orKX0
+zi8MGsGtQkus0m3ejGLN8PA24IhMjQhaPrOrrVCQBr70H6VRXgG1oEZr9OwouFXnh7O
fGv3JGzU/dSHEmIFE6PbyGqgHOt1Ecfg4eW7azw+79+fS8CQSjU9h80eCw/FBGI/sbef
Cageh0CB4d3jxhMHcxWtOQLsaQ2krssaC7fhWRiEWGok/cIEvDcaqawNJwPQ794OubBX
bnIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428898; x=1749033698;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=5o7kHuq5fh1nhgrBmbItAcmZQfVjyPSWaEBF50baGeo=;
b=PL9hBUpx0tjLpQiWF3YhVsIsBV45nWLwiKzWClNsKkVRrGGilp7398/lkPI6KcJBzW
ckyDXR6zKKVTP0y+aJt63M38/YhOVByhOk7fIVPr4bEIp1FUaXIhlMCqpbqcrV/bEs2z
4WaqhJ5punEQkAthcCb/hiPd7B7yHf5dVFwha3xarM1AG495aSTjP1p1cqtB2JU5B7Cp
DOgPiwosGnw85nE+odwb2z0Dh1qKrlQXBaIxABAz1YJ7100DVg7rZZEf0r7AteRcEeOh
5HhQwZLrDw/EbD8pQJ2Q5uyE22zKTrgeEIrA02OikYg2Mou60KwX4puGBUOf5XiAroIU
dETA==
X-Forwarded-Encrypted: i=1; AJvYcCUdXI1YBj+jgoVmtFT1ZioId44YR49GHwDSuxj+k2mJsEqvrp1TPM17vCGsmzTOvz9JrMTqshJVpMkipgc=@vger.kernel.org
X-Gm-Message-State: AOJu0YwpSGAr/N1wL60bbmz7QvWVDnCStiIBg4SN83Nfa7HlEBSkvT3K
YX4cZgQfTTbLrBKzxeX7mUo27U5epIUTqgj/M1kK49ymqA0AAbRaQlmlbV2N2Gt/Dk8=
X-Gm-Gg: ASbGncuEJ10XoqY4nzAgJmZttZuaJUuCFMX3ZAE15gDTHpqexqWl02yMf/NWFtXT93N
tL62S6rZ1w6Isbtlsrpab67QIOsvfiF/V9G18H3LIv8drlpmoUQqKSim28s0Zjw4miarvwsSNLi
Qgcm2Vtk1uhpLfOB9l9M0MluMlPGHj7q+Okj/JIha/YeGczo4AejhQq+KMj2kwTPd8rpYOUCFMu
6GNeoCXLlfugl8A+L3Ie11mPQDfJOt7ZGSOR9ABhbBz+IixawFA9OKBpWVTOM8QVv1Hu1lC7Sda
u6dSKsf32u3pyhVconnN4SaRPJ8zwflZopdLcTe8KpBLko9yvwHnfpmXdiTTL6oUaAjJtAo=
X-Google-Smtp-Source: AGHT+IEqdF3+R9PvjaaVFg6PDyOWyRZc3HR0H7gqLL2irDsUydaByqxkZ9IUn5cux0xSEgLuwczlgg==
X-Received: by 2002:a05:600c:45ce:b0:43b:c938:1d0e with SMTP id 5b1f17b1804b1-44fcb9e409dmr26120075e9.2.1748428898180;
Wed, 28 May 2025 03:41:38 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.35
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:41:37 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:40:58 +0200
Subject: [PATCH 02/17] pinctrl: Allow compile testing for K210, TB10X and
ZYNQ
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-2-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1365;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=ctLoeYbHiiEBT9tiXppJUMjUFh7QHQFzP0xX2rdTSyo=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhKnpMXQJB0a7WYDcwZWwHu8C1P+bTuhMNNC
+EXWDs6a8+JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboSgAKCRDBN2bmhouD
11VaD/9bw31tjR68bxVpvaTyp/6cSym928yjCV9vR7oyl3BoFzh4W/a+7D30PLrsKSbtBC0J/LD
ZSkuCuQRCTdT/n3XZG0T+ABgncoGE8an/aWUK1QeNySdpFSaEb5IitD03FUnLNTrxbziwX2OSOt
6Z8A1nYodGD43IqazDQ2Xa7koDf9waLjKZ4MmbB8/+UkbSkzvm0UwGsFauOIvDrdj5PPraBwoo0
W1X4sxPqQbmIu/4DVRh6oGcHsCwbTyAArmCXRUGcCavGlYBMYD0sfBZ14yAoyXbd+TywqhMmceW
Tgtkyg/cXJ8JinZQIyzaHGnbQKLMukCGj+sTXlEyYG54GXhLmH3szir1Zsww23gOCwDK/qdnObe
c/31A7IEOIftcgkxejUbOr2hcAttBy7peOBZmeIe2iHS2xV/0B3z4DN69SNuH7YSD06YPSnBrgv
BPRrGVkzC6QpojpzpZYG1rdP1Mov2N6Xb6lFueCWghnaWhmNte0hYDoOi3sHyHcLTY1RBqCyKVb
ghPKA7ZSaMhuw3XFjrTUOHMhvO/Qxo44gHjL9XbyoHVDmw2vtEczKKN6madwPnMdoxroiO8Szan
PthWKLwLidRlevSuV3zpMfPWxCO8gOal4o4jOif7BkNZmL0L1ELFxabGoZqrimpzXrW9si4MeWO
jCjZimWjAIxLjVg==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Pinctrl drivers for K210, TB10X and ZYNQ do not reference any machine
headers, thus can be compile tested for increased build coverage.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/Kconfig | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 33db9104df178e5a3148b60c3c6bd153113385d3..77a5d13e899f8c5251987c2c74df1d05dbd59128 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -269,7 +269,7 @@ config PINCTRL_INGENIC
config PINCTRL_K210
bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
- depends on RISCV && SOC_CANAAN_K210 && OF
+ depends on RISCV && SOC_CANAAN_K210 && OF || COMPILE_TEST
select GENERIC_PINMUX_FUNCTIONS
select GENERIC_PINCONF
select GPIOLIB
@@ -554,8 +554,8 @@ config PINCTRL_SX150X
- 16 bits: sx1509q, sx1506q
config PINCTRL_TB10X
- bool
- depends on OF && ARC_PLAT_TB10X
+ bool "Pinctrl for TB10X" if COMPILE_TEST
+ depends on OF && ARC_PLAT_TB10X || COMPILE_TEST
select GPIOLIB
config PINCTRL_TPS6594
@@ -590,7 +590,7 @@ config PINCTRL_TH1520
config PINCTRL_ZYNQ
bool "Pinctrl driver for Xilinx Zynq"
- depends on ARCH_ZYNQ
+ depends on ARCH_ZYNQ || COMPILE_TEST
select PINMUX
select GENERIC_PINCONF
help
--
2.45.2
Return-Path: <linux-kernel+bounces-665302-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6478641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:42:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 105019E3F76
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EA24327D781;
Wed, 28 May 2025 10:41:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="P7HRiw0q"
Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2FBE127C861
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428905; cv=none; b=jxUnVMOfd7ziEocRBy5JXIcynh2nLxGNZuX7ZxTavqLxrfsf7C9ixUay8ojTzOmSNZALWYburklyxWM+xtXaGmMShuazLFjwKZibssfKDX7CapUIFp7aMlLStAtuCJe77FatHfmLEJ4m0HNhZd/+tDYoCcDQrmvpXrhUonXGYNs=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428905; c=relaxed/simple;
bh=NNpY2A6LBp263syvyG1Ecsfx8CioM309dnOrlcmWHKA=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=Fahkn24ZVsKWv0fSO5blFQuBg0Yg91luWz6zNB7/osi5pBfol09GUcsV1q0c9MFLTHg6/nKftHfJ690KLUxU/qiVFUbHjTjvCGwYAJUe6w/SP4YRAaGZ4pRca5LTX0iufl0uBvnEBSeV6FvAi4tX6+gyhrvRJ8ipNzu8EHDvtdY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=P7HRiw0q; arc=none smtp.client-ip=209.85.221.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-3a4cfa5c8ddso707200f8f.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:41:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428901; x=1749033701; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=q86QDWzbyqUrHwy10F9ZLVZs4bIWtafdYZALzNzfzYA=;
b=P7HRiw0qGG/WII6MP1FGAfbPIRbSrX/kCjHfofWvHD6l7IVe2Oj0JuPVPgqCylghf4
Hjs/l2g9Y5KQqEkWFrkQMtLolSxzzWf3pI2rmpmuaSPZtO7uOR70GX0kOJPS24NKqs0P
38uwCb5GDOgqZSiMFWatxGsQN7YV7ajNWkE6MTWthJpcufjtHwGLyR3XRv+g3hwhJCgq
K0XjVjaiB8fuYy7z+FU1M9+/jJ4uup+mJtdg7nu1fU9zHGZmDQ+RSxt2RfmTD1YY+AwU
pUsGuKJL8esP2os1Lj53rIriUvGMkvLV1kIhLqKyTKclf5PN8WhWqAHUcbC9WnCn00tc
iqRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428901; x=1749033701;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=q86QDWzbyqUrHwy10F9ZLVZs4bIWtafdYZALzNzfzYA=;
b=e0nlyJQnWOtOBtYmKfe2hkYTRbYJisqVcxNxoJ4GjrpilDU1Lbb0qEz6lSjXAuaHmq
0RjE72jJpvJSWSlOkoHqe8ePoCIxKEcRVcoUuVbYgn2b6LRp5ryJEGDaj6PELpcFUKY6
8QDu/iu4Bn+y5nC7BKhhPs9unhZh3vFHO9s043Nk+jpZKPYqB7GNNmepQAtRbPsk988c
X9/wWEAFT3Q5hrQyIgYrYLL0tQ1SfQ40cd0z2DpMc7jvxN3n+eqWYKyHHkvyign/fQii
2k7++O2eZyOWYqvGQBlhErnutUfpDp2hQN70z8Fd3KpeWH3ICEAyRr0GJXMS+9DnC4sx
Nydw==
X-Forwarded-Encrypted: i=1; AJvYcCUlyidiCpvNu3esuLk5PM3bpvTlMmzslSzCD8ivJ/mYdzMdjmwLRTwAvFDtPdS7ZAfGmEErIEn8S+a6YbQ=@vger.kernel.org
X-Gm-Message-State: AOJu0Yzo9ISf5uFSw30wC/eApNKy7wI62ePS3LZbncrTX4OVM4jGFHYy
OjPLYvjbDLo8VmKk+P1/EJ1uUme2fTRV0eAF5fXDhcj/B4K19JVTArzjWuE0pGpmWsI=
X-Gm-Gg: ASbGncsXcglXfKJTSKzKXUzzyRIbIL3A0LG+zA9tZkLD26S64q96rxIS6hqs3Mo9Mcn
VwXF5tTsaYJffAux4bXH1l7VKBd16OVR/eV2PD6fipsXLWyTTy9JEqIkabiJ8zTA6+nPVEf0jsR
aI/kJks1LuOaizbbk9iE6cKIMJK0adftVnpLIsi2EC/WlHNEqgxBNbyyFwkPSj8iESUTG9dciuY
Uh0NjzclaKIeMibL+pP+PlO+iPLu+Lccz6Z2tLOZIgdtpu9piZ9lBi5/9AjhL0ZmNUoo/PP9yEq
Qj+L9+RdoebGKtDdNewKdIF5HYsAyY518wAiPzVKMCUp4qXqFjP5I4H+PlqVMpvdVUWcrnc=
X-Google-Smtp-Source: AGHT+IGTCix0Q1jy4BrWDlq0WKvq1kDgy90AgIQftKVJ3+fHqWj3CB+Y/tqyidOqQgU6X8SjWLe21w==
X-Received: by 2002:a05:600c:4fd6:b0:43b:ca39:a9b8 with SMTP id 5b1f17b1804b1-44c91cd5207mr54787535e9.2.1748428901365;
Wed, 28 May 2025 03:41:41 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.38
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:41:40 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:40:59 +0200
Subject: [PATCH 03/17] pinctrl: amd: Constify pointers to 'pinctrl_desc'
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-3-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2097;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=NNpY2A6LBp263syvyG1Ecsfx8CioM309dnOrlcmWHKA=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhLzdvZMq9JNg5GdFBWovE17QCtk/Hvs4oxC
jNRdzKNaGSJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboSwAKCRDBN2bmhouD
1xJDD/9Iu071wp2X2mrBlbLxwbQSEt1jzUyA7UUF1e0KxgZt+zVcRXMVNMYoIThkWeyGVX52CQf
okr8IMWAZsAUcHN251LBi/oyOy+JqW1cgzOn6ZWcJjsltruW1VOALbEswkI8rArGMBIiyh8f1tV
8MtIMjNj1oTD4WOIVlp6L9ofpzo/9brBrdU5MDFOKeNXXa/dN/Fhk7RDaG2E3JMOzSFvmV4ZYzN
bc4nYH4r3RCB47xeTr2E1Qv7mUO+RQySQxRO6oc0QFnkgLN6YcKhDn4yGIb/YmeYeGeVHbIwR7P
33MJf8lYeKIBsczVrSDgBvg/jD/jRhVvXA7k1jPopbOAOIp4Nby4auXmhLYKI+jvfPfeTrqnhvb
mh/B+jVb5w0Y3EQj2kG4RDtjdusNR36nNV+diBZB8+t0KbIgX2vQQkHkKvTeMecvEibBkYDZ+Kg
T4NKgjTaQYKABGFej9HjbOu2v6g21yzG+Lp+koCs79oV+3X4bXHim4pzDHS3KXWPIg1dxwRPyvl
3rjjnknIlcL425x+wOv4JdEt9YcjyPk6mmqB7RtPvnB1wGEhmHSGIUEpmDQtTWy5p+E4B28dzdL
9xoD/l18/y+W5yHJkwZ+CXugsTc0rgO6qDgGrZ/gbW+vVsOz8fTZTC/FCjnmDN5YLE61AOBvgUQ
wKkwwIR56tYVS7w==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Internal functions obtaining pointers to 'struct pinctrl_desc' do not
modify the contents so they can be made pointers to const. This makes
code safer, explicit and later allows constifying 'pinctrl_desc' in
pinctrl core code.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/pinctrl-amd.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index 5cf3db6d78b79af9ac5e7226de239a0d2f9aaacc..85617cfed2299e131c110e9d4084370790106404 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -872,7 +872,7 @@ static const struct pinconf_ops amd_pinconf_ops = {
static void amd_gpio_irq_init(struct amd_gpio *gpio_dev)
{
- struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
+ const struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
unsigned long flags;
u32 pin_reg, mask;
int i;
@@ -901,7 +901,7 @@ static void amd_gpio_irq_init(struct amd_gpio *gpio_dev)
static void amd_gpio_check_pending(void)
{
struct amd_gpio *gpio_dev = pinctrl_dev;
- struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
+ const struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
int i;
if (!pm_debug_messages_on)
@@ -957,7 +957,7 @@ static bool amd_gpio_should_save(struct amd_gpio *gpio_dev, unsigned int pin)
static int amd_gpio_suspend_hibernate_common(struct device *dev, bool is_suspend)
{
struct amd_gpio *gpio_dev = dev_get_drvdata(dev);
- struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
+ const struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
unsigned long flags;
int i;
u32 wake_mask = is_suspend ? WAKE_SOURCE_SUSPEND : WAKE_SOURCE_HIBERNATE;
@@ -1001,7 +1001,7 @@ static int amd_gpio_hibernate(struct device *dev)
static int amd_gpio_resume(struct device *dev)
{
struct amd_gpio *gpio_dev = dev_get_drvdata(dev);
- struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
+ const struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
unsigned long flags;
int i;
--
2.45.2
Return-Path: <linux-kernel+bounces-665303-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B35D641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:42:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 295619E7906
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:14 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5FFE827A924;
Wed, 28 May 2025 10:41:50 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="CJZhipyS"
Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A6D427E7C6
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428909; cv=none; b=HuETYfaFZrXExtB4I8SRtU2nQP6sTd8NdDodm66Uc2JdZsGdppTlW69PICNsF+dQFgsKOge0XyrDm2JB148x7Rfo1Zng0ACMS2CRGEOQ9QsBoZcGht7ZrCOpcVSTEml3Xu31WCq7zh+0bQNmlyQmWv7hM4WG+ke0l8S3Wxsj4L8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428909; c=relaxed/simple;
bh=MF4Zmmi+u4TqsjCbXpvQp2nvOFecMjqOedfODYY8uy4=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=GXJmIjyJxaqYWdfPATbU/VqLL85geEJtXfCrfV4E/kRgxw+7Apr3P9S22IIg5zjy9dbPX0KBBpAyYdjA5dA7kZeUMSnY6u+ctdioUvN90lWw+8DvUFFKg9Kzy2nP8NgfyMR2nfGH0SMmlsOjUKGfMbKmra2QfpPO9BMMFFM0BuI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=CJZhipyS; arc=none smtp.client-ip=209.85.128.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-450cc429478so163625e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:41:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428905; x=1749033705; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=nXTyYXfzhcaLBKxfXPlEyeZbv/5uabWWatfOoXzctws=;
b=CJZhipySimQD+XnTQ6AJbhBJcO9UBxPWhYs16O/QQACIL+XghReSYZjr1wpe06n64A
8BnksuLrbwtlYFPyd5YQaern6wiMYFpJCBh4KqlXpjq6onTGntnGcAnmToGaPYhPHEnd
2NXUu+knFXz9JuzTRaehFX9dPm4otPcWqlc+AglKk8jXn8WDB8oFroLS7yy8XrrJ/bLw
WtLmI0fUsKuB8I4VJjp6BvvtHA0NWlFRCwIN7/g6GppvlqxZDpEpKU8msA5w3TN0g3SY
qgFH18kZFuAmicMJr057WDanqzkWq+06qjYWwNiQ+qpYJ+r1IHzhr3dEnlGadYmubbhK
kb6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428905; x=1749033705;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=nXTyYXfzhcaLBKxfXPlEyeZbv/5uabWWatfOoXzctws=;
b=Esc6uQ4jk6Gye76NF713JV+TvNQTboJxJCiMKWDd/+nn9ojt6/7pUDt6/dvItIekY6
mGa0HdHZCWye2cHPa8Xt9tGWJsNH44zjg0b0ZGR+005prD9sceMJcxoVDloG0jXpZ/kq
mR0InCHKfy1TPp137t5EUo5y8vt5CS8Jp8TUQ/lFsGyg1KGv0dEqADt0V+i3ZH2caPTW
JBgm1YDJCEEvIIeV2pvFCcdG/+dOoP8mN88P1/nJ09t0iJsJV2xa4U7Lpdec0rW54qL9
u3eUwh8jBEopkOqYlpMbeQSDzdLvILLr3arZHdBOyM4vzuKNaym5Y292Ll1JfCeccSf+
NYew==
X-Forwarded-Encrypted: i=1; AJvYcCVSqqOZFb+BOAm17d8w95UeZ+qtvGzS8Z/Q1H/yhrsmxmINe/F6UDRDmtFtuKkca4ulp2+qYFItzDr85uI=@vger.kernel.org
X-Gm-Message-State: AOJu0YxAZNB0/s6TUFUXBr5vFeuz723LHb3Vyopob9cxW3FgIAobyc7N
Pd4ul4c2iC3dsmzjuaakeBsRX2vtN5vyghuilXWdLXVpju9w2+N5luyxggsnZ4pdZqk=
X-Gm-Gg: ASbGncu3Kjur2bSrrLobzvk6QHjril0I37f9BvysDXID2QjVgzjo92zHAb5g3JTy22i
MzSari1VX1vIEF8z2aqZSfkQDHt1fUgaK7ZVB+hn2o7CjXMxk+N90rFuECSVRhHkDggyzwRajDg
nEsJqEt6sh3G8Mdv0gj8xp1c02f7itPRuLNksb1F/KUJrUMxi/TaBPi+SGYYklvNdPn0YRM2Pn4
lrafaS0dVJatXBCPVFnqOz2kyiuTRPkkvCMu3K1oazTIAzDgBF1PQTtoTZC02z6ZSKmUgZkQL7v
koJzqzx3cex6Myiy72Abd4HNG/Oeeo/DsTCmGqhEGZrKSjj6F9z9Vu7qHZNNQHkIpfwy8Q4=
X-Google-Smtp-Source: AGHT+IEA4AZtTD+Q8/VZ37CChuwEWmOT9diS1X23uFatCSgyEJyQiHDJbW9CLfhnKvp4tXypbpndMw==
X-Received: by 2002:a05:600c:1ca3:b0:43b:bbb9:e25f with SMTP id 5b1f17b1804b1-44da83f6d0amr44456075e9.6.1748428904593;
Wed, 28 May 2025 03:41:44 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.41
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:41:43 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:00 +0200
Subject: [PATCH 04/17] pinctrl: Constify pointers to 'pinctrl_desc'
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-4-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=5299;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=MF4Zmmi+u4TqsjCbXpvQp2nvOFecMjqOedfODYY8uy4=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhM1rWln/nmJgYh2DZGvcDXJy96iRpwljs5a
xaRjo1vRRiJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboTAAKCRDBN2bmhouD
1+kwD/4sLoK8DSjFqggVXP+fCLA7THgzjnyz01SNNQhU7wei18AGNJMIcztcrXxSfyqxOsE9m26
3xg5l+2PdxSB/aq8DDcjAGUuJFfiBr3DwvtXD0R5kqT7fErKneCTZMHEKsRTA613sgxQPkSkGhH
J/nz66172/T6EhiPm8ykbJpLrrLSP0bIpiw3gBRqdflxlVOp87//vr6xiRhNbUOUNl8PCfbw4/x
rx6GcGsxg+Rvz6ZfnT+z8zCM0svA2OOEHA4083PN2qCPYPhBXwZFcfe3uZ1j6g8ffXzFqa38dxK
ZjF68IuePkoK1d4gqwWgstkkZOM8nt1jmkeWXYEgArFoVEwhszCxEol5CUU92pK2+2OGXusBK4z
yKgMiectIIR9hEKEqr8RNSIGh9O3Tq6jJbYzGMtEPquIlcMwffT+mMcJ9AR5rtDZ44ZYafzohoS
gh0/zpM2FiR8p1YsHW/zv/yqhQlxrnLuGev7Lr1T6j3BBvWKyctkxVVEZN073tNnAGBN1LOkGMz
CORCSWjImfC83kw3p6EIWSk/+DqNVIuiHgYGvVWVBuyvkC2Ub5q3jm++93XFBWuzqZvHsV2SeKi
NQkNPhbiN+bdhnsEfdA+2Tw/GJwFn5p+4gQuKd0OMPkuSLxO7TcifBTRE2IZyXBfAzMnHvRFDjv
KPmDdWC60XPnPvQ==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Pin controller core code only stores the pointer to
'struct pinctrl_desc' and does not modify it anywhere. The pointer can
be changed to pointer to const which makes the code safer, explicit and
later allows constifying 'pinctrl_desc' allocations in individual
drivers.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
This is the pre-requisite patch for all further patches.
---
drivers/pinctrl/core.c | 13 +++++++------
drivers/pinctrl/core.h | 2 +-
include/linux/pinctrl/pinctrl.h | 8 ++++----
3 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index 9046292d1360218bc70eff418fb8d1028c22b11a..73b78d6eac672095c8556763af1744be6f558501 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -2062,7 +2062,7 @@ static int pinctrl_check_ops(struct pinctrl_dev *pctldev)
* @driver_data: private pin controller data for this pin controller
*/
static struct pinctrl_dev *
-pinctrl_init_controller(struct pinctrl_desc *pctldesc, struct device *dev,
+pinctrl_init_controller(const struct pinctrl_desc *pctldesc, struct device *dev,
void *driver_data)
{
struct pinctrl_dev *pctldev;
@@ -2132,7 +2132,8 @@ pinctrl_init_controller(struct pinctrl_desc *pctldesc, struct device *dev,
return ERR_PTR(ret);
}
-static void pinctrl_uninit_controller(struct pinctrl_dev *pctldev, struct pinctrl_desc *pctldesc)
+static void pinctrl_uninit_controller(struct pinctrl_dev *pctldev,
+ const struct pinctrl_desc *pctldesc)
{
pinctrl_free_pindescs(pctldev, pctldesc->pins,
pctldesc->npins);
@@ -2209,7 +2210,7 @@ EXPORT_SYMBOL_GPL(pinctrl_enable);
* struct pinctrl_dev handle. To avoid issues later on, please use the
* new pinctrl_register_and_init() below instead.
*/
-struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
+struct pinctrl_dev *pinctrl_register(const struct pinctrl_desc *pctldesc,
struct device *dev, void *driver_data)
{
struct pinctrl_dev *pctldev;
@@ -2239,7 +2240,7 @@ EXPORT_SYMBOL_GPL(pinctrl_register);
* Note that pinctrl_enable() still needs to be manually called after
* this once the driver is ready.
*/
-int pinctrl_register_and_init(struct pinctrl_desc *pctldesc,
+int pinctrl_register_and_init(const struct pinctrl_desc *pctldesc,
struct device *dev, void *driver_data,
struct pinctrl_dev **pctldev)
{
@@ -2330,7 +2331,7 @@ static int devm_pinctrl_dev_match(struct device *dev, void *res, void *data)
* The pinctrl device will be automatically released when the device is unbound.
*/
struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
- struct pinctrl_desc *pctldesc,
+ const struct pinctrl_desc *pctldesc,
void *driver_data)
{
struct pinctrl_dev **ptr, *pctldev;
@@ -2364,7 +2365,7 @@ EXPORT_SYMBOL_GPL(devm_pinctrl_register);
* The pinctrl device will be automatically released when the device is unbound.
*/
int devm_pinctrl_register_and_init(struct device *dev,
- struct pinctrl_desc *pctldesc,
+ const struct pinctrl_desc *pctldesc,
void *driver_data,
struct pinctrl_dev **pctldev)
{
diff --git a/drivers/pinctrl/core.h b/drivers/pinctrl/core.h
index d6c24978e7081a663b8a0fa6cb9314670575b1bc..fc513a9cdd4f2f9dd4ec4a088eee53fdbd673285 100644
--- a/drivers/pinctrl/core.h
+++ b/drivers/pinctrl/core.h
@@ -51,7 +51,7 @@ struct pinctrl_state;
*/
struct pinctrl_dev {
struct list_head node;
- struct pinctrl_desc *desc;
+ const struct pinctrl_desc *desc;
struct radix_tree_root pin_desc_tree;
#ifdef CONFIG_GENERIC_PINCTRL_GROUPS
struct radix_tree_root pin_group_tree;
diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h
index 9a8189ffd0f2c28c88640280deee194d17d18400..d138e18156452e008f24ca06358fcab45135632f 100644
--- a/include/linux/pinctrl/pinctrl.h
+++ b/include/linux/pinctrl/pinctrl.h
@@ -165,25 +165,25 @@ struct pinctrl_desc {
/* External interface to pin controller */
-extern int pinctrl_register_and_init(struct pinctrl_desc *pctldesc,
+extern int pinctrl_register_and_init(const struct pinctrl_desc *pctldesc,
struct device *dev, void *driver_data,
struct pinctrl_dev **pctldev);
extern int pinctrl_enable(struct pinctrl_dev *pctldev);
/* Please use pinctrl_register_and_init() and pinctrl_enable() instead */
-extern struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
+extern struct pinctrl_dev *pinctrl_register(const struct pinctrl_desc *pctldesc,
struct device *dev, void *driver_data);
extern void pinctrl_unregister(struct pinctrl_dev *pctldev);
extern int devm_pinctrl_register_and_init(struct device *dev,
- struct pinctrl_desc *pctldesc,
+ const struct pinctrl_desc *pctldesc,
void *driver_data,
struct pinctrl_dev **pctldev);
/* Please use devm_pinctrl_register_and_init() instead */
extern struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
- struct pinctrl_desc *pctldesc,
+ const struct pinctrl_desc *pctldesc,
void *driver_data);
extern void devm_pinctrl_unregister(struct device *dev,
--
2.45.2
Return-Path: <linux-kernel+bounces-665304-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DB65D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:42:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 07FDDA21D82
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 07D6327F73D;
Wed, 28 May 2025 10:41:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="zjOt7Twp"
Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF02E27E7CF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428911; cv=none; b=WsV9WwGhvuOZmC4dXqeH+clPiDS6O477Yw0dGyHr0O+VxlIBsWwTVa/vGqQu5BWwMpTDthTaDhGWdddQEdnDMJrtRMu7/ew0O3ueGdYQqL+jBEq8MSDS0hqfMBkCB+bRpZ6eTtWONsgWDeAqGUBrKR69IwWEN6pebdmxL9Z8jkM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428911; c=relaxed/simple;
bh=bPCkHXtxmRdHSBbvdS8jXvx5ZcbYrMBVxN7TAPQmEWo=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=Nq5VIgWXY9xVXe83fQV4JBW8uv8oRLDKN77pzkjac/iEKoIUO8Ub3hkwBDb8bdQXxp81xJw+X7yE+ul5Teg9fUY6Cw1IvDAirwvtdVur2UuCSDxtANAcr/ogRYYlF4KDauoW6YRfrHXUT3Qp6TX0bO1fr/ePSrspXVHfYL7X03s=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=zjOt7Twp; arc=none smtp.client-ip=209.85.128.48
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-440668acbf3so4924615e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:41:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428908; x=1749033708; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=eCWZ95h3v8faxWII4r+ll4sOFmAUxo+1NhX1BBWmSo0=;
b=zjOt7TwplyjtC3LuWMTz63Zqnn2W/GXyObT1dpp0nxjjWpTPDZMITtCgYr915qPcE4
sLCSWtdu0OMqnvMxK6fWKsISmkiUatORKWnDWsfwfeYtXtkXjSxjzd0ZHih/b+uCgYrB
DS3mwMEYXeUViN76CxUB//dxhqL4qOAJ6Y3BZ30LMFb95jseFpRHSxTiQMrA/AVVV0UU
xL8Y5JMzjLDrcHiWPMRD2bqoAFkgJMRkVsdW611WVaC6ozCsVonLm5BNRpXbipSLHNya
9IiYtDt59SCQFXbomIE8o14GVDgGJ3knQ4Oq1EbFRMOJEG0t40ROrZ3qW03QqcM3BInp
UwPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428908; x=1749033708;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=eCWZ95h3v8faxWII4r+ll4sOFmAUxo+1NhX1BBWmSo0=;
b=KWg8FZbLAnA/gY5llLZ8PYEghIFn7WPEkipSTa9twgifGT6LrU9tg0+Cu/+ZmYIXmR
6aEVc1gMe54KcCczzjlvNIc8X8w+uEQ8/iuu1tMKIUvQhEPrwS3yZLJ03UIhaE9j+Mmy
Kh371+MksogQI5Zn+KXgvDRbjwGfbyt+gLYaN583n1pUHE+5ugc+2InqlpJE1Uy7I1Qj
hUfgue+Fen+RvLckftrjS5t4qlzGgGWbtvwwoV8ilWK5WBURK4+YmpQTpEZSRBhta8ut
zqrwmaNTfKUwJwwumFMhYY2Q3YCbeT183KmkgD1qGmwbCykoc3i0OMN7/vSuLpTD9xAy
fVsQ==
X-Forwarded-Encrypted: i=1; AJvYcCXrESYnfqMjVOrygQNM6M71vpJ0QIK/4zV69D+ulMvGoF6UDvI0a4reQnWJm46tzvgrw67rvYj0iJgLAr0=@vger.kernel.org
X-Gm-Message-State: AOJu0Ywydj0Fwr8G1e9zbb+UhoJrSA2LyspIBv+gO+YNCPH2VgvEWF/n
sWbvk9Jaj+pJnI9IbN79dlabKdYalM5o/xi1baB43dfpaDKbOImAfFaMO548V78FaJg=
X-Gm-Gg: ASbGncvcrxkinouqilHZkJwJ0+mojBAVl7xl/p6znPQ9XEY3q0xXoMNwJBv/fwBj/TS
FhwXOjS8mb7DuYYzmN6OJ6Vhy2ckqVCErQo9rZNM9XOV0CQhSdTuDO0ED109L6O2T6yJWUHxvHT
ey1yTaEvGFTsZSt97PwQ0cdCSxpXsZd9rS0ugRdG45HnkJHPztbzxBZ5mvQ09Sf07zGyvLI8p9J
fOFsDgvBTcs09XpvBjd1nAE43ekk1MjY0ZTSkcDvytdKU8bFRRJYSAYctRzPX0ZPbjSZnB2pbMA
iSn8AX7mtNDgWYjx3JIFBE/tNCP5N204QmuwKtgTCy/IE5hMiOd7TkagCoIBteTtUUM95+w=
X-Google-Smtp-Source: AGHT+IE/LJaHWTe9SYlHoYiKsnsZsaOAKKUrQJlJHOckCVYd00NuFwaRx6BpFbRuXnZ9itlqpT5fMg==
X-Received: by 2002:a05:600c:c0c3:10b0:439:94f8:fc7b with SMTP id 5b1f17b1804b1-44c90f4ccb1mr34271245e9.0.1748428907943;
Wed, 28 May 2025 03:41:47 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.44
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:41:47 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:01 +0200
Subject: [PATCH 05/17] pinctrl: aspeed: Constify static 'pinctrl_desc'
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-5-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=3756;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=bPCkHXtxmRdHSBbvdS8jXvx5ZcbYrMBVxN7TAPQmEWo=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhN3yUYNRVGlDm5GKvUjHRKmpO0NkcKTivqS
rQ9YFsZsAGJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboTQAKCRDBN2bmhouD
15PsD/wN1dSXzevKC2HHXVm7rrp8PsHK6/O5ksoH/BLBd4VXwlPyIgGgkZ8jbISY8fCS0s7jAvE
JbaDoYx6YKMIDEZRd/TdeBOLU2GWPzSgWvdOYA4LPr5cATQfbPRHhZIyCpk6FC4PPnfW8vfFrYy
LKqeFzOpOHKIxR7MrchXNRqtxM+664l1K8Tb3XnT6+ojdbePdy7aXcAe3l7OG76wwg7sTwksB9A
XcirEY5EnVp9kjB0/fwjQn3HwmrmC5zVzpgyqLm0uNEeDVJmu3CY/KxoGLqtzBfo+0xfopGAmAC
fZ5m5O68s0ez/Xt46UgSW5XjyxlPGZkkQFz7Ba3qhVhc7GJsBR2ivHY8liIYf+UypZN3cDDN42N
MyixdpJwa5XFsJnT+SiJ14/2t6Vu20ObUTXCfeto3WTYA6uIFk3QEktZFxNV/MQtBjA7SW59alS
UdvaEjwa5LNRjWATKwCsWjkKNjj2zvgXhPO/kWHSySyYkAqHCAMtzWuRpLirzgARamkkw7eWkSD
XXllk4esE/ckh1ZPaVSD4+yZ74jjdqWrNQSmFdzA6C+EA6M3BHIKo/NcQJg6NPBSnex2IGipA08
KABgrW8+YQC/zSQ7VoZ6RwXHfcNuIMQ0ri/JoENVnFPqdN5ZVSijqUw1jZoLhXuA5LwDkWd248s
5NOQtmWzYeMwnKA==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed.c | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed.h | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c b/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c
index 774f8d05142f2d90c238f8e6661eca4685601db7..cb295856dda1244f2205305cf4c505d4ea4a326f 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c
@@ -2653,7 +2653,7 @@ static const struct pinconf_ops aspeed_g4_conf_ops = {
.pin_config_group_set = aspeed_pin_config_group_set,
};
-static struct pinctrl_desc aspeed_g4_pinctrl_desc = {
+static const struct pinctrl_desc aspeed_g4_pinctrl_desc = {
.name = "aspeed-g4-pinctrl",
.pins = aspeed_g4_pins,
.npins = ARRAY_SIZE(aspeed_g4_pins),
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
index 5bb8fd0d1e41bda799119a67887ccbc277e0f9f4..792089628362a1ed1c3eccd4e46c41a3ac7a79f6 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
@@ -2845,7 +2845,7 @@ static const struct pinconf_ops aspeed_g5_conf_ops = {
.pin_config_group_set = aspeed_pin_config_group_set,
};
-static struct pinctrl_desc aspeed_g5_pinctrl_desc = {
+static const struct pinctrl_desc aspeed_g5_pinctrl_desc = {
.name = "aspeed-g5-pinctrl",
.pins = aspeed_g5_pins,
.npins = ARRAY_SIZE(aspeed_g5_pins),
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c b/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c
index 5a7cd0a8868764dc5e3dc70f325c25ba29d50a64..51a63cf92023f7dc7a27466331c77bb5dcbaa9bb 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c
@@ -2763,7 +2763,7 @@ static const struct pinconf_ops aspeed_g6_conf_ops = {
.pin_config_group_set = aspeed_pin_config_group_set,
};
-static struct pinctrl_desc aspeed_g6_pinctrl_desc = {
+static const struct pinctrl_desc aspeed_g6_pinctrl_desc = {
.name = "aspeed-g6-pinctrl",
.pins = aspeed_g6_pins,
.npins = ARRAY_SIZE(aspeed_g6_pins),
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed.c b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
index 9c6ee46ac7a096ce693639d88d387b089ffe5239..7e0ebf11af163c90184231686b1e0d9920755d76 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
@@ -441,7 +441,7 @@ int aspeed_gpio_request_enable(struct pinctrl_dev *pctldev,
}
int aspeed_pinctrl_probe(struct platform_device *pdev,
- struct pinctrl_desc *pdesc,
+ const struct pinctrl_desc *pdesc,
struct aspeed_pinctrl_data *pdata)
{
struct device *parent;
diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed.h b/drivers/pinctrl/aspeed/pinctrl-aspeed.h
index 4dcde3bc29c825cbc6be954dae9a654a310b4cd8..28f3bde25081b2c8099977129acdcdfb3e4b1dd5 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed.h
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed.h
@@ -102,7 +102,7 @@ int aspeed_gpio_request_enable(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range,
unsigned int offset);
int aspeed_pinctrl_probe(struct platform_device *pdev,
- struct pinctrl_desc *pdesc,
+ const struct pinctrl_desc *pdesc,
struct aspeed_pinctrl_data *pdata);
int aspeed_pin_config_get(struct pinctrl_dev *pctldev, unsigned int offset,
unsigned long *config);
--
2.45.2
Return-Path: <linux-kernel+bounces-665305-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id DDCFE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:43:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id AFCED4A3FDD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BBAB427AC37;
Wed, 28 May 2025 10:41:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Lc7/A6Ox"
Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C655927F725
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428914; cv=none; b=FjxlMCE4maZc49mSoLr6IJzXb1Yy1Wcfo35N/bz49dFhPh59U5ArGz6qyAK41x7tNwxfRvcXSjPDX9MhLUzrWJv3UgJ8wyyghnxZy59kCrslHUaxqXo6c4WZzUK33pMw3vz/DmY0E44KbbvN1qqTD4Fn26TPnzVMnLM/ZKmtBZM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428914; c=relaxed/simple;
bh=8vGQpzjfE6u+giOJnSmjcfHXKBBVmk/PFMGclk6BN7Q=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=bFOVGHVfxxMMpO/8gYr0MSiMK+k2zL/iSvr9faUNwDMQ9ZxT70B346tegjRzl6I1tlf3Vkfe+gwba87RtXoOYIpvoI58su7yHoDSIb5kBmknvV6etGsQsByWLybw2oDD6Y0h106AZ0YqaTss/I2bkbb93RHjtK76JCzuPzdvv5M=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Lc7/A6Ox; arc=none smtp.client-ip=209.85.128.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-43d4ff56136so5473215e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:41:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428911; x=1749033711; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=wLYPwIWcNIonGvSRDv3RvBARXdaS/NHzLx8nwSb9+Xc=;
b=Lc7/A6Oxi2acMisDiT5q+Ejee64Fm2Ax5poKiMe5vyf7YJPOdeHJocn7p0B+A8HHtn
ef2GztPd02BRrLEuIbCd/7voOiVH0vkhUGiWmXzJkNnRn18Xxi5ji46djGUMHr8S9aZF
boALWwQIFTwduNGe/kolYkfV3bfBgJga6gAaD6cfk65AiH+nr6y0H1Fg6jQIlZ/VHJGs
h488twGPhNXQL0MrfKKvIBmNPpppJtbAR66iqG/6jpB7PGeKvTK9XvKUDiwMQq5KRKH4
cGZ/RglzW5kr4Bf1aOWHde9Lr+hbv9eOfEn21+XxmkelngCg4QXA2BzvVfw5wg9kC/MJ
VkTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428911; x=1749033711;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=wLYPwIWcNIonGvSRDv3RvBARXdaS/NHzLx8nwSb9+Xc=;
b=RtgF4Slu2hk5L/NIOk9YTXVGJXaWBa8lFYQ2aTnBPQ4YTtHtHJIoFmfeK7YPNk6f2w
E8miFZqQkkwa9bsqoNYq7kQn7kYY0II7uTAroFRpc7QRlCkLBNAx7p/BIeKWTeVx3gEl
eucEZFWtTe3EQtSEjceZsVFBgU337hVK6jBryrpqJFb16uhic7fuYZ8Hs2T/fO5jOaoH
RQXECytGkPfQ9xQIXivSPNgi/5YvwPuS+sLzsp/d6C2uOAcNhcX02hKDbHvP/M4OVlJQ
8ZQQ4XS1OSKtHG7gPi84zA3dn25cYglD71ATRf9VlbQyDeHzbP5meqvdcl2sZ+LioCMj
vkyA==
X-Forwarded-Encrypted: i=1; AJvYcCWTuXQTiFO47J2z/El3zfJkD94rTDG0iRRDK191Cu30hcBtSWYO6zZsACkmxKFdefSeyyacFotSTJVjXpo=@vger.kernel.org
X-Gm-Message-State: AOJu0Yx7GHq6STmouVnKq8BQDPmS4cPg60Za2GMvl5Bfv6hwShURY6bJ
Kfp8LhfsljhFvQH+ySaZZ5gBUkZlr16KQ3M20d3O3YxgAOfZ1M2zMbS66hmHDlgeTNU=
X-Gm-Gg: ASbGnctyKegZ4Y+KGjBL/oALV43FvFzlbxly1gwA5YTWvC65P4hbxjiYOhAIdjZZ0O9
OIHjp3ZJvV1SrEbPwdTSzxavrApXH8AhKSwbaymsXBMGMoJGdrtNUrva6k7miZJL2Z5MJmWULv7
BmQB1bjCeaDEWFeR2oc4xchTlyNSj3f+dlrCrV6BzEjbfYZTbgDaEAH8TTRzyEDrMHxauyyZ0N9
Hy78+6xB33BOPcPIE0yxvKFQldkBZKSaKOkQuk5l0mm3MAiaVQBxWbaqCrTD/FKaMct1ZPoa71g
CV9mLnMpJ00cyIZiQ64JuXreyTZElqpXmXE9mVlzrDaaBr21hPDyIRDSIi8f65cZ9e9ICU4=
X-Google-Smtp-Source: AGHT+IHooMMR2KlU+5Gd8qlyqc96QquKsll0XFTTr3pLcv0vMQ8MQYAiAnb4hez9obwW2eebyXysVA==
X-Received: by 2002:a05:600c:4fd6:b0:439:9a1f:d73d with SMTP id 5b1f17b1804b1-44ffbf6412cmr6476285e9.8.1748428911030;
Wed, 28 May 2025 03:41:51 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.48
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:41:50 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:02 +0200
Subject: [PATCH 06/17] pinctrl: nuvoton: Constify static 'pinctrl_desc'
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-6-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2241;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=8vGQpzjfE6u+giOJnSmjcfHXKBBVmk/PFMGclk6BN7Q=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhNLZ8pobgxDI+k/cnfYZxSjqul6/uSEOxZM
vok2W+plm+JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboTQAKCRDBN2bmhouD
13TjD/wOqmsWZ7EQoYqceyEx8pFTPODw2hmkVaNqOFXe5nyTBtX+iKX4YUmEY7uC4ETlfUcrwkO
a6Vgt3zPOGDFaxbSSff7596dBnACq/JoxD3QW1jVcrucqNldYG+PoPiOl91Y48IT+B2NL0dEFaB
9kb+u6wRP1uLSAMcTxl3bTew5Htfu6wdcNe1Km8HKXTY+ax9I07NT+csG1rsx6v2nQxDpwiMEgc
F0uFrou+YC4ZuBciooFqcC0te0BMfO+hdUqD5LKAZnzo1fmNOmcWC9OgMXAv0hNcIfDFeZqV9TV
VeZmNZ2cRUStmVhhNFVBOj37ibBa8dirMQH0dnLhF8oJ06v2UVEH6O8w/O8pFmOI3f5LOJGZDhi
sX9pxVXsptzDlWEWxxFxkBJMTK7Z+x5vmZPC1ukNjDp65C/3c8zu/DTcTXTQRtAUE6jM//OAWQh
eTTHy+kkiZddwZyyQWeVFNT2fyD4c5NCxHORafQAKkDmfUpwHBEvbbm+nns/4omiwOt3PcrX8Sg
/74BEVM9lWEZ1ksBPmCKL0Rmf5FrRWc8jrFSevr/pSiQ61B3SuMd4QPlfR2euHPsr5GMigiAdyF
eCmi7ZYzUdTt7LfuKAD6j7WMlr2ZPoMBEtFQU9iNSYrzF89ylv8cGXPkdrbUKIsGCkBHGorfXiZ
+mFOyVYptx3UCtQ==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c | 2 +-
drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c | 2 +-
drivers/pinctrl/nuvoton/pinctrl-wpcm450.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c b/drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c
index dfd32feb34286b7a4d807e9033a11f507e277dce..b8872d8f5930ad931dad208afec4e08a23c3d653 100644
--- a/drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c
+++ b/drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c
@@ -1817,7 +1817,7 @@ static const struct pinconf_ops npcm7xx_pinconf_ops = {
};
/* pinctrl_desc */
-static struct pinctrl_desc npcm7xx_pinctrl_desc = {
+static const struct pinctrl_desc npcm7xx_pinctrl_desc = {
.name = "npcm7xx-pinctrl",
.pins = npcm7xx_pins,
.npins = ARRAY_SIZE(npcm7xx_pins),
diff --git a/drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c b/drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c
index be3db8ab406c416f0709d06eb864e33e3208541a..3c3b9d8d3681c64c21927615e1bb49f157f156b5 100644
--- a/drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c
+++ b/drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c
@@ -2299,7 +2299,7 @@ static const struct pinconf_ops npcm8xx_pinconf_ops = {
};
/* pinctrl_desc */
-static struct pinctrl_desc npcm8xx_pinctrl_desc = {
+static const struct pinctrl_desc npcm8xx_pinctrl_desc = {
.name = "npcm8xx-pinctrl",
.pins = npcm8xx_pins,
.npins = ARRAY_SIZE(npcm8xx_pins),
diff --git a/drivers/pinctrl/nuvoton/pinctrl-wpcm450.c b/drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
index 4264ca749175a2ce0f3603c1d7aa271d98e6cd89..8d8314ba0e4cb55db2b1d3adf2de07e6fb93c279 100644
--- a/drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
+++ b/drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
@@ -989,7 +989,7 @@ static const struct pinconf_ops wpcm450_pinconf_ops = {
.pin_config_set = wpcm450_config_set,
};
-static struct pinctrl_desc wpcm450_pinctrl_desc = {
+static const struct pinctrl_desc wpcm450_pinctrl_desc = {
.name = "wpcm450-pinctrl",
.pins = wpcm450_pins,
.npins = ARRAY_SIZE(wpcm450_pins),
--
2.45.2
Return-Path: <linux-kernel+bounces-665306-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3274141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:43:41 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1C3651BC6EAB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:43:27 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E744B280337;
Wed, 28 May 2025 10:41:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="LhABzjRn"
Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id CAC38280031
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428918; cv=none; b=CNJ31gvOYXMeIVOHCTlBS4PjOc8MRbEq8y8w8EQELQCjwHF/KMQxu73x5DisaJ6Ag/t+Onar1NJ+d9OHLBGtbTX0GlsOuCsF23lgXgzXuMyH+io6mSWrr8r1td2wBb6o4leQQVPXPlqPfrOwgMmCTIjoWla+CSbV2wEvzG8okRQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428918; c=relaxed/simple;
bh=ABHNDkrQtwVI0zXe6lhvrQu7yt9ZZOAkqbbG+yTdfqk=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=iH0mUS24QxB4hvItvDaLxsbcUjXDzGZVK9yD9FPYciJLA9iYu+ZySSpb3/Adlz9kZQEEGfiNQh2dX058Qz9RXTw6XTG0O8i24fgdaqQF5FwIOyBSfg1lZj6QwtDf/gw1+cPiOKyMzAlzRHW3OACoN0uyjtRA2zibeeSt3QcauoA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=LhABzjRn; arc=none smtp.client-ip=209.85.128.41
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-442f4d40152so5987215e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:41:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428914; x=1749033714; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=4eqWfvPKnGs6dEV8KWDXklpALBHd/Gw82aMk/cyVxWg=;
b=LhABzjRnYUUUXXPxOVI1V6tQiCx9IQHvAgamOunR1WnO8PdeE8wjlCV1VsbHboQMy6
lur4hrHc4wG2jIrXjPEkmge9rgaZeww/ROJOvOnRwj3//5RjwaagXmdHbv/iP2mFHQCW
ja+c/Cifaid+8GVM0JcfSwmbnGFgIuXgNluOmSsmWHxC0c7JmRM1Pw/92Sz7uxFBIkiJ
fSsgDog02oSibRxDgLO6GlBEm2AVHQvjq2UJ6YbO6rejqK7IlEDDR8Gvs3WuUGHP4dr8
pH8wxgdZOGOkkAwRTwyAzWxU1dtvw1ezGopsE48TNd3bHfIwDj8tpwNbOYiSCfNNxS0H
tKHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428914; x=1749033714;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=4eqWfvPKnGs6dEV8KWDXklpALBHd/Gw82aMk/cyVxWg=;
b=jfN9+3MPx1DTF/0xQFJzBzyjN8MF4rz9jfZklRQWzlGf4j3jJwpSOOqBLt9cF8wQx6
h9xBu9ry/VLEfXMIUIlErPVRLEKbGIxcTAY3DDQlV5dtwapYtYjofqHib9EydPXMMxJL
WSdPI6D2BSJ6uSj7ZIAz6CNko8081iqAtrNuRAGd+UC1Fmo3U8iqTpYdCihbFI0mEBnJ
9PEbhOY9VxgOA4A15NcFjHOTLBHrt4WfWYUQtOnRCdZCqP381FgQmJGbrRcj9dtaLO8h
ZxcZWjFwdvM1PdZ/9i+DbAWVP7S1bixu6pAQR62swWA6BWCo2MT194AROkJf9IZoD9LT
QSrQ==
X-Forwarded-Encrypted: i=1; AJvYcCXOFe3vEGWgXv/HoFd+sSbWqS7La8EQrX7TKh0FJdDCeaUATy5Y0rxixUqVhmENt8MDBJeZagprMLeBkeg=@vger.kernel.org
X-Gm-Message-State: AOJu0YzhZOmQpnK0A0TqRy+l3fcpHLUpx2uUBlM7y9HreXqnO2k++w5d
SAi3SZoXbuqeD8P3ilBVjc28J2JTcEQREA9TYO7Blo2XiEVveNaYKnXFVsAtY8SxmJ4=
X-Gm-Gg: ASbGnct1FnevSEK8rhSjdGENrJjmjoBhbD21nECtxxCwLwQ5NqDg0fEkaeq2Fz0AgTS
ovMSvDqe/bZCo0tkrcJAgPmF4i2sYmb1x5drj7GAtqcv0VbDOUW2FMWFubxTKZJu0GKW83mc4gU
r1S5mKX6QEEj0X58mIHJQrZi5pZchSm/VKNher6GUG7xapbx8qQAd7UAiMoTh9P2RrmVICR2VVj
y4A3mVLTAn4B0AGTXsVJWGPBP6fbgUkWK0CvgIWxGdK3xalzAszGUZ1kDgi/O0JCqzUUhNo0qcX
zkqaxQRsREceBML2RY63BrlYzBR014RM1YpzkVDuehvmpH53p4Qp7pX8eZ1no8XUBYrS6HU=
X-Google-Smtp-Source: AGHT+IHqXCD2Zw01Rwu6Y3SAvsPyX9CqAzleS6jGDMZtlcG8vOZNw6N59XBM2abO07C+micSLyXkEw==
X-Received: by 2002:a05:600c:3c96:b0:442:fac9:5e2f with SMTP id 5b1f17b1804b1-44c91cc3bc4mr57701585e9.2.1748428914050;
Wed, 28 May 2025 03:41:54 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.51
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:41:53 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:03 +0200
Subject: [PATCH 07/17] pinctrl: bcm: Constify static 'pinctrl_desc'
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-7-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1496;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=ABHNDkrQtwVI0zXe6lhvrQu7yt9ZZOAkqbbG+yTdfqk=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhOkNkLKO2b0zaSv6TMTVNLJbk5UgYW6TFwg
jxSUj1tHraJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboTgAKCRDBN2bmhouD
11tIEACA1WGvClNApJH2VgRBIboy0fFx1D+Y+FmGZZOWF2Lr82rwxR+M2b748c5TlSo9L++jcYr
ZIR9lt4fSg+Yq5PmKkMDS5q4/ycD2Gcrmt5FcuzV3FHj/sG2BsZ4jRCEU2k0iCiKO2X1G5tK6zW
cPFXEwBw4P08YI7Nu2Ke8Li1A5AQfcSHEssreNopxfynn3hcgemwVvxqcrgTgn7LKeyty9xxRFf
Kn4F8QcbHnhFHps9umRJISETKamqcHenUST3DXcgLh47hR495Vcu58lodmhE2bAmutSDn5thYfe
DoO8QFiiJskkUniuoDUTujIX6m6u+A6gWbXWz6beprpg3Xf05DIvGAxvrQw5iCf4HEKY+m10FEY
43eDfDRbqF3WlANoUSuRFJNxtdKy/sbJjlSx/hgmTrohMHQuWXOua6jZ+L5S0pD+1WTBkGWJ+X1
xFECehBz9isI0FWdgZrOiu7VDyAyjj+5nFjPqGNf1RCGXB4e9CQ3Wk3tawW1XnuZjfYNJxyX9LL
wGPxw86wuE4eFNLbtUC/wyhkH0OYnduQDq8aidt0TCaFCrmsSv6hkV0VKDTnjl7D4cOaPPst08d
I6jHmNloifkKQPK0TtV1VNakHBf8aR1kzbxtqVvWqR2c/B8gIYE1dpqeAFLbE4Pxl+6pc4QiYJN
MPOQPOjSdZQleng==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/bcm/pinctrl-bcm4908.c | 2 +-
drivers/pinctrl/bcm/pinctrl-ns.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/pinctrl/bcm/pinctrl-bcm4908.c b/drivers/pinctrl/bcm/pinctrl-bcm4908.c
index f190e0997f1fa9fe8bf07fc3ae5700bc721e1651..12f7a253ea4d5bd0af5dbabc320fc2df32172e4f 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm4908.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm4908.c
@@ -456,7 +456,7 @@ static const struct pinmux_ops bcm4908_pinctrl_pmxops = {
* Controller code
*/
-static struct pinctrl_desc bcm4908_pinctrl_desc = {
+static const struct pinctrl_desc bcm4908_pinctrl_desc = {
.name = "bcm4908-pinctrl",
.pctlops = &bcm4908_pinctrl_ops,
.pmxops = &bcm4908_pinctrl_pmxops,
diff --git a/drivers/pinctrl/bcm/pinctrl-ns.c b/drivers/pinctrl/bcm/pinctrl-ns.c
index 6bb2b461950bef5c420f1b250d48fcf6e907b98f..03bd01b4a945adf72445576a8a111f3c0637e095 100644
--- a/drivers/pinctrl/bcm/pinctrl-ns.c
+++ b/drivers/pinctrl/bcm/pinctrl-ns.c
@@ -192,7 +192,7 @@ static const struct pinmux_ops ns_pinctrl_pmxops = {
* Controller code
*/
-static struct pinctrl_desc ns_pinctrl_desc = {
+static const struct pinctrl_desc ns_pinctrl_desc = {
.name = "pinctrl-ns",
.pctlops = &ns_pinctrl_ops,
.pmxops = &ns_pinctrl_pmxops,
--
2.45.2
Return-Path: <linux-kernel+bounces-665307-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EB79E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:43:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1B5AE188F321
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:43:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0418D280A4B;
Wed, 28 May 2025 10:42:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="A4GapL91"
Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6DF78280A20
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:41:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428922; cv=none; b=ABHHtBKsijLhL/3QXZpipRaUaklutNemNM4451Ug8nx321F8sh0iI92ykVaK4tbfo8alghYTG1q3b0zi0CZ6kg28G7MwvPWJgal2EhTGFmpVd8rW2Hpttd83fSbQnVQbia8tq6ayo25dIn8Bjppc0xojZFDUCNiAypQhS9FThT0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428922; c=relaxed/simple;
bh=8TSMAdNwJJ4cMP69sWF06naMdDsc0YKsL1F2ggY8MtU=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=Yl8KmFNfdqN8H5rRrQ3LEx1MchcowF09qJVFqlezXghhG1nDugOkS6PZXcC7DGELplD2Asp0xPGsVqirw6xzwjMhtpHi9MQ0jK4gpxeo/OHE2gGsaxYYbb6eQgjj4NzxbvAgi08Uco/DSBvG0kaIWE64mRbAaagNKrPRs7QPBXE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=A4GapL91; arc=none smtp.client-ip=209.85.221.45
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-3a4e575db1aso162073f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:41:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428918; x=1749033718; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=pf1YR4gqV6lGcgRNt14+w6xZNohisJw9ukNkMtmqRYQ=;
b=A4GapL91ElpqDu8rytCKHqOvDc+7LHOhT/s4CkaDHcsbQEz9Fk3+CTcK0bAzX8mzBP
RDWOw5nXr6P+jEYbseht5mI3NmDvijhVmIdqfk/7Z1C+nkJ9Y6dYEkqSGPZ1BPQtzMEE
3/BVBGoueeRRXbGutij///mY5Bu3AEa7OncET/atBXgJcjAhCbnQ+FXAFbWnhoq+Ry5t
1R5guscOzzgimGDEJQovBFJoI5lNPHbljAKHzrb2WdE9Pawq+yX+ju3byJB3/bsTA/6c
lr6eLloFluGLGE+hKnOevsNAfafn4oCarIaFHJlxmIfFOjNqhPe0Ha7SSqX3co0aGHNV
SnHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428918; x=1749033718;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=pf1YR4gqV6lGcgRNt14+w6xZNohisJw9ukNkMtmqRYQ=;
b=RqVzVOqZk4SOtCQE0rOnzwqBF0VITFHsjbe02Osrr+aTlrgQ0Q2W/c9WmBo2Hp13gh
BkWbSGXUMeBjmoZb25eTr1x+7PrAj6DF6w+XEDXNTvURjgzMRwuRwJmso+JfoeFzoX/M
BNjlU8yt8oHuTr0JXYPren80xvH5gtcb8Kc5ZV5Ofpzj6RrfLsXg8Xy92W+YasGB6Ape
pUCuoj+16t8mwmORma22ROHldVa09Z/gJfBdnBGnJf3erdm5MavQ3G+589b6/M0LyTAd
jvWyGfEsEVCc4v07Iw8M8rtvpLbdYaK5feNLzaKaTeMf44HLVehIS/5qIP9ztiah0u52
Xj2A==
X-Forwarded-Encrypted: i=1; AJvYcCWQLsyLhRkYe5gtigjIVfbiNLiw2TzDNrQsHqGd2/I/b6qu5VDXpmkQTNyzlypBqpBtN00Ac9Nu5fPaPyA=@vger.kernel.org
X-Gm-Message-State: AOJu0YxTiXesXRM4avuz70XISwt+KEH+WjW8c4nIeGK2Syturkm1hvFA
jFDj4JpLIaz96dflRMFTbehlDFcddgUPKuzjcx0SLWXCQism0H2dU4+pDbnpNx6v6o8=
X-Gm-Gg: ASbGncvIPB80Uch4z61rkWU3a1A+3OJk/YHUsNUzaSrSddmYPa30dKHldO41cQeep0P
xGIq9MRO+MmwQI3xvOrd/H3VZI3vP7d4SY543VO/Lrb7wL8KHPYO+RRFkQJ3awVMcll2+MBp1h/
7fDEJzxnysw+BDiaq0HCFYCHuHJyt/PjFYTjw+/OK3ZUsd6Ck+7FpgB5YSALcnITpqgdmzJZW83
+pVFaVnWObwJpbnnNYSkYNrq+Xf+Z297pZUdCraPRsrBvc19oT298mIJQ/2MsBlul0RPpTIp9tT
8nqgod4a2UFe03Pe9EtXnFmz08oTmjAUjTvU2sslfcbLLu/F63Qxz7nPTr7gfMkLdMnBdUA=
X-Google-Smtp-Source: AGHT+IH1zOEOLeCxje+RyhJLL9R7to4LG+S/YoypX4dofkpM8V4nOT+IYOSlqNv+mgg8x3vhGGPHiQ==
X-Received: by 2002:a05:6000:2303:b0:3a3:75ea:f9d3 with SMTP id ffacd0b85a97d-3a4cb4addbdmr5341295f8f.11.1748428917518;
Wed, 28 May 2025 03:41:57 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.54
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:41:56 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:04 +0200
Subject: [PATCH 08/17] pinctrl: bcm: cygnus-mux: Move fixed assignments to
'pinctrl_desc' definition
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-8-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2098;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=8TSMAdNwJJ4cMP69sWF06naMdDsc0YKsL1F2ggY8MtU=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhP4ba+/mFh+oFgO6EmJOLE0PvaD+UB1YrZI
JEnxOp0UJOJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboTwAKCRDBN2bmhouD
1wZUD/9bA+sdZ/7ZzrhcN224T33+HyLau7J4D7YZ4cKaBQB0U8+Zw8EsZqd4MTQZ6emR9L2iOku
vB4WqG5e+8Z9LIfvJznXFBRZIVYlQMVs4gKMA6n1IQK+b3fdbSKyrWYxGzgWg1qHRWfrn6gFq8V
qwQ3u4tXG8zk+5W7WCD/WmhtFm8AjfVPdLdTzD6BTNO5/1O3UECTfd4bdy5uAlIjjeeaglJ6U9x
TfGg4iHSiUave8A4vNsJKpd2jh/UHo31b0ZzfwImQA+f8HM2q+iJGrpHX3CyIV6W2b20CcjaITi
BVPzXRwFn1atUdyNm687e7TwfcAjztLBlCv8F8SICMdzeIwhYxkIJwrnzyA/XJKL8VZDWTgHXCG
K2DF/qGfjZ5NgbqxaZoqwf1DAfB+eqty4Xax4UbJTIBeoox4mmxjYZGajNOOihw9gH0KKvHsj26
zBwOdZRN9WJjBF/BLwvfGx358OA0ejwj8JIbMzzv7XPnPz8YhtHemtM/2Q/BUcu49g7M9Zn+SBQ
kXnJY427cgGJL4hSfheW6ucWUtyWdpu9qP9QkoTJviZEn3MuNR1TyXnZlNQPQziFWzqHoSJpgWa
B1C0T6yk8njHeARq0LwxzSDnTjEtcAmRHwCS5FH+LfTz1zCNy8ZkWDkhOkDAGNbKgggkp4iOtAa
Y4YpkDzEcJUCemQ==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Assign 'struct pinctrl_desc' .npins member in definition to make clear
that number of pins is fixed and have less code in the probe.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
index bf9597800954affd954e45a4baa01da4d5dbf420..e9aa99f85e05944a2a0cb9a3e6245c707dbc9b3a 100644
--- a/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
+++ b/drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
@@ -903,6 +903,7 @@ static struct pinctrl_desc cygnus_pinctrl_desc = {
.name = "cygnus-pinmux",
.pctlops = &cygnus_pinctrl_ops,
.pmxops = &cygnus_pinmux_ops,
+ .npins = ARRAY_SIZE(cygnus_pins),
};
static int cygnus_mux_log_init(struct cygnus_pinctrl *pinctrl)
@@ -935,7 +936,6 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
struct cygnus_pinctrl *pinctrl;
int i, ret;
struct pinctrl_pin_desc *pins;
- unsigned num_pins = ARRAY_SIZE(cygnus_pins);
pinctrl = devm_kzalloc(&pdev->dev, sizeof(*pinctrl), GFP_KERNEL);
if (!pinctrl)
@@ -963,11 +963,12 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
return ret;
}
- pins = devm_kcalloc(&pdev->dev, num_pins, sizeof(*pins), GFP_KERNEL);
+ pins = devm_kcalloc(&pdev->dev, ARRAY_SIZE(cygnus_pins), sizeof(*pins),
+ GFP_KERNEL);
if (!pins)
return -ENOMEM;
- for (i = 0; i < num_pins; i++) {
+ for (i = 0; i < ARRAY_SIZE(cygnus_pins); i++) {
pins[i].number = cygnus_pins[i].pin;
pins[i].name = cygnus_pins[i].name;
pins[i].drv_data = &cygnus_pins[i].gpio_mux;
@@ -978,7 +979,6 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
pinctrl->functions = cygnus_pin_functions;
pinctrl->num_functions = ARRAY_SIZE(cygnus_pin_functions);
cygnus_pinctrl_desc.pins = pins;
- cygnus_pinctrl_desc.npins = num_pins;
pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &cygnus_pinctrl_desc,
pinctrl);
--
2.45.2
Return-Path: <linux-kernel+bounces-665308-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2200641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:44:00 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 34783A23BF4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:43:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 246A028137C;
Wed, 28 May 2025 10:42:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=fail reason="signature verification failed" (2048-bit key) header.d=protonmail.com header.i=@protonmail.com header.b="i7JnFSbr"
Received: from mail-43166.protonmail.ch (mail-43166.protonmail.ch [185.70.43.166])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6968B280A5C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.70.43.166
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428925; cv=none; b=Ai7+p/gHTxlAFzGFJjqzrAuKkjGUipPm3CyIcPmU0CKyuMhZr72xs4gbLdYZc0RsURDbp2QTyNuCPoqaNccoW7FH9oVZa++E65b7fAu/6FQEp4sXTbZNpNgqS57h1T9UxS2K2G3nCzFRMDL8o/r6irr09s4+ZMxORS6/Y3n7UPU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428925; c=relaxed/simple;
bh=MoI8b7oa97jRlr/sjBIV0CzffELLWWFXDnaiN5Lgkuk=;
h=Date:To:From:Cc:Subject:Message-ID:MIME-Version:Content-Type; b=Yb61fZozNHhRHJPaU4TvLzAT+vvyCu3rnNlgra9SURNWO22LWqTlw7rEBNAKEsODI9Zn19auimd7IRcU+1cox6OdII1GVepHAxqRtRG/hXZmEf3S/u/6z+kX0yFmOd+uXnSD6Gt+G2ubfauek76daDXtPhkynMrJl0TWq0XxrOw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=protonmail.com; spf=pass smtp.mailfrom=protonmail.com; dkim=pass (2048-bit key) header.d=protonmail.com header.i=@protonmail.com header.b=i7JnFSbr; arc=none smtp.client-ip=185.70.43.166
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=protonmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=protonmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
s=protonmail3; t=1748428915; x=1748688115;
bh=MoI8b7oa97jRlr/sjBIV0CzffELLWWFXDnaiN5Lgkuk=;
h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector:
List-Unsubscribe:List-Unsubscribe-Post;
b=i7JnFSbrT4910lKctgAcXYvei7ZDrpOwig/AmBOi0sYacOYX/8ytneqmqEbd/mQTt
UTANYrPZRHhYhux4utjArFJaw5sqvgWufkSigOKatIxOFzEonTQbqwgKHCQJjuUopk
C0LWsJRjf4rJefNwSuloKaYoF7fHRaCwE196O787m/HU+oJm04U/+nTdnjnTtYdkY4
qGt1tLnwBnQBSYufzlcbchH2P8T+AULACfyun5p1E1f+oUJ+ySB8iLRUCOyBYuSel8
IL9Wx86SR4zJcb4MoPKL6LY137+XNaRpYOL+qVZ+uq9Jb0ns8ANOgB3cujFhfSmYIn
oUfQ5NMOg3YOg==
Date: Wed, 28 May 2025 10:41:51 +0000
To: "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
From: Turritopsis Dohrnii Teo En Ming <teo.en.ming@xxxxxxxxxxxxxx>
Cc: "ceo@xxxxxxxxxxxxxxxxxxxx" <ceo@xxxxxxxxxxxxxxxxxxxx>
Subject: Activities of Singapore Government hackers inside Teo En Ming's Android (Linux) phone - 28 May 2025 Report
Message-ID: <YN06wepewthmtr0QpcQpEAHnm6AiBnFmwMe-3A39LskUDyCS2ZuA6ye6PKE8XTP-upuwlecQ6cZFsraRsqxNhKEvhenaJ7Ta8vLhTHhshYw=@protonmail.com>
Feedback-ID: 39510961:user:proton
X-Pm-Message-ID: 6973f1ebe0fd78efe58096036b95afe8f05eac15
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Subject: Activities of Singapore Government hackers inside Teo En Ming's An=
droid (Linux) phone - 28 May 2025 Report
Good day from Singapore,
I recall 1-2 years ago, Singapore Government hackers deleted 2 selfie photo=
s I took with celebrities/artistes from my vivo V25 Pro 5G Android (Linux) =
phone. I had to restore the selfie photos from the "Recently deleted" folde=
r.
On 7 March 2025, Singapore Government hackers changed the name of my phone =
contact from "Michael Chen Photographer" to "Michen Chen Photographer".
Inside the WhatsApp messages that I had sent to myself, dated 3 April 2022,=
I think "Michael Chen" was also changed to "Michen Chen" by Singapore Gove=
rnment hackers.
Then on 10 May 2025, Singapore Government hackers changed the name of my ph=
one contact from "Hairy Ted Events" to "Hairy Ted Ted Events".
Yesterday 27 March 2025 Tuesday, I had visited my mother at IMH from 3.00 P=
M to 6.00 PM.
While visiting my mother at IMH, I checked through my Singtel mobile phone =
bills from April 2025 to May 2025.
To my surprise, I discovered that Singapore Government hackers had made an =
unauthorized long distance IDD 001 call from Singapore to Germany in my Apr=
il 2025 Singtel mobile phone bill.
Details of the long distance IDD 001 call are as follows:
Date: 3 April 2025
Time: 7.31 am
Country: Germany
Called No.: 4989262034700
Duration: 5.0 Min(s)
Charges: SGD$5.25
Singtel mobile phone bill ID: 000173084076
I remember 3 Apr 2025 very vividly. 3 Apr 2025 is my last day of service wi=
th SBS Transit Ltd as Network Operations Engineer/IT Infrastructure Special=
ist.
On the morning of 3 Apr 2025, Singapore Government hackers had corrupted th=
e Android (Linux) operating system on my vivo V25 Pro 5G Android (Linux) ph=
one.
In the afternoon of 3 Apr 2025 the same day, I had sent my vivo phone to Vi=
vo Service Center at International Plaza in Singapore for servicing.
Vivo Service Center technicians acknowledged that my Android (Linux) phone =
had been hacked/compromised.
They proceeded to erase/format my vivo phone and re-install the Android (Li=
nux) operating system from scratch.
Even AFTER Vivo Service Center technicians had erased/formatted my vivo pho=
ne and reinstalled the Android (Linux) operating system from scratch, Singa=
pore Government hackers still managed to hack into my Android (Linux) phone=
AGAIN, very very quickly. How many times must I send my Android (Linux) ph=
one to Vivo Service Center to reinstall the Android (Linux) operating syste=
m from scratch? 10,000 times? 10 billion times?
I do not remember making long distance IDD 001 call from Singapore to Germa=
ny on 3 Apr 2025.
I repeat.
I do not remember making long distance IDD 001 call from Singapore to Germa=
ny on 3 Apr 2025.
Hence, Singapore Government hackers must have made the unauthorized long di=
stance IDD 001 call from Singapore to Germany on 3 April 2025.
Now, I have a habit of sending WhatsApp messages to MYSELF to record inform=
ation such as what time I sleep, what time I wake up, what time I take sema=
glutide (weight loss medication), what time I take the morning medication, =
what time I take the night medication and of course various other informati=
on.
Since 26 May 2025, I discovered that some WhatsApp messages that I had sent=
to MYSELF were missing and/or were deleted.
Needless to say, Singapore Government hackers must have deleted some of my =
WhatsApp messages.
On 26 MARCH 2025, Singapore Government hackers sent a message to Meta AI on=
my WhatsApp app. The message goes: "I need help finding a job".
I do not recall asking Meta AI on WhatsApp app such a message. Hence, Singa=
pore Government hackers must have sent that message without my knowledge.
Singapore Government hackers can easily hack into my Android (Linux) phone =
and maintain ABSOLUTE and TOTAL control over my Android (Linux) phone. Sing=
apore Government hackers can do practically ANYTHING inside my Android (Lin=
ux) phone, since my have UNFETTERED access to my Android (Linux) phone.
I am still wondering why Android (Linux) phones are so easy for Singapore G=
overnment hackers to hack into. Why? Why? Why?
Is there any way that Linux kernel developers can improve the security of A=
ndroid (Linux) phones so that government hackers won't be able to hack into=
Android (Linux) phones so easily? Increased collaboration with various And=
roid phone manufacturers to improve their security??
Thank you very much.
Regards,
Mr. Turritopsis Dohrnii Teo En Ming
Targeted Individuals in Singapore
GIMP =3D Government-Induced Medical Problems
28 May 2025 Wednesday 6.41 PM
Return-Path: <linux-kernel+bounces-665309-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 51EE241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:44:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id AF632189632C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:44:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DD2C527816A;
Wed, 28 May 2025 10:42:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="FkyGmBd0"
Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F28F27B505
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428925; cv=none; b=FcphAC0NVCVLtoGIFKzcAcDvsi7Jm4CddHkzq+hNqxPDXvZ0lPlirIcDKkddHlBnsw63sea291mQ6rkBgbmqcEQgNn/SiRu3MPh+RPj+6I+1mc0nVVwitXE8X0LLxFbAKiH85PeXEKQL2Gx02mzrxbUn9ytju1+rKX2qbMnEasM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428925; c=relaxed/simple;
bh=tMPOIoxmSYTBilMSijclMXxtNrW8WzkiypV3oMPeYrw=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=eXwyW5QrZ65CI86JGKOCB5tLlYJNw7PGCKwy0SDMvaVlLhLRexz0c0lN2+t7oVe40QaUo9TVRJTpBPXhyxqSvE+qaSe8J5ikZlplTN2AjtdDVEQkUZvV2P/PnLXE7F++vpj84QyX60OjGBduyR6UFkWy1ALchAP7LLJSOyu0gPY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=FkyGmBd0; arc=none smtp.client-ip=209.85.128.48
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-44069f5f3aaso5069925e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428921; x=1749033721; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=eeKeqm7bgqIFmnFmWd/B2Kjnby6+4VCIwEM6NzXgjEw=;
b=FkyGmBd0MZTD3uPGCbiRnwr8G7DOclYZZ9YJevDJblITJJHNvsVcf0f1AuvDMmYUbM
xue0woDdr282FrNddbU/J2t85ZtNQ+n2Ad56mbPJFV9mN7ignRxh9GAmn4G6IWCV1Xqp
fW2XboFPNqxjIQlpBuZqVG17A8RRWlh2whfMJT4NgEIBHqXzHSSnBLHqjM8U7q4lN3jp
NS3aivlqFPbxORndFLMeRBYOihknF5moOunrl0VGljYTBjC9KOzlysjC8Fp7f4eDqqlr
WwOB8jwgJNHcP3GfBBmNjTkUFhhCiCD5C4eA5MQLF0pH1pbS8nj/N1UM1ry2kT+Q0DuL
DYyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428921; x=1749033721;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=eeKeqm7bgqIFmnFmWd/B2Kjnby6+4VCIwEM6NzXgjEw=;
b=gD8SOyFqsf5SS0EL8EIwcNle5RPdJ5GVx/5obS+Fuaqm8kX8Kwo9sToLCQoBdb4fRa
3/6sj5KyJjEsq+BQU7LSWHjFJPZIyZ3kEEXn+TG4V2aXodYtOjajSXeUFf7WQ2Le3nJI
aIk/oXJqpK0sdKbzeX7IQ05DyEnuA7ksRBAjMkuBgk5TwtqfRuXA+rbzvrsRE2/lRtzr
buXHlOuLIk8gOwJn/cbVJ4AbmSOkZS2+nPZdjNSwUkq7pmedGSO5JnVM8HRUDKEDF5IS
vqnwhdP++8HOyOBNZNc8x7Pld/hPTPXv2LEERCrJkg83q90AwOwDE4xW5k8ZMQubrJMQ
qWoA==
X-Forwarded-Encrypted: i=1; AJvYcCV1/egmhWcoLidY0bFbO813zSDw8rYjz+0eKTeQrXwTIyQl/EiWqUEunXUXce5Lc0n8migVSn5y+GP/SjA=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy2HGYK6kZKzo7BTZEvXck8yJuojk0l47RMtZSANqOMFdpUdTUq
3Y7eQMZYxlELPYvMZLzma+g+Bac4MwpTLkNZXb3oWbknng1K2Ph4A9+79PkH1NSSeMs=
X-Gm-Gg: ASbGncvVpmrj2TP0TuzvRMR7gC87QiIw2Lz9ymRSbtqWE8fwoHt7PjV1bFC2y1S0inW
8/33psU7mWpvL1tIhv9J0KppZLlC+YktN6/Wwid7JdREPt1jSjP/K8uX1KD77UQTUiOqauqCWlW
qw/nqe0B45YlkjIWULlMhDIlbt4Usux55lqYbyaWMqq7u0emjEyIQ8EZBp/dknuXTbIPXbxJPHH
tHuJbRj/dhzNqSGuuhwdqvA/L8be2NzNTEhPtnTzRCrFfLKnWMhYMqksAwaRpVuB6cpClBGyT4V
0EjGe1otyF6VnWrdb8eKR2WpzUWw1SO6Ixa60hZGAt+wIFUDfovUn+/snb/Le0V4uWqF+Mo=
X-Google-Smtp-Source: AGHT+IH2RvO3u2jIkhe2BH1+/yJAOhQA0UR42TzWyNNAEDpg/cdMhyD7e03ICGq58jet5YwmI1xsWg==
X-Received: by 2002:a05:600c:1d0d:b0:43b:cab3:1fd1 with SMTP id 5b1f17b1804b1-44c934e5f3cmr48727465e9.1.1748428920692;
Wed, 28 May 2025 03:42:00 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.41.57
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:42:00 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:05 +0200
Subject: [PATCH 09/17] pinctrl: bcm: cygnus-ns2: Move fixed assignments to
'pinctrl_desc' definition
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-9-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2013;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=tMPOIoxmSYTBilMSijclMXxtNrW8WzkiypV3oMPeYrw=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhQiRFuBZNM/PyHQB2QGJi215mgTKjmtl1J4
6O38EUsvPyJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboUAAKCRDBN2bmhouD
192rD/98fy4M3wAq2lLrZI16iHbCWibHnzws9NPmcH5NdY6VM7xhLEq++95JNIwB0UKiqe2sWUi
nR0jKaZVhxwjwEoHgfW3yXkchrYLT4HtbxPM2wXzHTIMNG7qDtvCJDN6RHCbsGZBoarDEQuCk2H
ZSpG5J0mCHYGWzNcuUMYQPg8wInmjwrNaISZ2c3lFPKzal+YJqOE+78XA0oIU0qNoJX6sWXyufV
u01win3xK0AMvzXktWiaB//8qOR8se9X8Q/kU83OohrexwKTewmqQGrKCqWvub2qfbqVJs9Lcf1
g9HWX7C88+/pIBcjjWdDmWRa1DCLypL6Nb8lKQXaFrgAs9z63JSXsuobSuuFvtErz4Q4CQSePjF
39ee9zzBsbsjRGSNjGTWVJ1RUoBRJI5WZbDvm8wmDGn6N09uesj2pWwa5OnDuM4Q7JzMKY3byGT
d9cfJoT3IffCKay5oTbaTEipX1AxJL5Ka5JKkQdtV9Fd5SGfyFzzGW0zgMhoOLK8L9eaGOZmObm
HlL037nJMCk37k2UYML60oXBFFsO5loJChx/GjpfwBoPXLjRPk8PdQnTbwF4gLyNP1zxMSZ/6Yy
D7h9V/1hVNWGd0B1G9TGQH5qJt5+Nq9SQUlmoG/jyVioHYfTnjhR4QTiy2kMaZpNlU2URVKqZf5
A3gbDHJkIDwlHMw==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Assign 'struct pinctrl_desc' .npins member in definition to make clear
that number of pins is fixed and have less code in the probe.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/bcm/pinctrl-ns2-mux.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/bcm/pinctrl-ns2-mux.c b/drivers/pinctrl/bcm/pinctrl-ns2-mux.c
index 04f4fca854cc05c6ccc75fbcb640b18fcfd37453..23ab3ab064b6f2b0aaa15afd6b9c582f1a1256b2 100644
--- a/drivers/pinctrl/bcm/pinctrl-ns2-mux.c
+++ b/drivers/pinctrl/bcm/pinctrl-ns2-mux.c
@@ -971,6 +971,7 @@ static struct pinctrl_desc ns2_pinctrl_desc = {
.pctlops = &ns2_pinctrl_ops,
.pmxops = &ns2_pinmux_ops,
.confops = &ns2_pinconf_ops,
+ .npins = ARRAY_SIZE(ns2_pins),
};
static int ns2_mux_log_init(struct ns2_pinctrl *pinctrl)
@@ -1026,7 +1027,6 @@ static int ns2_pinmux_probe(struct platform_device *pdev)
struct resource *res;
int i, ret;
struct pinctrl_pin_desc *pins;
- unsigned int num_pins = ARRAY_SIZE(ns2_pins);
pinctrl = devm_kzalloc(&pdev->dev, sizeof(*pinctrl), GFP_KERNEL);
if (!pinctrl)
@@ -1060,11 +1060,12 @@ static int ns2_pinmux_probe(struct platform_device *pdev)
return ret;
}
- pins = devm_kcalloc(&pdev->dev, num_pins, sizeof(*pins), GFP_KERNEL);
+ pins = devm_kcalloc(&pdev->dev, ARRAY_SIZE(ns2_pins), sizeof(*pins),
+ GFP_KERNEL);
if (!pins)
return -ENOMEM;
- for (i = 0; i < num_pins; i++) {
+ for (i = 0; i < ARRAY_SIZE(ns2_pins); i++) {
pins[i].number = ns2_pins[i].pin;
pins[i].name = ns2_pins[i].name;
pins[i].drv_data = &ns2_pins[i];
@@ -1075,7 +1076,6 @@ static int ns2_pinmux_probe(struct platform_device *pdev)
pinctrl->functions = ns2_pin_functions;
pinctrl->num_functions = ARRAY_SIZE(ns2_pin_functions);
ns2_pinctrl_desc.pins = pins;
- ns2_pinctrl_desc.npins = num_pins;
pinctrl->pctl = pinctrl_register(&ns2_pinctrl_desc, &pdev->dev,
pinctrl);
--
2.45.2
Return-Path: <linux-kernel+bounces-665310-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1C97841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:44:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 6CB3E3BD77E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:43:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 81E2F28312A;
Wed, 28 May 2025 10:42:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="zJOlii+P"
Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3727E28150A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.54
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428929; cv=none; b=sp1AK4qNRbbl482xcY1mN+D8SdPzHw9V6YVDcDqStJ33mmNzDZHWxQlcEpOgqiX8E4jbIGG0I0gd8ZcI+LM61JEJL1gOH4qfLZojJt05hgTjBE22c9Kuuofu+JzxwBSoRv7CjTwapUaRsdEf49W3guOmzqDU51fpIpqW18rX4Jc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428929; c=relaxed/simple;
bh=AZcW1cQpsVdpMlMJDu5jWEgQJ6HALLwy007zMLKEIYo=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=u5GqE1htFIQV1rVDTsz1k7tcM3V2ofvL4xj7+acTdAaRNQRINwjiqOf95MmUCKEMaO9eADeC1BpfxyZhxdemw5EswQI6mcqW7fKrGOWVWQDF18+XyoL5nAdA4Y0hZPz2pjm+n7hOGNBfADy3DDwXv/3LJpRRV0ENfaNVv9b9FwI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=zJOlii+P; arc=none smtp.client-ip=209.85.221.54
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3a4d10e910fso230657f8f.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428924; x=1749033724; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=mUavy7B2LDMdwrM/5bMX/h9Rv/lKrrO3+mfX8hz6Iuk=;
b=zJOlii+Pg5/CBnrMuTgvIJfsofHY7X71z48vCfN08dTSxGeJWHS74QMAlWbFYdNbxh
iRQbuT8S+9QkgLjImjJ/5KYfOArqubZK2jrxV0Cbo9sNYNEeIL5GttRI5Tb8VPerOZES
iZ16cTDpa1a8I8PzE9JPu+gVRIcaEqEgHUo/tVjVWDO/vZeUI/u4yf3Ms6ubpaV+Bo0B
40GiBH6A7qcTryBw0icelxe2g/W+zUAjCd2BcjMXu3Ky8fGAFi5wSRbzvWhOhNcwIFDK
1ASFU9gki6K9jw2desdJzKL1Yunc93CEQXXRsZCbm5MT2yKoL8KKLvJMn8TZUvHJ6gJL
ZYlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428924; x=1749033724;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=mUavy7B2LDMdwrM/5bMX/h9Rv/lKrrO3+mfX8hz6Iuk=;
b=Q0Z9EgxlcoOsg6M+tQSk1QRygQSvmQON8vNP4m9XNPRBUJOo5GNVE9qdLYLYI5j4Yl
lFVtKrM45dak7ok1hlSBKWzgkQds3zIqaVW9m6Ex7/p9XA0+GuH5Pqx0/e4EIe8rsw3n
WEO398wagbyj0anM9ZzlSoV9b/1Ixus98v2YgPI4TumtQFSI4OqW8JsG0oCKLHlv7K2i
0rkRul6c67Ovwan0uydV9NJ/aV6jA1mPhUgH5tx9HlireW6UF0ThLsaZ+ieczzLDhBaq
UeBIS0t7oXbUHA8o0eZsT6zHLwQgibWD8FtJTJsJzVkQsnb/n/9U5FSR8K1NvfeV9ZCg
NuTQ==
X-Forwarded-Encrypted: i=1; AJvYcCXkiQdXYVcmyRULxTLv8H41yNrm8PRoPKcCXT/zQ/4iFNOZh7sB/hqfEbEAgSUnDC2vLncsFRAg5HEyzms=@vger.kernel.org
X-Gm-Message-State: AOJu0YzcOh8NMCZuVAO2zaJ5jn3uUuGxiUxJOZDyBJhqnSt9+zvnwI5C
Qg2svjLRnBfw+5F7exw72fw9vhBXhwjlcYj9nBhDvopJxTBOTCGUmFff3dmED2+J6dw=
X-Gm-Gg: ASbGncuPLkZAOFcGt0rERYVm3Sm3O0H5DdiWUn0q6pnIdPDUlVZrFbX1rcfb4dhrJdA
A8ZyUzvUZFlZgKuEsTBKwWj9d1prQiJ0RpxH0qTNNWkINNm8Yr/komY3iVJnDYY8WzA47luLxer
hMLBH9W2QokCfFIQWITOT6TeoexrZIzbPjjtkZJj1S10uzpK3/Jj3wbYz0DGuk8kd3vs9ERQntP
2Pb6SQQEbL64gu6dqLVCJaJz3gTNvMJhZ6oCT6XzM/wTEy3/KX/djDO2HMRYlJuTikYJCGdbM5M
tDCKEiQxC5Lu/m/KkvySJG8NGHnKSdJ9mAhV5bCbAnv4ZSIyIv8l3tCd0hzhct89HyjPjNQF9gR
7uAs5QQ==
X-Google-Smtp-Source: AGHT+IHLM1FIhtqqL05DozCCpKQWY7ameEkMInI+HoHz6qQ+L3KMHdThy3m2Nh51nEncLqfROzqPGg==
X-Received: by 2002:a05:6000:2481:b0:3a4:d4a0:1315 with SMTP id ffacd0b85a97d-3a4d4a01404mr4061984f8f.6.1748428924388;
Wed, 28 May 2025 03:42:04 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.42.00
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:42:03 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:06 +0200
Subject: [PATCH 10/17] pinctrl: bcm: cygnus-nsp: Move fixed assignments to
'pinctrl_desc' definition
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-10-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=2020;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=AZcW1cQpsVdpMlMJDu5jWEgQJ6HALLwy007zMLKEIYo=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhRNPIvcbeE3O4oOSmCsEkL1h48gBgln+KJb
OsiC6vomEaJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboUQAKCRDBN2bmhouD
16dvD/4+GqEjL6kp16pjaPce/8s4v6Ut3thCgUQUhMlVSN3KQ5BciDx6aymKzKDe6Y385QtYh6/
TTbLcF7wMxIsiys8zs4Joov8pnnsJFMs89/RxAHCkv0jVyWz1R82g5U3UxeAzVHOSClfzkG1ssx
rukU7ZnCn8leZIhYYtv1kPDJSN5TvvmrLMqPDoeXKp/lmIMXMAfV7gA+hzg2SonnOP8zFIU/Cgk
Bsnu0o5djTismPPoU+dVEC8OOtOQs51mMYYsJ3bpo6w+8AXjqnqHArInHHG+DyKfsdfpU2p8NqJ
CLciuXZuNgs3KdwBmhn+8j50u4rJxhfzbl96q5Ni+ucZpmPmB8YxYQLGCUBO4LZ8SJQopvZsb/M
1D8cTgPoL8lL1WXelX1KC3g47FDzSwwJt3+NZAP2BKjEwfdLYApjYJv1SJm1HhO2ce5DwkkZVsS
/ROWyFqUhckAQmPUVie/ZniAhKPP5NTi+3jDxP4DWLXZqnPD/cogYNuFscfAWmwOnNkRuuWvYaP
ji598GViXmlJqT0LLbAldcUL4DyM0ovnfcXI8abCONH0ZZVFzuPQ3PrnsyUe2LKxqoq9kV1uqCt
wrnlxC3wix5d5II5R2Z1TpjlzSjyFuBlPhYTuEv/7Pl/umwQK+v7ZNFofeJ7Q4gFZDAw7FZIXgE
CEW4yw0hnhFONeA==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Assign 'struct pinctrl_desc' .npins member in definition to make clear
that number of pins is fixed and have less code in the probe.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/bcm/pinctrl-nsp-mux.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/bcm/pinctrl-nsp-mux.c b/drivers/pinctrl/bcm/pinctrl-nsp-mux.c
index eb6298507c1d1873f9d5a90ec724b36af6d4da48..9b716c0d2b9456b9e64ca1094375effefdf4817c 100644
--- a/drivers/pinctrl/bcm/pinctrl-nsp-mux.c
+++ b/drivers/pinctrl/bcm/pinctrl-nsp-mux.c
@@ -525,6 +525,7 @@ static struct pinctrl_desc nsp_pinctrl_desc = {
.name = "nsp-pinmux",
.pctlops = &nsp_pinctrl_ops,
.pmxops = &nsp_pinmux_ops,
+ .npins = ARRAY_SIZE(nsp_pins),
};
static int nsp_mux_log_init(struct nsp_pinctrl *pinctrl)
@@ -556,7 +557,6 @@ static int nsp_pinmux_probe(struct platform_device *pdev)
struct resource *res;
int i, ret;
struct pinctrl_pin_desc *pins;
- unsigned int num_pins = ARRAY_SIZE(nsp_pins);
pinctrl = devm_kzalloc(&pdev->dev, sizeof(*pinctrl), GFP_KERNEL);
if (!pinctrl)
@@ -589,11 +589,12 @@ static int nsp_pinmux_probe(struct platform_device *pdev)
return ret;
}
- pins = devm_kcalloc(&pdev->dev, num_pins, sizeof(*pins), GFP_KERNEL);
+ pins = devm_kcalloc(&pdev->dev, ARRAY_SIZE(nsp_pins), sizeof(*pins),
+ GFP_KERNEL);
if (!pins)
return -ENOMEM;
- for (i = 0; i < num_pins; i++) {
+ for (i = 0; i < ARRAY_SIZE(nsp_pins); i++) {
pins[i].number = nsp_pins[i].pin;
pins[i].name = nsp_pins[i].name;
pins[i].drv_data = &nsp_pins[i].gpio_select;
@@ -604,7 +605,6 @@ static int nsp_pinmux_probe(struct platform_device *pdev)
pinctrl->functions = nsp_pin_functions;
pinctrl->num_functions = ARRAY_SIZE(nsp_pin_functions);
nsp_pinctrl_desc.pins = pins;
- nsp_pinctrl_desc.npins = num_pins;
pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &nsp_pinctrl_desc,
pinctrl);
--
2.45.2
Return-Path: <linux-kernel+bounces-665311-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0141041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:44:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 40D89189FA2A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:44:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 406D12820D8;
Wed, 28 May 2025 10:42:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="kxPp5nu8"
Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 538F82820CD
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428931; cv=none; b=XoRcd8dsYURzYXWUT2siELZQPfummUW03Q5PWxCzYAm3QpJE/b838ZT9F0RUi4uCI7ortu0velbH9Yy5YzAqciVTIke5Oq2t9gwhN4X5b4APFHVzAPUVY0FCialwsV9+IbSqjGU+Uzt22M4x3wRGbO4ZeqK9Ry72G6MMkt8geJk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428931; c=relaxed/simple;
bh=qi1eWzTJCENFCt5JAU6Fe0rVNJeWQChdweXO2MJK0eI=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=HI9cDeZRWMexDFVMIsd4C2fm4iKegcTbtKefNYYmZoR3u5m3wQ9BA4WCopPLojNCtFOyVSWc4Q53ij38uUriXIgmaZktGfjMJ1TYqLbcTHtPWrdQ6BuOFJjZhrE/aNVXb6xZu71xjPZkqGfk9sYfpqAW6MIhDJRQMRC43tyG4z4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=kxPp5nu8; arc=none smtp.client-ip=209.85.128.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-441c0d8eb3bso5761855e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428928; x=1749033728; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=1HiVP0QLPKsIA8n0UdjT0lSqiGDAH6vDC2S5+J4fhwA=;
b=kxPp5nu8265vDYihiygF0TeLrPRm03tOKVozh5dMdM8eyBUYwfJUzo2exj6xXdV1QK
Yx93URhqcO1cIqxC2qmDVIq3v8cjWeI5q+EQaJE5V3mEdl28PDMH0DLsZo1J5HdEEjpY
aL1EHgIxiJQnPd2k0IJ17ORqAaKRLPxoE+cDehLwlEWZaC1YOF7AvHcDwS5BaJ/f9XhX
lhS1ogA3qB+cbNw7eD1/RMbcck0vorAXRQkI5I2+0snr5LQx42bv7YvZq35klmzGCAnz
z7yPyK4b3dgjcpVf0mAjd0Hm4CbFAir3XkCsp+DKwYhIw+DkPm2/iIExSyHkhO83nbW/
PH1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428928; x=1749033728;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=1HiVP0QLPKsIA8n0UdjT0lSqiGDAH6vDC2S5+J4fhwA=;
b=CTHySai1g92DArQNvRQHTk/Yk2OT13BEF7DYbc48cmmzMe+6/+3MhXJzS+PlipcvkG
kkxeiAgdrJVvyQGxhvSsNVUwN0hiko2kziZsbKgNZq8aPM07OfAz04OzvVEh+IeSfFe1
JrDZvfPFMPyXVvC1v605FDmJLzLBXjfkoJ0BZc6dNzdn2OBiOJbtqAafnGD3JZ8eCl07
CNwBZbeZftq0uPMG68Ma6ExHZnbqNjJUYNjJ0s8QkUqD3bmGafs4BLOdeaEF/IH9jcXv
iPEut37yZtXa6HPFSEiZ0jqmapej288yaMltp12s2NMjO1km+4WI6xurfzJiuZhQ+1ra
fnFw==
X-Forwarded-Encrypted: i=1; AJvYcCWuWgz03Xra3MXa97ozuYgVjGp3e5+YN5UW1PdtrkfDASC8pqENoXocFuK+fwZ43/GkEi4thR1mddEGXZY=@vger.kernel.org
X-Gm-Message-State: AOJu0YzOdAH1w3l6POTgLcNBQcdAoXdsCxZOrVJpKM+qycA3rLoEsGLt
SSL6C0HUwulw3FaRhSY2Od/MxnaCO3BtznExHuW11N+4VvgHR33olP6p7kx1Yebu8r8=
X-Gm-Gg: ASbGnctp1gRzefvvBsIZxNzNJMD/1hEyiZwE1kbxu/JXrQn8YPDLBaQKNwpTqwm3z4F
nzB/OyxM3+7XelE5MTExRlhUDGv5kUM2tqnskv1kLOe1vDiChKZH7EK4WE74DZ2D8srGeOIKBax
5bAf6yHWBo8ExQPGAV1O316bQk2GLxdvtX1sTFgDIn9IXsIVwHLHsd7GT6kD4U4p1vKsZGJkWWj
BYWo4oUqilYkBCDA3i52ts8WDpTZ9cJ5fnBQFAXR9oSsCo6UTfrbp3gbWEDNpr03874hpEamGB9
sjSokVP1ZTaKuIkcGO5Mn3YFMb/zJRz/H0x+0hUQKDh0ToCBDSiNEsWJsOImIH7Sn5tWzfw5vbK
Fp/AQ4A==
X-Google-Smtp-Source: AGHT+IFXJEnneO4xSk8QHxW3M4MG6X2rUF/ijYk6/3E6ibOcv7/LTi5pTGoQU3pGtcmJJ43pDOy8uA==
X-Received: by 2002:a05:600c:474d:b0:439:9c0e:36e6 with SMTP id 5b1f17b1804b1-44c91fbb19cmr53499225e9.3.1748428927574;
Wed, 28 May 2025 03:42:07 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.42.04
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:42:06 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:07 +0200
Subject: [PATCH 11/17] pinctrl: as3722: Move fixed assignments to
'pinctrl_desc' definition
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-11-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1376;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=qi1eWzTJCENFCt5JAU6Fe0rVNJeWQChdweXO2MJK0eI=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhSmo0CjMtoXcC2sHTGZq48JxTVj2z45DQTw
MfdipuBb+mJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboUgAKCRDBN2bmhouD
11uhD/4gp5pseL4b42D5IrbEvXxuCr6fAiAGchUSH1EtuHVur/ZUNsA/puQb+u0ePsLEwBisB8N
HkCZQy1wRLe47FK3rertUOcjzUira7hX1qKm0jhTZant8VKm9nCaQfuvyHxdpPhOoVCVJooM9Ad
c50bsIAmLW6CrtUn7kwQQ3rbem/I/4JrlLZQ3V+T2HBOBa+wh/sf2x2tGfE/ilSmEXtZ9VCsdbQ
VeEf7DbVnNsvDCjNCQtCxzEBdKpKKSvCkiKIJcFpEb2Szo35NLhJzj0aBmlXWzocpri70Ho42iN
GPRpc/emYDOm+hq9iusYbHVvfypT9421VVBIJZ8npbZmUnTu39bKewgOaguan2CHrPsWa8yw3nt
yw5e2VWBb/HSAChzlE86yqdW9+rkoB5jFUYD23+dUZ3eWK3NDUviqsT+/YmruwWE9exSwIoDVno
3GCqUCo5TCQOgp0hLWvEbWq7L24O47InJOwlG/6ZNrPwi+mCdVERcA18YX8T5vAEdBBiOdTFHSC
Ekwch4dUQYD6n5qRL1rRfPoiWhQKE9VTbMoVCm46WQx7XkVKJy35962yFBpybsElB8wY4ca2J9M
vOA8pVv0owKcK1pBhmg42QqkBmJWh3CkNUY8E0To1kMPcNE6E/hWvW13iZ5xppI3+CQBocPYecS
qfWXlWeL9QmpElQ==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Assign 'struct pinctrl_desc' .pins and .npins members in definition to
make clear that number of pins is fixed and have less code in the probe.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/pinctrl-as3722.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-as3722.c b/drivers/pinctrl/pinctrl-as3722.c
index 0d8c75ce20eda97627aef773342a0b63ff6114a1..ed7b2c482ff0bb6a546955c083ef7046701527b0 100644
--- a/drivers/pinctrl/pinctrl-as3722.c
+++ b/drivers/pinctrl/pinctrl-as3722.c
@@ -422,6 +422,8 @@ static struct pinctrl_desc as3722_pinctrl_desc = {
.pmxops = &as3722_pinmux_ops,
.confops = &as3722_pinconf_ops,
.owner = THIS_MODULE,
+ .pins = as3722_pins_desc,
+ .npins = ARRAY_SIZE(as3722_pins_desc),
};
static int as3722_gpio_get(struct gpio_chip *chip, unsigned offset)
@@ -550,8 +552,6 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
as_pci->pin_groups = as3722_pingroups;
as_pci->num_pin_groups = ARRAY_SIZE(as3722_pingroups);
as3722_pinctrl_desc.name = dev_name(&pdev->dev);
- as3722_pinctrl_desc.pins = as3722_pins_desc;
- as3722_pinctrl_desc.npins = ARRAY_SIZE(as3722_pins_desc);
as_pci->pctl = devm_pinctrl_register(&pdev->dev, &as3722_pinctrl_desc,
as_pci);
if (IS_ERR(as_pci->pctl)) {
--
2.45.2
Return-Path: <linux-kernel+bounces-665312-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C43A641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:45:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 4FD514E484F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:44:30 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F379E283C9D;
Wed, 28 May 2025 10:42:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="F6+4NYfu"
Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E4D827C872
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428934; cv=none; b=QujHKRd8/tk0eIhR3TgF/IdJDBs6X1ZUElrxlY4CbXgOjsCt19h4LtwmXnc7sJSdwkJM54Q65KbNsuBovHpuEudeGiuPYIacOUVSvTAVe1qrvSgw6qfqddz+sq/p1CdWPFhdlNPacTj5NiiOyzJ3ZWHU6rkzTbO1eprrH4oaN5I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428934; c=relaxed/simple;
bh=vXeTXdr0B9QOQoZjEzmtipvrdS/pdMRjTxQFNr/h+bw=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=nI2CP716IeJiWAdBfvrjaj2oXSaHkVSYIipz6KoZ5NnyrSFaYpdj5VD/T7i7pDNR/6Fr5W8g06Dhu3p8f826F9IADVrPsPzzd10zGcGxC8Zk1TUOoI/EJQGwyg+zQ/12iQCYfCA6zWSWwRqGsDpWa5RaT2LcxiBb6MpF69w/N+g=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=F6+4NYfu; arc=none smtp.client-ip=209.85.128.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-450828af36aso214935e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428931; x=1749033731; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=qdA/ig8nlywJbkEyEpBGSWcEGO8vU+oGS07oZJY25lE=;
b=F6+4NYfuriHoKe6R1qFQs8lZBUxyevcww/9Qiqn3VhH9ldruZf9cSzYsvSs0Pr6qSY
CQKV8ZTRYF0G9pw9E+2WEDQMCPgQGWb/NiVkiqx5+DtAcncTthz5Y+e1vl9XHqAqu0GS
4hV6wV0zRAskE0mlt/xzodZQHrWrigaeHvX0qQrAHTn77VNHsYC9+AE9n7LjZMbOpOPL
HxgcV6odM93DnsVb5qEOk4V4EP5w7gAU49y59oHEiAD0aG2JxANQQheEkErze/83wq0z
dzUfrIgc+c62ZJjg2uqbKSwtJy5zY3fhP8srpYX+hLlU373CSbsbhDQojZCEXM1OuGWz
lLJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428931; x=1749033731;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=qdA/ig8nlywJbkEyEpBGSWcEGO8vU+oGS07oZJY25lE=;
b=QSRaa5IK3Sdtm/7jRnlJ16+so9u5uroiFAlQ/QZ33jl8wCK1k+uPlsu2P4prc6XLAG
TVNCsrvskMIdtA7v1sZ1qOrBYnB3NVYvLFupqDvE3GA35ESdKCiMaKuby217pV20gFzp
tUpCdTLPp2KZw9Ylpn0AJicUaKnuKtZot2wymANf2oiTP/disGJ1JOlsffSZJyi0z+na
8ozKH7/5QKKktATqD2js3Xwzja98KnxCmNo1+IU4yMdiXtfEKzCteXR4vfP+9Ig5p07S
ghaAzioCKqVrXbvPtuwjKOV7uc+by4Z9MezMztO/VYM2G+L8VF2LIc/OxfZHCJTvOdUM
Lh0Q==
X-Forwarded-Encrypted: i=1; AJvYcCU2QZnhNcvi+coaWn/iyXpsg5Dj77Z/N8rtFBvT3QCR8sCuwazQ977rU48qBXfBFCwvCzlmc2AD3BNg5qw=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw+or8TLnPFFc5O/0QmVnah6bwfS/OrO7GDGxeI4tM+F+IKXbrq
rIGxx8MT+ay4cZcFaQfQFgFigpdoyxRWm3f0+v9ZO7SBvcDnbaqdJLZ9cfO0ihkxhpI=
X-Gm-Gg: ASbGncuOxGzg0ocJxMEA2pAtfYWjTvcLneMLYGEhirJSneLrVzLub0gQL98AsfsROmC
ObfK/3w6RZj2cXb1YssNulOd6ysIcaug5vQLG9+FbppgHUPnGMQiiDdGpxkQyPE8VIf6iJlEWYm
Z06TThqu9POqX8xL/FJ53YcphWw24nd/v7q/ailGjRpr+arqSCT+AUXzLMx5wfMtHWrdC8trfPS
VMSVyI2mjbiw5k81ITIGVY+e3wRY7A88QlVoOvTiBKE11Hr/ZGb4l1113fD4edzetBx4Fgo6kj2
jnhOPUeMz4XlVzu0+DrQmdZLWX5wuCcVgXylBWDf+zMQqykOER3tR6xjTvT3W8Il8JEDd8k/pok
VergNhw==
X-Google-Smtp-Source: AGHT+IHdcQ9yFIlwP3zJEBCO4eEnwvHp4vt7sag5E+m0p9zZBnLpwpM4OjjEhLuG3z+TywmxNPkmLg==
X-Received: by 2002:a05:600c:4f0c:b0:439:a30f:2e49 with SMTP id 5b1f17b1804b1-44ff407200bmr6539815e9.5.1748428930677;
Wed, 28 May 2025 03:42:10 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.42.07
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:42:10 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:08 +0200
Subject: [PATCH 12/17] pinctrl: max77620: Move fixed assignments to
'pinctrl_desc' definition
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-12-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1581;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=vXeTXdr0B9QOQoZjEzmtipvrdS/pdMRjTxQFNr/h+bw=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhT4xTFSLShiMHGrzurn8k/RWLwBOEg/kTfX
2gUx5kqw3WJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboUwAKCRDBN2bmhouD
119uEACKrgBEySfxytMKjgXas+UOwi3IzZ36tTWGAtahy8quwEaS8yKLMXGH3UR5R/xfiE/qxgT
K0j8KZQkSSoxJgxu/1dPpRloEO6KFrgMS1JNvrxc535yglaGGAF6dztV4S0X8Zw47lxNkSI3oCf
kmg6Jop17f+7Kjbsu3oNHrrdaoyBSECGDQxfjPrG1OK1828Xa1Gs20NH8vBU0CQOtNFmjAg4W1q
rCrbcRJkrSV7L68wgkZcewjkW+uCHpp8xfiuky/X+XA3LrnVkt3ZWvvtx5EVrBotsW3c605oGMm
aIh39HoF2i+U+c1KA9+kRRkUESeOM0m/NNik+1C01XMxfvb6mtTvGtL474OCtItf1zazpXvoj9T
ygvQC/oprYke1uID4uognq5UNn/OdoNvQJk6tbxBkAwR2epz1lboNXHXIe1MMdo+aFjl0220apS
E2bXflnrkOr9/PrUbwkSiJxaLcUHqAJCywLcj/t0mPNa791g/BPtMYNr8rDFfZ7XmZyrEPbEJKp
5XT8mZQD9JIEGYwbw0cQH/vz9kgOs7p47hN4UApEPGZ0HzG/37d9kmNp+Q9mNDbTUfAr5OPTT0V
Bv9d8JMKPn9VoDFIrtdM3+11ONR/OmTdCfKgP1pqzLvz0HwoQl9QvT6II0t/70s7GaWP8Umrwo8
X7EdXcYJodX39FA==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Assign 'struct pinctrl_desc' .pins, .npins and other members in
definition to make clear that number of pins is fixed and have less code
in the probe.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/pinctrl-max77620.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-max77620.c b/drivers/pinctrl/pinctrl-max77620.c
index d236daa7c13ebbcaf7c4a8d1a8bed751aa111c0f..acb945a2574368b2e34659a902c34df8aad193d7 100644
--- a/drivers/pinctrl/pinctrl-max77620.c
+++ b/drivers/pinctrl/pinctrl-max77620.c
@@ -543,6 +543,10 @@ static struct pinctrl_desc max77620_pinctrl_desc = {
.pctlops = &max77620_pinctrl_ops,
.pmxops = &max77620_pinmux_ops,
.confops = &max77620_pinconf_ops,
+ .pins = max77620_pins_desc,
+ .npins = ARRAY_SIZE(max77620_pins_desc),
+ .num_custom_params = ARRAY_SIZE(max77620_cfg_params),
+ .custom_params = max77620_cfg_params,
};
static int max77620_pinctrl_probe(struct platform_device *pdev)
@@ -569,11 +573,6 @@ static int max77620_pinctrl_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, mpci);
max77620_pinctrl_desc.name = dev_name(&pdev->dev);
- max77620_pinctrl_desc.pins = max77620_pins_desc;
- max77620_pinctrl_desc.npins = ARRAY_SIZE(max77620_pins_desc);
- max77620_pinctrl_desc.num_custom_params =
- ARRAY_SIZE(max77620_cfg_params);
- max77620_pinctrl_desc.custom_params = max77620_cfg_params;
for (i = 0; i < MAX77620_PIN_NUM; ++i) {
mpci->fps_config[i].active_fps_src = -1;
--
2.45.2
Return-Path: <linux-kernel+bounces-665313-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 381D241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:45:19 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id AFC064E4934
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:44:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 27DEF283FE2;
Wed, 28 May 2025 10:42:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="vViflLmX"
Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A920283FC3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428938; cv=none; b=AVa+ptsL2I6A/3k8bQam2Xh1QI6m3y1G8TJmzakhXbweKY7CMFbnDW8GhfEHn47HLgN/7fDP04VSrCl+kEEoZtgmr29GoamkvAyzQs77OZpTVpeQ8DfjlcibcrWAh0vJqFc5hvLHtHq8RYCvJif/Us9Dtqn7fkO3v9Nu+H/Pl6E=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428938; c=relaxed/simple;
bh=dTmy1ylBupLBEHMWc/Z23V5px0USEJlmCJKSN1EAvfE=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=rlfU5Xd2pl31rHHZrlOEyk5Sw4Q556afwUjOUdoY6Jz1Ji72JGem23FyrfMRE3bzUOHYwGFz5wFNFJNghhmMEo3o2nqrMiMrCtPGIYfXmt4ZodW6XGliNat3a0p+8UO3+cMjhODU+bpJjtviuS1rZzTCdoZkuIHIX8XLXhQl2ik=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=vViflLmX; arc=none smtp.client-ip=209.85.128.53
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-442f4d40152so5987895e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428934; x=1749033734; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=sCzXGrMy4mrth9Y9XnnMqTwemBq/IlPbQZ3QBo3OiYA=;
b=vViflLmX1qVnW6soV6rjSZBoJZrb7wPAxtn4e/EaVt8rJMDxqTzbwamgP6t7olJTNP
3q/xWMeH4fGdTSiODY+mbssXpR+UFTmjSQYt4ff2q/toKIHYSUjZ00Xh4JQabAA+n+fr
0Jj9aijMyyDCH8qzQTrKpq6VUbIbLCKZI6ZXs42kMV9/F8yFAOx5kpVluI3t0SAfs9r0
mvRUqBqhc51gN8V9dJAULkrK0y2A5oekKofRg9e8tHxjV+vEe1FgGEudp5fWsfWKUdot
f5lMY8nfEMQKx0T7UpRkPcqnQAQs3dftycmdOlVU8SUJkIzH62TVBoliAfnFWIHi/eAS
QAvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428934; x=1749033734;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=sCzXGrMy4mrth9Y9XnnMqTwemBq/IlPbQZ3QBo3OiYA=;
b=Xq3X6m7KAYjJe3oczhHVUH2y1s41QNdEKT6qw1mQwIgpeGmSEh85XYNWfiCZSk0bZf
3WYIEbGXvkhFXHS+N7Pk6nVptLVdlWxaUCbdhLoQz4QmA3BDLfhqC3qKNY0qEpERPDYE
MV07XAMuAcpacYBefgOxu+d6dwjC1qj4X0OSZKIkSKRbVrqzpOoCeWYG+DneOT3BeExZ
J2OamkAxX3ibaBAvy8lCnsHSS1jx1rY5+AKeJ6BE/KD58tbZL+Iad81xUMl5eQqV0eom
zRnI5jccvT7UnYoaIt5VbOdIZ2BS7G7ZCMZWTRmZX+Myp0/KqJTIzbVIuctGxPcgMH9a
NxHw==
X-Forwarded-Encrypted: i=1; AJvYcCVivYTO3mnNxt6cpodLjNXu/tbKaCPTvDZZ5sz6wJwacknNDyCa0RaDUmmvhYzY1G8UrxU/aUEVy6ocRCY=@vger.kernel.org
X-Gm-Message-State: AOJu0YwsCiH6N2TGXkLg8w0m+PtsIL6sGPO1NBRF0IvpcJtReTolOLmB
T61YEkMm9qEbR8Q7DIDmM4R/rwZTr1YxHqwWroIGlgnGerJ8wf4ARXWijcwmQ6kGTZ4=
X-Gm-Gg: ASbGnctmVMPTFi4/13hB/biz49pHJGJYVNmjePHJApjhQS1RqvtQsl1K1SVJqTCw+on
q3ilB2KhtDBUSjVw0ytdRfrkgj1R5GWI6g4ybKYxejm4qhCDf6t+edaxqPnRlZ7BDlmCNfVq86w
9//pdksj3IY6bYj0lPqE+qkXntS68gaW3lXHC8xpMDIX8R3i1FGN5tKLHmp2YdW/yLeb8HIfl3h
tUXtQthXSafnhMAw2gDxcL5EMuFcC7pe7Nnrh0AkB4LBrXI/SpAhKiMmr5AM0krKUCErc/NPC1+
KHzYWgTYuQmUp8kaH2YtFukjh4j/hSM4UX6OMry1H4lAdgNiCCWFwZeYjvP6hCnxHy4Tvmo=
X-Google-Smtp-Source: AGHT+IEezznZ4tc//+iyg9VgEejs2PqgHy+UHoiBZ9D2eixnIzEPRTC2rWF2EYyDVV6zOvpBJosC8Q==
X-Received: by 2002:a05:600c:1385:b0:43e:94fa:4aef with SMTP id 5b1f17b1804b1-44c93cae9acmr51123845e9.8.1748428933700;
Wed, 28 May 2025 03:42:13 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.42.10
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:42:13 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:09 +0200
Subject: [PATCH 13/17] pinctrl: palmas: Move fixed assignments to
'pinctrl_desc' definition
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-13-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1235;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=dTmy1ylBupLBEHMWc/Z23V5px0USEJlmCJKSN1EAvfE=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhUPwoRAjJQz5PFO5DfSHTMd24hsqTzRr2IB
0jOv1r3k8mJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboVAAKCRDBN2bmhouD
1ynAD/49mYORosdid1df8HmR8x/OWiv0Zm6goccLiqpVflRmzsFrLN+cLFMbhxRMl34fM3yuPci
b71Zx42gtn/VEKIdJ4nLISvF28thcNbAG/plhINy2OOwfUm060Kcfaafl/ZP4AiXH0q3u3BS5cs
fRHQErxwUgQBlHIgCJL61LeQp1Whs8/m3ImG8NPjZwnPdezu9Oczth6hm/aG0Og6NB4QdZkVhtO
5xyGBrnkXFjRo2HmrUPl2PTYkNrTEjBPv4EZH2uCaBsHPSd+ND4J/ajWESZ3Vh0wXEyzTcd3/jl
dCsZE4KBxpy/+gWzMFnXBN0HYTkqwqwVnkosUS0jsWofWTu/7iijgYxr0xF9ikcr3aYdlxgxGE8
kkh76EFKdrmG1NbdijJPiOC50b+vAChB+zRdWvfXUBnmWsm0/uJC0Z+ttf7Nxbq4uFdgZVfD95d
z6ZimmSBL0cf2VB2RBfUdZPPyT2hWvFdDUyrrSsugiugcfo/m1MciUEAKpSK2bk6d7S6K/ZP+Ie
ydztgCpY5oH2z4aXxETIgUcH2X5Zx4g5H+iwFhMME8VjfrLHe+T6xEeRsGvuWg4C7Ij2NMquouc
skaEKK7orgbEC9jAJSV1kP4K0sFWd0Zdc431k7p0EaxblWY7N6iELiPx21AVf6/XJYBh9eoI0r1
RBtd9sQPwZc6f+g==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Assign 'struct pinctrl_desc' .pins and .npins members in definition to
make clear that number of pins is fixed and have less code in the probe.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/pinctrl-palmas.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-palmas.c b/drivers/pinctrl/pinctrl-palmas.c
index 9e272f9deb4f8c49f91d2f09c2c100018a7617f8..d69f114e46426c345d9ffe7567a326eecdd91bb5 100644
--- a/drivers/pinctrl/pinctrl-palmas.c
+++ b/drivers/pinctrl/pinctrl-palmas.c
@@ -956,6 +956,8 @@ static struct pinctrl_desc palmas_pinctrl_desc = {
.pmxops = &palmas_pinmux_ops,
.confops = &palmas_pinconf_ops,
.owner = THIS_MODULE,
+ .pins = palmas_pins_desc,
+ .npins = ARRAY_SIZE(palmas_pins_desc),
};
struct palmas_pinctrl_data {
@@ -1023,8 +1025,6 @@ static int palmas_pinctrl_probe(struct platform_device *pdev)
}
palmas_pinctrl_desc.name = dev_name(&pdev->dev);
- palmas_pinctrl_desc.pins = palmas_pins_desc;
- palmas_pinctrl_desc.npins = ARRAY_SIZE(palmas_pins_desc);
pci->pctl = devm_pinctrl_register(&pdev->dev, &palmas_pinctrl_desc,
pci);
if (IS_ERR(pci->pctl)) {
--
2.45.2
Return-Path: <linux-kernel+bounces-665314-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9D67C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:45:31 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 226C31BC6C7A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:45:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 3853C27D784;
Wed, 28 May 2025 10:42:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="luhsUhrd"
Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 978F6283FDE
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428940; cv=none; b=Zu4l72TCRqEpWIwhwYbxfh9CQ3O86TutFYmIx9oBzcZOlGfcRb6HFfCWnDbwFZiqhQ21vxv6+KuuKEx9rE8JPtAvO712Ysa3JZTwmPGsYXlMJc7N6OevBOArrHWVFgIF/NCizyr4zDmT71FeiHiEY8ksFTJcATtpkGihSuENNUo=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428940; c=relaxed/simple;
bh=wdAVjz1g2LnOLK8YIe+sx2i+Wtxy0b2lB+2wyeAsJM8=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=i2bZbSUTMU/VrhME/3NdvWg2V0pv5LFvhKjZrEA5aHwnne0sDSwBaIYBpDPTF0xtYD1yYSZxT/GdRavDDv+9I3C8ee65V7EaAKGDl/TTpdPGBNanz47ix3pjsY8e4/n3U/3ohCRsBFAMDpcPm6PnqokrsGMBj65YTo6gQtu1lx8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=luhsUhrd; arc=none smtp.client-ip=209.85.128.49
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-44ff4081975so229785e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428937; x=1749033737; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=ubJ7uuc4KLABL05ikGhsnFP3O+LGDAGrddoVdCFQ7aE=;
b=luhsUhrdBZHFKjCtywDUoZ0jplpNyY/pi+6/XbH32+GQbZIjgOREtT7FVM/xBO1YV6
Ow6dVD4sN6EdEgqKW6RVMd8tV7N9Q+yf5ScSeYG4SCTk4cQ/GkUuL+WivkLMJEVol+iu
TPoxgAs7d/xbRlF+JY+wXcL/JueF/8mN35uB+JxfrDgYiUisXdFymMxHSV1t/EBUuFL+
CCn3bvEXOepWX221Aw9Dq0fvZ3DV+RCtsLV0sAlKYX5T4xa/KnlASzZw6Kk9VF7pgogK
EVuAoBxEd75RKgG2DTTGiOrgW2cEtsnZ4+DBNh86lOAEJvN6H8QaHxnD7uP1cWYD1cwt
pbtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428937; x=1749033737;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=ubJ7uuc4KLABL05ikGhsnFP3O+LGDAGrddoVdCFQ7aE=;
b=FBGThotgy0BLKeE/59zXQJXV4JJyuzVlvgl4G2qNrf1GdBoOJsBpmEFoXHV/ko+VTS
CMS+xI/j6bzQcZJIRct02N/6lEWp2DzUsvgNG0AQ3SooQMRrqOVjK7bAxNnMpkTxJJt5
YLK6j2T+Nqsl0neqPu7S1Z/K12BDNcMR4l/dShkn5RC+YSZJ5+7lJM/eUMcaBsxutmur
+U43XmhCzNNaSV5ZGQc6dZFCT6yGpWqhTPAgCrsy54lukDR0m6cH4zPQUBJR4gELE+yB
eMfGJZlFgWwt2Rm2XhGvM6UchkgXh8xBuHlArfOMKRdPJItIJqg7aNNWdGmhCo8byc89
vcCw==
X-Forwarded-Encrypted: i=1; AJvYcCUvI3w3Q9uPgHNXVDKN7t3RpC50iSfPlusrTxwO96FnxSLApYf4+t4jkB7hl6IoxikJmD9+65tJXeGw/wo=@vger.kernel.org
X-Gm-Message-State: AOJu0YwJkYT226QxHmR3ZhZaWMq5eJLm+GJC79rLNYUZmmIkS0HxtXr4
VRZrQh+80Vfmd30ormHI3ZL2dvp0XCMifeIul67RfAjYB83tyAFsTEZKNLun6PLnb6U=
X-Gm-Gg: ASbGncvlA+yd6c7+/fq5/XN6ZPd7QJY0T4874oHXDmNuIOChvsw7sm/OOu164Ndzrgc
lqBvSfn3XEkh9Z2QmlFI8YGgdpajSRYLNvuh+74dxdk12uMPd/NwSHe3zN2ONA5L6tMB9AnUj9Z
DjgWUnynBprflIH1oRHZe5kj4OvRvIyX9M8XLQn/fzpfe+frLq+frHSn0ekN28ciRQbi4S9w09q
gZbuJwIxuHiFMqmGHkC11MuS9ozSHGIAwuaxwIUqB+xL9TFeh3ulTrfu44qUNJAUDH2jkJu8UAj
vqHrpUjVg9O3sBV4aAW/09DHd5rpf5eMX4md7tpnf4tkv4eHUHq160mbyEStrMGUJPZYKQo=
X-Google-Smtp-Source: AGHT+IGUEkMw3AazYidVlvlcKxjjPcFl/fdYDePDntNbpwN9JsZRSDdk3Hds7gIIRpwHgP+c7VnBhQ==
X-Received: by 2002:a05:600c:511f:b0:442:e608:12a6 with SMTP id 5b1f17b1804b1-44c91dc9fd0mr51871135e9.1.1748428936730;
Wed, 28 May 2025 03:42:16 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.42.13
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:42:16 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:10 +0200
Subject: [PATCH 14/17] pinctrl: renesas: Move fixed assignments to
'pinctrl_desc' definition
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-14-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1221;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=wdAVjz1g2LnOLK8YIe+sx2i+Wtxy0b2lB+2wyeAsJM8=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhVOUmo7glA0KmdvgZw8r0O4XKNab7bHjew6
T+RsAWcuh+JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboVQAKCRDBN2bmhouD
12JBEACByGYIJrWmeVaNuGhfgErqLrs8juvgq1he1oiyCbsIYgTgEq+hkshpq5p167n8sAXxqs+
6iBVk16DcEYvSI0f8eCwat8zII1LkA4/ev5fMWjxd2Z3FzJswscCWFRIcarUCeBg5Ed+JZ9ZJb/
sN0DzMJHT590OM6XRyVM/p3h3tnUQvwdzoqV9s5W0m9+2com84VzLAOKGdwYycuo+JYsD5GJuCi
ueDuDOOW04JWSbUxMO5jxxZLXltdZb9B+y09j/dA+vEAU4rLYngyjux8/zx7evW5JMkCosH02FQ
s8fr+Qw8tSf0/SeZOU/aJeUXpYvGrvaQefJaFh4YdCEA+bAj6pyNvYMWsIfwWvWaE4uawUoQ5Gp
TJAyZt161KRilFdsJdPhEEcLzR1oML7mLl8Rx6++k0mb7HwaPoSudr64ZzDrwr/2o40pTX2dALR
xcX4+WF5UWmuN6JwMHP4Pe92IW5urSZ80lzzkkV0kNpzmkBRmr2RmLNe1hcbRvVAO3T7zQ1Ji2V
2O21d5pDtSNiPIS3BtOOFEf6m5aKJyk3wg64Ze7CTiqUj3VPHlbpMT0VrAMdmrjlY/4h/Xo8axA
Zo9kbbNMJl2+zQofVcJ2at2Y4TaN2qo9C6H5+FzFTRhJ9EQpHJdf8J7TMx2fib06ZHvXH+XMnBf
rJwlspjRton9X2A==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Assign 'struct pinctrl_desc' .pins and .npins members in definition to
make clear that number of pins is fixed and have less code in the probe.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/renesas/pinctrl-rzn1.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/pinctrl/renesas/pinctrl-rzn1.c b/drivers/pinctrl/renesas/pinctrl-rzn1.c
index d442d4f9981c908389407275522b936dbce294d3..fb874867dbfb9877b012988543ecbfd1bfb11270 100644
--- a/drivers/pinctrl/renesas/pinctrl-rzn1.c
+++ b/drivers/pinctrl/renesas/pinctrl-rzn1.c
@@ -680,6 +680,8 @@ static struct pinctrl_desc rzn1_pinctrl_desc = {
.pmxops = &rzn1_pmx_ops,
.confops = &rzn1_pinconf_ops,
.owner = THIS_MODULE,
+ .pins = rzn1_pins,
+ .npins = ARRAY_SIZE(rzn1_pins),
};
static int rzn1_pinctrl_parse_groups(struct device_node *np,
@@ -878,8 +880,6 @@ static int rzn1_pinctrl_probe(struct platform_device *pdev)
ipctl->dev = &pdev->dev;
rzn1_pinctrl_desc.name = dev_name(&pdev->dev);
- rzn1_pinctrl_desc.pins = rzn1_pins;
- rzn1_pinctrl_desc.npins = ARRAY_SIZE(rzn1_pins);
ret = rzn1_pinctrl_probe_dt(pdev, ipctl);
if (ret) {
--
2.45.2
Return-Path: <linux-kernel+bounces-665315-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3E6F241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:45:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 78B8E1BC7575
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:45:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 888A728469A;
Wed, 28 May 2025 10:42:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="DkOiqnV8"
Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B8C4728466F
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428943; cv=none; b=nSG6iGq8bzCC3OvFY5MNp8Iu/47iaM9pl5Yzd+buM1aVxzm+6AJGENuwCdkYINQTV33b92xky4AKMR69Rs5h8vWanJH1ecFCTbMAygyNTgOkhAKBdobCp5zdbVIylg+8rtzNqwGEtf3WEVp/B09I3OhxBI0REtYp5wMYQPhVEBY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428943; c=relaxed/simple;
bh=UtgeU3dDjW57LMOT846YXV02Tw4GcYGErdMblZiJj2Y=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=qnbPosROgOlC+v6SjV1ohlPNItBF0D3P/nrG51R2RVqgltN9azMIjMn12wm00n3Z5bWcCZGv7qLo1bcntgzy8wco43RqAfvMwrjAVMSfjzMTcdQwgcA2nzZuIRfVVHpUQszmFgA1bI3j+jVVwbE2zFaE4yHxEaBtrcSkNT/3O/0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=DkOiqnV8; arc=none smtp.client-ip=209.85.128.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-444582310e3so4550405e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428940; x=1749033740; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=k3Ze+vADApZQcXHHJvnQw5idboAhTO4ZZm7oXpqIyA0=;
b=DkOiqnV8mJAm63RT+K1Jbcy0EV3lXT/i9lMFVx++SEJI/GBeAwZQahL6ZsGeHmwB+F
Wc901a2FT3XbFJzLkGnqbszmI8Y4W3zLNr9ojrZOv6vTHSVMOtBolBW0DVvJotjnNJeF
WdTFqKLgocTugOYGicXJPGkIH4oK7NKHMVqJ0yrj0WeVeV2EC9cc5z8zrOSmxQVnYgYX
i0iz+ofTx7wPYzrvuEsOUYx/eJy9FaIEmi9hK0EbXClWbZtUMq0s6sPcT5FNhuFV6tq7
WwrPTMBr84E17zTQkiF3iOdm/m6B3EHUOteD7FhIFukQby+rVObUJFQ3n2yrlt+rYAuq
GMnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428940; x=1749033740;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=k3Ze+vADApZQcXHHJvnQw5idboAhTO4ZZm7oXpqIyA0=;
b=FzEuO8WIxaBJOAPfJpptHmmAlUSKfGJFBjf40xQ5K27jAgj7Z+dczBy1Y5r8O5mmeS
8VXI8OdGKAyTjcJEntbJlcEm7MXQN/Sff3ziogRyinw04NWMuoixkYiuSW0543g6dw1W
lrPjv/Y3ua4M2rcXcV+DUC5AqLKbLldAD5FnYvmcCFVVPETml+j7Kgqdsl4NNHq2Ufsx
gBzA/Bu7bUXdSCVZrbFhu+gjK+zMZ4UV3fl8ExthQeghs/OTCDAQP3MA78yU575huOEU
VCyqXkaSYXWVH7BgjGLxw4omBjB2FAZJKL/DYRfE29EMSIwUC5UBxEO/o051s3VZf280
QH6w==
X-Forwarded-Encrypted: i=1; AJvYcCVI8lB7AvkSDIsltECdRzye1e25yYUEN4cRc6U1KB+IporSvnBqIrmyvDhRdctq11SW03bHCGGikHZpITk=@vger.kernel.org
X-Gm-Message-State: AOJu0YxGMwQeMHLT5KavaaOgw73ncq/ElgxdUI2p8ARD9nT1tB/E8SNw
oRZ/pxG6gt/u3QycGhiMl8PHHcpFe6yKCmoo+q+zoCVcz5FI623BEvuu/yxmZYUUTgw=
X-Gm-Gg: ASbGncutpQ5RcjknxZaM/VGp7RuJDr85Q5NpcRIFkbmfdsrCpus+GyzRs+tiL7QN4rO
7D38nvR/qNm7AIaTOWbxeq3llJ4BUw7rvaJA2KjwKxqOxzNWQBcLgoKiHbWM+qPkwecBFFFGyBU
yQAt4cGCVOpzAMIjwP/tTJw+rnSLkNkOe3WycXwuO/u9uYuNjdoD3Fcml7y82ch3stz8QomzLmn
QKKDCPLfumVVQQjLsl3Cc/pNwpWNcXr2lzQDC9j1bWPGksNHS5xNb682Q16x/uQPCUH/ewawe0W
0/Ck0xW2/qfmYCIubqz1g7J5+sORjoAi6rdnhQ4rEc6RYK9K0HAB4DDNIWDwn/FJSTN/r3c=
X-Google-Smtp-Source: AGHT+IGOjiAalYWBzwElbSsmEX9f/2Y60O5w2k0gf1phaTpGJUJlpjPJvNra7B8bibqFA+SG8s+3FA==
X-Received: by 2002:a05:600c:1385:b0:43d:fa5d:2675 with SMTP id 5b1f17b1804b1-44c954e5abbmr50075875e9.9.1748428939845;
Wed, 28 May 2025 03:42:19 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.42.16
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:42:19 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:11 +0200
Subject: [PATCH 15/17] pinctrl: pistachio: Constify static 'pinctrl_desc'
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-15-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=1566;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=UtgeU3dDjW57LMOT846YXV02Tw4GcYGErdMblZiJj2Y=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhWkTbDlacFgpFnf1vgJHMFlUPFeOl/ORR9m
JSbFDyczmKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboVgAKCRDBN2bmhouD
10W9D/9xIbBzH6McgFf7kxs3Wz0pkjTxc7iD6YAhHueVZZd1gP4kz2jdB6oiJdWYbdcvCTsO0Jb
1M1uQI4Y+F5z9nhOIsSCZcbSEa8uYgf4mTdPeZejnHLZuN+XRE4q060VzMPM+0E5ffmjbSfdguv
jUGo/ReQL/VbQR3GL3x3Sq+TYjMsUO9HwZ74ot0fnqvUDfwONwxm9Ia8eDAmZA5wOjtSqLldzqA
nmcrMY8YYR++DoVRbPTLeb38zzchZ4+VQga+QK2Xjpm5Q2ybYvHN4lWRbyLvHLzodyGtm+9vfTG
jar0yvgxFJxSt43uUsQQD2kiMQ5Wo/A7Gkl/g1mAoDL86kviDaDexYqAL6QM34oxF62djx6jTYo
t1J67a9M34V59n3xE0FqQ/zITEuVNEP6mBzPXgRbusg8xO3mZGZyyCZFaz5TfC5GMy213jvzS2G
/BQbvzGMIvKFcEJltkEesVBc3dhPn4j3T53KxDzwq0XR8/qrHK/24e3XCpaCpkP47HtU4IkGhtt
LDzr6uOse1tliqhZHHOz+JMmqt+JgE2zu0h7xaqEXEV5JClvnbxo0LIz2LR0f7hnbRC//FKZpon
bEVmb4R9Sw2nd4OuvK7aG4+5drtYGMTyYELEOHkaxIcGob6OxTK6E/vhm3q31u90R4Dyb3LEcPB
i8N0zohII+TfZBA==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety after moving .pins and .npins assignment to
definition.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/pinctrl-pistachio.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-pistachio.c b/drivers/pinctrl/pinctrl-pistachio.c
index e7bf609609617d6af2f10a3df56c62e3bfe2dcd3..7f8b562c81c9cfd1ac3a0bd50018857450bdf609 100644
--- a/drivers/pinctrl/pinctrl-pistachio.c
+++ b/drivers/pinctrl/pinctrl-pistachio.c
@@ -1156,11 +1156,14 @@ static const struct pinconf_ops pistachio_pinconf_ops = {
.is_generic = true,
};
-static struct pinctrl_desc pistachio_pinctrl_desc = {
+static const struct pinctrl_desc pistachio_pinctrl_desc = {
.name = "pistachio-pinctrl",
.pctlops = &pistachio_pinctrl_ops,
.pmxops = &pistachio_pinmux_ops,
.confops = &pistachio_pinconf_ops,
+ .pins = pistachio_pins,
+ .npins = ARRAY_SIZE(pistachio_pins),
+
};
static int pistachio_gpio_get_direction(struct gpio_chip *chip, unsigned offset)
@@ -1474,9 +1477,6 @@ static int pistachio_pinctrl_probe(struct platform_device *pdev)
pctl->gpio_banks = pistachio_gpio_banks;
pctl->nbanks = ARRAY_SIZE(pistachio_gpio_banks);
- pistachio_pinctrl_desc.pins = pctl->pins;
- pistachio_pinctrl_desc.npins = pctl->npins;
-
pctl->pctldev = devm_pinctrl_register(&pdev->dev, &pistachio_pinctrl_desc,
pctl);
if (IS_ERR(pctl->pctldev)) {
--
2.45.2
Return-Path: <linux-kernel+bounces-665316-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4308041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:45:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 013E94E4A1C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:45:23 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0443727E7D1;
Wed, 28 May 2025 10:42:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Harnetrh"
Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEB5228469C
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428946; cv=none; b=rUdukZ9sS3OzhzCp/Cogid28+kT7PIwPs1Cr8fB5RoRnkHqGG2D879jiEdnZVwRgts8LF39Ozmkgq20g7R5K/eqAR9WiMem6Gepmeiqmj/eBb43QLuIi3z7bBMa3vUbnsfqqJjMR0EoZItOcL9BINhm0A29dgK32C+29hmWzvj4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428946; c=relaxed/simple;
bh=FISFGxFI6ivl2aBk332273LBBxMajRtCg3EQkjPO9iQ=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=szyM/rSDmUL0i+0xTT1O4/jgy/Kfeys2jvb1W0cUCQuC0BspAC76Wj354q6q5iqNhUsmXddDrKq/ofMWGd1/aWFiTrIIvjmOGyVrSMWLSvfGEJNPHiPYA5VsMZSlI07vVu4rl6MC88dk4f85NxuxjuCCigejHBfC0wefNBg04C4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=Harnetrh; arc=none smtp.client-ip=209.85.128.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-442ea0b3b46so4584705e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428943; x=1749033743; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=4B21sivAqyRHyleQii+S+1MjrB/LUMGhjJ1azp6RMvY=;
b=HarnetrhfSDdUpXATGCDxw086gmryAkDO8WGcBH7ssuJVcZvvOOW5ASQA/uZagBUN/
JisbAc/q6JxaXe1zhuDvmayHKBZDoP9fnnYwxRwIrBnLp10zI25DBHY77kjF+FZagmJO
5y69Pi6u/Zrb+Bkoh842N5iT3/RSevrM+5ocUtxb5T8Og1RaBufAyQtbAwLjLJ+35jAI
YQX+bmxjr4boEo1ILmMGt/Ro8aCkQ5aukSw5lnFqhl2Asx2nVapdLQ1xcbqEOLIIZZJp
AM/9tDx99vQGfENYWc8u1isyNKHbSfljVdKtb0V8kap13TUC7NXxBWRN88QE2zWGRhKv
7U3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428943; x=1749033743;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=4B21sivAqyRHyleQii+S+1MjrB/LUMGhjJ1azp6RMvY=;
b=E1j2k/brWVwF9zX1udF5EXjyoo6wxY2Qu/IrXr8iHRdkF7bC26bl2O4sSLonO0lAQj
qhqxdISJSoQAHJFN7cvdJn7+59jVzvUCnlOAtBinZchHu9TsB5HjcOfRIzGpwZDE1n1p
WHvH895Udb1rcO9Anv895+JgpyxWdb8grotV0QREFPchO76zMGGQjMYlf8uw8Ro+S08q
cAoYD+CO9mI8xYg69TXymGAlbLDnHjlPdViYGbwQ5HXT7I1QhJ45ewkLMmSQfyN6Bppa
hLPLWOdASrHxi56WODy0HLNVB5pVNELiwnsZrER7WZsDSH23sSor3dUNJb4f1fPo6mYm
ms4Q==
X-Forwarded-Encrypted: i=1; AJvYcCVtaJnXtUYIeoqRbm9v7G7BpmvSIHyv3/aKdiseUhaZn23JfZ6t9SQ5VzLb83NO79a2YSKxekn53O3bqvg=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy6sHpd/4TXjaX3efXtSB/VCRRGrr1U1Fz0wZ7vi8Q97wrNZCax
q+WaZJ4qhbpzgI0bDx1jvQOvS6uCwjh/ox9y7sKotAisplXnqu6lmWHTLcUiS+1C34o=
X-Gm-Gg: ASbGnctdug8UPnMVRg7gvr9akAtSiveVF2S/rAQd5UZrfXOQR5YnTuB4QLi7DQ/7IPw
tn0bzwH6M84/6ezR7IEhBX6JyewjnfLBc2ACuZCo0YNdPCasAyE1GYSN7dc9EaKEJkIX6Q+UQag
LNxqaNMIoxzEtjOZDvS7vSgTdpTHRBnddbaz5S+YsBjtHHE8mF/6nUr+8Xx5+Yuj9ZZ4ALhkhyl
a46eauPra1H1Idp8CKSGp3gzw3Bas7tW3Mrg4clrvm0hq8c1pxARWGfBp+d6RfHVhmRiD/OmPjK
wtRQU/E87XBdYlvQzoUDzkSziL7yvKt5raQ9lbfyqr4j6YFL+mj7Q6xPzKpgfW8h3Yah23FlOad
StVrJPQ==
X-Google-Smtp-Source: AGHT+IEfBgt/OAZgk34DHzADJ9MeUpb2UzYkszedaNq6ugoLGEzFfo92Ylbhl9rpzuKrpU1AY4Yb1w==
X-Received: by 2002:a05:600c:3588:b0:439:a1c7:7b3a with SMTP id 5b1f17b1804b1-44ff400feb3mr6125695e9.1.1748428942991;
Wed, 28 May 2025 03:42:22 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.42.20
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:42:22 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:12 +0200
Subject: [PATCH 16/17] pinctrl: Constify static 'pinctrl_desc'
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-16-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=7315;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=FISFGxFI6ivl2aBk332273LBBxMajRtCg3EQkjPO9iQ=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhWR1HX/YrtpvNkBi2iD8jQST5lI2EEHB0zj
SrEC2o+hnKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboVgAKCRDBN2bmhouD
19+5D/4mmaekZJ82wOBfpYAWiS6E6spZ+UpZObxwxpcq5602kak24kdFhIXJCHhfVQWlKOlpR4P
aPkN6d0ykMoFqFyaTF5+ujUGqgTGxqBGOsw421hcV8Y9fyM9C6/2KwjQxthekJmjZrn5mGrQ26U
oxiMyrcgJzLDzwjy7PSYYPyGjyPgpKfH7kAsNKKt3TS0dAxBQ3qvCxhut+44jtJcNlMM5F2Z/FO
nlzkrgkc6+bkfuMG/2HFdg4ZfMlVw4NK5c2utYaqfkA+pA8EXQM6a8DuJBzZYmagzKsmJ+61Qn3
H92/vgLUsSS/Ln27n4/KzgTgZwVxR9ae3ZCceU0NPvzGJIrEB5ymvf0VUSlpyV2uUJxIwP37Gjf
4UCeKgTV/CHPGJUcLZJGDg442wWVYJxnF1k1nWeNcegN98D3O2JL4gD6U8ZE8sr/iQGFwOopvAX
le7qdbu0q6FMeewfz2i8rEmWNX8NgfVdT3aVMk4WUEiIdz/L0+/NBpitJj3jqtW9bG5w7lc/l/g
rxbxLpRAJuh+/4I+z0M9/zQyAEFPI1Hh44EWt02t9fzLdlablOCE42Rx1Qq4J3QiZ3e8XkwuQEm
awAorN/VwMfcQy9rHHjG/ZNeRLpenzMe7+I8215pPy4oUGZjA/oOK1Zmuc93hxnrOXoGAOGjCGL
n2ZlFoefzDnmhHA==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/pinctrl/berlin/berlin.c | 2 +-
drivers/pinctrl/cirrus/pinctrl-cs42l43.c | 2 +-
drivers/pinctrl/mediatek/pinctrl-airoha.c | 2 +-
drivers/pinctrl/pinctrl-artpec6.c | 2 +-
drivers/pinctrl/pinctrl-bm1880.c | 2 +-
drivers/pinctrl/pinctrl-k210.c | 2 +-
drivers/pinctrl/pinctrl-lpc18xx.c | 2 +-
drivers/pinctrl/pinctrl-mlxbf3.c | 2 +-
drivers/pinctrl/pinctrl-tb10x.c | 2 +-
drivers/pinctrl/pinctrl-zynq.c | 2 +-
drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c | 2 +-
11 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
index c372a2a24be4bb80b1f2475ef8512171c8e1326f..e5a35b803ce66d247c5e5ad78e6677570a1add60 100644
--- a/drivers/pinctrl/berlin/berlin.c
+++ b/drivers/pinctrl/berlin/berlin.c
@@ -283,7 +283,7 @@ static int berlin_pinctrl_build_state(struct platform_device *pdev)
return 0;
}
-static struct pinctrl_desc berlin_pctrl_desc = {
+static const struct pinctrl_desc berlin_pctrl_desc = {
.name = "berlin-pinctrl",
.pctlops = &berlin_pinctrl_ops,
.pmxops = &berlin_pinmux_ops,
diff --git a/drivers/pinctrl/cirrus/pinctrl-cs42l43.c b/drivers/pinctrl/cirrus/pinctrl-cs42l43.c
index 628b60ccc2b07dc77e36da8919436fa348749e0c..a90beb986f5bb707c54552e1333802943a4b04bc 100644
--- a/drivers/pinctrl/cirrus/pinctrl-cs42l43.c
+++ b/drivers/pinctrl/cirrus/pinctrl-cs42l43.c
@@ -448,7 +448,7 @@ static const struct pinconf_ops cs42l43_pin_conf_ops = {
.pin_config_group_set = cs42l43_pin_config_group_set,
};
-static struct pinctrl_desc cs42l43_pin_desc = {
+static const struct pinctrl_desc cs42l43_pin_desc = {
.name = "cs42l43-pinctrl",
.owner = THIS_MODULE,
diff --git a/drivers/pinctrl/mediatek/pinctrl-airoha.c b/drivers/pinctrl/mediatek/pinctrl-airoha.c
index b97b28ebb37a6ec092360f8ea404dd67e6c43eac..ccd2b512e8365b3a5af0bb223329f39119bc7078 100644
--- a/drivers/pinctrl/mediatek/pinctrl-airoha.c
+++ b/drivers/pinctrl/mediatek/pinctrl-airoha.c
@@ -2852,7 +2852,7 @@ static const struct pinctrl_ops airoha_pctlops = {
.dt_free_map = pinconf_generic_dt_free_map,
};
-static struct pinctrl_desc airoha_pinctrl_desc = {
+static const struct pinctrl_desc airoha_pinctrl_desc = {
.name = KBUILD_MODNAME,
.owner = THIS_MODULE,
.pctlops = &airoha_pctlops,
diff --git a/drivers/pinctrl/pinctrl-artpec6.c b/drivers/pinctrl/pinctrl-artpec6.c
index 717f9592b28b51737e67aafc93664b1345511908..af67057128ff1e9e766b958fece9c71518c89081 100644
--- a/drivers/pinctrl/pinctrl-artpec6.c
+++ b/drivers/pinctrl/pinctrl-artpec6.c
@@ -907,7 +907,7 @@ static const struct pinconf_ops artpec6_pconf_ops = {
.pin_config_group_set = artpec6_pconf_group_set,
};
-static struct pinctrl_desc artpec6_desc = {
+static const struct pinctrl_desc artpec6_desc = {
.name = "artpec6-pinctrl",
.owner = THIS_MODULE,
.pins = artpec6_pins,
diff --git a/drivers/pinctrl/pinctrl-bm1880.c b/drivers/pinctrl/pinctrl-bm1880.c
index b0000fe5b31dfbcd6af6eaf0c01029f00cbd205b..387798fb09be51cabd5cb76e0d90a28b1d363050 100644
--- a/drivers/pinctrl/pinctrl-bm1880.c
+++ b/drivers/pinctrl/pinctrl-bm1880.c
@@ -1298,7 +1298,7 @@ static const struct pinmux_ops bm1880_pinmux_ops = {
.set_mux = bm1880_pinmux_set_mux,
};
-static struct pinctrl_desc bm1880_desc = {
+static const struct pinctrl_desc bm1880_desc = {
.name = "bm1880_pinctrl",
.pins = bm1880_pins,
.npins = ARRAY_SIZE(bm1880_pins),
diff --git a/drivers/pinctrl/pinctrl-k210.c b/drivers/pinctrl/pinctrl-k210.c
index eddb01796a83eb86c8c5bcf6788c999e8bf2926a..66c04120c29deccf53b21cbf8705f1d10c74ace5 100644
--- a/drivers/pinctrl/pinctrl-k210.c
+++ b/drivers/pinctrl/pinctrl-k210.c
@@ -879,7 +879,7 @@ static const struct pinctrl_ops k210_pinctrl_ops = {
.dt_free_map = pinconf_generic_dt_free_map,
};
-static struct pinctrl_desc k210_pinctrl_desc = {
+static const struct pinctrl_desc k210_pinctrl_desc = {
.name = "k210-pinctrl",
.pins = k210_pins,
.npins = K210_NPINS,
diff --git a/drivers/pinctrl/pinctrl-lpc18xx.c b/drivers/pinctrl/pinctrl-lpc18xx.c
index 0f5a7bed2f81b731714e3b65908df23f2ffdfd63..5e0201768323521754e7ecd27e878a81925c18a6 100644
--- a/drivers/pinctrl/pinctrl-lpc18xx.c
+++ b/drivers/pinctrl/pinctrl-lpc18xx.c
@@ -1257,7 +1257,7 @@ static const struct pinctrl_ops lpc18xx_pctl_ops = {
.dt_free_map = pinctrl_utils_free_map,
};
-static struct pinctrl_desc lpc18xx_scu_desc = {
+static const struct pinctrl_desc lpc18xx_scu_desc = {
.name = "lpc18xx/43xx-scu",
.pins = lpc18xx_pins,
.npins = ARRAY_SIZE(lpc18xx_pins),
diff --git a/drivers/pinctrl/pinctrl-mlxbf3.c b/drivers/pinctrl/pinctrl-mlxbf3.c
index ffb5dda364dc81808cfd5a168ce3f1e9f119357d..fcd9d46de89fb3e5215784109ba31b171fd15448 100644
--- a/drivers/pinctrl/pinctrl-mlxbf3.c
+++ b/drivers/pinctrl/pinctrl-mlxbf3.c
@@ -231,7 +231,7 @@ static const struct pinmux_ops mlxbf3_pmx_ops = {
.gpio_request_enable = mlxbf3_gpio_request_enable,
};
-static struct pinctrl_desc mlxbf3_pin_desc = {
+static const struct pinctrl_desc mlxbf3_pin_desc = {
.name = "pinctrl-mlxbf3",
.pins = mlxbf3_pins,
.npins = ARRAY_SIZE(mlxbf3_pins),
diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
index d6bb8f58978df1577db24f96c2174f47962b5520..2d2e9f697ff99b4209dda8d5511f478a18b26a21 100644
--- a/drivers/pinctrl/pinctrl-tb10x.c
+++ b/drivers/pinctrl/pinctrl-tb10x.c
@@ -735,7 +735,7 @@ static const struct pinmux_ops tb10x_pinmux_ops = {
.set_mux = tb10x_pctl_set_mux,
};
-static struct pinctrl_desc tb10x_pindesc = {
+static const struct pinctrl_desc tb10x_pindesc = {
.name = "TB10x",
.pins = tb10x_pins,
.npins = ARRAY_SIZE(tb10x_pins),
diff --git a/drivers/pinctrl/pinctrl-zynq.c b/drivers/pinctrl/pinctrl-zynq.c
index caa8a2ca3e681718fe213921deca8d130371b122..dcde86fed10db3e2dfebc19cb841ea7f63e74989 100644
--- a/drivers/pinctrl/pinctrl-zynq.c
+++ b/drivers/pinctrl/pinctrl-zynq.c
@@ -1143,7 +1143,7 @@ static const struct pinconf_ops zynq_pinconf_ops = {
.pin_config_group_set = zynq_pinconf_group_set,
};
-static struct pinctrl_desc zynq_desc = {
+static const struct pinctrl_desc zynq_desc = {
.name = "zynq_pinctrl",
.pins = zynq_pins,
.npins = ARRAY_SIZE(zynq_pins),
diff --git a/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c b/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c
index 27f99183d994dccb92aac81ca42228bdb9225e87..aeaa0ded7c1e5ee7f9c5e4113bfd208fb844ba7d 100644
--- a/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c
+++ b/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c
@@ -898,7 +898,7 @@ static const struct pinconf_ops starfive_pinconf_ops = {
.is_generic = true,
};
-static struct pinctrl_desc starfive_desc = {
+static const struct pinctrl_desc starfive_desc = {
.name = DRIVER_NAME,
.pins = starfive_pins,
.npins = ARRAY_SIZE(starfive_pins),
--
2.45.2
Return-Path: <linux-kernel+bounces-665317-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A8DF141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:46:08 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9AB0C4E2A5D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:45:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A383A28466E;
Wed, 28 May 2025 10:42:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="hZF/OfWg"
Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC0CD284B49
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.42
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428949; cv=none; b=QymdGJtr2tbccsDoHt6FulaWh9+9q23QyuZomRbwzxco99MeR0SJaN7JO4GT+QAlBYqUt5IuQjX40p/nhJVrAMq+vSOj3a1JHAF1WXH1U3iLxLJBBenVxe7KFZrKeUJNrtUiFrd6FDS9f30ntN7rm+TTeQP41tjo6eGAMH0BXnU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428949; c=relaxed/simple;
bh=aZiHVtAix4Bs7VFa47r9w+gaIOPFsTrPZZVeoeZFBbI=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=uqAWY+ktXddk2KNGphjrdu766+rglMt8HJ37nfj4M9My3GQosqDM069NcPoKgrtSSAG3arCUF0Jgn1zK3uwS2IoF/OnkdjSn9K+xdbevp14P+nnzAejJOfLpIUXuxZ1yU/IxJEz7kRCFlr+wxsv7nqRTZmgpv6I41N/7FOgf32w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=hZF/OfWg; arc=none smtp.client-ip=209.85.221.42
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f42.google.com with SMTP id ffacd0b85a97d-3a362e099cfso733067f8f.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748428946; x=1749033746; darn=vger.kernel.org;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:from:to:cc:subject:date:message-id
:reply-to;
bh=wvIZrAnHYUbgegc3KzvI7IvlrGTu2jq1NObvCezVWR4=;
b=hZF/OfWgiDHsJZEHrud44zYhYtnloSsHnCau96QeFCOvnXEXgLj4a12VyTxSCAm11z
N6oQ8koJ3ZnP8Ku5giMNrcY8pPyidl0PJuPILzUVpSbiCEIcHfZXXDVQrxzRsojwpETD
+R09V8wtE9uHZXCgLssg8todkWdxNY6vBOmmqenSidkbH7oFrattB1MsjFbYuJS/Fdyy
gIVCWCNXneazqGlBLC65swhWSZAwvbQ3I3kvCoYCckFFpi5lVxlTitLJnnuJRS0Ix8nk
sOUfo111r1jspmfRO6g5KbZOC9Pk/V1AEhyJkDAFaV1hTtFM1XHieblnho6lyLHB7rv/
TCmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428946; x=1749033746;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=wvIZrAnHYUbgegc3KzvI7IvlrGTu2jq1NObvCezVWR4=;
b=abCYZQPcTLy7mlhVTHColpUcYr/4QwbizkGHlEdaHtRmpCagNp0DseBdRRDvrhaBSH
fA6xcfh4KNaZyY+TXxQ1gLJV0aZ5SY14w/v3BImOfP1yqp38ktSo9EtlHVCLXInrqngW
oM+jAMNmubG/l+aBIaUox9rFTx5MYodctdmWc5eI0qWwyzqcdI9Rf2fVKKct2r8Kj5In
JkKpkbHKi02vmJXQ+B91msBguX/cmGJj0xljbqFDSQ2yZLmQ1iNNuhi2zu2qYbvPnx/e
YPDH7IfPDVzsBK1GznAC47OBxl9dWo96kIsHAge14vOuxP5YXqZR1nIjNf0QoJr15mGz
DXwQ==
X-Forwarded-Encrypted: i=1; AJvYcCXmaWwh3MG9zhkwUlIgDBow+itkb9H9R1nmRLPTynmqJQp9vx54KlX8kkk5qKPkCh4ebd6WyZx3G0xVtlk=@vger.kernel.org
X-Gm-Message-State: AOJu0YzQI3ceIHcgy6CPqc4LB9CQ04mLzeYqyfa4jPSJN93l/PFNpMoe
d8ssdOkHb5awFdbfbJ60MEXUtB6x5/OKQkIVrq0Ozu3vnePzBcItdstuwMGFg7GwBUg=
X-Gm-Gg: ASbGncsg593r3/m8Pm2M2yAhpqmGfDY92Gu4O9yYXhBALcBYRlLLOb82lVb7v4u8Wla
RtCYTISMffqOo8IcoqSQi2JhCHwMrQNcEpdWP1vtNCTbN2zZAeFYJxO78Doags6G1ge5toDVp8c
/fzp/DMCfJRyiUpFTPGLcJt31i/w2hByOyAjc0S2pPokMyn5LlF9TJOi2/lFLj2jpem9MbDcGrf
PJFM+7dxAmeuRuJcrcUAURW+K729MZV9IwQFRUP8ZpcCSz4vz6iRAVaH9Jn2tiBJcmXJcXnYQYS
KSykLvkCXc+N6Ml69Ow4CRWTdw32yyzLBYiDAhIA56lcdMQZQjM1xRoJ3IYZ1pdsGD0UQ7acGPV
1C7wVvA==
X-Google-Smtp-Source: AGHT+IFNlq9KlCXRCQr1+6Ymqq9Ne7A6NiNU48Hh7WmaFcskniRj1xewpQQJ+ro3UTKAzWuWhYjH7g==
X-Received: by 2002:a05:6000:2408:b0:3a4:d0dc:184b with SMTP id ffacd0b85a97d-3a4d0dc1c54mr4702445f8f.6.1748428946040;
Wed, 28 May 2025 03:42:26 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450064add8bsm17331595e9.17.2025.05.28.03.42.23
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:42:25 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:41:13 +0200
Subject: [PATCH 17/17] rtc: stm32: Constify static 'pinctrl_desc'
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-pinctrl-const-desc-v1-17-76fe97899945@xxxxxxxxxx>
References: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
In-Reply-To: <20250528-pinctrl-const-desc-v1-0-76fe97899945@xxxxxxxxxx>
To: Linus Walleij <linus.walleij@xxxxxxxxxx>,
Basavaraj Natikar <Basavaraj.Natikar@xxxxxxx>,
Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>,
Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>,
Avi Fishman <avifishman70@xxxxxxxxx>, Tomer Maimon <tmaimon77@xxxxxxxxx>,
Tali Perry <tali.perry1@xxxxxxxxx>, Patrick Venture <venture@xxxxxxxxxx>,
Nancy Yuen <yuenn@xxxxxxxxxx>, Benjamin Fair <benjaminfair@xxxxxxxxxx>,
=?utf-8?q?Jonathan_Neusch=C3=A4fer?= <j.neuschaefer@xxxxxxx>,
=?utf-8?q?Rafa=C5=82_Mi=C5=82ecki?= <rafal@xxxxxxxxxx>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
David Rhodes <david.rhodes@xxxxxxxxxx>,
Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxx>,
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>,
Lorenzo Bianconi <lorenzo@xxxxxxxxxx>, Sean Wang <sean.wang@xxxxxxxxxx>,
Jesper Nilsson <jesper.nilsson@xxxxxxxx>,
Lars Persson <lars.persson@xxxxxxxx>,
Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>,
Damien Le Moal <dlemoal@xxxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>,
Michal Simek <michal.simek@xxxxxxx>, Emil Renner Berthing <kernel@xxxxxxxx>,
Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Matthias Brugger <matthias.bgg@xxxxxxxxx>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>,
Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>
Cc: linux-gpio@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-aspeed@xxxxxxxxxxxxxxxx, openbmc@xxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
linux-sound@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxx,
linux-riscv@xxxxxxxxxxxxxxxxxxx, linux-rtc@xxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=923;
i=krzysztof.kozlowski@xxxxxxxxxx; h=from:subject:message-id;
bh=aZiHVtAix4Bs7VFa47r9w+gaIOPFsTrPZZVeoeZFBbI=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuhXAXetqzUvjtim1sn5fQnWeOfKvyrbA0k7X
0F7r4JYgYKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDboVwAKCRDBN2bmhouD
1y5gEACCSmP7bayECWKFTkwRKQ26DxhFqjfLlRRjLxFm5/ZteZr52oR68NuAqE5Oteaw0uuTlF0
AY7psL9i9caogUFyGEHFJLQoNlWHJx87dbPtNhMZbGpsCLwXVf9MNN9NM5+baphXdCKj68+Ffud
mc+WQUO8p0rqIbRViIvXBJ6gAx6Ilh7Q8yFzuoVIEAV6I9BDpcBgRtB0mqwZfNT1P01nvvfn/HK
0/jT3G9Vdnpc9i1iTCLhpNp/FZupziVL6jPzDf47eWUlT3HFPpaJJ0tYcLLFl85Bsb82X73rnKM
UBkCUre2kyXNDYjCNKOoZChLO04ZipNp38cUsCGyMOFi677HtzDsxz1RSX5Rbcbla1EOnS+6Zi6
wES2PU+vUxe+LvEjmBnfAnsp4Vv47qY8+rU+v+N/7L2UAOT/N9w0X38a93OxUVi8HaJ071gheJB
QCoBqlVg7+rjFK0nodd/1cYnU618gnyxlmtSWGKEOE1t7M+ApTiup2lOqvjt5YqTWangb8P6mI4
91zeGot+yAXPL2gIH1Z6qaPZGgJ8qD+xTXRdP2qbVHh+EYSYcb3iCINKLCkSmeAA113O5CegW0f
2YlveQzrIRHcqQzevdatgXRW8aDA6/KL/GFs07DAXEI2lUdBp+jh/3BAyA2S//my1rkpdfbhzcL
ONXQAendt+UGD9Q==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp;
fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The local static 'struct pinctrl_desc' is not modified, so can be made
const for code safety.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
Patch depends on this series - const in pinctrl core. Please ack and
this should go via pinctrl tree.
---
drivers/rtc/rtc-stm32.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/rtc/rtc-stm32.c b/drivers/rtc/rtc-stm32.c
index ef8fb88aab48a0edad19ae5872421815aa04fe46..d4ebf3eb54aa9e91c8e9f8254f571c53794192fd 100644
--- a/drivers/rtc/rtc-stm32.c
+++ b/drivers/rtc/rtc-stm32.c
@@ -393,7 +393,7 @@ static const struct pinmux_ops stm32_rtc_pinmux_ops = {
.strict = true,
};
-static struct pinctrl_desc stm32_rtc_pdesc = {
+static const struct pinctrl_desc stm32_rtc_pdesc = {
.name = DRIVER_NAME,
.pins = stm32_rtc_pinctrl_pins,
.npins = ARRAY_SIZE(stm32_rtc_pinctrl_pins),
--
2.45.2
Return-Path: <linux-kernel+bounces-665318-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 495C641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:46:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id A48D9161FAE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:45:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DFACA27F758;
Wed, 28 May 2025 10:42:41 +0000 (UTC)
Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DFCE027A47E
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:42:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.197
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748428961; cv=none; b=ACiEzAIVA6s6tKNZN1uTryfbSTqRbyCTB+PfvPbhwqfP+H5TtJqZ4cb4CWqTuDfjoIvkM9iDyn+XQuWLx41vGhYraqWwpJqQzcOIaIPZoFDZJA0TfL1ry3jHVDl+HCLpMu8bBF52mcm9UPLypuYbFqxx4xpWnd6UscZfbheA3O8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748428961; c=relaxed/simple;
bh=zBYGvX52BxLQ4GUMUxG0DeMTjGwYb+sctll/J9DgxZ0=;
h=MIME-Version:Date:In-Reply-To:Message-ID:Subject:From:To:
Content-Type; b=YMFxTQ3UphxafdAyYwKnlqf+lPbgZsBlnCtSM8oDYrWl2nQwwsblu1bjkcSylepftpiVLm6CO0wLb8OliNQ1NN9AOd7jWcodWfoXnoBoi52An5yeJGFGjc1KvYZLx1S+KLUdF2EzW39LnAx2l8M3MM/qRVCBWNmB9Za2YRbZ+fI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.160.197
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-47689dc0f6dso69566641cf.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:42:39 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748428959; x=1749033759;
h=to:from:subject:message-id:in-reply-to:date:mime-version
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=zBYGvX52BxLQ4GUMUxG0DeMTjGwYb+sctll/J9DgxZ0=;
b=K0R2LjWdDweP/OfILS8SDb30GMA0XlNez2HUW3/jFmB6uNdf/0vhg64bmwePw1IPLw
jQOgCKtgSVgZZbLkL9bSUroPTivPicv81cCtKLp/y7xjAaJbFoF61lBt86iqwSZ7EPQk
nbCvd+5aUqcoFbZEbh8mKB+8ww30llzF3pcpmzLGoA78WyUVNw/clUgDSmsR9CsSWdWR
f2iW8ODQBOBjpLlat5FgxanOT3tXy4imE9KoTuRE5R5r0jYHbXrxwAruC3peQjpFfOuf
LBx4vAQ8h5xqvZvvNGIxndMdYf+NDJCIQ3JKzyWPWqKPAU1byomwyEHXSH9APD6gYSV0
fbLg==
X-Gm-Message-State: AOJu0YzzV430YoB9kei2V9RMeBZdQGoxdiEux5NH1p5MZsMKBBh5NkGZ
+XHEBUZuPOsjD5I51Thr3CVqWG9k7yW+KNPK2Ai1syV/fHt4xr8Aw/jVXmhFEDWa3/ICBSMUYN/
uMk72RDx3tpeUEnkx830uWPb2bk8PRPiujrl4s4xKz5fAfu7jA5GRCh5I1z4=
X-Google-Smtp-Source: AGHT+IEtqZzFZF+GfIqick5XhzVBMJb/dxQqFWsZ6rI6eHYv8MoYbkLfZYQr+/i8rYJ4sXaWsNu31UkWdk5PzKF4ethPKeWFIZRE
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6e02:3041:b0:3dc:88f1:d88b with SMTP id
e9e14a558f8ab-3dc9b69523dmr186237395ab.3.1748428948206; Wed, 28 May 2025
03:42:28 -0700 (PDT)
Date: Wed, 28 May 2025 03:42:28 -0700
In-Reply-To: <681865d0.a70a0220.254cdc.0048.GAE@xxxxxxxxxx>
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6836e894.a70a0220.253bc2.00c8.GAE@xxxxxxxxxx>
Subject: Re: [syzbot] #syz test
From: syzbot <syzbot+0a36c1fec090c67a9885@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: linux-kernel@xxxxxxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.0 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
For archival purposes, forwarding an incoming command email to
linux-kernel@xxxxxxxxxxxxxxx, syzkaller-bugs@xxxxxxxxxxxxxxxx.
***
Subject: #syz test
Author: abhinav.ogl@xxxxxxxxx
Return-Path: <linux-kernel+bounces-665319-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EBBB741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:46:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 6D4F99E54E9
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:45:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 5D21D27C873;
Wed, 28 May 2025 10:44:54 +0000 (UTC)
Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6A59B27A139;
Wed, 28 May 2025 10:44:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=166.125.252.92
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429093; cv=none; b=Wh+dSU0Mr031tl8Hu4b3CL6xOaBhg6FqJbt4ZJgmH1p8JQv//pIMiG29O2sJnbJTVUY7AAaZPScsoby4tzJizpXr5B2nu2M+nkMl6IXzrEMaPAAq2LRDshDuaTT9SqrGtbxSl2X2YySsA8FP23hacIJnz/Y+qrwBJVqxns7F9oI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429093; c=relaxed/simple;
bh=dg5mHjTNFjh5HufNfUkk+9xtn8O5Kt5adGbR0I182mw=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=BXhDOjo2R/hM9JE4RjDR4oAENvvtb70WFxH9T869N/DLWL0fUhqC1+ClvqW4nVvdNSXzC2vRnD8QU0uuixreWxZLvKlAg6Si0UeCyfsa/o51AkYBOpylNVL7H3uunzYeuotWqOQSo/OsNeSnhpdE5wZuQARZ/wpy7o349Q1Kj38=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com; spf=pass smtp.mailfrom=sk.com; arc=none smtp.client-ip=166.125.252.92
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sk.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sk.com
X-AuditID: a67dfc5b-669ff7000002311f-12-6836e91d5aa2
Date: Wed, 28 May 2025 19:44:40 +0900
From: Byungchul Park <byungchul@xxxxxx>
To: Pavel Begunkov <asml.silence@xxxxxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx, kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx,
ilias.apalodimas@xxxxxxxxxx, harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx, toke@xxxxxxxxxx,
tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx,
daniel@xxxxxxxxxxxxx, david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx,
Liam.Howlett@xxxxxxxxxx, vbabka@xxxxxxx, rppt@xxxxxxxxxx,
surenb@xxxxxxxxxx, mhocko@xxxxxxxx, horms@xxxxxxxxxx,
linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access
page->pp_magic in page_pool_page_is_pp()
Message-ID: <20250528104440.GA13050@xxxxxxxxxxxxxxxxxxx>
References: <20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
<a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
<20250528081403.GA28116@xxxxxxxxxxxxxxxxxxx>
<06fca2f8-39f6-4abb-8e0d-bef373d9be0f@xxxxxxxxx>
<20250528091416.GA54984@xxxxxxxxxxxxxxxxxxx>
<b7efa56b-e9fd-4ca6-9ecf-0d5f15b8d0c1@xxxxxxxxx>
<20250528093303.GB54984@xxxxxxxxxxxxxxxxxxx>
<5494b37d-1af0-488e-904b-2d3cbd0e7dcf@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5494b37d-1af0-488e-904b-2d3cbd0e7dcf@xxxxxxxxx>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Brightmail-Tracker: H4sIAAAAAAAAA02SWUwTURSGc2emd6aVxktduErc6oJLXIPmxD0a441xjQ9GTdAGRlstYIog
IBoEjBELbiRiLVhRERBSU6UsqUYrIkbjUkUrLhhU1OAKWkUUpSVG3r7858/5zsOReE2BYqBk
iNkqm2J0Ri1WCaoPQQXjB72bpp/0+dB4sNpLMZz9kQhnXlQqwFriRPC1/YkIbTXXMZw84ePB
eidDgG/2nzy8rm0SobGwWQDXngoemvbXYcjK6OAhrbKIg7vObAXk/DzNQ0XqCxHuV1sxPC/9
o4Bmd5YANyzFAjRmz4VaW3/w3XyPoMZewYHPnIfhsMeG4WVGIwLP1SYBju3KRmC/5FVAxw8r
njuMXSh+zLEqyzOR2Rzx7HzRWJbp9fDMUbIXM0frIZE9fejCrC63Q2BVlW0cy0r/iNmX1w0C
+3SpHjP7hXqB3bLViKzNMXg5WaOaGSUbDQmyaeLs9Sq9q/wI2nIxLDGn+i1ORfmDMpFSoiSc
mluOiJlICrA3ba0/FshImtuex/sZkzDq9bYHuC8ZR1seubvqKokn7xXUvscp+Ad9yCZqbniD
/awmQFtqSzg/a8hugZrNS7vzYHrj6KtAn+9a+ivfw/u9PAmlZzql7ngITS8/FnApySya/r0z
sKYfGU4vO69zfi8lLon6PB/47vsH0CtFXuEACrb0UFh6KCz/FZYeChsSSpDGEJMQrTMYwyfo
k2IMiRMiY6MdqOtzCnf8WluJWu+udCMiIW2Qmp2bqtcodAlxSdFuRCVe21edNmeaXqOO0iUl
y6bYdaZ4oxznRqGSoA1RT/Fti9KQjbqt8mZZ3iKb/k05STkwFa2KvTY4JGle/sIIY8po3/JT
D3ZGXFXnPMFQSMpIxA7j8VHlM28rmz/FhxbX1oeEF3C5znup23NSNu7nIldvqHNd/mPEQcsW
Vo1Q9m4YE70g+LdryfTti8OS3QdxMrevkG5u86SElYlpIZrJ1Xm92iObp6yMXdHaOZ+JO4ct
GjpDqxXi9LrJY3lTnO4vwi9NpjUDAAA=
X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRjHec85OzuuFsdl9ZJoMQkh8xKYPNHND4FvSdIHIyrCRh7cSqds
KRoEXpPEaaZpzWkrzdSEhek2r9g0zS4kM2vdtOxqmWUX71rOiPz24/9/+P2/PBwtyxCt5lTq
E4JGrYiWsxJGErYlzddjKEgZMNuEwWCqYeH6RCJce2UVgaHajODn5HMx/OjoYqHs8hgNhofp
DPwyTdHwrnNQDAMV7xlozrTQMJh7hwVd+jQNqdZKCtpLukXQY84RQcHUVRosya/E0NtoYKG/
5rcI3tt0DHTrqxgYyAmGTuNKGLs3jKDDZKFgLLuEhXy7kYU36QMI7O2DDBSn5CAwtTpEMD1h
YIPlpK7qKUUa9C/FxFgbT25WridZDjtNaqvPsKT2+zkxefG4mSV3LkwzpMH6gyK6tBGWjL57
xpCvrX0sKfv4jSKmuj6G3Dd2iPe6HpRsjRSiVQmCxn/7EYmyub4IxbV4JxY0fmSTUalHFuI4
zAdiR+qhLOTCMfw6fGGyhHYyy3tjh2Nygd14H/z5iU2chSQczQ+LsCnTzDiL5fwxnP3sA+tk
KQ/4c2c15WQZn8Hg7Oywv7kr7r74duGenpfOlNpp5y7Nu+Nrc9zfeA1Oqy9e2HLht+G08bkF
zQreC7eZu6izaJl+kUm/yKT/b9IvMhkRU43cVOqEGIUqepOf9rgySa1K9DsaG1OL5p+j4tRM
nhX97A2xIZ5D8qVScmOTUiZSJGiTYmwIc7TcTZq6I0gpk0Yqkk4KmtgITXy0oLUhd46Rr5Lu
3i8ckfFRihPCcUGIEzT/WopzWZ2MvDWXfEOu4Kjz4Xz+wZChpliLcbz/cOGQjg3YF38rVLIk
ojjCc+190jDY4z+3y2fn7ddFSasCDnz6Hu63ufzR6SrfoZ7coC95LftHvfz7H4QWXppta21f
Yg07nRI8Uj4zfrc4PtBaFZGZYgk077WukKkfbaA8Ayuu7gnvq/zg4b3DLme0SsXG9bRGq/gD
47EkOBgDAAA=
X-CFilter-Loop: Reflected
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 10:51:29AM +0100, Pavel Begunkov wrote:
> On 5/28/25 10:33, Byungchul Park wrote:
> > On Wed, May 28, 2025 at 10:20:29AM +0100, Pavel Begunkov wrote:
> > > On 5/28/25 10:14, Byungchul Park wrote:
> > > > On Wed, May 28, 2025 at 10:07:52AM +0100, Pavel Begunkov wrote:
> > > > > On 5/28/25 09:14, Byungchul Park wrote:
> > > > > > On Wed, May 28, 2025 at 08:51:47AM +0100, Pavel Begunkov wrote:
> > > > > > > On 5/26/25 03:23, Byungchul Park wrote:
> > > > > > > > On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
> > > > > > > > > On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
> > > > > > > > > >
> > > > > > > > > > To simplify struct page, the effort to seperate its own descriptor from
> > > > > > > > > > struct page is required and the work for page pool is on going.
> > > > > > > > > >
> > > > > > > > > > To achieve that, all the code should avoid accessing page pool members
> > > > > > > > > > of struct page directly, but use safe APIs for the purpose.
> > > > > > > > > >
> > > > > > > > > > Use netmem_is_pp() instead of directly accessing page->pp_magic in
> > > > > > > > > > page_pool_page_is_pp().
> > > > > > > > > >
> > > > > > > > > > Signed-off-by: Byungchul Park <byungchul@xxxxxx>
> > > > > > > > > > ---
> > > > > > > > > > include/linux/mm.h | 5 +----
> > > > > > > > > > net/core/page_pool.c | 5 +++++
> > > > > > > > > > 2 files changed, 6 insertions(+), 4 deletions(-)
> > > > > > > > > >
> > > > > > > > > > diff --git a/include/linux/mm.h b/include/linux/mm.h
> > > > > > > > > > index 8dc012e84033..3f7c80fb73ce 100644
> > > > > > > > > > --- a/include/linux/mm.h
> > > > > > > > > > +++ b/include/linux/mm.h
> > > > > > > > > > @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
> > > > > > > > > > #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
> > > > > > > > > >
> > > > > > > > > > #ifdef CONFIG_PAGE_POOL
> > > > > > > > > > -static inline bool page_pool_page_is_pp(struct page *page)
> > > > > > > > > > -{
> > > > > > > > > > - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
> > > > > > > > > > -}
> > > > > > > > >
> > > > > > > > > I vote for keeping this function as-is (do not convert it to netmem),
> > > > > > > > > and instead modify it to access page->netmem_desc->pp_magic.
> > > > > > > >
> > > > > > > > Once the page pool fields are removed from struct page, struct page will
> > > > > > > > have neither struct netmem_desc nor the fields..
> > > > > > > >
> > > > > > > > So it's unevitable to cast it to netmem_desc in order to refer to
> > > > > > > > pp_magic. Again, pp_magic is no longer associated to struct page.
> > > > > > > >
> > > > > > > > Thoughts?
> > > > > > >
> > > > > > > Once the indirection / page shrinking is realized, the page is
> > > > > > > supposed to have a type field, isn't it? And all pp_magic trickery
> > > > > > > will be replaced with something like
> > > > > > >
> > > > > > > page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; }
> > > > > >
> > > > > > Agree, but we need a temporary solution until then. I will use the
> > > > > > following way for now:
> > > > >
> > > > > The question is what is the problem that you need another temporary
> > > > > solution? If, for example, we go the placeholder way, page_pool_page_is_pp()
> > > >
> > > > I prefer using the place-holder, but Matthew does not. I explained it:
> > > >
> > > > https://lore.kernel.org/all/20250528013145.GB2986@xxxxxxxxxxxxxxxxxxx/
> > > >
> > > > Now, I'm going with the same way as the other approaches e.g. ptdesc.
> > >
> > > Sure, but that doesn't change my point
> >
> > What's your point? The other appoaches do not use place-holders. I
> > don't get your point.
> >
> > As I told you, I will introduce a new struct, netmem_desc, instead of
> > struct_group_tagged() on struct net_iov, and modify the static assert on
> > the offsets to keep the important fields between struct page and
> > netmem_desc.
> >
> > Then, is that following your point? Or could you explain your point in
> > more detail? Did you say other points than these?
>
> Then please read the message again first. I was replying to th
> aliasing with "lru", and even at the place you cut the message it
> says "for example", which was followed by "You should be able to
> do the same with the overlay option.".
With struct_group_tagged() on struct net_iov, no idea about how to.
However, it's doable with a new separate struct, struct netmem_desc.
I will.
Byungchul
>
> You can still continue to use pp_magic placed in the netmem_desc
> until mm gets rid of it in favour of page->type. I hear that you're
> saying it's temporary, but it's messy and there is nothing more
> persistent than a "temporary solution", who knows where the final
> conversion is going to happen.
>
> --
> Pavel Begunkov
>
Return-Path: <linux-kernel+bounces-665320-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C1A4241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:47:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 0AD841BC720D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:46:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6A5CB229B07;
Wed, 28 May 2025 10:45:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="AcO+Xcvk"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3501A27E1C8
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:45:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429114; cv=none; b=mUEc3OzfAGpHYaIG0eXQqnzxwNT5+FjacJCIrMajWyVFUt62AnRxbaqirCG4FCAsoMqKwBG7QJr10gRAPbVQgovE3gjBIXCzLv/k8m6ofHgqE1Ygkl7SUsASe0X1DfrvfHtIcLpniYY4hbHfNWsm2InSk/jxyqfwaMTruQ6a3uU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429114; c=relaxed/simple;
bh=co/uBLSGp53c7N+mMpcb7E6STfbfEyBwA2pfzeCn2cM=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=dnThv7n0sIF3+WdcjYCW7L4W90QQfNMlJTq2sFguUIRNCvbltUaMFy1UC/JbKNgUuA+Cap924KLSbUnDkUxIthjSIFMpNu6T6A4GWgq8cd+9IZXkxMAapQLE+552KUmh/Eu94L17kmDbH7KW4SonCPmkXD8oYeowrgQz3EbxNY4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=AcO+Xcvk; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748429111;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=IE8zZqs9qBuIS+UhWEzh2HdhWYiIOXmhgGdM2au/NtM=;
b=AcO+XcvkgWRP38++G4lzAQul52c0UZQxvhXKDX8fIPWTjTEoP6dzhtfY2r0N1jQOdZaeir
aYEYB/Hg+U9w6+NzpQayY/3YDZmS+4Jn99ZRmOXfTHw3SI1eKsAd+Lm099o2YDAFkf+WTT
jSLc5X520gd/h9mdz5Ps7zJ/weC8oNI=
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
[209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-653-7ZV6SC5JPe-KOhik5X6mRg-1; Wed, 28 May 2025 06:45:08 -0400
X-MC-Unique: 7ZV6SC5JPe-KOhik5X6mRg-1
X-Mimecast-MFC-AGG-ID: 7ZV6SC5JPe-KOhik5X6mRg_1748429108
Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-43eea5a5d80so27508465e9.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:45:08 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429107; x=1749033907;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:from:references:cc:to:subject:user-agent
:mime-version:date:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=IE8zZqs9qBuIS+UhWEzh2HdhWYiIOXmhgGdM2au/NtM=;
b=w51sAHVw32l07Eb1fuCBbOdZ2+FcaT6QHIwwEePyg6DaskzxX3P39KCvWD3oAr9iwf
SwdOkTEzQ7CryuSkBlLP26JBaxMOWhuDb5N4PSUW3JnHZpeqaifYguYP9HXVV6nSf7fu
dzXt2bd/cFP9z0Lm315uWhMZqrdvfiVU2SPDEOopWTltW3nzjlttML9GCTr3dAoQz8fH
0si/sZKSiUlEyk3JGb6zCio82KnkCNJCn5NNFr4xfbzpaXUjRCnvmUYLpl0r1tz0UQ71
Ts0TYH3+JwhiMdvlqd0BdGKXznLiV451MZZgbnYa1IHWj7kHysHpvHf3p1jCmUxeaG+x
j3gQ==
X-Forwarded-Encrypted: i=1; AJvYcCVBQHNaw0OWYTQy/Cr5213ir1omAjkjjyjVDCLSwm2cCNctMGeen6xiBrqDZ53q3epjjpcng0YhNo4Li7Y=@vger.kernel.org
X-Gm-Message-State: AOJu0YyFZyqxAb2rk6PjVBcTsZtYWexGQcDA0T2V6gSN8IC41OYTFc3/
SuJ3LuNsYVQLwnqrwYEP0GeKGRLT9OPJcy6Ro4wlN9sPtI7uIDmtmh1i/1hi+k7MuoBWy9gvpYP
RC3i1EUhSgX3+5J9cIsFz0mmcKzwMGA9dzmCduBIT50dSTYBb4jnymL0u03pyypfE0g==
X-Gm-Gg: ASbGncu/rWNbXtUrq9BjBe4dwMleURuNmc0OK4D5jWfx4zmQpEhecTy/Wbp5tyO1g53
55GCK+IgVcImw/J4T1WLpzZvyH/sgLRhr3o9kZORsek/yTJUVYgJow0ecJKI5nQeF+zuarWkblK
aMymkrFWcvB086l5btPAEsFVQEP6bg4vr1jsVw1vSqzvaVMH4q7IL8j8mpG2Cp1LZNy/k7pt5f6
/OY1SuAhnWyAk82rM2zDpgEMh/CzGW4vuxLO02F8K+Vy/g6YJSjyFF+JufdaApSownqjkrXh99B
52nXcAyhn4rZk/fpYro3XcEpqvQL98IUruYAs0Z6Xw==
X-Received: by 2002:a05:600c:348d:b0:43c:e7a7:1e76 with SMTP id 5b1f17b1804b1-44c930164e9mr135342755e9.1.1748429107577;
Wed, 28 May 2025 03:45:07 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGqaM2F9y7Cz/Ou34Qp3QRxOSMXmQR7BVDBUFBfuKZ4r79nAuU1/Hi+bdNGUeCGQloNJ0UjLg==
X-Received: by 2002:a05:600c:348d:b0:43c:e7a7:1e76 with SMTP id 5b1f17b1804b1-44c930164e9mr135342385e9.1.1748429107111;
Wed, 28 May 2025 03:45:07 -0700 (PDT)
Received: from [192.168.3.141] (p57a1aa11.dip0.t-ipconnect.de. [87.161.170.17])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4507253bebdsm13854235e9.4.2025.05.28.03.45.06
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 03:45:06 -0700 (PDT)
Message-ID: <7cb7f23a-ce9e-4664-8083-deb73ed23da3@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:44:59 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] selftests/mm: add simple VM_PFNMAP tests based on
mmap'ing /dev/mem
To: Ryan Roberts <ryan.roberts@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Shuah Khan <shuah@xxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>, Ingo Molnar
<mingo@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>, Dev Jain
<dev.jain@xxxxxxx>, Aishwarya TCV <Aishwarya.TCV@xxxxxxx>
References: <20250509153033.952746-1-david@xxxxxxxxxx>
<232960c2-81db-47ca-a337-38c4bce5f997@xxxxxxx>
From: David Hildenbrand <david@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <232960c2-81db-47ca-a337-38c4bce5f997@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28.05.25 12:34, Ryan Roberts wrote:
> Hi David,
>
>
> On 09/05/2025 16:30, David Hildenbrand wrote:
>> Let's test some basic functionality using /dev/mem. These tests will
>> implicitly cover some PAT (Page Attribute Handling) handling on x86.
>>
>> These tests will only run when /dev/mem access to the first two pages
>> in physical address space is possible and allowed; otherwise, the tests
>> are skipped.
>
> We are seeing really horrible RAS errors with this test when run on arm64 tx2
> machine. Based solely on reviewing the code, I think the problem is that tx2
> doesn't have anything at phys address 0, so test_read_access() is trying to put
> trasactions out to a bad address on the bus.
>
> tx2 /proc/iomem:
>
> $ sudo cat /proc/iomem
> 30000000-37ffffff : PCI ECAM
> 38000000-3fffffff : PCI ECAM
> 40000000-5fffffff : PCI Bus 0000:00
> ...
>
> Whereas my x86 box has some reserved memory:
>
> $ sudo cat /proc/iomem
> 00000000-00000fff : Reserved
> 00001000-0003dfff : System RAM
> ...
>
A quick fix would be to make this test specific to x86 (the only one I
tested on). We should always have the lower two pages IIRC (BIOS stuff etc).
> I think perhaps the only safe way to handle this is to parse /proc/iomem for a
> region of "System RAM" that is at least 2 pages then use that for your read
> tests. This would also solve the hypothetical issue of reading something that
> has read size effects.
That sounds also plausible yes. I somehow remembered that mmap() would
fail if "there is nothing".
>
> I also spotted a few nits while reading the code...
>
>>
>> On current x86-64 with PAT inside a VM, all tests pass:
>>
>> TAP version 13
>> 1..6
>> # Starting 6 tests from 1 test cases.
>> # RUN pfnmap.madvise_disallowed ...
>> # OK pfnmap.madvise_disallowed
>> ok 1 pfnmap.madvise_disallowed
>> # RUN pfnmap.munmap_split ...
>> # OK pfnmap.munmap_split
>> ok 2 pfnmap.munmap_split
>> # RUN pfnmap.mremap_fixed ...
>> # OK pfnmap.mremap_fixed
>> ok 3 pfnmap.mremap_fixed
>> # RUN pfnmap.mremap_shrink ...
>> # OK pfnmap.mremap_shrink
>> ok 4 pfnmap.mremap_shrink
>> # RUN pfnmap.mremap_expand ...
>> # OK pfnmap.mremap_expand
>> ok 5 pfnmap.mremap_expand
>> # RUN pfnmap.fork ...
>> # OK pfnmap.fork
>> ok 6 pfnmap.fork
>> # PASSED: 6 / 6 tests passed.
>> # Totals: pass:6 fail:0 xfail:0 xpass:0 skip:0 error:0
>>
>> However, we are able to trigger:
>>
>> [ 27.888251] x86/PAT: pfnmap:1790 freeing invalid memtype [mem 0x00000000-0x00000fff]
>>
>> There are probably more things worth testing in the future, such
as>> MAP_PRIVATE handling. But this set of tests is sufficient to cover
most of
>> the things we will rework regarding PAT handling.
>>
>> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
>> Cc: Shuah Khan <shuah@xxxxxxxxxx>
>> Cc: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
>> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>> Cc: Peter Xu <peterx@xxxxxxxxxx>
>> Cc: Dev Jain <dev.jain@xxxxxxx>
>> Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>
>> ---
>>
>> Hopefully I didn't miss any review feedback.
>>
>> v1 -> v2:
>> * Rewrite using kselftest_harness, which simplifies a lot of things
>> * Add to .gitignore and run_vmtests.sh
>> * Register signal handler on demand
>> * Use volatile trick to force a read (not factoring out FORCE_READ just yet)
>> * Drop mprotect() test case
>> * Add some more comments why we test certain things
>> * Use NULL for mmap() first parameter instead of 0
>> * Smaller fixes
>>
>> ---
>> tools/testing/selftests/mm/.gitignore | 1 +
>> tools/testing/selftests/mm/Makefile | 1 +
>> tools/testing/selftests/mm/pfnmap.c | 196 ++++++++++++++++++++++
>> tools/testing/selftests/mm/run_vmtests.sh | 4 +
>> 4 files changed, 202 insertions(+)
>> create mode 100644 tools/testing/selftests/mm/pfnmap.c
>>
>> diff --git a/tools/testing/selftests/mm/.gitignore b/tools/testing/selftests/mm/.gitignore
>> index 91db34941a143..824266982aa36 100644
>> --- a/tools/testing/selftests/mm/.gitignore
>> +++ b/tools/testing/selftests/mm/.gitignore
>> @@ -20,6 +20,7 @@ mremap_test
>> on-fault-limit
>> transhuge-stress
>> pagemap_ioctl
>> +pfnmap
>> *.tmp*
>> protection_keys
>> protection_keys_32
>> diff --git a/tools/testing/selftests/mm/Makefile b/tools/testing/selftests/mm/Makefile
>> index ad4d6043a60f0..ae6f994d3add7 100644
>> --- a/tools/testing/selftests/mm/Makefile
>> +++ b/tools/testing/selftests/mm/Makefile
>> @@ -84,6 +84,7 @@ TEST_GEN_FILES += mremap_test
>> TEST_GEN_FILES += mseal_test
>> TEST_GEN_FILES += on-fault-limit
>> TEST_GEN_FILES += pagemap_ioctl
>> +TEST_GEN_FILES += pfnmap
>> TEST_GEN_FILES += thuge-gen
>> TEST_GEN_FILES += transhuge-stress
>> TEST_GEN_FILES += uffd-stress
>> diff --git a/tools/testing/selftests/mm/pfnmap.c b/tools/testing/selftests/mm/pfnmap.c
>> new file mode 100644
>> index 0000000000000..8a9d19b6020c7
>> --- /dev/null
>> +++ b/tools/testing/selftests/mm/pfnmap.c
>> @@ -0,0 +1,196 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>> +/*
>> + * Basic VM_PFNMAP tests relying on mmap() of '/dev/mem'
>> + *
>> + * Copyright 2025, Red Hat, Inc.
>> + *
>> + * Author(s): David Hildenbrand <david@xxxxxxxxxx>
>> + */
>> +#define _GNU_SOURCE
>> +#include <stdlib.h>
>> +#include <string.h>
>> +#include <stdint.h>
>> +#include <unistd.h>
>> +#include <errno.h>
>> +#include <fcntl.h>
>> +#include <signal.h>
>> +#include <setjmp.h>
>> +#include <linux/mman.h>
>> +#include <sys/mman.h>
>> +#include <sys/wait.h>
>> +
>> +#include "../kselftest_harness.h"
>> +#include "vm_util.h"
>> +
>> +static sigjmp_buf sigjmp_buf_env;
>> +
>> +static void signal_handler(int sig)
>> +{
>> + siglongjmp(sigjmp_buf_env, -EFAULT);
>> +}
>> +
>> +static int test_read_access(char *addr, size_t size, size_t pagesize)
>> +{
>> + size_t offs;
>> + int ret;
>> +
>> + if (signal(SIGSEGV, signal_handler) == SIG_ERR)
>> + return -EINVAL;
>> +
>> + ret = sigsetjmp(sigjmp_buf_env, 1);
>> + if (!ret) {
>> + for (offs = 0; offs < size; offs += pagesize)
>> + /* Force a read that the compiler cannot optimize out. */
>> + *((volatile char *)(addr + offs));
>> + }
>> + if (signal(SIGSEGV, signal_handler) == SIG_ERR)
>
> I think you mean:
> if (signal(SIGSEGV, SIG_DFL) == SIG_ERR)
>
> Otherwise your signal_handler will remain installed, right?
Yeah, copy and past error.
>
>> + return -EINVAL;
>> +
>> + return ret;
>> +}
>> +
>> +FIXTURE(pfnmap)
>> +{
>> + size_t pagesize;
>> + int dev_mem_fd;
>> + char *addr1;
>> + size_t size1;
>> + char *addr2;
>> + size_t size2;
>> +};
>> +
>> +FIXTURE_SETUP(pfnmap)
>> +{
>> + self->pagesize = getpagesize();
>> +
>> + self->dev_mem_fd = open("/dev/mem", O_RDONLY);
>> + if (self->dev_mem_fd < 0)
>> + SKIP(return, "Cannot open '/dev/mem'\n");
>> +
>> + /* We'll require the first two pages throughout our tests ... */
>> + self->size1 = self->pagesize * 2;
>> + self->addr1 = mmap(NULL, self->size1, PROT_READ, MAP_SHARED,
>> + self->dev_mem_fd, 0);
>> + if (self->addr1 == MAP_FAILED)
>> + SKIP(return, "Cannot mmap '/dev/mem'\n");
>> +
>> + /* ... and want to be able to read from them. */
>> + if (test_read_access(self->addr1, self->size1, self->pagesize))
>> + SKIP(return, "Cannot read-access mmap'ed '/dev/mem'\n");
>> +
>> + self->size2 = 0;
>> + self->addr2 = MAP_FAILED;
>
> Do you need to init all the params in FIXTURE(pfnmap) to their "safe" values
> before any possible early returns? We don't want FIXTURE_TEARDOWN(pfnmap)
> getting confused.
If FIXTURE_SETUP fails, we'll exit immediately. See __TEST_F_IMPL().
Note that all tests are executed in a fork'ed child process, so quitting
early (or not even having FIXTURE_TEARDOWN in most cases ...) does not
really matter.
--
Cheers,
David / dhildenb
Return-Path: <linux-kernel+bounces-665321-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2AA8341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:47:22 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 2D3611BC5489
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:46:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BDC8B27E7DF;
Wed, 28 May 2025 10:45:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="xX75Pjfl"
Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E63DC202998
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:45:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429145; cv=none; b=RThjkPqPpmFMgOcsVdEIynvcCB5GoI7jNofvNNQ2Zekxl37S5k8g9fQ+NU8Qqb3E0bSfySNEPzROo8SyAkcNR0pdg6fUcilHxvb2bmzK8J+v4y/TjDI+0DBG3TzhEtaeeEh0nVRXFtrk/2FOs874e1CCUgkoDlCIcwJpks6zuIE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429145; c=relaxed/simple;
bh=WNBlDSISNr5rKZ8xmsunf2YPelq9fQ0/mDnde8HKsf8=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=PZC5FiEKKafyvrjbKP+iC0lsN+N+qmDiRt8hKCiXB4FRIIw6gfUHJvVXnJcJKlACfSLb4JIPHtpuQMFKdHLDP2YnsXCg4E9rpcAYHBYbE+Xk/rBDI3B9w2nj0/QjooRSl7Yc/XEKu4my3/+xUz7ZTbDEc2oECuAj2fBvFwTiHy0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=xX75Pjfl; arc=none smtp.client-ip=209.85.208.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-602b5b4c125so896148a12.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:45:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748429142; x=1749033942; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=MtDcxZbG0zU13QY7UbKwVwW+Mbm4F+j186r81Car6U4=;
b=xX75PjflHJOj8CtgjmUTqMs/ychFP5QEu57v85bYvmY44npb4aLozHzL+jFTnF3Xko
Y9LCL7vzQmLmQcgcl/A50qsLv+BpkFcG/MblOMbvtd+/nbr68814P3hC2mUVDsnkTSIe
YUY6SAPFbCKaXgQyzHvGlcij+cPV2eIO7Z1nE4Nw+jZZibVkoeoXyTJQ7USUMQaltrqH
omd7HKpMuxzqhCoWLsHMqwrW7mIQfY5AbEPFmyW85aeT//RcoypDlhdK1FFED1W5JieT
9qI/hzn7G9uptR/KjwivzzaBHBQgpX0sfL9vLBJRT0CI0Vpcf77QXfhrOCPr3dLEXjgn
uK5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429142; x=1749033942;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=MtDcxZbG0zU13QY7UbKwVwW+Mbm4F+j186r81Car6U4=;
b=W9xnLQxzrx5hg93QRoReTBc7rnBK8bqPAnkYSokq2B7/mvFq8DJlA0HW+5Sx8dvtXD
+WW6h1Aq9BwohJfbmBCX+NwL85Dbef+exO96App4Q1bbdiGYMP1gDUyxkJcZrM/qjQX0
sFySmAUnkupn/0CYhb4L+MbNzdAkfD6ID+fMkDfORhNAJis3VRb8aJi2r6wwC2dW4Oa1
+bWEAJeZ/cxYFS2kaMCle+9rczO2n+WADyfOiKsoN617KVUsZGScobEZpUhNBAt/jkMD
wkgWr2ifDHNgVwzV3rO0Rb2gV0Bfq4BU92QOJJ1KQR2RS5g//1wKEQAZmQzT8Gmh0fnR
elMg==
X-Forwarded-Encrypted: i=1; AJvYcCWZat1Xs4OucgopuPRrKwMbz2y4WpTHk3AvWjV2Nz+HtNztgU1DbBg3mGDaK9pWN/6OT7KhN5Zofkz2G8Y=@vger.kernel.org
X-Gm-Message-State: AOJu0YzFkYrEGJGZAs1UmjgifNFpljNoMZFadoIA+rYe/VMwBEbrC8F+
hY6THWDBChCgNxdMBYl7ooXJLe6YXQJlKMqrZ0uS8hFX9RXkyk8OyapX1NWsKsTuXhlM2hAJbhl
H0wgI
X-Gm-Gg: ASbGncsB/q3JTZfcZ19ZaeAF7AUH5ErcSIIX21gbpK2PTyjbYtt9bOiHrJJUtHuDlWq
0GYPMeSUSNEmoP+RQnICBcq2Mlz6h6VTKY8k/uT/sUsBUMDnxJ9fT/AqbEShgPLAQUw3cb6PBjt
ebo+vqDeAFoL1ssUTwYWz2YpHFNGiPIGSOlTN/PuwOWli9AHDDzM6myf9u6cdcKaI/IP8gaLoGD
V1GATxt0wckfv52GpbvGAY2uxL4wVJPRW6N0j/YsQfOgApLWi/hxTxIo85yVQ+3iI16TmUPJvCs
sQCi0oHp4QsS5G6kLPJ7uu9k53eV+Omm6Kp/zUntYDBr7qStIMa09b8+CySUjQ==
X-Google-Smtp-Source: AGHT+IG8X9g0RKfdSK4PqNdy9GQldoxC4TaqYDMdsaCwuPIFrydbyErQBIHxXyGaX56fRVVumDyFvw==
X-Received: by 2002:a05:6402:40ca:b0:600:7698:f79 with SMTP id 4fb4d7f45d1cf-602d906683dmr5286829a12.4.1748429142217;
Wed, 28 May 2025 03:45:42 -0700 (PDT)
Received: from kuoka.. ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6051d5f2375sm608858a12.23.2025.05.28.03.45.41
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:45:41 -0700 (PDT)
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
To: Emil Renner Berthing <kernel@xxxxxxxx>,
Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>,
Linus Walleij <linus.walleij@xxxxxxxxxx>,
linux-gpio@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Subject: [PATCH] pinctrl: MAINTAINERS: Drop bouncing Jianlong Huang
Date: Wed, 28 May 2025 12:45:15 +0200
Message-ID: <20250528104514.184122-2-krzysztof.kozlowski@xxxxxxxxxx>
X-Mailer: git-send-email 2.45.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Developer-Signature: v=1; a=openpgp-sha256; l=2173; i=krzysztof.kozlowski@xxxxxxxxxx;
h=from:subject; bh=WNBlDSISNr5rKZ8xmsunf2YPelq9fQ0/mDnde8HKsf8=;
b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBoNuk6td3utNc5lFqBWmZW/WBqH9jaO2wpVyO2O
GKz7A2M5quJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaDbpOgAKCRDBN2bmhouD
1wTjD/9QOyX2QXQ1eQS3zCI3JIVMUBVm1xZ5KMkDyjdtLd6hUXBleXXqibnWUXqr+1kS7t03yy2
kaOVZ2448OwaTRz/BhSFAR/Np6y2Hzop7z7kMjW4IyIVqa0w6HN5jy7Pmo1KQz2zUdmWQpdVS+R
mO6KwrBKYrTEeuT0xr2BpKfnfsW8ZHiWjPMBungKLIbLGh38EIOvFKB15GlZY5YBq1eh3opR+CL
Ubk4DL24a65NJKA9zDZ77sVMPY6NU77a/bnWopY0To5b3074+g/KhmfCd1AqM0McZtuJ4Ih4mjG
a76cDBfpf/03S3e4dUc1hh7lyfGXE6i0O2/NZSbsBujJEs7B0yT4283/ZiIXYHP1M5hJwomIWqp
cppfKKypfrcEN5AjqEwl6SgFB+BFx0xMxDR659UgkyTk+4d7J3Qcq6EbyURrjRQK2Tz0U48HkY5
4pP2C2KHeUqQwX2rcq1WMuRZumxPF5RJgjN5+rVP2Bix1fT8Gyrb6Dl5FjPwSucRrjhM4w2D3jw
nzblSuUS8JO+epx3jnjlnXH31Uqrz1+oAF58anmVIG5Gxpxzkt3YCWtw3Oa3AzHW2v7nyxwzOpR
Z/2icDAjLMkglMOuemUlY/LpmrZgwqTtIcNXRvUC7owHzq/j/jVfr6NTnFEeC64TPJ/Naex52ql wPWFfMLEFt0C0Qw==
X-Developer-Key: i=krzysztof.kozlowski@xxxxxxxxxx; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Emails to Jianlong Huang bounce since 9 months, so drop the person from
maintainers:
550 5.4.1 Recipient address rejected: Access denied.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
.../bindings/pinctrl/starfive,jh7110-aon-pinctrl.yaml | 2 +-
.../bindings/pinctrl/starfive,jh7110-sys-pinctrl.yaml | 2 +-
MAINTAINERS | 1 -
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/pinctrl/starfive,jh7110-aon-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/starfive,jh7110-aon-pinctrl.yaml
index b470901f5f56..4dbef86bd958 100644
--- a/Documentation/devicetree/bindings/pinctrl/starfive,jh7110-aon-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/starfive,jh7110-aon-pinctrl.yaml
@@ -15,7 +15,7 @@ description: |
Some peripherals such as PWM have their I/O go through the 4 "GPIOs".
maintainers:
- - Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>
+ - Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>
properties:
compatible:
diff --git a/Documentation/devicetree/bindings/pinctrl/starfive,jh7110-sys-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/starfive,jh7110-sys-pinctrl.yaml
index 222b9e240f8a..e2a25a20f6a6 100644
--- a/Documentation/devicetree/bindings/pinctrl/starfive,jh7110-sys-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/starfive,jh7110-sys-pinctrl.yaml
@@ -18,7 +18,7 @@ description: |
any GPIO can be set up to be controlled by any of the peripherals.
maintainers:
- - Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>
+ - Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>
properties:
compatible:
diff --git a/MAINTAINERS b/MAINTAINERS
index e20de38ffa54..29545231f5d5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -23628,7 +23628,6 @@ F: include/dt-bindings/clock/starfive?jh71*.h
STARFIVE JH71X0 PINCTRL DRIVERS
M: Emil Renner Berthing <kernel@xxxxxxxx>
-M: Jianlong Huang <jianlong.huang@xxxxxxxxxxxxxxxx>
M: Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>
L: linux-gpio@xxxxxxxxxxxxxxx
S: Maintained
--
2.45.2
Return-Path: <linux-kernel+bounces-665322-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9D7D241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:47:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1BDCC188512E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:47:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DB59D21322F;
Wed, 28 May 2025 10:47:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Ol2tJsEy"
Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B7AA279796
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:47:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429239; cv=none; b=acVKHgE5HAjT/JtkMLTtObml9ORuQvTw5K4ysCbkCjsrsSx8ZzGdijecDmCs2ZTVvmh3xI9wuLodS27C9QDPaP1c/zz3/5MV96lnaXeTHnngiBj/OOL6yVlwTugWu00M3YOmLTyiuw/66sbc3910ud2AcWacxTGJT2XFa6n3OC8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429239; c=relaxed/simple;
bh=4JAIloCGROmw8RqSeSc6609mQLhycM753L10JAOfvMo=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=rGZrcB4nfHr3nkdrU+rbSqK0pCrvtosaDAqIEs9JtSI4FlvImrs9CeD5/rON6rCPlZ9sTEebj59DhQD+UPy+5aLD3ZCAtv2/JQfYT/L5HDcTIUB27ZZoPw3x7ZyFfHS3DfGIvCSr/dmv723Ng+8UkqPVO7hWyOzmtVuIa9lxxYI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=Ol2tJsEy; arc=none smtp.client-ip=209.85.128.73
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com
Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-450cb8ff112so1458965e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:47:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748429235; x=1749034035; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=LjqhyajdJYKwDqK1rYEUecgF3iQn80xMPzv0hJ7BRlg=;
b=Ol2tJsEyHTZ87XerQ88q7RZTzdRQ9E//zNiq/kGnch9V7Zn6iAJo5tAMK9huTnYCm8
wEawGzaGrvc0IWJ4acPoukia+AmqM+kOWud45jgN3mF422bQVg0wKHVjDNVOD/R3imhL
ar7dsa4JPR3rEd/eKlyR4bWg0qGgkZME8EdhErTrE72GYCOeBFnthhMLLtnE0yVD6FHJ
SLR0zuRmwUY3pJSSo0P/XzhLLU+C+0xIL6r0Pz/02D9gv5lJpA1sUkMESH+edlXtnKSD
jc3M9KIqdtpY49+l8ZLl9V8wjkWW9wjGwDbf2ZkskAnDlU5ZdXekjM8o+Iw3cilnMrsS
3mMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429235; x=1749034035;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=LjqhyajdJYKwDqK1rYEUecgF3iQn80xMPzv0hJ7BRlg=;
b=pfdo/vhbMKxgXZhueyYhZ7t/3VkyklnjQaFL83ZGaiox08nFrJuTETUyaVOaKqJjhg
pR7pFoAjM5+HpsEHUgzgaEOznb2GKtY0rvXGxw5HMog7rDbz6GxItnCilSIYDWvn0uTl
LLJSjdg+sm9KFmRZ9bQCT/azE3o9QAViBAovpRvmg25hbioEU1YcaZJ28ntzMmCB2N6L
fNnmq6W2ORfTozGpuwykZEcqzexbAEIgdXOWmwW3Ga10SLBiHxAj0SqvmwrSgn2gGMZk
p9m2UGs2wvyXwONlC8oxEvahAuIRE8agOEVw+km+5Oyf8S874zecGzVAPXk6NLLhH5Mo
e3OA==
X-Forwarded-Encrypted: i=1; AJvYcCXMGfKIFnSJzkaz5fkmX8/8W4M4OqDX6cM9h1qpLO64bjDAMG8JrXtQQcqbvcUAabaP2AbDueWM4i/lpxA=@vger.kernel.org
X-Gm-Message-State: AOJu0YxBfYp5IfnKRFW6izVMCF+kGiKIFvQuV5RZ+UnR8do1r+PvQYFl
W/nmiK9bHZ/f5YCtKJPDcZXCHv39tdU1QILoJhJL+aN41haMmPoWlGt5EZoAcRw0OHEmulwXkpG
2VbvcYjljN2BirGKHgA==
X-Google-Smtp-Source: AGHT+IE+opBHokkVpdFQ5IoCIRLjKWUCarl4R8LN6fOCasflCO70IXIp/1PAEYCd3I6TPAjKvNgZbGswp299YFE=
X-Received: from wmqc17.prod.google.com ([2002:a05:600c:a51:b0:442:dfbc:dc3])
(user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by
2002:a05:600c:5396:b0:43c:fe5e:f040 with SMTP id 5b1f17b1804b1-45077e36cc8mr14321085e9.23.1748429234963;
Wed, 28 May 2025 03:47:14 -0700 (PDT)
Date: Wed, 28 May 2025 10:47:12 +0000
In-Reply-To: <20250527221211.GB2023217@ZenIV>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250527-userptr-newtype-v2-1-a789d266f6b0@xxxxxxxxxx> <20250527221211.GB2023217@ZenIV>
Message-ID: <aDbpsB3ayj6tFfbI@xxxxxxxxxx>
Subject: Re: [PATCH v2] uaccess: rust: use newtype for user pointers
From: Alice Ryhl <aliceryhl@xxxxxxxxxx>
To: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Miguel Ojeda <ojeda@xxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
"=?utf-8?B?QmrDtnJu?= Roy Baron" <bjorn3_gh@xxxxxxxxxxxxxx>, Benno Lossin <benno.lossin@xxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="utf-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 11:12:11PM +0100, Al Viro wrote:
> On Tue, May 27, 2025 at 01:53:12PM +0000, Alice Ryhl wrote:
> > In C code we use sparse with the __user annotation to detect cases where
> > a user pointer is mixed up with other things. To replicate that, we
> > introduce a new struct UserPtr that serves the same purpose using the
> > newtype pattern.
> >
> > The UserPtr type is not marked with #[derive(Debug)], which means that
> > it's not possible to print values of this type. This avoids ASLR
> > leakage.
> >
> > The type is added to the prelude as it is a fairly fundamental type
> > similar to c_int. The wrapping_add() method is renamed to
> > wrapping_byte_add() for consistency with the method name found on raw
> > pointers.
>
> That's considerably weaker than __user, though - with
> struct foo {struct bar x; struct baz y[2]; };
> struct foo __user *p;
> void f(struct bar __user *);
> sparse does figure out that f(&p->y[1]) is a type error - &p->y[1] is
> struct baz __user * and f() expects struct bar __user *.
>
> It's not just mixing userland pointers with other things - it's not mixing
> userland pointers to different types, etc.
>
> In practice I've seen quite a few brainos caught by that...
We don't currently have any way to perform that kind of pointer-math on
user pointers, nor do we have any users of it. I imagine that this type
checking is only useful if you can actually perform pointer math in the
first place?
Right now, actual reading/writing to userspace is done via the
UserSliceReader and UserSliceWriter types rather than directly on
UserPtr, and UserPtr is just the constructor for those other types.
There is already some means of type checking on UserSliceReader and
UserSliceWriter, so I'm inclined to say that this is good enough.
Of course, if we ever add a way to do pointer math on user pointers,
then they should have a pointee type and hence also this check.
Alice
Return-Path: <linux-kernel+bounces-665323-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B5F6341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:48:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 7429C1891F8D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:47:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1AB6B27A12F;
Wed, 28 May 2025 10:47:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GgH3ylZs"
Received: from mail-vs1-f44.google.com (mail-vs1-f44.google.com [209.85.217.44])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8B0BB21420A;
Wed, 28 May 2025 10:47:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.217.44
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429256; cv=none; b=TKszv73P6Zu7oGWF34yUZMrCOgJCrrFlI2Qx0VPpvsdymXQJHFNak2f87zWAplAdoCYgJqWh/Y45uMFpM4b1rDmcw+4cDVF4jbD5TbzsHKjQoAbvQtK/0GZew8/zzbiQ5+4u93QsLTxFqpYfkENt7kap8tgswkTL1wUvqaUljcI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429256; c=relaxed/simple;
bh=omHnnaMYiI3z9v7a0i+pY5TrO643XV25EVbm5T9UU9w=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=J+PHJQGN7/oJ7Jwh7u5DxpqXhJ8y71PXCiJRm2bmdfuyvF159opMNAyEC77razS0h2LRLtc3Xz2btjShStNwavMydY+OGTfEWXThGtEF5D+9udcPQDoLrRTeKZDDKyQw8b55K7y8huUnZHH8Ki9Loez92TTMOc961ysmC3t5bw8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GgH3ylZs; arc=none smtp.client-ip=209.85.217.44
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-vs1-f44.google.com with SMTP id ada2fe7eead31-4e5962a0f20so423775137.1;
Wed, 28 May 2025 03:47:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748429253; x=1749034053; darn=vger.kernel.org;
h=cc:to:message-id:content-transfer-encoding:mime-version:subject
:date:from:from:to:cc:subject:date:message-id:reply-to;
bh=Grhradj8SMvIxpwrClEy7uZGD8VCYzZE/q2hkCqHoBU=;
b=GgH3ylZsY1GQ1ohyNKoUag6Ob7QpSUxNvW4y4wJu7fC5OptwunSG7Af0PGfd7t8CiO
valihaqy/LmVbkdK7r+I1On1VKHWSkVwxQxKy3157hg66k2fcck9Pqd+vlC6yhnPLd10
gQ0MUihNt9Vt++xUpeOtKs5JRgxPy6JoK2hviqZHgonsylFrkOlWT1TtUdIy4dsxTzPa
yO4nHRebyZPe0LnJgTxL874e5Y1vp0c0oEUiEjLHnGCMfnOq4ZZa1H+oJ0FpR6hGjtop
vlyvzstc/Xv/RcdnTnmNTf3+JiLCU4cx5kjqWMn2FuVqqHsXz4VfyP4fGz7oygMK2CqV
xZcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429253; x=1749034053;
h=cc:to:message-id:content-transfer-encoding:mime-version:subject
:date:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=Grhradj8SMvIxpwrClEy7uZGD8VCYzZE/q2hkCqHoBU=;
b=Pobt0X5xL/9JA9hDrdoUakllcRp0kC23srXFf0TazRjoDB3JvH92tHGlHqkMMLIaOQ
rNYGdXjJffTnBnh1dmnQ6E5UPf5/TM9jGR794uQiBGjSu9DYorPDWYEVB3iJIwFDrbaU
j2yMa/mzUMysctuP7Df8C1oghFAEOFVFl0FUvMaiA2UFycOck7LktJxUu9f9Xj5izkWu
PB9sMob8EpPsI7Lwx7gMdc8aXBopjIsJtmAUF2A0fHokYA2GaPG+ThhGlS+39CEIBnZp
7Y0ycWCmpk2S+C9BGEyHWFWK1cAD8dk3lYTuVu1IhffQtZf8rxyY6A9D0RlSnlMcRrHx
SLdw==
X-Forwarded-Encrypted: i=1; AJvYcCXDI4eCBhZLOXlsFxPKemPKFFzGcB0tU3nyAL6aAsMRO9AM5UyFzJeFYrhk8JDiGPJLCDeNtY/EsQeXS0g=@vger.kernel.org
X-Gm-Message-State: AOJu0YzgScRV18b0m1ct/YxpomrSInpas0FOQON1I+2i7SZP/qgfJ6Ab
S1CKmm1Pqgygw9/yFsOg7MjginvELADOoyjB8syKL569zwTtHp6rMKvw
X-Gm-Gg: ASbGncszMl+zpbsHVCuS9sGvQjOSZsHkCCvXhRka6Mmm1AHiBt6p0kQd2zPOHWDIct3
6qamNozmItFDtL1ACx89YNAdSMVLfpZjhEkqI+tl3lxJUDCbO9bdlkwCvZhZyXedeg2O3+VaaOg
Oh6mSQ0djT8gCdzAmxu+QQ82/rniYISZ0qqHsSgVTVLxdaqk1LXYy/nB6Z1yNrwwYBmQDHJTwCA
7Myu880py9UOMPoJnQLRfnGXHOODU14WKA0jopwmL4ZQhmk0/1rWGd0cghNSm04lMpIS6qMp/c8
t2tuPpENazgA5Iau7Qd/CFReAFhKKZk2loywL32MUdvnzae8yg==
X-Google-Smtp-Source: AGHT+IG3jiwFDZejGjn5cDhMvMWPN2GDQ0kGzRZAjjWTxC6fDs3vGHmBHjnbXZOMxKvdco7ORGa8mA==
X-Received: by 2002:a05:6102:5126:b0:4e4:5e11:6848 with SMTP id ada2fe7eead31-4e45e116d65mr7117269137.23.1748429253248;
Wed, 28 May 2025 03:47:33 -0700 (PDT)
Received: from [192.168.1.26] ([181.85.227.70])
by smtp.gmail.com with ESMTPSA id ada2fe7eead31-4e59fc12830sm550404137.2.2025.05.28.03.47.30
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:47:32 -0700 (PDT)
From: Kurt Borja <kuurtb@xxxxxxxxx>
Date: Wed, 28 May 2025 07:47:22 -0300
Subject: [PATCH] platform/x86: alienware-wmi-wmax: Add appropriate labels
to fans
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-awcc-labels-v1-1-6aa39d8e4c3d@xxxxxxxxx>
X-B4-Tracking: v=1; b=H4sIALnpNmgC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE
vPSU3UzU4B8JSMDI1MDUyML3cTy5GTdnMSk1JxiXWNzI0MzI1Nzo8QUcyWgjoKi1LTMCrBp0bG
1tQApgUGiXQAAAA==
X-Change-ID: 20250528-awcc-labels-372162572ad7
To: =?utf-8?q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>,
Hans de Goede <hdegoede@xxxxxxxxxx>, Armin Wolf <W_Armin@xxxxxx>
Cc: platform-driver-x86@xxxxxxxxxxxxxxx, Dell.Client.Kernel@xxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, Kurt Borja <kuurtb@xxxxxxxxx>
X-Mailer: b4 0.14.2
X-Developer-Signature: v=1; a=openpgp-sha256; l=4448; i=kuurtb@xxxxxxxxx;
h=from:subject:message-id; bh=omHnnaMYiI3z9v7a0i+pY5TrO643XV25EVbm5T9UU9w=;
b=owGbwMvMwCUmluBs8WX+lTTG02pJDBlmLw9FVnFM7OnQfN9/wTSPzaxmZt7H+wfvp199+GjSL
e1tk3XudpSyMIhxMciKKbK0Jyz69igq763fgdD7MHNYmUCGMHBxCsBEppczMhzRTbl8LJ/z0Txl
kexw2V4jzmULc3dmXCmUDMvgtDzrvZeRYXPQtYMZj6/OeqKwkmXfcQUr3f0WJTybBBQTvV/uyQ0
8xw4A
X-Developer-Key: i=kuurtb@xxxxxxxxx; a=openpgp;
fpr=54D3BE170AEF777983C3C63B57E3B6585920A69A
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add known fan type IDs and match them to an appropriate label in
awcc_hwmon_read_string().
Additionally, add the AWCC_TEMP_SENSOR_FRONT type, which was inferred
from it's related fan type in supported systems.
Signed-off-by: Kurt Borja <kuurtb@xxxxxxxxx>
---
drivers/platform/x86/dell/alienware-wmi-wmax.c | 100 ++++++++++++++++---------
1 file changed, 63 insertions(+), 37 deletions(-)
diff --git a/drivers/platform/x86/dell/alienware-wmi-wmax.c b/drivers/platform/x86/dell/alienware-wmi-wmax.c
index c42f9228b0b255fe962b735ac96486824e83945f..b25eb3225d8e5385384880a9cb480aaf3cb4d0a8 100644
--- a/drivers/platform/x86/dell/alienware-wmi-wmax.c
+++ b/drivers/platform/x86/dell/alienware-wmi-wmax.c
@@ -273,9 +273,29 @@ enum AWCC_SPECIAL_THERMAL_CODES {
enum AWCC_TEMP_SENSOR_TYPES {
AWCC_TEMP_SENSOR_CPU = 0x01,
+ AWCC_TEMP_SENSOR_FRONT = 0x03,
AWCC_TEMP_SENSOR_GPU = 0x06,
};
+enum AWCC_FAN_TYPES {
+ AWCC_FAN_CPU_1 = 0x32,
+ AWCC_FAN_GPU_1 = 0x33,
+ AWCC_FAN_PCI = 0x34,
+ AWCC_FAN_MID = 0x35,
+ AWCC_FAN_TOP_1 = 0x36,
+ AWCC_FAN_SIDE = 0x37,
+ AWCC_FAN_U2_1 = 0x38,
+ AWCC_FAN_U2_2 = 0x39,
+ AWCC_FAN_FRONT_1 = 0x3A,
+ AWCC_FAN_CPU_2 = 0x3B,
+ AWCC_FAN_GPU_2 = 0x3C,
+ AWCC_FAN_TOP_2 = 0x3D,
+ AWCC_FAN_TOP_3 = 0x3E,
+ AWCC_FAN_FRONT_2 = 0x3F,
+ AWCC_FAN_BOTTOM_1 = 0x40,
+ AWCC_FAN_BOTTOM_2 = 0x41,
+};
+
enum awcc_thermal_profile {
AWCC_PROFILE_USTT_BALANCED,
AWCC_PROFILE_USTT_BALANCED_PERFORMANCE,
@@ -314,7 +334,6 @@ struct wmax_u32_args {
struct awcc_fan_data {
unsigned long auto_channels_temp;
- const char *label;
u32 min_rpm;
u32 max_rpm;
u8 suspend_cache;
@@ -896,6 +915,9 @@ static int awcc_hwmon_read_string(struct device *dev, enum hwmon_sensor_types ty
case AWCC_TEMP_SENSOR_CPU:
*str = "CPU";
break;
+ case AWCC_TEMP_SENSOR_FRONT:
+ *str = "Front";
+ break;
case AWCC_TEMP_SENSOR_GPU:
*str = "GPU";
break;
@@ -906,7 +928,46 @@ static int awcc_hwmon_read_string(struct device *dev, enum hwmon_sensor_types ty
break;
case hwmon_fan:
- *str = priv->fan_data[channel]->label;
+ switch (priv->fan_data[channel]->id) {
+ case AWCC_FAN_CPU_1:
+ case AWCC_FAN_CPU_2:
+ *str = "CPU Fan";
+ break;
+ case AWCC_FAN_GPU_1:
+ case AWCC_FAN_GPU_2:
+ *str = "GPU Fan";
+ break;
+ case AWCC_FAN_PCI:
+ *str = "PCI Fan";
+ break;
+ case AWCC_FAN_MID:
+ *str = "Mid Fan";
+ break;
+ case AWCC_FAN_TOP_1:
+ case AWCC_FAN_TOP_2:
+ case AWCC_FAN_TOP_3:
+ *str = "Top Fan";
+ break;
+ case AWCC_FAN_SIDE:
+ *str = "Side Fan";
+ break;
+ case AWCC_FAN_U2_1:
+ case AWCC_FAN_U2_2:
+ *str = "U.2 Fan";
+ break;
+ case AWCC_FAN_FRONT_1:
+ case AWCC_FAN_FRONT_2:
+ *str = "Front Fan";
+ break;
+ case AWCC_FAN_BOTTOM_1:
+ case AWCC_FAN_BOTTOM_2:
+ *str = "Bottom Fan";
+ break;
+ default:
+ *str = "Unknown Fan";
+ break;
+ }
+
break;
default:
return -EOPNOTSUPP;
@@ -1051,40 +1112,6 @@ static int awcc_hwmon_temps_init(struct wmi_device *wdev)
return 0;
}
-static char *awcc_get_fan_label(unsigned long *fan_temps)
-{
- unsigned int temp_count = bitmap_weight(fan_temps, AWCC_ID_BITMAP_SIZE);
- char *label;
- u8 temp_id;
-
- switch (temp_count) {
- case 0:
- label = "Independent Fan";
- break;
- case 1:
- temp_id = find_first_bit(fan_temps, AWCC_ID_BITMAP_SIZE);
-
- switch (temp_id) {
- case AWCC_TEMP_SENSOR_CPU:
- label = "Processor Fan";
- break;
- case AWCC_TEMP_SENSOR_GPU:
- label = "Video Fan";
- break;
- default:
- label = "Unknown Fan";
- break;
- }
-
- break;
- default:
- label = "Shared Fan";
- break;
- }
-
- return label;
-}
-
static int awcc_hwmon_fans_init(struct wmi_device *wdev)
{
struct awcc_priv *priv = dev_get_drvdata(&wdev->dev);
@@ -1138,7 +1165,6 @@ static int awcc_hwmon_fans_init(struct wmi_device *wdev)
fan_data->id = id;
fan_data->min_rpm = min_rpm;
fan_data->max_rpm = max_rpm;
- fan_data->label = awcc_get_fan_label(fan_temps);
bitmap_gather(gather, fan_temps, priv->temp_sensors, AWCC_ID_BITMAP_SIZE);
bitmap_copy(&fan_data->auto_channels_temp, gather, BITS_PER_LONG);
priv->fan_data[i] = fan_data;
---
base-commit: 9c96808f10d84156b5e98e16176b725ec5a1386f
change-id: 20250528-awcc-labels-372162572ad7
--
~ Kurt
Return-Path: <linux-kernel+bounces-665324-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A5D0A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:48:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 6DE8F188748A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:48:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 90A2527A129;
Wed, 28 May 2025 10:48:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="2V6dz8xQ"
Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB08B1E25EB
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:48:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429288; cv=none; b=Cc9MwZRNYVVhyE2YAKyMe6frUCGfl8c0jeqw87o7aqsiYHHNAecgH9xiJdH+4liYbvkR11Q/3RvuS1hM9KzQCJsXRyYeFh88jC0LNzY6E6hYS1NOuYaY+cWYvIjCB4w7Sopa68tR97FZ9RAEQNmM6WXeGsYmgHDt6t3WpyObFaw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429288; c=relaxed/simple;
bh=GKChFsDcw+Y46MQjWaJov+IpvMaL2IyNBWTN7zSJxxI=;
h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From:
To:Cc:Content-Type; b=MBNMHsHjdChhiHm3DUiIQJ0TwuBEYHmMh4jSn7FP1iJk7ABU4H5Or0QVliGqnb34T4N6clWDQzSHHdad1AUVXpEqQ8JIg2TG21geNoSNmRQTc9TM2uqX4cJlqE3D1+q/n/qNxyASo6T0WoXqlx4ptL5CzsLHNOE/qIjgqJix5/8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=2V6dz8xQ; arc=none smtp.client-ip=209.85.128.74
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com
Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-442f90418b0so23298645e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:48:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748429284; x=1749034084; darn=vger.kernel.org;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:from:to:cc:subject:date:message-id:reply-to;
bh=MseXslWIESN5tHnFA2S5llFL1rLmy0VJKHTrQ87iTn0=;
b=2V6dz8xQpTm9W4Zdfz36NRASbeZMVimF3VGsFiuU0rmILrLj02ydlC40JpYA2MNy90
e7r4eBpU+zuOHUSOEims6bgdncy4YzNd6i+VjItp4l4RYyBkCp71ImcyeafZXEUKSgEG
t/DEPl+2UMTICSqyPl9Aq5kuqMI3l3NTZEvDMg8ObwGFhkx16SCNLIdZUtBjdfLdiNFM
4aobRmj/il9kKGSTPQTRC2Ge7tCwb4CBY8TPwzZuVZXhsI6+DEbXGTVu6szWRXpf2rly
qX3xs3ncwK7vlyMa0ZVOdlPR6gioDTxzKkbmAkq8zJjr2OYsUMEoIRyBA4pw+BTi+UtY
pAHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429284; x=1749034084;
h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=MseXslWIESN5tHnFA2S5llFL1rLmy0VJKHTrQ87iTn0=;
b=oroh/6O/hrYe83VSZ6OAzkhWkaYycCpe76FtI7JIEdDS/fjLi/qCan9pPR7ANdQQJk
hMCY3Z9+JRuJ4HRTOkxE2nmDFnAZEz6mzvsXuzEPuboytLpERfXJkz8gI4REjOaFCAVJ
oKRd4vO2QU4QXJqal1AkkMgIQCU/dcapGFW4+dOoJjKS9WjYJ7CNtSKEnrIisYVzjxM2
Ao83YV2RpZ58tobLQWviLD1SwxkPV6X5ro5Te8fXJzwk3Lt5/L6KVOp6HQVwd+1eOjNJ
K29mGjTu/+4GaRa97D4uBhi7LJYgOLTdiRbX00DW96qIHvs68SFweyRSYhcKqXe7uzR3
XdJg==
X-Forwarded-Encrypted: i=1; AJvYcCWaStvJoOHHNAj5aXuIS2CekMaVFwIAgnY6w8Av745eJ/4jj7fM7P9t2DnqwhgIQVDwqUmF27xRLFcOTsU=@vger.kernel.org
X-Gm-Message-State: AOJu0Yxiie16FIqHmuPorPs9/uBngAJf4ebCfq2JDsPdxsAGKMVjwSlr
VhTiCHfo9T9IUxJGLfKlh6qcLckyUkOiJlpnKtpYe2Evc/Mhxa8g1iz9AYS+ADWRV9uSnbUNbhn
dRahXDkqnu6zcvjgSAQ==
X-Google-Smtp-Source: AGHT+IH6dVDytFvG9RgdBHqH+oNE14gXjCVnXTCeprhMgEvUiue8vfMvYXa7VW5hf29gWj7SAYZ68SQZZwyUhTo=
X-Received: from wmbay42.prod.google.com ([2002:a05:600c:1e2a:b0:450:cb8f:62cc])
(user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by
2002:a05:600c:1c1f:b0:43d:300f:fa3d with SMTP id 5b1f17b1804b1-44c9141d8a2mr133464415e9.5.1748429283993;
Wed, 28 May 2025 03:48:03 -0700 (PDT)
Date: Wed, 28 May 2025 10:48:01 +0000
In-Reply-To: <68364701.050a0220.48858.0017@xxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
References: <20250527-userptr-newtype-v2-1-a789d266f6b0@xxxxxxxxxx>
<20250527221211.GB2023217@ZenIV> <68364701.050a0220.48858.0017@xxxxxxxxxxxxx>
Message-ID: <aDbp4cM3Dmv84bm8@xxxxxxxxxx>
Subject: Re: [PATCH v2] uaccess: rust: use newtype for user pointers
From: Alice Ryhl <aliceryhl@xxxxxxxxxx>
To: Boqun Feng <boqun.feng@xxxxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>, Miguel Ojeda <ojeda@xxxxxxxxxx>,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
"=?utf-8?B?QmrDtnJu?= Roy Baron" <bjorn3_gh@xxxxxxxxxxxxxx>, Benno Lossin <benno.lossin@xxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, rust-for-linux@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="utf-8"
X-Spam-Status: No, score=-11.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 04:13:03PM -0700, Boqun Feng wrote:
> On Tue, May 27, 2025 at 11:12:11PM +0100, Al Viro wrote:
> > On Tue, May 27, 2025 at 01:53:12PM +0000, Alice Ryhl wrote:
> > > In C code we use sparse with the __user annotation to detect cases where
> > > a user pointer is mixed up with other things. To replicate that, we
> > > introduce a new struct UserPtr that serves the same purpose using the
> > > newtype pattern.
> > >
> > > The UserPtr type is not marked with #[derive(Debug)], which means that
> > > it's not possible to print values of this type. This avoids ASLR
> > > leakage.
> > >
> > > The type is added to the prelude as it is a fairly fundamental type
> > > similar to c_int. The wrapping_add() method is renamed to
> > > wrapping_byte_add() for consistency with the method name found on raw
> > > pointers.
> >
> > That's considerably weaker than __user, though - with
> > struct foo {struct bar x; struct baz y[2]; };
>
> Translate to Rust this is:
>
> struct Foo {
> x: Bar,
> y: Baz[2],
> }
>
> > struct foo __user *p;
>
> UserPtr should probably be generic over pointee, so:
>
> pub struct UserPtr<T>(*mut c_void, PhantomData<*mut T>);
>
> and
>
> let p: UserPtr<Foo> = ...;
>
> > void f(struct bar __user *);
>
> and this is:
>
> pub fn f(bar: UserPtr<Bar>)
>
> and the checking should work, a (maybe unrelated) tricky part though..
>
> > sparse does figure out that f(&p->y[1]) is a type error - &p->y[1] is
>
> In Rust, you will need to play a little unsafe game to get &p->y[1]:
>
> let foo_ptr: *mut Foo = p.as_mut_ptr();
> let y_ptr: *mut Baz = unsafe { addr_of_mut!((*foo_ptr).y[1]) };
> let y: UserPtr<Baz> = unsafe { UserPtr::from_ptr(y_ptr) };
>
> passing y to f() will get a type mismatch, so the detection/checking
> works. To avoid the unsafe game we need field projection [1].
That looks pretty unergonomic. We can do better than that.
Alice
> > struct baz __user * and f() expects struct bar __user *.
> >
> > It's not just mixing userland pointers with other things - it's not mixing
> > userland pointers to different types, etc.
> >
>
> In short, with UserPtr generic over pointee, we can have the similar
> detection as sparse.
>
> [1]: https://github.com/rust-lang/rfcs/pull/3735
>
> Regards,
> Boqun
>
> > In practice I've seen quite a few brainos caught by that...
Return-Path: <linux-kernel+bounces-665325-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3781B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:49:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4EF393A423F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:48:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 92CD92797B5;
Wed, 28 May 2025 10:49:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="cTQU68mr"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2C2EA217660
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:49:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429350; cv=none; b=EgabqvGJ+d59EF3sEQ6CVx4U0ch6U5eQtBaTDmWSwdhZwAAgiWzCWHdW+r8138v+6zM6CIPEffeCut2B0R6xNlMb7uUEx+m4AxbDd/J5XOWGaEo2AMICLqG79UVHRP3egIx6DN3DV+icgG3CXgzdZgzEZ3TkR8Lq/C/4VAbblVQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429350; c=relaxed/simple;
bh=ohq0aKy46MqiNiDa5pDJ2hhxanBLxI6940+C/u71zSw=;
h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References:
In-Reply-To:Content-Type; b=VVkHGVEzBcCHzEo8O7U44HKren/S7lJ4+zTAlCYDVp8LFeVl3vAp4KHbb49H38U7k87mZSzgPCe2Mw8KZrJTTyOrepBUBafcK77Sj7lR+Tb3HoBeV1fv54gVQwH6UBOxehiFc68Lxz02096SWEvMG72xU47eNYdhZF5R+b9x358=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=cTQU68mr; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748429347;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=L9zdNnDwAfNYHub/SLO4R5U1ZnoXRuT66VkqLwVbfTw=;
b=cTQU68mr71JqwbsUgc/jghUV5tysNIiFdVM5UOmBfZvhbyAFcbATAFYgiQ4loJLIUfg1UX
ubAsQR8r9/7RwSoKMza/C8wCM5aU0vy52RC4DXG2CVZElTFe/yf+bHvzMb+AaWAU24g2fl
kBZtt7ep6BkAHOmrW/wtNScd9GhRHnw=
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
[209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-325-Omx3Ovs4PwaW2L-H4yehaQ-1; Wed, 28 May 2025 06:49:04 -0400
X-MC-Unique: Omx3Ovs4PwaW2L-H4yehaQ-1
X-Mimecast-MFC-AGG-ID: Omx3Ovs4PwaW2L-H4yehaQ_1748429341
Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-43d4d15058dso32469035e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:49:02 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429341; x=1749034141;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:references:cc:to:from:subject:user-agent
:mime-version:date:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=L9zdNnDwAfNYHub/SLO4R5U1ZnoXRuT66VkqLwVbfTw=;
b=GbZHBYmtzq2MyTWi1RXDbon0UPSURvWsig+P0JaUEUGdnpaQbClYj7sGP2rFk9CYNb
+xg0usNkdaTB4dCh2NocVpsBXaXGy12GbE25ziTpGzn1p+nrHCT4jFkI3+bEFbSedIUz
DfRVC/ZvAmW9aVfUXUnWVBV9p02D1FxKgVW80ntWdUfeVwht5ZHZ37s2+peSj+0x0zau
b27GcaamvpjjMFqPM4lr0UmGsy5X4Fq8ZIKZhDX78tgoPCcv33zb3MOEqa6CvnIAS3f0
CxxZAvQRL47JMZYObgQmSvbSQ6kZHyZVR+cEjqzplpnMU7SVumGDE42WIYleovzzxvLc
jDTQ==
X-Forwarded-Encrypted: i=1; AJvYcCWW4eqaRJk1Nqo8+BFamEWy3vidsY/ShaeOKVNzmeIEnSqt5Sbh4PYZ4MWwcLxWQ4b6hVaitcAViIfd+NU=@vger.kernel.org
X-Gm-Message-State: AOJu0Yxa34ou5E+jhVIl9xRz+IZ+sS+g3F4J3ylnUHviT3tbvrbbA9CW
6vJKTSYnYvAM9BWSTU1zjUTPW5OWoeqBPNy7IFoszNtExQclYgSbS1qxT5Wa+XIHPfu3T9drFr9
yDAtwpX/t+kST4yscIma/sF5QPd9LbbGDp0oJikAqRvlkcJyPEFAGpCUrSK47zXnazA==
X-Gm-Gg: ASbGnctT7Ad8z6Icv1Wv+IehJbmxwjy1qmSw3NrNuq9d/PUV4nJtse45QNMnucBMYZf
/KPuExIqbRmyimIqTrhYxdWzG3lwJALJXsKW1QIsapEyz7VAuX0xfeKlzKiUN5CY6QDWI145R7C
px8ly7/v+Wsru6ppcfxr0dXlAuCIpsN91v+wUyM/RIZu1Mq2BSuLskKogIHXLsfwsscflMQ9xnS
3wkWaM2qFodpNOpHDoUCwzZeP/WJX7UtktgnDz9I+NTl7Ky/f4cMtfxax0Ulk6Y2zvMUwfznZdT
qxZVMpFFfEjuI6RMB0b6dWmbeyGezVUcXc3RMUNmWrL95S01qFYXe7hbwASor3sZqdy/oVAtWBA
uFOQQRa6ytDRA7xCSc07qNZ3im2v0mpRdRC86VOI=
X-Received: by 2002:a05:600c:648a:b0:43e:a7c9:8d2b with SMTP id 5b1f17b1804b1-44c92f21e1fmr127213105e9.24.1748429340969;
Wed, 28 May 2025 03:49:00 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHhLT5tb7zUh11ADM14vMwzRiC9TD0IByrsLMVhGQOhNMyEK6r+6gLgjV47NeCbATlZyERZlA==
X-Received: by 2002:a05:600c:648a:b0:43e:a7c9:8d2b with SMTP id 5b1f17b1804b1-44c92f21e1fmr127212825e9.24.1748429340531;
Wed, 28 May 2025 03:49:00 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36? (p200300d82f30ec008f7e58a4ebf06a36.dip0.t-ipconnect.de. [2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450725403c6sm14119995e9.3.2025.05.28.03.48.59
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 03:49:00 -0700 (PDT)
Message-ID: <3c15a093-7c19-4c2a-a571-56a5ed4b445f@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:48:59 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] selftests/mm: add simple VM_PFNMAP tests based on
mmap'ing /dev/mem
From: David Hildenbrand <david@xxxxxxxxxx>
To: Ryan Roberts <ryan.roberts@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Shuah Khan <shuah@xxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>, Ingo Molnar
<mingo@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>, Dev Jain
<dev.jain@xxxxxxx>, Aishwarya TCV <Aishwarya.TCV@xxxxxxx>
References: <20250509153033.952746-1-david@xxxxxxxxxx>
<232960c2-81db-47ca-a337-38c4bce5f997@xxxxxxx>
<7cb7f23a-ce9e-4664-8083-deb73ed23da3@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <7cb7f23a-ce9e-4664-8083-deb73ed23da3@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28.05.25 12:44, David Hildenbrand wrote:
> On 28.05.25 12:34, Ryan Roberts wrote:
>> Hi David,
>>
>>
>> On 09/05/2025 16:30, David Hildenbrand wrote:
>>> Let's test some basic functionality using /dev/mem. These tests will
>>> implicitly cover some PAT (Page Attribute Handling) handling on x86.
>>>
>>> These tests will only run when /dev/mem access to the first two pages
>>> in physical address space is possible and allowed; otherwise, the tests
>>> are skipped.
>>
>> We are seeing really horrible RAS errors with this test when run on arm64 tx2
>> machine. Based solely on reviewing the code, I think the problem is that tx2
>> doesn't have anything at phys address 0, so test_read_access() is trying to put
>> trasactions out to a bad address on the bus.
>>
>> tx2 /proc/iomem:
>>
>> $ sudo cat /proc/iomem
>> 30000000-37ffffff : PCI ECAM
>> 38000000-3fffffff : PCI ECAM
>> 40000000-5fffffff : PCI Bus 0000:00
>> ...
>>
>> Whereas my x86 box has some reserved memory:
>>
>> $ sudo cat /proc/iomem
>> 00000000-00000fff : Reserved
>> 00001000-0003dfff : System RAM
>> ...
>>
>
> A quick fix would be to make this test specific to x86 (the only one I
> tested on). We should always have the lower two pages IIRC (BIOS stuff etc).
>
>> I think perhaps the only safe way to handle this is to parse /proc/iomem for a
>> region of "System RAM" that is at least 2 pages then use that for your read
>> tests. This would also solve the hypothetical issue of reading something that
>> has read size effects.
>
> That sounds also plausible yes. I somehow remembered that mmap() would
> fail if "there is nothing".
Ah, my memory comes back, we perform checks only with CONFIG_STRICT_DEVMEM.
--
Cheers,
David / dhildenb
Return-Path: <linux-kernel+bounces-665326-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 29F5041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:49:27 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3F13C3B83EC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:49:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9060B27A908;
Wed, 28 May 2025 10:49:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=dolcini.it header.i=@dolcini.it header.b="IAKZU0ne"
Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6AAD627A10D;
Wed, 28 May 2025 10:49:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.194.8.81
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429356; cv=none; b=mR9xIFoy1DhT/yG/mvthmQNMfRGj6Y3Qg7SqYT5gAwCSbadVzT5nAbDHooo/2/uXUQmhzxzsgbvKg4/N7/Xxh4De9h92MJONRv/WBtaI3sL4pOOnF6M+lHESGNTvdiXUBt7PeZufYopRBHaLaZrpQOjhvPNHtvicW1b1Ix9HliY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429356; c=relaxed/simple;
bh=2wB4/cPoFm3OXX9771W7ufP4Q/ZEn3+bk/2YQsFoIG8=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=bWv6JLkiY9GjyK3XDtlMV6Bff3tVUjhfHXVSyd0jO8PMpLKiKzrIlisPpkr3jikAdPlJ4E13Hmh+49HIYzmkaloUVsZBHrGRlL7J/E7+qpulmYtyBLIS/WwVVYVng7Tn08vJlVXcnMAEYR4qhrPqkqxmGRTdQYsKUUQ/VbCEYTU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dolcini.it; spf=pass smtp.mailfrom=dolcini.it; dkim=pass (2048-bit key) header.d=dolcini.it header.i=@dolcini.it header.b=IAKZU0ne; arc=none smtp.client-ip=217.194.8.81
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dolcini.it
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dolcini.it
Received: from francesco-nb (248.201.173.83.static.wline.lns.sme.cust.swisscom.ch [83.173.201.248])
by mail11.truemail.it (Postfix) with ESMTPA id 6CD142061D;
Wed, 28 May 2025 12:49:03 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dolcini.it;
s=default; t=1748429343;
bh=ctWIGAfV+2xqbTqtd5B9TbgiUUECcoY8bn9T9Tj3nxc=; h=From:To:Subject;
b=IAKZU0neYvPKCSVtv+bVLj/0A4wBhKSlf0gbnidjG6nAGwsZXj4XxshsuA022HFLV
oGjm3zSB44FBcY7ux6XQFvF8q3PoLNIU3l5Ky+05bp0NXEACe1ZMm/jOHfyk4mZuyw
3/XOxLu5syA6Dv7tlf3rUgFIOtSg2fNHYCuS33/nYz5CrvWth0nJ5zLNjHI3vOz49P
qrU8yhWncRjWSu93E8z52quGVBPMmaCtafBM+dZoTGm4B6pyUxHPEbYGkKaZPrpm0p
HOeKdeiOVQXoO70AuPQ+6745nZkUIPuXZ0T6OEl6GSfoDlmSIKhfWB2UGUJtYvnUE1
cfML0jlDBYKDA==
Date: Wed, 28 May 2025 12:48:59 +0200
From: Francesco Dolcini <francesco@xxxxxxxxxx>
To: rafael@xxxxxxxx
Cc: Brian Norris <briannorris@xxxxxxxxxxxx>,
Francesco Dolcini <francesco@xxxxxxxxxx>,
Rafael Beims <rafael.beims@xxxxxxxxxxx>,
linux-wireless@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] wifi: mwifiex: enable host mlme on sdio W8997 chipsets
Message-ID: <20250528104859.GA38749@francesco-nb>
References: <20250521101950.1220793-1-rafael@xxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250521101950.1220793-1-rafael@xxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 21, 2025 at 07:19:34AM -0300, rafael@xxxxxxxx wrote:
> From: Rafael Beims <rafael.beims@xxxxxxxxxxx>
>
> Enable the host mlme flag for W8997 chipsets so WPA3 can be used.
> This feature depends on firmware support (V2 API key), which may not be
> available in all available firmwares.
>
> Signed-off-by: Rafael Beims <rafael.beims@xxxxxxxxxxx>
Reviewed-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665327-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D5A5641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:51:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1FE253AB468
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:51:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CFE1F253F3C;
Wed, 28 May 2025 10:51:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kz6xq4ye"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 13037125DF;
Wed, 28 May 2025 10:51:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429512; cv=none; b=scc3u0Bao9cjO3DhtQ1CioHkiOaKLDyO8PRwvVv4AvYQ65U4MjcUdE/BAjbA9h+iLT3VbNAuDksOrAbngmcLLhmluSumqZdGp6uQfYZuOqyiZWnC9Xhzj20AphPAYggr5hbvJiBY1Kse/cTgVOV7mOG0E/NsBfQ9W3RYXrVcfUk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429512; c=relaxed/simple;
bh=DGiD0iXP61/+ebn4lecoWs4ajZss0Gh2uuwXmxsS/DM=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ufgKAJroVKNXBSGKceAyp4r+YOO2X38LeE48vrb4hd4UWK+XG5au9ylwIa2qA8Zx0v8Gx/C0y8ptFfHW7bpgtEImdbcKPqQx+trL2WHxY8hxoitCoIAAC3ZoRY5YscKECE2SWaCJfeIHZDBSmutstgv1fwO89PRx8d25XDapwtw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kz6xq4ye; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 080AEC4CEE7;
Wed, 28 May 2025 10:51:47 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748429511;
bh=DGiD0iXP61/+ebn4lecoWs4ajZss0Gh2uuwXmxsS/DM=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=kz6xq4yeKMfNdDgKuS786STvdNcpc4G0/cFht8HK2EjLnv013A5yoR2ccVZtkbTBr
KBRDBCMBXBH3pb1njHwhwtrzDRSQl8sGTZ1t2oM4zUCbXOLFzCSTzTIVx1gmmPzBVu
lo62sfGgpt/jv1dwC5LqplNdGCCOKP6olESz8ZztFXUvw2lqnySGS4RpEUbm551fuD
QXsiGvBj8YXNAztUz8LxVArz70qsFvr8VAcikD/TxLknHTd65Wwt0KDiRVTfrUg2Xg
VuinjEiovr6THvZjhrXjIG1JFyQjNbXsnziyA+yIMBVtkXn+E9u/aYo/IbuyPHSNJL
DXo6oRaQI115g==
Date: Wed, 28 May 2025 11:51:45 +0100
From: Mark Brown <broonie@xxxxxxxxxx>
To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, torvalds@xxxxxxxxxxxxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, linux@xxxxxxxxxxxx, shuah@xxxxxxxxxx,
patches@xxxxxxxxxxxx, lkft-triage@xxxxxxxxxxxxxxxx, pavel@xxxxxxx,
jonathanh@xxxxxxxxxx, f.fainelli@xxxxxxxxx,
sudipm.mukherjee@xxxxxxxxx, srw@xxxxxxxxxxxxxxxx, rwarsow@xxxxxx,
conor@xxxxxxxxxx, hargar@xxxxxxxxxxxxx
Subject: Re: [PATCH 6.12 000/626] 6.12.31-rc1 review
Message-ID: <d0e76f86-487f-451f-baf5-a4fa4b53559e@xxxxxxxxxxxxx>
References: <20250527162445.028718347@xxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="dhBACiXQtjdQsg0O"
Content-Disposition: inline
In-Reply-To: <20250527162445.028718347@xxxxxxxxxxxxxxxxxxx>
X-Cookie: Keep away from edge.
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--dhBACiXQtjdQsg0O
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Tue, May 27, 2025 at 06:18:13PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.12.31 release.
> There are 626 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
Tested-by: Mark Brown <broonie@xxxxxxxxxx>
--dhBACiXQtjdQsg0O
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmg26sAACgkQJNaLcl1U
h9Crjwf7BBcKThOMTaH+BZFU6ZAqdLX5uGU2J9r1H+uctJxZpHbhpD8Rxv2E8Oyv
SppYlOrglJTwZSA5Rt2t3xONFZLTmry5GHDa2G0e2yacOEjqhsllEXYKH5AnVOZ0
BwkUuEDr+7TUkXt1WydNP5F/f5tS/E4R+LUd4GoDEfQY976ddMF5n9d7TIV2cLju
MF0nueJoDAXE3xmxcBbo604yn+jnBN3G0+hcSpJygsXOpAI2Ph2iX79i4b/Mz2mT
S+EvZ0qxZlHrcTlrGfQ2w+ffZP4i+R50Pq6UJCg5LrFwH1YOT11D8dEkXreGeY97
4bZf75JjUEen7I5m4UCvRg+UnORTJA==
=cx/A
-----END PGP SIGNATURE-----
--dhBACiXQtjdQsg0O--
Return-Path: <linux-kernel+bounces-665328-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0606241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:52:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id E020B16AB39
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:52:20 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6E3E127A129;
Wed, 28 May 2025 10:52:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="O2xt+j+w"
Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B397125DF;
Wed, 28 May 2025 10:52:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429530; cv=none; b=C12BkXP2c5sQ8LWUVt8ZMDf3KS6Qv8NRJveGKOO3GP1xOZuJZzdJ0Bj0Qbzg8ng//2rIflL8DdkeptfOwXxypOH2gIZSF+QjFDSugsOk5EDHT9UFpZ4bEP8vuC7y4SXhQLhPOJO9G3AEA/pCJuPad4MV+6Lrx0QS3Nywqo7CneI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429530; c=relaxed/simple;
bh=EUwrbpwQ1JOkb9+kiB9V360QHuBxmCHR7WtQ/iFAenY=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=nof9qWvd/7I7EN2fqS/apEc6vh7umu7u4lBEFzOHJivI/fP5fMW9XIwkEo2d7/6g03MIj31qjA6O1JBmUVRd8VPpfJAOtc6rI02899/zSY03oPzMPQdhLcKSwhhIch+hmWzX5wZdEykbmFiEwW6Q/cB2ZTxq6mEFFL7MOif9vQ8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=O2xt+j+w; arc=none smtp.client-ip=209.85.210.172
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-742ad4a71a0so199337b3a.1;
Wed, 28 May 2025 03:52:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748429528; x=1749034328; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=EUwrbpwQ1JOkb9+kiB9V360QHuBxmCHR7WtQ/iFAenY=;
b=O2xt+j+wCEaS+QHp6YhGGO8cY4J3q4mRsghyN3UE0enNZ4Ef7OAtxT/cbSxJtdWNj1
kWXyKJdsQ0Zcw9WEqDA/53nkFgzbqlpxPIdbfQSZJHasJGiEFzkpvw4epPXBXJaOhvnD
mMCLZ95DQB0LKWGriu8f2edTul5V0Ls+c39xH4gZvHZdE2e9/65SHQSHe3aEudFD7crz
Ysbr8EFt7+4lHFgcW8IqDhcm7Xi40KwsPXgB0gbCE+OVakmy28QhBgSvL5epOEmVsY+4
xlq4b9BV+lOQruWHbH9+fh+JoDezJW+Amwfpy9FVExbOcilSLz1EqcJiCDiIr1eWwHIn
37YQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429528; x=1749034328;
h=content-transfer-encoding:cc:to: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=EUwrbpwQ1JOkb9+kiB9V360QHuBxmCHR7WtQ/iFAenY=;
b=qLlPOM6xDOVv+BQdpMQex7wWErb/0kpTRlZEdHcleI7UgK6tivsn/ANFzjnW0J9vHI
bVOoWqbd5v/ipog8hRZ1zcjd5xuYHhaffDbz0IamR+1YjP2v7A7h32JhWgxn47v+tLri
EuIOMflpqp22X44U8V5jqhq3Qm7UdSvJT8atCFNr0WJbUEZw0pMFWsCe+GUWzjb6KVHE
l5K7FPgzLWwxTGQEoG+SwlqaxTvwge0WE+blpSTZM78diu4LYM2HJ4O9BGyt43VpPsbw
g9u3VmlwbnwCf6Jio9g1pcQvFnoZgiQzduD9hNv126MI4fbpWGhvMJkJeU/MPdxsrQUj
qpJA==
X-Forwarded-Encrypted: i=1; AJvYcCVVByZF2s+wBl9QiGx6gigldtI9pZ0bLstAfgckGMs5uoSQB7s9ll5fxkzTbwLpvg5yL4scuc/PJWzF7K2h6gE=@vger.kernel.org, AJvYcCXP6TxR064VQRnWOLmjdxx6P7tI3b9k4fGq/1EyRheU2nKKOGcatA60rrzFjXSB5ZJRQCG4NxNJluBR9sJt@xxxxxxxxxxxxxxx, AJvYcCXWeDkmHetsTKQpz5EhUpL3Wq5rn+7OhJpfh8wkSND1YWU4T7ajMKzm1WRGdCLWwToN0kOOf+vvYQLnX1Sa@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0Yw3Za5IoxWBhV75pYTV2R86Hlh4mEe/YGw/M3DbwkYdGqU9gz8G
4Twcv5+mmdIENOoh0GHVEr+mYXtA6mfZJ3uI78EJRnpw1jB8HbtH/7YiBdrdu4mpmw8cSvaFbgy
Ydk5mpSOWLkbP86HOxj/JaurAZKmyPKY=
X-Gm-Gg: ASbGncvCUy2RvXg0KMwpmNOBiMCAv5NdeLJ/YXb6SwYwPJDUhqE/LmnmGiu7NhCv04c
RsL23LKkFxCZvxlFAhiIPCnaBLdEinshYUCb7sCYeEjNBJI6Gix1fy+7O+EsSoiZM3r0uRT7ttz
cJGeBdY/CUUIP7ecM6clhUVGSrDAkvhn+M
X-Google-Smtp-Source: AGHT+IHfPTHmMRq3pP+tHA4uSAtyuPwc0/J1qF3EQXD/6n+vSjrMqJsfUa8K4jNNDxI1FvsNq5ui0L1Iv30eHKTFeNk=
X-Received: by 2002:a17:903:181:b0:234:bfe3:c4b8 with SMTP id
d9443c01a7336-234cc08f6f5mr10989035ad.2.1748429528426; Wed, 28 May 2025
03:52:08 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250527204636.12573-1-pekkarr@xxxxxxxxxxxxxx>
In-Reply-To: <20250527204636.12573-1-pekkarr@xxxxxxxxxxxxxx>
From: Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx>
Date: Wed, 28 May 2025 12:51:55 +0200
X-Gm-Features: AX0GCFur2ooyqiX9o0dgEJ1syY8B-ipKPG0HeMAxM-ke-LN9uVLyyNAo4K9MERQ
Message-ID: <CANiq72kgu+qKBFOUfcsF9fJkq78p+uBA6KAnpY1Uz5McT0y=SA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 1/2] rust: file: mark `LocalFile` as `repr(transparent)`
To: Pekka Ristola <pekkarr@xxxxxxxxxxxxxx>
Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>, Christian Brauner <brauner@xxxxxxxxxx>,
Miguel Ojeda <ojeda@xxxxxxxxxx>, Alex Gaynor <alex.gaynor@xxxxxxxxx>, Jan Kara <jack@xxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
=?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <lossin@xxxxxxxxxx>, Andreas Hindborg <a.hindborg@xxxxxxxxxx>,
Alice Ryhl <aliceryhl@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
Danilo Krummrich <dakr@xxxxxxxxxx>, linux-fsdevel@xxxxxxxxxxxxxxx,
rust-for-linux@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, May 27, 2025 at 10:49=E2=80=AFPM Pekka Ristola <pekkarr@protonmail.=
com> wrote:
>
> Unsafe code in `LocalFile`'s methods assumes that the type has the same
> layout as the inner `bindings::file`. This is not guaranteed by the defau=
lt
> struct representation in Rust, but requires specifying the `transparent`
> representation.
>
> The `File` struct (which also wraps `bindings::file`) is already marked a=
s
> `repr(transparent)`, so this change makes their layouts equivalent.
>
> Fixes: 851849824bb5 ("rust: file: add Rust abstraction for `struct file`"=
)
> Closes: https://github.com/Rust-for-Linux/linux/issues/1165
> Signed-off-by: Pekka Ristola <pekkarr@xxxxxxxxxxxxxx>
Thanks Pekka, both patches look good to me. I will close the issue
when Christian applies them (or if I should take them, that is good
too).
Cheers,
Miguel
Return-Path: <linux-kernel+bounces-665329-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EC24241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:52:55 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id F351C168342
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:52:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8616127991E;
Wed, 28 May 2025 10:52:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="e+qcIY1h"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA0512139D8;
Wed, 28 May 2025 10:52:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429557; cv=none; b=KtDcwfCBHlHk16BeYP7+Vvn/Agv9D+GKtr3Zvz7JFPOeTidal348u3b4z/w/ZGcrxdeXamqgc4HsGFtVe6FDeo3cZOIpuy/1jVjJ2z4tkA6bXiz0MVKFo+LijE2aRtd2m5TdJ4Vh9Pd38B57OQqIFUJsO0WzXT4U15XlO+GvdWQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429557; c=relaxed/simple;
bh=GUs28pJdm4CINoN+poc+XGtdJq/AcECrplYFC+uuFTA=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=j0NcI/03F5rIQ2Awo6xPHXfGEOBKCiZo/FVW706nFeEzeB9JtZ6rhWjZHZA+Xoo3piN6Oqjz9zoOVle5qLmkrZLRXQJ0JQ7P7142Z3TLk9XH+9yUJ4qiTEqz/htg4DtNoiGGkfOxf5zz0kLnLjvaanW6oCIbBHUG3ddY3OTHeKY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=e+qcIY1h; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FE81C4CEE7;
Wed, 28 May 2025 10:52:34 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748429557;
bh=GUs28pJdm4CINoN+poc+XGtdJq/AcECrplYFC+uuFTA=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=e+qcIY1h5ai4P2UyiCKdD5RbR3HG2EX+mOwLaOOGq2+6cvKYz8mTOlcnjt886Xn3M
mV4q5KHqSczdMea1/glY/Kc0J2JzP0mNGRAae9HqGU58q5vsMofM/zQ388KB1m0RSq
fZupIGKuw49qjLTqO7RMynzVZNN56TJ3NbsuHGxbwEIuLy9iE+1TYwUbNwsd4X+jU9
KKJkI4Fb7XIcBDhsKxiE8PCCxw6hYFsuY2N5zTNHYOQZ4KM8WIEyqPqviEMicHOxqY
gNMhTm77rnQ3rO2YdCReRXaHlxDIwDpfbkS6ZAJvvhTaX/gnChR9J0MywdemNFoIDz
/S5InTik/xGcg==
Message-ID: <0789cbad-3164-4046-b8d6-b245721b6515@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:52:33 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] uaccess: rust: use newtype for user pointers
To: Alice Ryhl <aliceryhl@xxxxxxxxxx>
Cc: Miguel Ojeda <ojeda@xxxxxxxxxx>, Alexander Viro
<viro@xxxxxxxxxxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>,
Arnd Bergmann <arnd@xxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,
Boqun Feng <boqun.feng@xxxxxxxxx>, Gary Guo <gary@xxxxxxxxxxx>,
=?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= <bjorn3_gh@xxxxxxxxxxxxxx>,
Benno Lossin <benno.lossin@xxxxxxxxx>,
Andreas Hindborg <a.hindborg@xxxxxxxxxx>, Trevor Gross <tmgross@xxxxxxxxx>,
rust-for-linux@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250527-userptr-newtype-v2-1-a789d266f6b0@xxxxxxxxxx>
From: Danilo Krummrich <dakr@xxxxxxxxxx>
Content-Language: en-US
In-Reply-To: <20250527-userptr-newtype-v2-1-a789d266f6b0@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/27/25 3:53 PM, Alice Ryhl wrote:
> In C code we use sparse with the __user annotation to detect cases where
> a user pointer is mixed up with other things. To replicate that, we
> introduce a new struct UserPtr that serves the same purpose using the
> newtype pattern.
>
> The UserPtr type is not marked with #[derive(Debug)], which means that
> it's not possible to print values of this type. This avoids ASLR
> leakage.
>
> The type is added to the prelude as it is a fairly fundamental type
> similar to c_int. The wrapping_add() method is renamed to
> wrapping_byte_add() for consistency with the method name found on raw
> pointers.
>
> Signed-off-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
Reviewed-by: Danilo Krummrich <dakr@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665330-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 61CE141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:53:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id A49273BDE77
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:52:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7F12527A110;
Wed, 28 May 2025 10:53:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="KgzlkWPE"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5878121420A;
Wed, 28 May 2025 10:53:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.15
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429585; cv=none; b=UWA0/DWFB76HDxxKRG5GoySO4cXmOmxdtW4StppU1jvpvS2jtyZrBTYvmJ1AmW7tyA+w8GX+rtfVxchcLqGyrl7SJ85GDXh1eUto28Yd/spazLadqygGcA6ql8Hvh2lDJpzQ9C6M0lPCPN28yH5z8rxrwL35LLv0GofWa4OX6P0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429585; c=relaxed/simple;
bh=NAQa13db1BCPMZRo+1ORViw4igtX5oFCHLsMQq5GQkc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=CUXem8HXlX8xFnyzyhamQw40oPcGdyIus7KFmBS0zNcV/8sYUM018knG1gw459W9jtFG50jGGbbj/rYGvTl+VZVIf9e+xW0YlUK2NR74I2UXeioG1eyD0hG2+TpxsnriNERVN/80igVNu9bn5FSeruQkOWeNaLa++ZQFdWuj9Nc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=KgzlkWPE; arc=none smtp.client-ip=192.198.163.15
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748429583; x=1779965583;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=NAQa13db1BCPMZRo+1ORViw4igtX5oFCHLsMQq5GQkc=;
b=KgzlkWPEw9E32usoT3zlpBWAHXWjvPXq9aCNbxzjHjL+8gcd+585rELW
Lp8sU8oOB+fSuRGEL1+xwwCNcQkiSpxICJjOqsm01jAisSmjiBTRnCn5t
jYy3wKWyxOJwGYHw5zN7tGEM5MmmJjYADtUa7HZtDY9Uqzg7kxggAUswS
qPUqUM3LWUHYLx6cuoJWSYbUH+MfndvebemrMGvzWRlsbzspiARjNu9xQ
ikahm7TOxGnDMH5qN4CyU0hnRFhHvAWW2s4a4qxEH+F1a+7r+4DTrMu7x
4pbKcEJS+BFkvDrt6j+Nkw+ODo5cCMWVJITToVufBcMEJRqFoQyXd21GN
A==;
X-CSE-ConnectionGUID: Uy4VPVUlQOKnv54X9ypo2Q==
X-CSE-MsgGUID: sScb+9CSQE2lSIXT8Pg0PA==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="50606312"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="50606312"
Received: from orviesa009.jf.intel.com ([10.64.159.149])
by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:53:02 -0700
X-CSE-ConnectionGUID: LyqcDhdHSYOoQV332uUgFA==
X-CSE-MsgGUID: twjzfp7dR5G/KyU02as1yg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="143237950"
Received: from smile.fi.intel.com ([10.237.72.52])
by orviesa009.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 03:52:56 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uKEOy-00000001QBJ-2Avs;
Wed, 28 May 2025 13:52:52 +0300
Date: Wed, 28 May 2025 13:52:52 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Cc: Michael Turquette <mturquette@xxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Jassi Brar <jassisinghbrar@xxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
"Rafael J . Wysocki" <rafael@xxxxxxxxxx>,
Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>,
Linus Walleij <linus.walleij@xxxxxxxxxx>,
Bartosz Golaszewski <brgl@xxxxxxxx>,
Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= <ukleinek@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Len Brown <lenb@xxxxxxxxxx>, Sunil V L <sunilvl@xxxxxxxxxxxxxxxx>,
Rahul Pathak <rpathak@xxxxxxxxxxxxxxxx>,
Leyfoon Tan <leyfoon.tan@xxxxxxxxxxxxxxxx>,
Atish Patra <atish.patra@xxxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Samuel Holland <samuel.holland@xxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>, linux-clk@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v4 07/23] mailbox: Add RISC-V SBI message proxy (MPXY)
based mailbox driver
Message-ID: <aDbrBFcgaJxgBRVZ@xxxxxxxxxxxxxxxxxx>
References: <20250525084710.1665648-1-apatel@xxxxxxxxxxxxxxxx>
<20250525084710.1665648-8-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250525084710.1665648-8-apatel@xxxxxxxxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Sun, May 25, 2025 at 02:16:54PM +0530, Anup Patel wrote:
> Add a mailbox controller driver for the new SBI message proxy extension
> which is part of the SBI v3.0 specification.
...
> +#include <asm/sbi.h>
asm/* usually goes after generic linux/* ones. Why here?
> +#include <linux/cpu.h>
> +#include <linux/err.h>
> +#include <linux/init.h>
> +#include <linux/jump_label.h>
> +#include <linux/kernel.h>
What for?
> +#include <linux/mailbox_controller.h>
> +#include <linux/mailbox/riscv-rpmi-message.h>
> +#include <linux/mm.h>
> +#include <linux/module.h>
> +#include <linux/msi.h>
> +#include <linux/of_irq.h>
> +#include <linux/percpu.h>
> +#include <linux/platform_device.h>
> +#include <linux/smp.h>
Please, double check that you follow IWYU (Include What You Use) principle and
have no "proxy" headers.
(E.g., types.h is missing here, but it got included via one of the above, like
kernel.h)
...
> +
> + get_cpu();
> +
> + /* Get the remaining and returned fields to calculate total */
> + sret = sbi_ecall(SBI_EXT_MPXY, SBI_EXT_MPXY_GET_CHANNEL_IDS,
> + 0, 0, 0, 0, 0, 0);
> + if (!sret.error) {
Can it be standard pattern?
if (error)
goto err_put_cpu;
Ditto for other similar cases.
> + remaining = le32_to_cpu(sdata->remaining);
> + returned = le32_to_cpu(sdata->returned);
> + *channel_count = remaining + returned;
> + }
> +
> + put_cpu();
> + return sbi_err_map_linux_errno(sret.error);
> +}
...
> +static int mpxy_get_channel_ids(u32 channel_count, u32 *channel_ids)
> +{
> + u32 remaining, returned, sidx, start_index = 0, cidx = 0;
> + struct mpxy_local *mpxy = this_cpu_ptr(&mpxy_local);
> + struct sbi_mpxy_channel_ids_data *sdata = mpxy->shmem;
> + struct sbiret sret;
> +
> + if (!mpxy->shmem_active)
> + return -ENODEV;
> + if (!channel_count || !channel_ids)
> + return -EINVAL;
> +
> + get_cpu();
> +
> + do {
> + sret = sbi_ecall(SBI_EXT_MPXY, SBI_EXT_MPXY_GET_CHANNEL_IDS,
> + start_index, 0, 0, 0, 0, 0);
> + if (sret.error)
> + goto done;
> +
> + remaining = le32_to_cpu(sdata->remaining);
> + returned = le32_to_cpu(sdata->returned);
> +
> + for (sidx = 0; sidx < returned && cidx < channel_count; sidx++) {
> + channel_ids[cidx] = le32_to_cpu(sdata->channel_array[sidx]);
> + cidx += 1;
> + }
> +
> + start_index = cidx;
> +
> + } while (remaining);
> +
> +done:
It sounds to me like an 'err_put_cpu' for the name.
> + put_cpu();
> + return sbi_err_map_linux_errno(sret.error);
> +}
> +static int mpxy_write_attrs(u32 channel_id, u32 base_attrid, u32 attr_count,
> + u32 *attrs_buf)
> +{
> + struct mpxy_local *mpxy = this_cpu_ptr(&mpxy_local);
> + struct sbiret sret;
> + u32 i;
> +
> + if (!mpxy->shmem_active)
> + return -ENODEV;
> + if (!attr_count || !attrs_buf)
> + return -EINVAL;
> +
> + get_cpu();
> +
> + for (i = 0; i < attr_count; i++)
> + ((__le32 *)mpxy->shmem)[i] = cpu_to_le32(attrs_buf[i]);
Don't we have helpers for this? They are suffixed with _array.
https://elixir.bootlin.com/linux/v6.15-rc6/source/include/linux/byteorder/generic.h#L168
Don't forget to have asm/byteorder.h being included.
Ditto for the similar case(s).
> + sret = sbi_ecall(SBI_EXT_MPXY, SBI_EXT_MPXY_WRITE_ATTRS,
> + channel_id, base_attrid, attr_count, 0, 0, 0);
> +
> + put_cpu();
> + return sbi_err_map_linux_errno(sret.error);
> +}
...
> + msg->error = rc;
> + return 0;
What's the point of having int and not void function?
...
> + sizeof(mchan->rpmi_attrs) / sizeof(u32),
> + (u32 *)&mchan->rpmi_attrs);
Why casting? What about alignment?
...
> + while (1) {
Do it as do {} while, it will give an idea that the loop will run at least once
(without looking into condition), ideally it shouldn't be infinite loop, but it
might be harder to realise.
> + rc = mpxy_get_notifications(mchan->channel_id, notif, &data_len);
> + if (rc || !data_len)
> + break;
> +
> + if (mchan->attrs.msg_proto_id == SBI_MPXY_MSGPROTO_RPMI_ID)
> + mpxy_mbox_peek_rpmi_data(chan, mchan, notif, data_len);
> +
> + have_notifications = true;
> + }
...
> +static void mpxy_mbox_cleanup_events(struct mpxy_mbox_channel *mchan)
> +{
> + struct device *dev = mchan->mbox->dev;
> + int rc;
> +
> + /* Do nothing if events state not supported */
> + if (!mchan->have_events_state)
> + return;
> +
> + /* Do nothing if events state already disabled */
> + if (!mchan->attrs.events_state_ctrl)
> + return;
> +
> + /* Disable channel events state */
> + mchan->attrs.events_state_ctrl = 0;
> + rc = mpxy_write_attrs(mchan->channel_id, SBI_MPXY_ATTR_EVENTS_STATE_CONTROL,
> + 1, &mchan->attrs.events_state_ctrl);
> + if (rc) {
> + dev_err(dev, "disable events state failed for MPXY channel 0x%x\n",
> + mchan->channel_id);
> + }
Redundant {}.
> +}
...
> +static int mpxy_mbox_probe(struct platform_device *pdev)
> +{
> + struct device *dev = &pdev->dev;
> + struct mpxy_mbox_channel *mchan;
> + struct mpxy_mbox *mbox;
> + int i, msi_idx, rc;
Why is 'i' signed? Also make sure either they use POD (like unsigned int) or
exact data type the upper limit does or API where you pass it in.
> + u32 *channel_ids;
> +
> + /*
> + * Initialize MPXY shared memory only once. This also ensures
> + * that SBI MPXY mailbox is probed only once.
> + */
> + if (mpxy_shmem_init_done) {
> + dev_err(dev, "SBI MPXY mailbox already initialized\n");
> + return -EALREADY;
> + }
> +
> + /* Probe for SBI MPXY extension */
> + if (sbi_spec_version < sbi_mk_version(1, 0) ||
> + sbi_probe_extension(SBI_EXT_MPXY) <= 0) {
> + dev_info(dev, "SBI MPXY extension not available\n");
> + return -ENODEV;
> + }
> +
> + /* Find-out shared memory size */
> + mpxy_shmem_size = mpxy_get_shmem_size();
> +
> + /*
> + * Setup MPXY shared memory on each CPU
> + *
> + * Note: Don't cleanup MPXY shared memory upon CPU power-down
> + * because the RPMI System MSI irqchip driver needs it to be
> + * available when migrating IRQs in CPU power-down path.
> + */
> + cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "riscv/sbi-mpxy-shmem",
> + mpxy_setup_shmem, NULL);
> +
> + /* Mark as MPXY shared memory initialization done */
> + mpxy_shmem_init_done = true;
> +
> + /* Allocate mailbox instance */
> + mbox = devm_kzalloc(dev, sizeof(*mbox), GFP_KERNEL);
> + if (!mbox)
> + return -ENOMEM;
> + mbox->dev = dev;
> + platform_set_drvdata(pdev, mbox);
> +
> + /* Find-out of number of channels */
> + rc = mpxy_get_channel_count(&mbox->channel_count);
> + if (rc)
> + return dev_err_probe(dev, rc, "failed to get number of MPXY channels\n");
> + if (!mbox->channel_count)
> + dev_err_probe(dev, -ENODEV, "no MPXY channels available\n");
> +
> + /* Allocate and fetch all channel IDs */
> + channel_ids = devm_kcalloc(dev, mbox->channel_count,
> + sizeof(*channel_ids), GFP_KERNEL);
> + if (!channel_ids)
> + return -ENOMEM;
> + rc = mpxy_get_channel_ids(mbox->channel_count, channel_ids);
> + if (rc)
> + return dev_err_probe(dev, rc, "failed to MPXY channel IDs\n");
> +
> + /* Populate all channels */
> + mbox->channels = devm_kcalloc(dev, mbox->channel_count,
> + sizeof(*mbox->channels), GFP_KERNEL);
> + if (!mbox->channels)
> + return -ENOMEM;
> + for (i = 0; i < mbox->channel_count; i++) {
> + mchan = &mbox->channels[i];
> + mchan->mbox = mbox;
> + mchan->channel_id = channel_ids[i];
> +
> + rc = mpxy_read_attrs(mchan->channel_id, SBI_MPXY_ATTR_MSG_PROT_ID,
> + sizeof(mchan->attrs) / sizeof(u32),
> + (u32 *)&mchan->attrs);
> + if (rc) {
> + return dev_err_probe(dev, rc,
> + "MPXY channel 0x%x read attrs failed\n",
> + mchan->channel_id);
> + }
> +
> + if (mchan->attrs.msg_proto_id == SBI_MPXY_MSGPROTO_RPMI_ID) {
> + rc = mpxy_mbox_read_rpmi_attrs(mchan);
> + if (rc) {
> + return dev_err_probe(dev, rc,
> + "MPXY channel 0x%x read RPMI attrs failed\n",
> + mchan->channel_id);
> + }
> + }
> +
> + mchan->notif = devm_kzalloc(dev, mpxy_shmem_size, GFP_KERNEL);
> + if (!mchan->notif)
> + return -ENOMEM;
> +
> + mchan->max_xfer_len = min(mpxy_shmem_size, mchan->attrs.msg_max_len);
> +
> + if ((mchan->attrs.capability & SBI_MPXY_CHAN_CAP_GET_NOTIFICATIONS) &&
> + (mchan->attrs.capability & SBI_MPXY_CHAN_CAP_EVENTS_STATE))
> + mchan->have_events_state = true;
> +
> + if ((mchan->attrs.capability & SBI_MPXY_CHAN_CAP_GET_NOTIFICATIONS) &&
> + (mchan->attrs.capability & SBI_MPXY_CHAN_CAP_MSI))
> + mchan->msi_index = mbox->msi_count++;
> + else
> + mchan->msi_index = U32_MAX;
> + mchan->msi_irq = U32_MAX;
> + }
> + /* Free-up channel IDs */
> + devm_kfree(dev, channel_ids);
Just no. This is most likely (99.9%) wrong use of managed resources. This is
the biggest issue with this patch so far.
> + /* Initialize mailbox controller */
> + mbox->controller.txdone_irq = false;
> + mbox->controller.txdone_poll = false;
> + mbox->controller.ops = &mpxy_mbox_ops;
> + mbox->controller.dev = dev;
> + mbox->controller.num_chans = mbox->channel_count;
> + mbox->controller.fw_xlate = mpxy_mbox_fw_xlate;
> + mbox->controller.chans = devm_kcalloc(dev, mbox->channel_count,
> + sizeof(*mbox->controller.chans),
> + GFP_KERNEL);
> + if (!mbox->controller.chans)
> + return -ENOMEM;
> + for (i = 0; i < mbox->channel_count; i++)
> + mbox->controller.chans[i].con_priv = &mbox->channels[i];
> +
> + /* Set the MSI domain if not available */
> + if (!dev_get_msi_domain(dev)) {
> + /*
> + * The device MSI domain for OF devices is only set at the
> + * time of populating/creating OF device. If the device MSI
> + * domain is discovered later after the OF device is created
> + * then we need to set it explicitly before using any platform
> + * MSI functions.
> + */
> + if (is_of_node(dev_fwnode(dev)))
> + of_msi_configure(dev, to_of_node(dev_fwnode(dev)));
> + }
> +
> + /* Setup MSIs for mailbox (if required) */
> + if (mbox->msi_count) {
> + mbox->msi_index_to_channel = devm_kcalloc(dev, mbox->msi_count,
> + sizeof(*mbox->msi_index_to_channel),
> + GFP_KERNEL);
> + if (!mbox->msi_index_to_channel)
> + return -ENOMEM;
> +
> + for (msi_idx = 0; msi_idx < mbox->msi_count; msi_idx++) {
> + for (i = 0; i < mbox->channel_count; i++) {
> + mchan = &mbox->channels[i];
> + if (mchan->msi_index == msi_idx) {
> + mbox->msi_index_to_channel[msi_idx] = mchan;
> + break;
> + }
> + }
> + }
> +
> + rc = platform_device_msi_init_and_alloc_irqs(dev, mbox->msi_count,
> + mpxy_mbox_msi_write);
> + if (rc) {
> + return dev_err_probe(dev, rc, "Failed to allocate %d MSIs\n",
> + mbox->msi_count);
> + }
> +
> + for (i = 0; i < mbox->channel_count; i++) {
> + mchan = &mbox->channels[i];
> + if (mchan->msi_index == U32_MAX)
> + continue;
> + mchan->msi_irq = msi_get_virq(dev, mchan->msi_index);
> + }
> + }
> +
> + /* Register mailbox controller */
> + rc = devm_mbox_controller_register(dev, &mbox->controller);
> + if (rc) {
> + dev_err_probe(dev, rc, "Registering SBI MPXY mailbox failed\n");
> + if (mbox->msi_count)
> + platform_device_msi_free_irqs_all(dev);
> + return rc;
> + }
> +
> + dev_info(dev, "mailbox registered with %d channels\n",
> + mbox->channel_count);
> + return 0;
> +}
...
> + if (mbox->msi_count)
Is this check really needed?
> + platform_device_msi_free_irqs_all(mbox->dev);
> +}
...
> +static const struct of_device_id mpxy_mbox_of_match[] = {
> + {.compatible = "riscv,sbi-mpxy-mbox", },
> + {},
No comma for the terminator entry.
You should apply the reviewers' comments on all of your code, not just where it
was commented.
> +};
--
With Best Regards,
Andy Shevchenko
Return-Path: <linux-kernel+bounces-665332-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B9BF541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:53:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C499A1BC34BD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:53:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E98C727AC32;
Wed, 28 May 2025 10:53:25 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 117CD202998;
Wed, 28 May 2025 10:53:23 +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=1748429605; cv=none; b=dyB5bAB0YNARpzVbDwLm9yeSHVeO8xhs19nlss/nK0CG9bXvuT0VokI1PN/hKYV1YCDYiWYqr7IATq3ic+cGf0R/f2aBTgxRCgSf9D+MHiZsSygOVlXp/FnKk1nbHNI2n9ENb9SKepy5MrfL5pIGdq/UBmLD9l0VBy/m+pKx9nY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429605; c=relaxed/simple;
bh=l7ZaowPXCK8iLTg+xbpTw8MkGvzHbfT8jsk/1NqwjhE=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=XFdcR4MCvNA30s6oM5JP4zU0ubTcOHnabdc22kEClu2N+DmjB3Z8isgfalK4QMD63RqRSi2jgdJ67dEjYrj3yc5m6PPxV+NELQR7kphf7399uiVpmRnCLqiNovuCwOOPDnlgePCcV1mzdTzv6hSJ9EMwt5k62kTixnOij/t9NGs=
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 F33FA150C;
Wed, 28 May 2025 03:53:06 -0700 (PDT)
Received: from [10.57.94.142] (unknown [10.57.94.142])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C03483F5A1;
Wed, 28 May 2025 03:53:21 -0700 (PDT)
Message-ID: <ee8db861-3632-48a1-977d-b05670d9637a@xxxxxxx>
Date: Wed, 28 May 2025 11:53:20 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] selftests/mm: add simple VM_PFNMAP tests based on
mmap'ing /dev/mem
Content-Language: en-GB
To: David Hildenbrand <david@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Shuah Khan <shuah@xxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>, Ingo Molnar
<mingo@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>, Dev Jain
<dev.jain@xxxxxxx>, Aishwarya TCV <Aishwarya.TCV@xxxxxxx>
References: <20250509153033.952746-1-david@xxxxxxxxxx>
<232960c2-81db-47ca-a337-38c4bce5f997@xxxxxxx>
<7cb7f23a-ce9e-4664-8083-deb73ed23da3@xxxxxxxxxx>
<3c15a093-7c19-4c2a-a571-56a5ed4b445f@xxxxxxxxxx>
From: Ryan Roberts <ryan.roberts@xxxxxxx>
In-Reply-To: <3c15a093-7c19-4c2a-a571-56a5ed4b445f@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 11:48, David Hildenbrand wrote:
> On 28.05.25 12:44, David Hildenbrand wrote:
>> On 28.05.25 12:34, Ryan Roberts wrote:
>>> Hi David,
>>>
>>>
>>> On 09/05/2025 16:30, David Hildenbrand wrote:
>>>> Let's test some basic functionality using /dev/mem. These tests will
>>>> implicitly cover some PAT (Page Attribute Handling) handling on x86.
>>>>
>>>> These tests will only run when /dev/mem access to the first two pages
>>>> in physical address space is possible and allowed; otherwise, the tests
>>>> are skipped.
>>>
>>> We are seeing really horrible RAS errors with this test when run on arm64 tx2
>>> machine. Based solely on reviewing the code, I think the problem is that tx2
>>> doesn't have anything at phys address 0, so test_read_access() is trying to put
>>> trasactions out to a bad address on the bus.
>>>
>>> tx2 /proc/iomem:
>>>
>>> $ sudo cat /proc/iomem
>>> 30000000-37ffffff : PCI ECAM
>>> 38000000-3fffffff : PCI ECAM
>>> 40000000-5fffffff : PCI Bus 0000:00
>>> ...
>>>
>>> Whereas my x86 box has some reserved memory:
>>>
>>> $ sudo cat /proc/iomem
>>> 00000000-00000fff : Reserved
>>> 00001000-0003dfff : System RAM
>>> ...
>>>
>>
>> A quick fix would be to make this test specific to x86 (the only one I
>> tested on). We should always have the lower two pages IIRC (BIOS stuff etc).
I'm not sure how far along this patch is? I'm guessing mm-stable? Perhaps you
can do the quick fix, then I'd be happy to make this more robust for arm64 later?
>>
>>> I think perhaps the only safe way to handle this is to parse /proc/iomem for a
>>> region of "System RAM" that is at least 2 pages then use that for your read
>>> tests. This would also solve the hypothetical issue of reading something that
>>> has read size effects.
>>
>> That sounds also plausible yes. I somehow remembered that mmap() would
>> fail if "there is nothing".
>
> Ah, my memory comes back, we perform checks only with CONFIG_STRICT_DEVMEM.
Ahh makes sense. I guess our config doesn't include this. I just checked the RAS
error and it is for PA 0. So I'm confident that what I describe above is
definitely what is happening.
Return-Path: <linux-kernel+bounces-665331-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9715541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:53:47 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 83FF29E2FC8
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:53:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E994F27AC37;
Wed, 28 May 2025 10:53:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FYTjBW9f"
Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3DBDE24469C;
Wed, 28 May 2025 10:53:22 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429605; cv=none; b=PM5MwgPH5r+kVF18IJG1911vRChLSKIJP364Rk6lofqPJjQxrIaF8yWrCM21MgnHbac2C/Mucba5OYbv2kFO8zBmQev/waEgvtmrUMQgLk27DiRByMzb4jMUsCrGqfETNIuITzDX8Upa0GTwomWcYHOpOV9y/5UpEBHJl08RlIw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429605; c=relaxed/simple;
bh=0DTV0Ky9bIM8bS7kyApFrZI3E0D6TUzFXijk1QKkznk=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=CwGFXtaMHtWe7WfeCQq7gmYR5O+gAnWQc5/npWzzi8sspLKXxxQXR33nHS+oOmOdoTRzveEjiK48fAcAhyJ8ryFpGU3QEQS5TQI2ynqY0tgSE0oC0NLTIReacBuEQ3hJNffqnhz8FM4tQEJj0YTx4FCdgQd6C4Jll5dyyDvMJ2Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FYTjBW9f; arc=none smtp.client-ip=209.85.218.54
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-ad89333d603so282503166b.2;
Wed, 28 May 2025 03:53:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748429601; x=1749034401; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:from:to:cc:subject:date:message-id:reply-to;
bh=NOl96J3LmgA6Ak3DKn38V5XEN+41BOvGEplgp1Zan1A=;
b=FYTjBW9fNBdmYWit21d1zPTcLE1M1ZmRFzcNUNnKR7L7kGBUpBJqQ04NOcyZVfnCvD
KQCPAATQJGi97uw8iv9rilOcf/M9kDqPkhVoQkw7Kgs+dnNBVq3oitXPzZ7Aj8YBv7ej
CVZamFh0936Rr/mXgEzXpXIUUSv5j2SdGWzZ1Wf2z+xcGaQ9vrg9g5Wi4jfGZVLoxHv+
DBN/7pmyufk6KMBA26n7RGYLdCcTH89d+G53r+ZEOQVkIkPpHTHlxcbCSFeW1ZGfw62Y
5E4VjNGQ68JR9E9Eu8iExnC0dy2U1DyMFkB61WT9OuiPQRAUPkom0u05SHqQO2S/6L/+
pQsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429601; x=1749034401;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=NOl96J3LmgA6Ak3DKn38V5XEN+41BOvGEplgp1Zan1A=;
b=RvgVpcIeley+nKR6wApVqa3UUlr7Qstk/rxHWWinnnz3BAq9EEm/kQhA4lSnLvaR7U
1hOhrHtZ2/2l1B9+wkYi6o8iCA1SjrmkzRpdp6HZ2aBbpPUPYizawo0zbsB8hAyCeW5p
GLyGq932+ADaZ3+oOkKY2btCmddP1OmAHGo3pV1Xngx6hQ/ZsVUNHplQuCwuzltI+62t
qqnwzxmP25e8rN5ZRfPM/VAXeDvy9h/YQVHCLrLmLkGTFdYcLvRTM05zzr99CHeAwVzn
7YneWhzYUlh4sqPVdjIeB1Nwf8WUZzNYqezid03zrwQ7mufUMjW4uPfaE842QD6vEQVN
NvoQ==
X-Forwarded-Encrypted: i=1; AJvYcCV7e2eNDS1S4gEQ50iSR2j5du9rfgf88HVnA/hvSDwVI+M9VtEPFwjGq0eluIIlQEdI1O3FcJd3wgBTYQ==@vger.kernel.org, AJvYcCVImI3Kh+50Kpy2lZJ8QwJKpAWVE6Dmn6ouziBnacuouTyy7lUwJCbLa0VafGfBm9vNp4g+6hsOn708qNS0@xxxxxxxxxxxxxxx, AJvYcCVXIrcYb8LBOids6pAHwyOjyDSgjbWxTAAo/DmGMXd2oXuaKHY8DC0hqNYiXIbyBOMtbOY=@vger.kernel.org, AJvYcCWavx4uumLVoZ5CAP1z1zgfXFDuk/kN29Hdp+yBQd9xi7U8aTS+mPFz0tAvURIz/h52GygYSyvu@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YzCYOjzEHVr73bNve4IGz0MKOU6G8TUtKSGvgZQIU6OLNBVij/j
mAZNksPE/BIVQaRjmdo4Shr/KJztLSdukkkoHcSZXgczYb/IpYHSiXF8
X-Gm-Gg: ASbGncvA3WujFl53HTHaP9M+YthJ53Tp9/3xhHRAgN42wnuOPXTC/byHQSGRMpwLgmP
wp+GaNRCtIbmahxgSTpOT2d9Y7SntxG1ruotuUkx5bS0e2cE1jO9M6NB531a9m5Hnsth0kc0ZHv
5+QcQ/RLKMUiJpnMhz/vLm7Hj0UeyFIXxUf9kChynuC3mA3s/penEtzNTn5SmK4ITvU7SVikDKg
vIbBXoeh87ldxCht/1wD3xdmRGMSs0fj8k8C1WgCVN+bRpsD0/lalg4JJJ4SIAWDi+a+HPqD2Hz
6u41XP0NxKRUEkgwqfr8Hf2s01b19urwNWYGNovohRMy/ucr/TnsifRmmoXkKwWZUbESpO2WsA=
=
X-Google-Smtp-Source: AGHT+IGGeaG2q6yiRCGKlMaEsjWEAbQ2Wph3QFfKs9+YPs2wDpdHuzbueeZ4on9DqutvyWs9sW0vQg==
X-Received: by 2002:a17:907:c0d:b0:ad8:8ac5:c75e with SMTP id a640c23a62f3a-ad88ac5c8efmr521637866b.60.1748429601091;
Wed, 28 May 2025 03:53:21 -0700 (PDT)
Received: from ?IPV6:2620:10d:c096:325::6f? ([2620:10d:c092:600::1:c447])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1b477bfsm86531666b.129.2025.05.28.03.53.19
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 03:53:20 -0700 (PDT)
Message-ID: <11568ebd-4c00-463e-a2ca-5c75dbd625ef@xxxxxxxxx>
Date: Wed, 28 May 2025 11:54:32 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 12/18] page_pool: use netmem APIs to access page->pp_magic
in page_pool_page_is_pp()
To: Byungchul Park <byungchul@xxxxxx>
Cc: Mina Almasry <almasrymina@xxxxxxxxxx>, willy@xxxxxxxxxxxxx,
netdev@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx,
kernel_team@xxxxxxxxxxx, kuba@xxxxxxxxxx, ilias.apalodimas@xxxxxxxxxx,
harry.yoo@xxxxxxxxxx, hawk@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,
davem@xxxxxxxxxxxxx, john.fastabend@xxxxxxxxx, andrew+netdev@xxxxxxx,
toke@xxxxxxxxxx, tariqt@xxxxxxxxxx, edumazet@xxxxxxxxxx, pabeni@xxxxxxxxxx,
saeedm@xxxxxxxxxx, leon@xxxxxxxxxx, ast@xxxxxxxxxx, daniel@xxxxxxxxxxxxx,
david@xxxxxxxxxx, lorenzo.stoakes@xxxxxxxxxx, Liam.Howlett@xxxxxxxxxx,
vbabka@xxxxxxx, rppt@xxxxxxxxxx, surenb@xxxxxxxxxx, mhocko@xxxxxxxx,
horms@xxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx,
vishal.moola@xxxxxxxxx
References: <20250523032609.16334-13-byungchul@xxxxxx>
<CAHS8izN6QAcAr-qkFSYAy0JaTU+hdM56r-ug-AWDGGqLvHkNuQ@xxxxxxxxxxxxxx>
<20250526022307.GA27145@xxxxxxxxxxxxxxxxxxx>
<a4ff25cb-e31f-4ed7-a3b9-867b861b17bd@xxxxxxxxx>
<20250528081403.GA28116@xxxxxxxxxxxxxxxxxxx>
<06fca2f8-39f6-4abb-8e0d-bef373d9be0f@xxxxxxxxx>
<20250528091416.GA54984@xxxxxxxxxxxxxxxxxxx>
<b7efa56b-e9fd-4ca6-9ecf-0d5f15b8d0c1@xxxxxxxxx>
<20250528093303.GB54984@xxxxxxxxxxxxxxxxxxx>
<5494b37d-1af0-488e-904b-2d3cbd0e7dcf@xxxxxxxxx>
<20250528104440.GA13050@xxxxxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Pavel Begunkov <asml.silence@xxxxxxxxx>
In-Reply-To: <20250528104440.GA13050@xxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 11:44, Byungchul Park wrote:
> On Wed, May 28, 2025 at 10:51:29AM +0100, Pavel Begunkov wrote:
>> On 5/28/25 10:33, Byungchul Park wrote:
>>> On Wed, May 28, 2025 at 10:20:29AM +0100, Pavel Begunkov wrote:
>>>> On 5/28/25 10:14, Byungchul Park wrote:
>>>>> On Wed, May 28, 2025 at 10:07:52AM +0100, Pavel Begunkov wrote:
>>>>>> On 5/28/25 09:14, Byungchul Park wrote:
>>>>>>> On Wed, May 28, 2025 at 08:51:47AM +0100, Pavel Begunkov wrote:
>>>>>>>> On 5/26/25 03:23, Byungchul Park wrote:
>>>>>>>>> On Fri, May 23, 2025 at 10:21:17AM -0700, Mina Almasry wrote:
>>>>>>>>>> On Thu, May 22, 2025 at 8:26â?¯PM Byungchul Park <byungchul@xxxxxx> wrote:
>>>>>>>>>>>
>>>>>>>>>>> To simplify struct page, the effort to seperate its own descriptor from
>>>>>>>>>>> struct page is required and the work for page pool is on going.
>>>>>>>>>>>
>>>>>>>>>>> To achieve that, all the code should avoid accessing page pool members
>>>>>>>>>>> of struct page directly, but use safe APIs for the purpose.
>>>>>>>>>>>
>>>>>>>>>>> Use netmem_is_pp() instead of directly accessing page->pp_magic in
>>>>>>>>>>> page_pool_page_is_pp().
>>>>>>>>>>>
>>>>>>>>>>> Signed-off-by: Byungchul Park <byungchul@xxxxxx>
>>>>>>>>>>> ---
>>>>>>>>>>> include/linux/mm.h | 5 +----
>>>>>>>>>>> net/core/page_pool.c | 5 +++++
>>>>>>>>>>> 2 files changed, 6 insertions(+), 4 deletions(-)
>>>>>>>>>>>
>>>>>>>>>>> diff --git a/include/linux/mm.h b/include/linux/mm.h
>>>>>>>>>>> index 8dc012e84033..3f7c80fb73ce 100644
>>>>>>>>>>> --- a/include/linux/mm.h
>>>>>>>>>>> +++ b/include/linux/mm.h
>>>>>>>>>>> @@ -4312,10 +4312,7 @@ int arch_lock_shadow_stack_status(struct task_struct *t, unsigned long status);
>>>>>>>>>>> #define PP_MAGIC_MASK ~(PP_DMA_INDEX_MASK | 0x3UL)
>>>>>>>>>>>
>>>>>>>>>>> #ifdef CONFIG_PAGE_POOL
>>>>>>>>>>> -static inline bool page_pool_page_is_pp(struct page *page)
>>>>>>>>>>> -{
>>>>>>>>>>> - return (page->pp_magic & PP_MAGIC_MASK) == PP_SIGNATURE;
>>>>>>>>>>> -}
>>>>>>>>>>
>>>>>>>>>> I vote for keeping this function as-is (do not convert it to netmem),
>>>>>>>>>> and instead modify it to access page->netmem_desc->pp_magic.
>>>>>>>>>
>>>>>>>>> Once the page pool fields are removed from struct page, struct page will
>>>>>>>>> have neither struct netmem_desc nor the fields..
>>>>>>>>>
>>>>>>>>> So it's unevitable to cast it to netmem_desc in order to refer to
>>>>>>>>> pp_magic. Again, pp_magic is no longer associated to struct page.
>>>>>>>>>
>>>>>>>>> Thoughts?
>>>>>>>>
>>>>>>>> Once the indirection / page shrinking is realized, the page is
>>>>>>>> supposed to have a type field, isn't it? And all pp_magic trickery
>>>>>>>> will be replaced with something like
>>>>>>>>
>>>>>>>> page_pool_page_is_pp() { return page->type == PAGE_TYPE_PP; }
>>>>>>>
>>>>>>> Agree, but we need a temporary solution until then. I will use the
>>>>>>> following way for now:
>>>>>>
>>>>>> The question is what is the problem that you need another temporary
>>>>>> solution? If, for example, we go the placeholder way, page_pool_page_is_pp()
>>>>>
>>>>> I prefer using the place-holder, but Matthew does not. I explained it:
>>>>>
>>>>> https://lore.kernel.org/all/20250528013145.GB2986@xxxxxxxxxxxxxxxxxxx/
>>>>>
>>>>> Now, I'm going with the same way as the other approaches e.g. ptdesc.
>>>>
>>>> Sure, but that doesn't change my point
>>>
>>> What's your point? The other appoaches do not use place-holders. I
>>> don't get your point.
>>>
>>> As I told you, I will introduce a new struct, netmem_desc, instead of
>>> struct_group_tagged() on struct net_iov, and modify the static assert on
>>> the offsets to keep the important fields between struct page and
>>> netmem_desc.
>>>
>>> Then, is that following your point? Or could you explain your point in
>>> more detail? Did you say other points than these?
>>
>> Then please read the message again first. I was replying to th
>> aliasing with "lru", and even at the place you cut the message it
>> says "for example", which was followed by "You should be able to
>> do the same with the overlay option.".
>
> With struct_group_tagged() on struct net_iov, no idea about how to.
> However, it's doable with a new separate struct, struct netmem_desc.
static inline bool page_pool_page_is_pp(struct page *page)
{
pp_magic = page_to_netdesc(page)->pp_magic;
return pp_magic == ...;
}
page_to_netdesc() is either casting directly in case of full page
overlays, or "&page->netdesc" for the placeholder option.
--
Pavel Begunkov
Return-Path: <linux-kernel+bounces-665333-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7445E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:54:26 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9DC13A240DB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:53:44 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 70AAE27AC32;
Wed, 28 May 2025 10:53:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=denx.de header.i=@denx.de header.b="gOYQmi76"
Received: from mx.denx.de (mx.denx.de [89.58.32.78])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 765AE2472AD;
Wed, 28 May 2025 10:53:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=89.58.32.78
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429627; cv=none; b=F+dy3kK8n+MC+spbl5mOchwxn/neU/x+dojBfk6o3MlzeTjMbavqskvMm0MGRxqhPJOpL6z7YlbwESQX/K3Mr7sMZoZuSu1cMhgyrXjFeKIkR2GaU7niBSZ3LLpZvfafFdNzrYxt1A8QGNgslHY6UDT4Cs8AitZyspkZJXdDGeU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429627; c=relaxed/simple;
bh=U05qBBMBZ+zkfz9YMSbX9w+3mmO246ooiae3gxS+BUs=;
h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=r5OZhARuJqGNaLPHuvtPbH1rXYXGDEznxLycX1BN9zNnGXwre4Ilzhabii7VhMdRb+3ppxBTtqFildERH+kJgXOmcwzALaGV0NjnBnbnD+PUQ9ESejIoB7gHsccBQZhW6pXN6QFhnESZlDXskOvvBMGFV0qtpHVtkLAr+h4eBRM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=denx.de; spf=pass smtp.mailfrom=denx.de; dkim=pass (2048-bit key) header.d=denx.de header.i=@denx.de header.b=gOYQmi76; arc=none smtp.client-ip=89.58.32.78
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=denx.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=denx.de
Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id BFFD2103972A7;
Wed, 28 May 2025 12:53:31 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=mx-20241105;
t=1748429616; h=from:subject:date:message-id:to:cc:mime-version:content-type:
in-reply-to:references; bh=Rnlpm1rJuu9LugndshFdGeKyJZbgjRbA1UmZOD2hgzU=;
b=gOYQmi76dOC4pVrK0GAyK3s57luwOkQ2slpAqPEpVBuO1ysUf6/hGc+wz1OPbAYnpftvif
kMhuBBLGKVc1x9CCnqzb5gTkc41XK0rjoGSv/7XCIkWiu+s8O/Hr5xp+IvbohDx3oO7eo5
RIY9Nk79yHpdupcA+chi3PlWYPVydXo3sf8T05BfAHiOvR5TYjtkuW4Jj2s8lovnwQN6Sz
+EdXMZaSHhFia50Oo5DpffWSKzi2Xirs+TGIHU/ViuBjJWw03ZwitB9rU6THWNJswnujLP
5dW1zX/Cl4cY2YCTN6wmvFssgxfOpvasOE7wwgmYiGsha5xV31RQHPN4o554BA==
Date: Wed, 28 May 2025 12:53:29 +0200
From: Lukasz Majewski <lukma@xxxxxxx>
To: Paolo Abeni <pabeni@xxxxxxxxxx>
Cc: Andrew Lunn <andrew+netdev@xxxxxxx>, davem@xxxxxxxxxxxxx, Eric Dumazet
<edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>, Rob Herring
<robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Shawn Guo <shawnguo@xxxxxxxxxx>, Sascha Hauer
<s.hauer@xxxxxxxxxxxxxx>, Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>, Richard Cochran
<richardcochran@xxxxxxxxx>, netdev@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, Stefan Wahren
<wahrenst@xxxxxxx>, Simon Horman <horms@xxxxxxxxxx>, Andrew Lunn
<andrew@xxxxxxx>
Subject: Re: [net-next v12 4/7] net: mtip: The L2 switch driver for imx287
Message-ID: <20250528125329.084ab649@wsk>
In-Reply-To: <f738d1ed-7ade-4a37-b8fd-25178f7c1dee@xxxxxxxxxx>
References: <20250522075455.1723560-1-lukma@xxxxxxx>
<20250522075455.1723560-5-lukma@xxxxxxx>
<f738d1ed-7ade-4a37-b8fd-25178f7c1dee@xxxxxxxxxx>
Organization: denx.de
X-Mailer: Claws Mail 3.19.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/9ZmmnzXWe89Ci6PNTA0eE1a";
protocol="application/pgp-signature"; micalg=pgp-sha512
X-Last-TLS-Session-Version: TLSv1.3
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--Sig_/9ZmmnzXWe89Ci6PNTA0eE1a
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
Hi Paolo,
> On 5/22/25 9:54 AM, Lukasz Majewski wrote:
> > +/* dynamicms MAC address table learn and migration */
> > +static void
> > +mtip_atable_dynamicms_learn_migration(struct switch_enet_private
> > *fep,
> > + int curr_time, unsigned char
> > *mac,
> > + u8 *rx_port)
> > +{
> > + u8 port =3D MTIP_PORT_FORWARDING_INIT;
> > + struct mtip_port_info *port_info;
> > + u32 rx_mac_lo =3D 0, rx_mac_hi =3D 0;
> > + unsigned long flags;
> > + int index;
> > +
> > + spin_lock_irqsave(&fep->learn_lock, flags); =20
>=20
> AFAICS this is called by napi context and by a plain thread context,
> spin_lock_bh() should be sufficient.
Ok
>=20
> > +
> > + if (mac && is_valid_ether_addr(mac)) {
> > + rx_mac_lo =3D (u32)((mac[3] << 24) | (mac[2] << 16) |
> > + (mac[1] << 8) | mac[0]);
> > + rx_mac_hi =3D (u32)((mac[5] << 8) | (mac[4]));
> > + }
> > +
> > + port_info =3D mtip_portinfofifo_read(fep);
> > + while (port_info) {
> > + /* get block index from lookup table */
> > + index =3D GET_BLOCK_PTR(port_info->hash);
> > + mtip_update_atable_dynamic1(port_info->maclo,
> > port_info->machi,
> > + index, port_info->port,
> > + curr_time, fep);
> > +
> > + if (mac && is_valid_ether_addr(mac) &&
> > + port =3D=3D MTIP_PORT_FORWARDING_INIT) {
> > + if (rx_mac_lo =3D=3D port_info->maclo &&
> > + rx_mac_hi =3D=3D port_info->machi) {
> > + /* The newly learned MAC is the
> > source of
> > + * our filtered frame.
> > + */
> > + port =3D (u8)port_info->port;
> > + }
> > + }
> > + port_info =3D mtip_portinfofifo_read(fep);
> > + }
> > +
> > + if (rx_port)
> > + *rx_port =3D port;
> > +
> > + spin_unlock_irqrestore(&fep->learn_lock, flags);
> > +}
> > +
> > +static void mtip_aging_timer(struct timer_list *t)
> > +{
> > + struct switch_enet_private *fep =3D from_timer(fep, t,
> > timer_aging); +
> > + fep->curr_time =3D mtip_timeincrement(fep->curr_time);
> > +
> > + mod_timer(&fep->timer_aging,
> > + jiffies +
> > msecs_to_jiffies(LEARNING_AGING_INTERVAL)); +} =20
>=20
> It's unclear to me why you need to maintain a timer just to update a
> timestamp?!?
>=20
This timestamp is afterwards used in:
mtip_atable_dynamicms_learn_migration(), which in turn manages the
entries in switch "dynamic" table (it is one of the fields in the
record.
> (jiffies >> msecs_to_jiffies(LEARNING_AGING_INTERVAL)) & ((1 <<
> AT_DENTRY_TIMESTAMP_WIDTH) - 1)
>=20
If I understood you correctly - I shall remove the timer and then just
use the above line (based on jiffies) when
mtip_atable_dynamicms_learn_migration() is called (and it requires the
timestamp)?
Otherwise the mtip_timeincrement() seems like a nice wrapper on
incrementing the timestamp.
> should yield the same value (and possibly define a bitmask as a
> shortcut)
>=20
> > +static netdev_tx_t mtip_start_xmit_port(struct sk_buff *skb,
> > + struct net_device *dev,
> > int port) +{
> > + struct mtip_ndev_priv *priv =3D netdev_priv(dev);
> > + struct switch_enet_private *fep =3D priv->fep;
> > + unsigned short status;
> > + unsigned long flags;
> > + struct cbd_t *bdp;
> > + void *bufaddr;
> > +
> > + spin_lock_irqsave(&fep->hw_lock, flags); =20
>=20
> AFAICS this lock is acquired only by napi and thread context the _bh
> variant should be sufficient.
Ok.
>=20
> > +
> > + if (!fep->link[0] && !fep->link[1]) {
> > + /* Link is down or autonegotiation is in progress.
> > */
> > + netif_stop_queue(dev);
> > + spin_unlock_irqrestore(&fep->hw_lock, flags);
> > + return NETDEV_TX_BUSY; =20
>=20
> Intead you should probably stop the queue when such events happen
Please correct me if I'm wrong - the netif_stop_queue(dev); is called
before return. Shall something different be also done?
>=20
> > + }
> > +
> > + /* Fill in a Tx ring entry */
> > + bdp =3D fep->cur_tx;
> > +
> > + status =3D bdp->cbd_sc;
> > +
> > + if (status & BD_ENET_TX_READY) {
> > + /* All transmit buffers are full. Bail out.
> > + * This should not happen, since dev->tbusy should
> > be set.
> > + */
> > + dev_err(&fep->pdev->dev, "%s: tx queue full!.\n",
> > dev->name);
> > + spin_unlock_irqrestore(&fep->hw_lock, flags);
> > + return NETDEV_TX_BUSY; =20
>=20
> Instead you should use
> netif_txq_maybe_stop()/netif_subqueue_maybe_stop() to stop the queue
> eariler.
As I don't manage queues - maybe the netif_txq_maybe_stop() seems to be
an overkill. In the earlier code the netif_stop_queue() is used.
>=20
> > + }
> > +
> > + /* Clear all of the status flags */
> > + status &=3D ~BD_ENET_TX_STATS;
> > +
> > + /* Set buffer length and buffer pointer */
> > + bufaddr =3D skb->data;
> > + bdp->cbd_datlen =3D skb->len;
> > +
> > + /* On some FEC implementations data must be aligned on
> > + * 4-byte boundaries. Use bounce buffers to copy data
> > + * and get it aligned.
> > + */
> > + if ((unsigned long)bufaddr & MTIP_ALIGNMENT) {
> > + unsigned int index;
> > +
> > + index =3D bdp - fep->tx_bd_base;
> > + memcpy(fep->tx_bounce[index],
> > + (void *)skb->data, skb->len);
> > + bufaddr =3D fep->tx_bounce[index];
> > + }
> > +
> > + if (fep->quirks & FEC_QUIRK_SWAP_FRAME)
> > + swap_buffer(bufaddr, skb->len); =20
>=20
> Ouch, the above will kill performances.
This unfortunately must be done in such a way (the same approach is
present on fec_main.c) as the IP block is implemented in such a way
(explicit conversion from big endian to little endian).
> Also it looks like it will
> access uninitialized memory if skb->len is not 4 bytes aligned.
>=20
There is a few lines above a special code to prevent from such a
situation ((unsigned long)bufaddr & MTIP_ALIGNMENT).
> > +
> > + /* Save skb pointer. */
> > + fep->tx_skbuff[fep->skb_cur] =3D skb;
> > +
> > + dev->stats.tx_bytes +=3D skb->len; =20
>=20
> It looks like this start is incremented too early, as tx could still
> fail later.
Ok.
>=20
> > + fep->skb_cur =3D (fep->skb_cur + 1) & TX_RING_MOD_MASK;
> > +
> > + /* Push the data cache so the CPM does not get stale memory
> > + * data.
> > + */
> > + bdp->cbd_bufaddr =3D dma_map_single(&fep->pdev->dev, bufaddr,
> > + MTIP_SWITCH_TX_FRSIZE,
> > + DMA_TO_DEVICE);
> > + if (unlikely(dma_mapping_error(&fep->pdev->dev,
> > bdp->cbd_bufaddr))) {
> > + dev_err(&fep->pdev->dev,
> > + "Failed to map descriptor tx buffer\n");
> > + dev->stats.tx_errors++;
> > + dev->stats.tx_dropped++;
> > + dev_kfree_skb_any(skb);
> > + goto err;
> > + }
> > +
> > + /* Send it on its way. Tell FEC it's ready, interrupt
> > when done,
> > + * it's the last BD of the frame, and to put the CRC on
> > the end.
> > + */
> > + =20
>=20
> Likely you need some memory barrier here to ensure the descriptor
> status update is seen by the device after the buffer addr update.
>=20
> > + status |=3D (BD_ENET_TX_READY | BD_ENET_TX_INTR
> > + | BD_ENET_TX_LAST | BD_ENET_TX_TC);
I will add wmb() here.
> > + bdp->cbd_sc =3D status;
> > +
> > + netif_trans_update(dev);
> > + skb_tx_timestamp(skb);
> > +
> > + /* For port separation - force sending via specified port
> > */
> > + if (!fep->br_offload && port !=3D 0)
> > + mtip_forced_forward(fep, port, 1);
> > +
> > + /* Trigger transmission start */
> > + writel(MCF_ESW_TDAR_X_DES_ACTIVE, fep->hwp + ESW_TDAR); =20
>=20
> Possibly you should check skb->xmit_more to avoid ringing the doorbell
> when not needed.
I couldn't find skb->xmit_more in the current sources. Instead, there
is netdev_xmit_more().
However, the TX code just is supposed to setup one frame transmission
and hence there is no risk that we trigger "empty" transmission.
>=20
> > +static void mtip_timeout(struct net_device *dev, unsigned int
> > txqueue) +{
> > + struct mtip_ndev_priv *priv =3D netdev_priv(dev);
> > + struct switch_enet_private *fep =3D priv->fep;
> > + struct cbd_t *bdp;
> > + int i;
> > +
> > + dev->stats.tx_errors++;
> > +
> > + if (IS_ENABLED(CONFIG_SWITCH_DEBUG)) {
> > + dev_info(&dev->dev, "%s: transmit timed out.\n",
> > dev->name);
> > + dev_info(&dev->dev,
> > + "Ring data: cur_tx %lx%s, dirty_tx %lx
> > cur_rx: %lx\n",
> > + (unsigned long)fep->cur_tx,
> > + fep->tx_full ? " (full)" : "",
> > + (unsigned long)fep->dirty_tx,
> > + (unsigned long)fep->cur_rx);
> > +
> > + bdp =3D fep->tx_bd_base;
> > + dev_info(&dev->dev, " tx: %u buffers\n",
> > TX_RING_SIZE);
> > + for (i =3D 0; i < TX_RING_SIZE; i++) {
> > + dev_info(&dev->dev, " %08lx: %04x %04x
> > %08x\n",
> > + (kernel_ulong_t)bdp, bdp->cbd_sc,
> > + bdp->cbd_datlen,
> > (int)bdp->cbd_bufaddr);
> > + bdp++;
> > + }
> > +
> > + bdp =3D fep->rx_bd_base;
> > + dev_info(&dev->dev, " rx: %lu buffers\n",
> > + (unsigned long)RX_RING_SIZE);
> > + for (i =3D 0 ; i < RX_RING_SIZE; i++) {
> > + dev_info(&dev->dev, " %08lx: %04x %04x
> > %08x\n",
> > + (kernel_ulong_t)bdp,
> > + bdp->cbd_sc, bdp->cbd_datlen,
> > + (int)bdp->cbd_bufaddr);
> > + bdp++;
> > + }
> > + }
> > +
> > + rtnl_lock(); =20
>=20
> This is called in atomic scope, you can't acquire a mutex here.
> Instead you could schedule a work and do the reset in such scope.
>=20
Yes, you are right. I will rewrite it.
> > + if (netif_device_present(dev) || netif_running(dev)) {
> > + napi_disable(&fep->napi);
> > + netif_tx_lock_bh(dev);
> > + mtip_switch_restart(dev, fep->full_duplex[0],
> > + fep->full_duplex[1]);
> > + netif_tx_wake_all_queues(dev);
> > + netif_tx_unlock_bh(dev);
> > + napi_enable(&fep->napi);
> > + }
> > + rtnl_unlock();
> > +} =20
>=20
> > +
> > +/* During a receive, the cur_rx points to the current incoming
> > buffer.
> > + * When we update through the ring, if the next incoming buffer has
> > + * not been given to the system, we just set the empty indicator,
> > + * effectively tossing the packet.
> > + */
> > +static int mtip_switch_rx(struct net_device *dev, int budget, int
> > *port) +{
> > + struct mtip_ndev_priv *priv =3D netdev_priv(dev);
> > + u8 *data, rx_port =3D MTIP_PORT_FORWARDING_INIT;
> > + struct switch_enet_private *fep =3D priv->fep;
> > + unsigned short status, pkt_len;
> > + struct net_device *pndev;
> > + struct ethhdr *eth_hdr;
> > + int pkt_received =3D 0;
> > + struct sk_buff *skb;
> > + unsigned long flags;
> > + struct cbd_t *bdp;
> > +
> > + spin_lock_irqsave(&fep->hw_lock, flags);
> > +
It is also called in the NAPI context, so I will change
spin_lock_irqsave() to spin_lock_bh().
> > + /* First, grab all of the stats for the incoming packet.
> > + * These get messed up if we get called due to a busy
> > condition.
> > + */
> > + bdp =3D fep->cur_rx;
> > +
> > + while (!((status =3D bdp->cbd_sc) & BD_ENET_RX_EMPTY)) {
> > + if (pkt_received >=3D budget)
> > + break;
> > +
> > + pkt_received++;
> > + /* Since we have allocated space to hold a
> > complete frame,
> > + * the last indicator should be set.
> > + */
> > + if ((status & BD_ENET_RX_LAST) =3D=3D 0)
> > + dev_warn_ratelimited(&dev->dev,
> > + "SWITCH ENET: rcv is
> > not +last\n"); +
> > + if (!fep->usage_count)
> > + goto rx_processing_done;
> > +
> > + /* Check for errors. */
> > + if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH |
> > BD_ENET_RX_NO |
> > + BD_ENET_RX_CR | BD_ENET_RX_OV)) {
> > + dev->stats.rx_errors++;
> > + if (status & (BD_ENET_RX_LG |
> > BD_ENET_RX_SH)) {
> > + /* Frame too long or too short. */
> > + dev->stats.rx_length_errors++;
> > + }
> > + if (status & BD_ENET_RX_NO) /*
> > Frame alignment */
> > + dev->stats.rx_frame_errors++;
> > + if (status & BD_ENET_RX_CR) /* CRC
> > Error */
> > + dev->stats.rx_crc_errors++;
> > + if (status & BD_ENET_RX_OV) /* FIFO
> > overrun */
> > + dev->stats.rx_fifo_errors++;
> > + }
> > +
> > + /* Report late collisions as a frame error.
> > + * On this error, the BD is closed, but we don't
> > know what we
> > + * have in the buffer. So, just drop this frame
> > on the floor.
> > + */
> > + if (status & BD_ENET_RX_CL) {
> > + dev->stats.rx_errors++;
> > + dev->stats.rx_frame_errors++;
> > + goto rx_processing_done;
> > + }
> > +
> > + /* Process the incoming frame */
> > + pkt_len =3D bdp->cbd_datlen;
> > + data =3D (__u8 *)__va(bdp->cbd_bufaddr);
> > +
> > + dma_unmap_single(&fep->pdev->dev, bdp->cbd_bufaddr,
> > + bdp->cbd_datlen,
> > DMA_FROM_DEVICE); =20
>=20
> I have read your explaination WRT unmap/map. Actually you don't need
> to do any mapping here,=20
There are 16 cbd_t descriptors allocated (as dma_alloc_coherent). Those
descriptors contain pointer to data (being read in this case).
Hence the need to perform dma_map_single() for each descriptor, so I
would hold the correct pointer. However, initially this is done in
mtip_alloc_buffers().
> since you are unconditionally copying the
> whole buffer (why???)
Only the value of=20
pkt_len =3D bdp->cbd_datlen; is copied to SKB (after byte swap_buffer()).
> and re-using it.
>=20
> Still you need a dma_sync_single() to ensure the CPUs see the correct
> data.
The descriptors - i.e. struct cbd_t fields are allocated with
dma_alloc_coherent(), so this is OK.
The pointer, which is provided by dma_map_single(), is then used by
cbd_t descriptor to store data read by MTIP IP block.
>=20
> > +
> > + if (fep->quirks & FEC_QUIRK_SWAP_FRAME)
> > + swap_buffer(data, pkt_len);
> > +
> > + if (data) {
> > + eth_hdr =3D (struct ethhdr *)data;
> > + mtip_atable_get_entry_port_number(fep,
> > +
> > eth_hdr->h_source,
> > +
> > &rx_port);
> > + if (rx_port =3D=3D MTIP_PORT_FORWARDING_INIT)
> > +
> > mtip_atable_dynamicms_learn_migration(fep,
> > +
> > fep->curr_time,
> > +
> > eth_hdr->h_source,
> > +
> > &rx_port);
> > + }
> > +
> > + if (!fep->br_offload && (rx_port =3D=3D 1 || rx_port
> > =3D=3D 2))
> > + pndev =3D fep->ndev[rx_port - 1];
> > + else
> > + pndev =3D dev;
> > +
> > + *port =3D rx_port;
> > + pndev->stats.rx_packets++;
> > + pndev->stats.rx_bytes +=3D pkt_len; =20
>=20
> It looks like the stats are incremented too early, as the packets
> could still be dropped a few lines later
+1
>=20
> > +
> > + /* This does 16 byte alignment, exactly what we
> > need.
> > + * The packet length includes FCS, but we don't
> > want to
> > + * include that when passing upstream as it messes
> > up
> > + * bridging applications.
> > + */
> > + skb =3D netdev_alloc_skb(pndev, pkt_len +
> > NET_IP_ALIGN);
> > + if (unlikely(!skb)) {
> > + dev_dbg(&fep->pdev->dev,
> > + "%s: Memory squeeze, dropping
> > packet.\n",
> > + pndev->name);
> > + pndev->stats.rx_dropped++;
> > + goto err_mem;
> > + } else {
> > + skb_reserve(skb, NET_IP_ALIGN);
> > + skb_put(skb, pkt_len); /* Make room */
> > + skb_copy_to_linear_data(skb, data,
> > pkt_len);
> > + skb->protocol =3D eth_type_trans(skb, pndev);
> > + napi_gro_receive(&fep->napi, skb);
> > + }
> > +
> > + bdp->cbd_bufaddr =3D dma_map_single(&fep->pdev->dev,
> > data,
> > + bdp->cbd_datlen,
> > + DMA_FROM_DEVICE);
> > + if (unlikely(dma_mapping_error(&fep->pdev->dev,
> > + bdp->cbd_bufaddr)))
> > {
> > + dev_err(&fep->pdev->dev,
> > + "Failed to map descriptor rx
> > buffer\n");
> > + pndev->stats.rx_errors++;
> > + pndev->stats.rx_dropped++;
> > + dev_kfree_skb_any(skb); =20
>=20
> The above statement is wrong even if you intend to keep the
> dma_unmap/dma_map pair (and please, don't do that! ;).
It looks like the in the mtip_alloc_buffers() the area to provide
pointer for bdp->cbd_bufaddr is allocated.
Then in the mtip_switch_rx() (if data is received) - the data (from
bdp->cbd_bufaddr) is read and the dma_unmap_single() is called.
When the data is "passed" via SKB to upper "layers" of network stack,
then the dma_map_single() is call (with the same bdp->cbd_datlen
parameter) to allocate pointer for bdp->cbd_bufaddr.
Indeed, it looks like not optimal solution (maybe there are some side
effects to cover from this IP block?).=20
I will check if dma_sync_single_for_cpu() can be used instead (so we can
re-use the descriptors' pointers from the initial allocation).
> At this point
> the skb ownership has been handed to the stack by the previous
> napi_gro_receive(), freeing it here will cause UaF and double free.
>=20
I will remove the call to dev_kfree_skb_any(skb);
> > + goto err_mem;
> > + }
> > +
> > + rx_processing_done:
> > + /* Clear the status flags for this buffer */
> > + status &=3D ~BD_ENET_RX_STATS; =20
>=20
> With the dma map/unmap in place, you likely need a memory barrier to
> ensure the device will see the descriptor status update after
> bufferptr update.
I will add wmb() here.
>=20
> > +static int mtip_alloc_buffers(struct net_device *dev)
> > +{
> > + struct mtip_ndev_priv *priv =3D netdev_priv(dev);
> > + struct switch_enet_private *fep =3D priv->fep;
> > + struct sk_buff *skb;
> > + struct cbd_t *bdp;
> > + int i;
> > +
> > + bdp =3D fep->rx_bd_base;
> > + for (i =3D 0; i < RX_RING_SIZE; i++) {
> > + skb =3D netdev_alloc_skb(dev, MTIP_SWITCH_RX_FRSIZE);
> > + if (!skb)
> > + goto err;
> > +
> > + fep->rx_skbuff[i] =3D skb;
> > +
> > + bdp->cbd_bufaddr =3D dma_map_single(&fep->pdev->dev,
> > skb->data,
> > +
> > MTIP_SWITCH_RX_FRSIZE,
> > + DMA_FROM_DEVICE);
> > + if (unlikely(dma_mapping_error(&fep->pdev->dev,
> > + bdp->cbd_bufaddr)))
> > {
> > + dev_err(&fep->pdev->dev,
> > + "Failed to map descriptor rx
> > buffer\n");
> > + dev_kfree_skb_any(skb); =20
>=20
> At this point fep->rx_skbuff[i] is still not NULL, and later
> mtip_free_buffers() will try to free it again. You should remove the
> above dev_kfree_skb_any(skb).
+1
>=20
> > +static const struct ethtool_ops mtip_ethtool_ops =3D {
> > + .get_link_ksettings =3D phy_ethtool_get_link_ksettings,
> > + .set_link_ksettings =3D phy_ethtool_set_link_ksettings,
> > + .get_drvinfo =3D mtip_get_drvinfo,
> > + .get_link =3D ethtool_op_get_link,
> > + .get_ts_info =3D ethtool_op_get_ts_info,
> > +};
> > +
> > +static const struct net_device_ops mtip_netdev_ops =3D {
> > + .ndo_open =3D mtip_open,
> > + .ndo_stop =3D mtip_close,
> > + .ndo_start_xmit =3D mtip_start_xmit,
> > + .ndo_set_rx_mode =3D mtip_set_multicast_list,
> > + .ndo_tx_timeout =3D mtip_timeout,
> > + .ndo_set_mac_address =3D mtip_set_mac_address,
> > +};
> > +
> > +bool mtip_is_switch_netdev_port(const struct net_device *ndev)
> > +{
> > + return ndev->netdev_ops =3D=3D &mtip_netdev_ops;
> > +}
> > +
> > +static int mtip_switch_dma_init(struct switch_enet_private *fep)
> > +{
> > + struct cbd_t *bdp, *cbd_base;
> > + int ret, i;
> > +
> > + /* Check mask of the streaming and coherent API */
> > + ret =3D dma_set_mask_and_coherent(&fep->pdev->dev,
> > DMA_BIT_MASK(32));
> > + if (ret < 0) {
> > + dev_err(&fep->pdev->dev, "No suitable DMA
> > available\n");
> > + return ret;
> > + }
> > +
> > + /* Allocate memory for buffer descriptors */
> > + cbd_base =3D dma_alloc_coherent(&fep->pdev->dev, PAGE_SIZE,
> > &fep->bd_dma,
> > + GFP_KERNEL);
> > + if (!cbd_base)
> > + return -ENOMEM;
> > +
> > + /* Set receive and transmit descriptor base */
> > + fep->rx_bd_base =3D cbd_base;
> > + fep->tx_bd_base =3D cbd_base + RX_RING_SIZE;
> > +
> > + /* Initialize the receive buffer descriptors */
> > + bdp =3D fep->rx_bd_base;
> > + for (i =3D 0; i < RX_RING_SIZE; i++) {
> > + bdp->cbd_sc =3D 0;
> > + bdp++;
> > + }
> > +
> > + /* Set the last buffer to wrap */
> > + bdp--;
> > + bdp->cbd_sc |=3D BD_SC_WRAP; =20
>=20
> This is a recurring pattern, you should use an helper for it.
>=20
Ok.
> > +/* FEC MII MMFR bits definition */
> > +#define FEC_MMFR_ST BIT(30)
> > +#define FEC_MMFR_OP_READ BIT(29)
> > +#define FEC_MMFR_OP_WRITE BIT(28)
> > +#define FEC_MMFR_PA(v) (((v) & 0x1F) << 23)
> > +#define FEC_MMFR_RA(v) (((v) & 0x1F) << 18) =20
>=20
> Here and elsewhere it looks like you could use FIELD_PREP and friends
Ok, I will adjust the code.
>=20
> This patch is really too big, I'm pretty sure I missed some relevant
> issues. You should split it in multiple ones: i.e. initialization and
> h/w access, rx/tx, others ndos.
It is quite hard to "scatter" this patch as:
1. I've already split it to several files (which correspond to
different "logical" entities - like mtipl2sw_br.c).
2. The mtipl2sw.c file is the smallest part of the "core" of the
driver.
3. If I split it, then at some point I would break bisectability for
imx28.
>=20
> /P
>=20
Big thanks for your comments.
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@xxxxxxx
--Sig_/9ZmmnzXWe89Ci6PNTA0eE1a
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEgAyFJ+N6uu6+XupJAR8vZIA0zr0FAmg26ykACgkQAR8vZIA0
zr3NqQgAg/Wms6Es7gJIi5Y1I4OGda037cT9BtwVJAq8YpjkdZSDZ9+t/xbkIx58
Em4XhPq6hlDM1KLo6kKVqbP55CVYou8Rnen1U6viL9kukWYRNStymTWdfQt0rp7z
HaBQlTruWw4P2FOSMoica9A28yl37oBtk6Qnf3t9bdgKgJkj/B6eq4sRCAqJFe8E
UA0OjNcowsMWoI8rUqx5/bxC26Nm/oLdgJL8qVc8KzZNJPOci3TKOswk9So7+Pb8
fplwy0ynrnnopl4ur4ufHcJa0cchJev202fvyhyt7jIbhsi8MyNOw7fd1ucVRmxx
Pyx/sTv38i2fGb9DLp0q40ZTXbPl7A==
=uAU+
-----END PGP SIGNATURE-----
--Sig_/9ZmmnzXWe89Ci6PNTA0eE1a--
Return-Path: <linux-kernel+bounces-665334-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 90F0841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:54:36 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 780041BC29D6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:54:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 037D327A444;
Wed, 28 May 2025 10:54:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b="nnJeqQi3"
Received: from sendmail.purelymail.com (sendmail.purelymail.com [34.202.193.197])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C5F5110E3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:54:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=34.202.193.197
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429659; cv=none; b=H2amRItr1ip/lW+tZDGoAlkLaTjoNykQ4bGMiXaSnA8FHTNECwyebfxuWdcenhvrLWMAjzPNL/2SsNz9iAl04zxhABDb5frt/LA2kCPOBcMasR2mwmBblVZLKhV/yEcmTRpqWWd6HdKyiwofTFZj5LrDECTPVZR1vyBSTpJNuJ8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429659; c=relaxed/simple;
bh=P5UNf+zad20y7Zm/Q5xw4JbkbAaKqLePPnMsQnYWaNE=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=CpWNwvCJd26VCcXv0TWjjeCxpNdlf2i4VHqmJY4Vm1L0qnr2cqqyyJQx2kdbMO9dRsBEI05mxxajZntjjp+IMh94YSl+6VzQ3+jeCSzks/CY77jOgo+jzAqJpvIVRXUYAn2wZ1ViPRTx/Dii5KMYBB49eMgh557U2UkVFvLdrDg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org; spf=pass smtp.mailfrom=mentallysanemainliners.org; dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b=nnJeqQi3; arc=none smtp.client-ip=34.202.193.197
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mentallysanemainliners.org
Authentication-Results: purelymail.com; auth=pass
DKIM-Signature: a=rsa-sha256; b=nnJeqQi36M1JUBeNUekhtBJzrhCM26XoWxcgYcaYP7fXq+cYBNZ90x0c54Lcrx6s75XKMJ1vTVnxBYP4+ZmTc3uiEpsmpL8AFJofttLAaZsg7ofN1zC7EecoC7EcGUFhi74TxnXRl9QErcPUd0xUi8Gx1RQxO6xDZ7ZcM0AGjTUGVcWQyY6dGdWLuEU8cxVVyZ/wGDdLFwShwCS+8QRicaVAdOrU4qXimmtsKAONc6uK/XNGi4GDDsfMpbK76rt0aGai84ddVXpYaVvU1fGoMYNYNaDb3cfr16lboLzCzBOSWGIZ6bBOFFjIZbzPrfm6/W5OptdklnSNyQwgwWJ/LQ==; s=purelymail3; d=purelymail.com; v=1; bh=P5UNf+zad20y7Zm/Q5xw4JbkbAaKqLePPnMsQnYWaNE=; h=Feedback-ID:Received:From:To:Subject:Date;
Feedback-ID: 68229:10037:null:purelymail
X-Pm-Original-To: linux-kernel@xxxxxxxxxxxxxxx
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -1157235224;
(version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
Wed, 28 May 2025 10:53:45 +0000 (UTC)
From: Umer Uddin <umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>,
Chanwoo Choi <cw00.choi@xxxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>,
Michael Turquette <mturquette@xxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Igor Belwon <igor.belwon@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Cc: linux-samsung-soc@xxxxxxxxxxxxxxx,
linux-clk@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v1 0/2] Add CMU_HSI1 support for Exynos990 SoC
Date: Wed, 28 May 2025 11:52:50 +0100
Message-ID: <20250528105252.157533-1-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.47.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by Purelymail
Content-Type: text/plain; charset=UTF-8
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi all, definitely long time no see.
This small patchset adds support for the CMU_HSI1 block for the
Exynos990 SoC. Gates are not implemented as we can make use of
the HWACG system set up by previous bootloaders.
Best regards,
Umer Uddin
Umer Uddin (2):
dt-bindings: clock: exynos990: Add CMU_HSI1 bindings
clk: samsung: exynos990: Add CMU_HSI1 block
.../clock/samsung,exynos990-clock.yaml | 27 +++
drivers/clk/samsung/clk-exynos990.c | 221 ++++++++++++++++++
include/dt-bindings/clock/samsung,exynos990.h | 7 +
3 files changed, 255 insertions(+)
--=20
2.47.2
Return-Path: <linux-kernel+bounces-665335-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5B15041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:54:49 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 070431BC62BB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:54:48 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6C0BE27B4FC;
Wed, 28 May 2025 10:54:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b="jTiJGQds"
Received: from sendmail.purelymail.com (sendmail.purelymail.com [34.202.193.197])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F14527AC2D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:54:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=34.202.193.197
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429662; cv=none; b=OL74T8awvNcHQUk3xaExneEj3itxfcKOQy/vZnbNOKladUrW52OQAQ1T2/BWABzyuclADaGaDctRhIuPEbdcsRtVMNxrf6tS6QQmShXqOL6JiV7UVOJslQHp+/fZCLFz6glTFzp0dFYNQfdVhbLXGu3PkbMite/xS2OoXi0Xf7Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429662; c=relaxed/simple;
bh=JgCYTvLWUK/mh8lOqOaJ8RLcYi0tSYTu+9p0SfSb+sI=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=srAuFYxpwgyZ0ReUD9NiAk3iDiJWJhbx3taljGS+TMclxBns/HycL3W64oHFPKXMA3VFT5eOlM0JVvZyO8PrOFckyBYnzi806hwJtwcVND/VJgVP0IE2Mauzn4wOf6EtooW7n3V7D5w/B7A76zQL1EyfdYEvP/PXeJ/HxazNgug=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org; spf=pass smtp.mailfrom=mentallysanemainliners.org; dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b=jTiJGQds; arc=none smtp.client-ip=34.202.193.197
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mentallysanemainliners.org
Authentication-Results: purelymail.com; auth=pass
DKIM-Signature: a=rsa-sha256; b=jTiJGQdsCmZMEXP3gFgOQDOSjH0QEjZ8GGVwwvgcwHzLqI0p5osRERcq/pfByCUMf1TNS5fRePgSJDzD9AXWhAa3FGqWBOFZpozxG+M2p40ZCxSn8BhCEp50LrrxwMf/9fSBQc7t0kavcKTXhSe25HJR32dPFyPwoTDUKhdGbuxXPIJmDg+RAO9Y+PqX9Bp0S76oRAeNcm4nVebItWQhth7ujro99NQA6pbi2fwVn8XfNXj1iMlF4fy/FVDJqvXfNa8GvsHOi6XH40jmuCHe290ElWsKm6GDOC7tmqPu10f/Xhi4vUAof03dW/w45jI3T5uwFVP4K5NLQHP6Jtc6Lw==; s=purelymail3; d=purelymail.com; v=1; bh=JgCYTvLWUK/mh8lOqOaJ8RLcYi0tSYTu+9p0SfSb+sI=; h=Feedback-ID:Received:From:To:Subject:Date;
Feedback-ID: 68229:10037:null:purelymail
X-Pm-Original-To: linux-kernel@xxxxxxxxxxxxxxx
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -1157235224;
(version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
Wed, 28 May 2025 10:53:47 +0000 (UTC)
From: Umer Uddin <umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>,
Chanwoo Choi <cw00.choi@xxxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>,
Michael Turquette <mturquette@xxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Igor Belwon <igor.belwon@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Cc: linux-samsung-soc@xxxxxxxxxxxxxxx,
linux-clk@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v1 1/2] dt-bindings: clock: exynos990: Add CMU_HSI1 bindings
Date: Wed, 28 May 2025 11:52:51 +0100
Message-ID: <20250528105252.157533-2-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.47.2
In-Reply-To: <20250528105252.157533-1-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250528105252.157533-1-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by Purelymail
Content-Type: text/plain; charset=UTF-8
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Add dt-schema documentation for the Exynos990 CMU_HSI1 block.
This clock management unit provides clocks for the DesignWare MMC
controller, PCIE subsystem and UFS subsystem.
Signed-off-by: Umer Uddin <umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
---
.../clock/samsung,exynos990-clock.yaml | 27 +++++++++++++++++++
include/dt-bindings/clock/samsung,exynos990.h | 7 +++++
2 files changed, 34 insertions(+)
diff --git a/Documentation/devicetree/bindings/clock/samsung,exynos990-cloc=
k.yaml b/Documentation/devicetree/bindings/clock/samsung,exynos990-clock.ya=
ml
index c15cc1752..ce3b845ce 100644
--- a/Documentation/devicetree/bindings/clock/samsung,exynos990-clock.yaml
+++ b/Documentation/devicetree/bindings/clock/samsung,exynos990-clock.yaml
@@ -31,6 +31,7 @@ properties:
compatible:
enum:
- samsung,exynos990-cmu-hsi0
+ - samsung,exynos990-cmu-hsi1
- samsung,exynos990-cmu-peris
- samsung,exynos990-cmu-top
=20
@@ -80,6 +81,32 @@ allOf:
- const: usbdp_debug
- const: dpgtc
=20
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: samsung,exynos990-cmu-hsi1
+
+ then:
+ properties:
+ clocks:
+ items:
+ - description: External reference clock (26 MHz)
+ - description: CMU_HSI1 BUS clock (from CMU_TOP)
+ - description: CMU_HSI1 MMC_CARD clock (from CMU_TOP)
+ - description: CMU_HSI1 PCIE clock (from CMU_TOP)
+ - description: CMU_HSI1 UFS_CARD clock (from CMU_TOP)
+ - description: CMU_HSI1 UFS_EMBD clock (from CMU_TOP)
+
+ clock-names:
+ items:
+ - const: oscclk
+ - const: bus
+ - const: mmc_card
+ - const: pcie
+ - const: ufs_card
+ - const: ufs_embd
+
- if:
properties:
compatible:
diff --git a/include/dt-bindings/clock/samsung,exynos990.h b/include/dt-bin=
dings/clock/samsung,exynos990.h
index 6b9df09d2..3164cca44 100644
--- a/include/dt-bindings/clock/samsung,exynos990.h
+++ b/include/dt-bindings/clock/samsung,exynos990.h
@@ -254,4 +254,11 @@
#define CLK_GOUT_PERIS_OTP_CON_BIRA_OSCCLK=0918
#define CLK_GOUT_PERIS_OTP_CON_TOP_OSCCLK=0919
=20
+/* CMU_HSI1 */
+#define CLK_MOUT_HSI1_BUS_USER=09=091
+#define CLK_MOUT_HSI1_MMC_CARD_USER=092
+#define CLK_MOUT_HSI1_PCIE_USER=09=093
+#define CLK_MOUT_HSI1_UFS_CARD_USER=094
+#define CLK_MOUT_HSI1_UFS_EMBD_USER=095
+
#endif
--=20
2.47.2
Return-Path: <linux-kernel+bounces-665336-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E37DD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:54:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 306804E468F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:54:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8AD1A27C173;
Wed, 28 May 2025 10:54:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b="2Yk7R9Xo"
Received: from sendmail.purelymail.com (sendmail.purelymail.com [34.202.193.197])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F1A527AC32
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:54:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=34.202.193.197
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429663; cv=none; b=rnMIcdzl//H/bAV5enTRHuY25EnrHBNC5qV2QxzUlqSMJvRiMbATSb2GS0kwUCA+toRnW2DwLO14tn/Y4Fq9CGkpCf1R3lDtH/xm2vHpJ7w6KUWPQuPEtS3ucNbSP9Dw4Efohk/FYkMT/FSSPdvxEBmg5/YO2AskamcB6YmbapA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429663; c=relaxed/simple;
bh=0pPylfzDfxShLC+1NXvmbMDM0mKUGGgu8xx79UZwJpw=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=tnk6hYDlrYH14r/NkhEyQixfwLH6LfYCXuTDkOwgFBfAY5iZwMh3HLBS/wedOtVxTO9P6DBAeIe9cJ8/qBf2RPVFkgNZsKUnfVg13hcpKAzRU1PsKQ/mimxSCT3Al7NpH2GQUTpUkg58gp4r9rgyqKB4EeUPUIvLR74odsxIZ0A=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org; spf=pass smtp.mailfrom=mentallysanemainliners.org; dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b=2Yk7R9Xo; arc=none smtp.client-ip=34.202.193.197
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mentallysanemainliners.org
Authentication-Results: purelymail.com; auth=pass
DKIM-Signature: a=rsa-sha256; b=2Yk7R9XoMM9siRLnRktw0LMuwLrIRn1j1Z6cgy9JIdD0DZn0wd/55pqoZ+UkCeaU2CgbXd8spYt/z4l1nkDBZ+xCswVRbnnQyo6sAZQYLRMD3lGQbf8jaqEMhgFpagcb4Inx0szqQTSl8U+D1zUd/TJgJd0GEEOGMkyXY04RgRBPXQFciayQwxn3w7Tce/+RDm67dTxcVw7wYI/eY4WPu+ghI0z3Mifpdyr5ohqEKSxTqISAAHqNgoIc8TB00Wp0D2jGrN9CjI/tI+ECDmeMv7IPvknBIIDdifcvUrvsMOH0u70oLPGkN41qHlRipEgrAP9gpwSGaznoP6poFhswsg==; s=purelymail3; d=purelymail.com; v=1; bh=0pPylfzDfxShLC+1NXvmbMDM0mKUGGgu8xx79UZwJpw=; h=Feedback-ID:Received:From:To:Subject:Date;
Feedback-ID: 68229:10037:null:purelymail
X-Pm-Original-To: linux-kernel@xxxxxxxxxxxxxxx
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -1157235224;
(version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
Wed, 28 May 2025 10:53:49 +0000 (UTC)
From: Umer Uddin <umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>,
Chanwoo Choi <cw00.choi@xxxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>,
Michael Turquette <mturquette@xxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Igor Belwon <igor.belwon@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Cc: linux-samsung-soc@xxxxxxxxxxxxxxx,
linux-clk@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v1 2/2] clk: samsung: exynos990: Add CMU_HSI1 block
Date: Wed, 28 May 2025 11:52:52 +0100
Message-ID: <20250528105252.157533-3-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.47.2
In-Reply-To: <20250528105252.157533-1-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250528105252.157533-1-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by Purelymail
Content-Type: text/plain; charset=UTF-8
X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75 autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The CMU_HSI1 block is used for providing clocks for the DesignWare
MMC Controller, PCIE Subsystem and UFS subsystem, and has six
dependency clocks from CMU_TOP.
Signed-off-by: Umer Uddin <umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
---
drivers/clk/samsung/clk-exynos990.c | 221 ++++++++++++++++++++++++++++
1 file changed, 221 insertions(+)
diff --git a/drivers/clk/samsung/clk-exynos990.c b/drivers/clk/samsung/clk-=
exynos990.c
index 8d3f193d2..91ecbafcf 100644
--- a/drivers/clk/samsung/clk-exynos990.c
+++ b/drivers/clk/samsung/clk-exynos990.c
@@ -20,6 +20,7 @@
#define CLKS_NR_TOP (CLK_GOUT_CMU_VRA_BUS + 1)
#define CLKS_NR_HSI0 (CLK_GOUT_HSI0_XIU_D_HSI0_ACLK + 1)
#define CLKS_NR_PERIS (CLK_GOUT_PERIS_OTP_CON_TOP_OSCCLK + 1)
+#define CLKS_NR_HSI1 (CLK_MOUT_HSI1_UFS_EMBD_USER + 1)
=20
/* ---- CMU_TOP ----------------------------------------------------------=
--- */
=20
@@ -1483,6 +1484,222 @@ static void __init exynos990_cmu_peris_init(struct =
device_node *np)
CLK_OF_DECLARE(exynos990_cmu_peris, "samsung,exynos990-cmu-peris",
=09 exynos990_cmu_peris_init);
=20
+/* ---- CMU_HSI1 ---------------------------------------------------------=
--- */
+
+/* Register Offset definitions for CMU_HSI1 (0x13000000) */
+#define PLL_CON0_MUX_CLKCMU_HSI1_BUS_USER=09=09=09=09=09=09=09=09=09=09=09=
=090x0600
+#define PLL_CON1_MUX_CLKCMU_HSI1_BUS_USER=09=09=09=09=09=09=09=09=09=09=09=
=090x0604
+#define PLL_CON0_MUX_CLKCMU_HSI1_MMC_CARD_USER=09=09=09=09=09=09=09=09=09=
=09=09=090x0610
+#define PLL_CON1_MUX_CLKCMU_HSI1_MMC_CARD_USER=09=09=09=09=09=09=09=09=09=
=09=09=090x0614
+#define PLL_CON0_MUX_CLKCMU_HSI1_PCIE_USER=09=09=09=09=09=09=09=09=09=09=
=09=090x0620
+#define PLL_CON1_MUX_CLKCMU_HSI1_PCIE_USER=09=09=09=09=09=09=09=09=09=09=
=09=090x0624
+#define PLL_CON0_MUX_CLKCMU_HSI1_UFS_CARD_USER=09=09=09=09=09=09=09=09=09=
=09=09=090x0630
+#define PLL_CON1_MUX_CLKCMU_HSI1_UFS_CARD_USER=09=09=09=09=09=09=09=09=09=
=09=09=090x0634
+#define PLL_CON0_MUX_CLKCMU_HSI1_UFS_EMBD_USER=09=09=09=09=09=09=09=09=09=
=09=09=090x0640
+#define PLL_CON1_MUX_CLKCMU_HSI1_UFS_EMBD_USER=09=09=09=09=09=09=09=09=09=
=09=09=090x0644
+#define HSI1_CMU_HSI1_CONTROLLER_OPTION=09=09=09=09=09=09=09=09=09=09=09=
=09=090x0800
+#define CLK_CON_GAT_CLK_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_PHY_REFCLK_IN=09=
=09=09=09=09=09=09=09=090x2000
+#define CLK_CON_GAT_CLK_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_PCIE_S=
UB_CTRL_INST_0_PHY_REFCLK_IN=09=09=09=09=090x2004
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_D_TZPC_HSI1_IPCLKPORT_PCLK=09=09=09=
=09=09=09=09=09=090x2008
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_GPIO_HSI1_IPCLKPORT_PCLK=09=09=09=09=
=09=09=09=09=09=090x200c
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_HSI1_CMU_HSI1_IPCLKPORT_PCLK=09=09=
=09=09=09=09=09=09=090x2010
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_LHM_AXI_P_HSI1_IPCLKPORT_I_CLK=09=09=
=09=09=09=09=09=09=090x2014
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_LHS_ACEL_D_HSI1_IPCLKPORT_I_CLK=09=
=09=09=09=09=09=09=09=090x2018
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_MMC_CARD_IPCLKPORT_I_ACLK=09=09=09=
=09=09=09=09=09=09=090x201c
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_MMC_CARD_IPCLKPORT_SDCLKIN=09=09=09=
=09=09=09=09=09=090x2020
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_DBI_ACLK=09=09=
=09=09=09=09=09=09=090x2024
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_IEEE1500_WRAPPER=
_FOR_PCIEG2_PHY_X1_INST_0_I_SCL_APB_PCLK=09=09=090x2028
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_MSTR_ACLK=09=09=
=09=09=09=09=09=09=090x202c
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_PCIE_SUB_CTRL_IN=
ST_0_I_DRIVER_APB_CLK=09=09=09=09=09=090x2030
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_PIPE2_DIGITAL_X1=
_WRAP_INST_0_I_APB_PCLK_SCL=09=09=09=09=090x2034
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_SLV_ACLK=09=09=
=09=09=09=09=09=09=090x2038
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_G4X2_=
DWC_PCIE_CTL_INST_0_DBI_ACLK_UG=09=09=09=090x203c
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_G4X2_=
DWC_PCIE_CTL_INST_0_MSTR_ACLK_UG=09=09=09=090x2040
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_G4X2_=
DWC_PCIE_CTL_INST_0_SLV_ACLK_UG=09=09=09=090x2044
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_PCIE_=
SUB_CTRL_INST_0_I_DRIVER_APB_CLK=09=09=09=090x2048
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCS_PMA_INST_0=
_PIPE_PAL_PCIE_INST_0_I_APB_PCLK=09=09=09=090x204c
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCS_PMA_INST_0=
_SF_PCIEPHY000X2_LN07LPP_QCH_TM_WRAPPER_INST_0_I_APB_PCLK=090x2050
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_IA_GEN2_IPCLKPORT_I_CLK=09=09=
=09=09=09=09=09=09=090x2054
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_IA_GEN4_0_IPCLKPORT_I_CLK=09=09=
=09=09=09=09=09=09=090x2058
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PPMU_HSI1_IPCLKPORT_ACLK=09=09=09=09=
=09=09=09=09=09=090x205c
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_PPMU_HSI1_IPCLKPORT_PCLK=09=09=09=09=
=09=09=09=09=09=090x2060
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_RSTNSYNC_CLK_HSI1_BUS_IPCLKPORT_CLK=
=09=09=09=09=09=09=09=090x2064
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_RSTNSYNC_CLK_HSI1_OSCCLK_IPCLKPORT_C=
LK=09=09=09=09=09=09=09=090x2068
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_SYSMMU_HSI1_IPCLKPORT_CLK_S2=09=09=
=09=09=09=09=09=09=090x206c
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_SYSREG_HSI1_IPCLKPORT_PCLK=09=09=09=
=09=09=09=09=09=090x2070
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_CARD_IPCLKPORT_I_ACLK=09=09=09=
=09=09=09=09=09=09=090x2074
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_CARD_IPCLKPORT_I_CLK_UNIPRO=09=
=09=09=09=09=09=09=09=090x2078
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_CARD_IPCLKPORT_I_FMP_CLK=09=09=
=09=09=09=09=09=09=090x207c
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_EMBD_IPCLKPORT_I_ACLK=09=09=09=
=09=09=09=09=09=09=090x2080
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_EMBD_IPCLKPORT_I_CLK_UNIPRO=09=
=09=09=09=09=09=09=09=090x2084
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_EMBD_IPCLKPORT_I_FMP_CLK=09=09=
=09=09=09=09=09=09=090x2088
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_VGEN_LITE_HSI1_IPCLKPORT_CLK=09=09=
=09=09=09=09=09=09=090x208c
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_XIU_D_HSI1_IPCLKPORT_ACLK=09=09=09=
=09=09=09=09=09=09=090x2090
+#define CLK_CON_GAT_GOUT_BLK_HSI1_UID_XIU_P_HSI1_IPCLKPORT_ACLK=09=09=09=
=09=09=09=09=09=09=090x2094
+#define DMYQCH_CON_PCIE_GEN2_QCH_REF=09=09=09=09=09=09=09=09=09=09=09=09=
=090x3000
+#define DMYQCH_CON_PCIE_GEN4_0_QCH_REF=09=09=09=09=09=09=09=09=09=09=09=09=
=090x3004
+#define QCH_CON_D_TZPC_HSI1_QCH=09=09=09=09=09=09=09=09=09=09=09=09=09=090=
x3024
+#define QCH_CON_GPIO_HSI1_QCH=09=09=09=09=09=09=09=09=09=09=09=09=09=090x3=
028
+#define QCH_CON_HSI1_CMU_HSI1_QCH=09=09=09=09=09=09=09=09=09=09=09=09=090x=
302c
+#define QCH_CON_LHM_AXI_P_HSI1_QCH=09=09=09=09=09=09=09=09=09=09=09=09=090=
x3030
+#define QCH_CON_LHS_ACEL_D_HSI1_QCH=09=09=09=09=09=09=09=09=09=09=09=09=09=
0x3034
+#define QCH_CON_MMC_CARD_QCH=09=09=09=09=09=09=09=09=09=09=09=09=09=090x30=
38
+#define QCH_CON_PCIE_GEN2_QCH_APB=09=09=09=09=09=09=09=09=09=09=09=09=090x=
303c
+#define QCH_CON_PCIE_GEN2_QCH_DBI=09=09=09=09=09=09=09=09=09=09=09=09=090x=
3040
+#define QCH_CON_PCIE_GEN2_QCH_MSTR=09=09=09=09=09=09=09=09=09=09=09=09=090=
x3044
+#define QCH_CON_PCIE_GEN2_QCH_PCS=09=09=09=09=09=09=09=09=09=09=09=09=090x=
3048
+#define QCH_CON_PCIE_GEN2_QCH_PHY=09=09=09=09=09=09=09=09=09=09=09=09=090x=
304c
+#define QCH_CON_PCIE_GEN4_0_QCH_APB=09=09=09=09=09=09=09=09=09=09=09=09=09=
0x3050
+#define QCH_CON_PCIE_GEN4_0_QCH_AXI=09=09=09=09=09=09=09=09=09=09=09=09=09=
0x3054
+#define QCH_CON_PCIE_GEN4_0_QCH_DBI=09=09=09=09=09=09=09=09=09=09=09=09=09=
0x3058
+#define QCH_CON_PCIE_GEN4_0_QCH_PCS_APB=09=09=09=09=09=09=09=09=09=09=09=
=09=090x305c
+#define QCH_CON_PCIE_GEN4_0_QCH_PMA_APB=09=09=09=09=09=09=09=09=09=09=09=
=09=090x3060
+#define QCH_CON_PCIE_IA_GEN2_QCH=09=09=09=09=09=09=09=09=09=09=09=09=090x3=
064
+#define QCH_CON_PCIE_IA_GEN4_0_QCH=09=09=09=09=09=09=09=09=09=09=09=09=090=
x3068
+#define QCH_CON_PPMU_HSI1_QCH=09=09=09=09=09=09=09=09=09=09=09=09=09=090x3=
06c
+#define QCH_CON_SYSMMU_HSI1_QCH=09=09=09=09=09=09=09=09=09=09=09=09=09=090=
x3070
+#define QCH_CON_SYSREG_HSI1_QCH=09=09=09=09=09=09=09=09=09=09=09=09=09=090=
x3074
+#define QCH_CON_UFS_CARD_QCH=09=09=09=09=09=09=09=09=09=09=09=09=09=090x30=
78
+#define QCH_CON_UFS_CARD_QCH_FMP=09=09=09=09=09=09=09=09=09=09=09=09=090x3=
07c
+#define QCH_CON_UFS_EMBD_QCH=09=09=09=09=09=09=09=09=09=09=09=09=09=090x30=
80
+#define QCH_CON_UFS_EMBD_QCH_FMP=09=09=09=09=09=09=09=09=09=09=09=09=090x3=
084
+#define QCH_CON_VGEN_LITE_HSI1_QCH=09=09=09=09=09=09=09=09=09=09=09=09=090=
x3088
+
+static const unsigned long hsi1_clk_regs[] __initconst =3D {
+=09PLL_CON0_MUX_CLKCMU_HSI1_BUS_USER,
+=09PLL_CON1_MUX_CLKCMU_HSI1_BUS_USER,
+=09PLL_CON0_MUX_CLKCMU_HSI1_MMC_CARD_USER,
+=09PLL_CON1_MUX_CLKCMU_HSI1_MMC_CARD_USER,
+=09PLL_CON0_MUX_CLKCMU_HSI1_PCIE_USER,
+=09PLL_CON1_MUX_CLKCMU_HSI1_PCIE_USER,
+=09PLL_CON0_MUX_CLKCMU_HSI1_UFS_CARD_USER,
+=09PLL_CON1_MUX_CLKCMU_HSI1_UFS_CARD_USER,
+=09PLL_CON0_MUX_CLKCMU_HSI1_UFS_EMBD_USER,
+=09PLL_CON1_MUX_CLKCMU_HSI1_UFS_EMBD_USER,
+=09HSI1_CMU_HSI1_CONTROLLER_OPTION,
+=09CLK_CON_GAT_CLK_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_PHY_REFCLK_IN,
+=09CLK_CON_GAT_CLK_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_PCIE_SUB_CT=
RL_INST_0_PHY_REFCLK_IN,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_D_TZPC_HSI1_IPCLKPORT_PCLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_GPIO_HSI1_IPCLKPORT_PCLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_HSI1_CMU_HSI1_IPCLKPORT_PCLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_LHM_AXI_P_HSI1_IPCLKPORT_I_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_LHS_ACEL_D_HSI1_IPCLKPORT_I_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_MMC_CARD_IPCLKPORT_I_ACLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_MMC_CARD_IPCLKPORT_SDCLKIN,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_DBI_ACLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_IEEE1500_WRAPPER_FOR_=
PCIEG2_PHY_X1_INST_0_I_SCL_APB_PCLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_MSTR_ACLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_PCIE_SUB_CTRL_INST_0_=
I_DRIVER_APB_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_PIPE2_DIGITAL_X1_WRAP=
_INST_0_I_APB_PCLK_SCL,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN2_IPCLKPORT_SLV_ACLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_G4X2_DWC_P=
CIE_CTL_INST_0_DBI_ACLK_UG,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_G4X2_DWC_P=
CIE_CTL_INST_0_MSTR_ACLK_UG,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_G4X2_DWC_P=
CIE_CTL_INST_0_SLV_ACLK_UG,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCIE_001_PCIE_SUB_C=
TRL_INST_0_I_DRIVER_APB_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCS_PMA_INST_0_PIPE=
_PAL_PCIE_INST_0_I_APB_PCLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_GEN4_0_IPCLKPORT_PCS_PMA_INST_0_SF_P=
CIEPHY000X2_LN07LPP_QCH_TM_WRAPPER_INST_0_I_APB_PCLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_IA_GEN2_IPCLKPORT_I_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PCIE_IA_GEN4_0_IPCLKPORT_I_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PPMU_HSI1_IPCLKPORT_ACLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_PPMU_HSI1_IPCLKPORT_PCLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_RSTNSYNC_CLK_HSI1_BUS_IPCLKPORT_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_RSTNSYNC_CLK_HSI1_OSCCLK_IPCLKPORT_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_SYSMMU_HSI1_IPCLKPORT_CLK_S2,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_SYSREG_HSI1_IPCLKPORT_PCLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_CARD_IPCLKPORT_I_ACLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_CARD_IPCLKPORT_I_CLK_UNIPRO,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_CARD_IPCLKPORT_I_FMP_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_EMBD_IPCLKPORT_I_ACLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_EMBD_IPCLKPORT_I_CLK_UNIPRO,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_UFS_EMBD_IPCLKPORT_I_FMP_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_VGEN_LITE_HSI1_IPCLKPORT_CLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_XIU_D_HSI1_IPCLKPORT_ACLK,
+=09CLK_CON_GAT_GOUT_BLK_HSI1_UID_XIU_P_HSI1_IPCLKPORT_ACLK,
+=09DMYQCH_CON_PCIE_GEN2_QCH_REF,
+=09DMYQCH_CON_PCIE_GEN4_0_QCH_REF,
+=09QCH_CON_D_TZPC_HSI1_QCH,
+=09QCH_CON_GPIO_HSI1_QCH,
+=09QCH_CON_HSI1_CMU_HSI1_QCH,
+=09QCH_CON_LHM_AXI_P_HSI1_QCH,
+=09QCH_CON_LHS_ACEL_D_HSI1_QCH,
+=09QCH_CON_MMC_CARD_QCH,
+=09QCH_CON_PCIE_GEN2_QCH_APB,
+=09QCH_CON_PCIE_GEN2_QCH_DBI,
+=09QCH_CON_PCIE_GEN2_QCH_MSTR,
+=09QCH_CON_PCIE_GEN2_QCH_PCS,
+=09QCH_CON_PCIE_GEN2_QCH_PHY,
+=09QCH_CON_PCIE_GEN4_0_QCH_APB,
+=09QCH_CON_PCIE_GEN4_0_QCH_AXI,
+=09QCH_CON_PCIE_GEN4_0_QCH_DBI,
+=09QCH_CON_PCIE_GEN4_0_QCH_PCS_APB,
+=09QCH_CON_PCIE_GEN4_0_QCH_PMA_APB,
+=09QCH_CON_PCIE_IA_GEN2_QCH,
+=09QCH_CON_PCIE_IA_GEN4_0_QCH,
+=09QCH_CON_PPMU_HSI1_QCH,
+=09QCH_CON_SYSMMU_HSI1_QCH,
+=09QCH_CON_SYSREG_HSI1_QCH,
+=09QCH_CON_UFS_CARD_QCH,
+=09QCH_CON_UFS_CARD_QCH_FMP,
+=09QCH_CON_UFS_EMBD_QCH,
+=09QCH_CON_UFS_EMBD_QCH_FMP,
+=09QCH_CON_VGEN_LITE_HSI1_QCH,
+};
+
+/* Parent clock list for CMU_HSI1 muxes */
+PNAME(mout_hsi1_ufs_embd_p) =3D=09=09{ "oscclk",
+=09=09=09=09=09 "dout_cmu_shared0_div4",
+=09=09=09=09=09 "dout_cmu_shared2_div2",
+=09=09=09=09=09 "oscclk" };
+PNAME(mout_hsi1_ufs_card_p) =3D=09=09{ "oscclk",
+=09=09=09=09=09 "dout_cmu_shared0_div4",
+=09=09=09=09=09 "dout_cmu_shared2_div2",
+=09=09=09=09=09 "oscclk" };
+PNAME(mout_hsi1_pcie_p) =3D=09=09{ "oscclk", "fout_shared2_pll" };
+PNAME(mout_hsi1_bus_p) =3D=09=09{ "dout_cmu_shared0_div3",
+=09=09=09=09=09 "dout_cmu_shared0_div4",
+=09=09=09=09=09 "dout_cmu_shared1_div4",
+=09=09=09=09=09 "dout_cmu_shared4_div3",
+=09=09=09=09=09 "dout_cmu_shared2_div2",
+=09=09=09=09=09 "fout_mmc_pll",
+=09=09=09=09=09 "oscclk",
+=09=09=09=09=09 "oscclk" };
+PNAME(mout_hsi1_mmc_card_p) =3D=09=09{ "oscclk",
+=09=09=09=09=09 "fout_shared2_pll",
+=09=09=09=09=09 "fout_mmc_pll",
+=09=09=09=09=09 "dout_cmu_shared0_div4" };
+PNAME(mout_hsi1_bus_user_p) =3D=09=09{ "oscclk", "dout_cmu_hsi1_bus" };
+PNAME(mout_hsi1_mmc_card_user_p) =3D=09{ "oscclk", "dout_cmu_hsi1_mmc_card=
" };
+PNAME(mout_hsi1_pcie_user_p) =3D=09=09{ "oscclk", "dout_cmu_hsi1_pcie" };
+PNAME(mout_hsi1_ufs_card_user_p) =3D=09{ "oscclk", "dout_cmu_hsi1_ufs_card=
" };
+PNAME(mout_hsi1_ufs_embd_user_p) =3D=09{ "oscclk", "dout_cmu_hsi1_ufs_embd=
" };
+
+static const struct samsung_mux_clock hsi1_mux_clks[] __initconst =3D {
+=09MUX(CLK_MOUT_HSI1_BUS_USER, "mout_hsi1_bus_user",
+=09 mout_hsi1_bus_user_p, PLL_CON0_MUX_CLKCMU_HSI1_BUS_USER,
+=09 4, 1),
+=09MUX(CLK_MOUT_HSI1_MMC_CARD_USER, "mout_hsi1_mmc_card_user",
+=09 mout_hsi1_mmc_card_user_p, PLL_CON0_MUX_CLKCMU_HSI1_MMC_CARD_USER,
+=09 4, 1),
+=09MUX(CLK_MOUT_HSI1_PCIE_USER, "mout_hsi1_pcie_user",
+=09 mout_hsi1_pcie_user_p, PLL_CON0_MUX_CLKCMU_HSI1_PCIE_USER,
+=09 4, 1),
+=09MUX(CLK_MOUT_HSI1_UFS_CARD_USER, "mout_hsi1_ufs_card_user",
+=09 mout_hsi1_ufs_card_user_p, PLL_CON0_MUX_CLKCMU_HSI1_UFS_CARD_USER,
+=09 4, 1),
+=09MUX(CLK_MOUT_HSI1_UFS_EMBD_USER, "mout_hsi1_ufs_embd_user",
+=09 mout_hsi1_ufs_embd_user_p, PLL_CON0_MUX_CLKCMU_HSI1_UFS_EMBD_USER,
+=09 4, 1),
+};
+
+static const struct samsung_cmu_info hsi1_cmu_info __initconst =3D {
+=09.mux_clks =3D hsi1_mux_clks,
+=09.nr_mux_clks =3D ARRAY_SIZE(hsi1_mux_clks),
+=09.nr_clk_ids =3D CLKS_NR_HSI1,
+=09.clk_regs =3D hsi1_clk_regs,
+=09.nr_clk_regs =3D ARRAY_SIZE(hsi1_clk_regs),
+=09.clk_name=09=09=3D "bus",
+};
+
/* ----- platform_driver ----- */
=20
static int __init exynos990_cmu_probe(struct platform_device *pdev)
@@ -1501,6 +1718,10 @@ static const struct of_device_id exynos990_cmu_of_ma=
tch[] =3D {
=09=09.compatible =3D "samsung,exynos990-cmu-hsi0",
=09=09.data =3D &hsi0_cmu_info,
=09},
+=09{
+=09=09.compatible =3D "samsung,exynos990-cmu-hsi1",
+=09=09.data =3D &hsi1_cmu_info,
+=09},
=09{ },
};
=20
--=20
2.47.2
Return-Path: <linux-kernel+bounces-665337-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 33CB541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:55:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 761D24E2717
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:55:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C2A0227A129;
Wed, 28 May 2025 10:55:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="WLqBDXLa"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1AF929408
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:55:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429741; cv=none; b=FWbz+B3O47fLqO5x9i0K+UsigD+ZreK60FFyIRMzj6rnZrEjEp/GdUasq5qRWrxV3adGKrUcz6H1eHTxFvjwiM/pFCanrHgfBitijQNOyBVvvsgM0QFJikl02hFLE17kpPLdcWqZ/yYlByDT5Fhzeqe50zwDXI9jDFplyVGixu8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429741; c=relaxed/simple;
bh=SCxngfYK+IOIKRdHrgEoscUNHocL+yQ57wscCRIrBuI=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=CtcrcL1cQWewScAqJ7lgj8erCFv5eSoNA+or8k3MuB9Z3L4Gx2/dyCaE5LEuC4SfbnOyFni1P2ZrY6YleMg2oDrg/Kvgx64DJvfp+I74anH+qPLF6Ion4gAfoO5Hg0rQCGWYIYXOUIk3FjK5Iz/Pw2u48djOPfWSVFKR7F9EBjs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=WLqBDXLa; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279862.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S8aDTV023876
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:55:39 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
2GBHIa4UJXy3kvJwaMsOIp36AT4ZgsNjCHuBmMnsGGw=; b=WLqBDXLaETrREYPP
k3bqTgo4rPOev8L1bg2YP3zUKL3ZKb/ZbYk2aOckQdMkBvCDvDHTPbAK0IhR7Wjv
12r5wFXgoAWjAYkw74SbYE+gmbpqy29x+7rpmMgEm8WCZyASVPYsO6vxBdYVsYsg
P4+BgsYx9M5+a/I/xK+XplgbelC1Jxf365V3AIK6OTFyZpKSRusIKbJ4S4HmWsTt
0gtsHWF3imOnvSr9sHhysmwT4MkLWmAvXSE2jGkGzbBBkuXpKVh9qjJXwo3/r3s7
5uLyOjv1bGFclk/VO6rcG/LGayxuaz3O1JC4IIzV+UlafMX9BvVP/6bYQqL4mxuj
X3b5uQ==
Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u6vjt09v-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:55:39 +0000 (GMT)
Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7caee990715so1472030585a.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:55:38 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429738; x=1749034538;
h=in-reply-to:content-transfer-encoding:content-disposition
:mime-version:references:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=2GBHIa4UJXy3kvJwaMsOIp36AT4ZgsNjCHuBmMnsGGw=;
b=RdUAuGwogwI+/vlgbRscc3+dv2Q4G91bLyN1qDkTAiTR6nm2tCLIcimkF1+MtzGALa
qJvd8OWgzqneI0nR32XbXWMK6RzKhJRinK2TBfEVGZFocFZatcRu9IryWdSzvP4V1JdV
4f2tuZEVkCA4KcQHOjXfChibrDQmRDzuxgiM7ilujSF4V8Z7MiQxH+frfEeX16CtZsIa
dimf3MNPjZj0SP6CllQEYX6+bSZb5TGW3sUYS7uNZXgkw9qKKVTQLQWyN+4259poBmAY
AfkjZbet6F4wUDefWXn8JHhRT5E8q8cNbgEhsAX10kVYGxngOI8FyaoVz1gOynDbQ3oX
/hMA==
X-Forwarded-Encrypted: i=1; AJvYcCUGxS/qlaTz0MWxbBim+lEERmmdQsN14hWJq3iynNhKRjwuJNNTnpPPtf/1h3/l2AscKfP6hjW/AW5Bz1k=@vger.kernel.org
X-Gm-Message-State: AOJu0YxQXZ5drMBeGeNNEQ1iFZioVY2aaedtKEkDsjMV+9cAAfSlgey1
926IiaJ+hVwmoInts28WjSzfgMj0jkcHoPEg6e6YO9CBtJnvfLrLd/bQcdxgu/YDza5bL2mm0ve
nT7VY45dgmS+SZ8capq94XCwlV3mnQ+2nDC6IN4bMkqLn5Qtv7Bd3Q96Dj+Bq4DuCTGk=
X-Gm-Gg: ASbGncuirhf2SsrCXI77iAV4j10IpjekMUTqF5IBV4qA4sy2bUeOSOgng/ScXY6oSgg
YY6UTBOJMjyGj5j1gg6F+5DWfePfqCybCq+gPv3O21APJHYhvU5wAtUf5y8tq3adQOgPUKh+ktf
bguFGPzF2I42I74qP9q7w0Yt1l+0uQ5x/ITvG29YZoDKh+CDwLO+K+lSFcGxjPOlZapeQLRZA9d
wPq2lHWy2E9oltzlw+uwD7iqfo0Vk7at7MFLO1Aofo16RDH7zirMq4WM3CZq3teA/Y2aNL9BuJ5
6GeYIBGOLa/JIVUlGhVX/+ff3uzVWk9DeCI1b2jwPMK1zC0X+tIOfI0RbfgMJxa7AWv0EZqU6KQ
=
X-Received: by 2002:a05:6214:f04:b0:6f9:51b5:45b4 with SMTP id 6a1803df08f44-6fa9d01b876mr219768006d6.12.1748429737685;
Wed, 28 May 2025 03:55:37 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHHTeW9Oym5KrU5w2CrN6TuqbEYXZSVkhfiP2M2uzBIJxVS46ac7MVbRXMxqQkY4kvIlFReMQ==
X-Received: by 2002:a05:6214:f04:b0:6f9:51b5:45b4 with SMTP id 6a1803df08f44-6fa9d01b876mr219767476d6.12.1748429737194;
Wed, 28 May 2025 03:55:37 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5532f62b2e8sm233345e87.96.2025.05.28.03.55.35
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:55:36 -0700 (PDT)
Date: Wed, 28 May 2025 13:55:34 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Maxime Ripard <mripard@xxxxxxxxxx>,
Thomas Zimmermann <tzimmermann@xxxxxxx>,
David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>,
Andrzej Hajda <andrzej.hajda@xxxxxxxxx>,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Robert Foss <rfoss@xxxxxxxxxx>,
Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>,
Jonas Karlman <jonas@xxxxxxxxx>,
Jernej Skrabec <jernej.skrabec@xxxxxxxxx>,
Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>,
Shawn Guo <shawnguo@xxxxxxxxxx>, Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>,
Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx>,
Fabio Estevam <festevam@xxxxxxxxx>,
Douglas Anderson <dianders@xxxxxxxxxxxx>,
Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Anusha Srivatsa <asrivats@xxxxxxxxxx>,
Paul Kocialkowski <paulk@xxxxxxxxxxx>,
Hui Pu <Hui.Pu@xxxxxxxxxxxxxxxx>,
Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx>,
dri-devel@xxxxxxxxxxxxxxxxxxxxx, asahi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, chrome-platform@xxxxxxxxxxxxxxx,
imx@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-amlogic@xxxxxxxxxxxxxxxxxxx,
linux-renesas-soc@xxxxxxxxxxxxxxx, platform-driver-x86@xxxxxxxxxxxxxxx,
linux-samsung-soc@xxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx,
freedreno@xxxxxxxxxxxxxxxxxxxxx,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH v4] drm/bridge: tc358767: convert to
devm_drm_bridge_alloc() API
Message-ID: <y262e67gi5f53objugljkpyc3lzdaqtw3b7qr4546btqo7ehu4@qp2orsf6xd7t>
References: <20250528-drm-bridge-convert-to-alloc-api-v4-1-f04e698c9a77@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20250528-drm-bridge-convert-to-alloc-api-v4-1-f04e698c9a77@xxxxxxxxxxx>
X-Authority-Analysis: v=2.4 cv=UOXdHDfy c=1 sm=1 tr=0 ts=6836ebab cx=c_pps
a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10
a=dt9VzEwgFbYA:10 a=e5mUnYsNAAAA:8 a=VwQbUJbxAAAA:8 a=P-IC7800AAAA:8
a=EUspDBNiAAAA:8 a=Xa5mcPTA7YjQpW6brCsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
a=NFOGd7dJGGMPyQGDc5-O:22 a=Vxmtnl_E_bksehYqCbjh:22 a=d3PnA9EDa4IxuAV0gXij:22
X-Proofpoint-ORIG-GUID: Fz1d9UxgER7DWMJUKfE4wvaJxo2ZzEpQ
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5NSBTYWx0ZWRfX1pUhwoKuYO2r
f484r0f0bSJQS0HwX1wyw4QNQIzyD9vclKqq926hzq9ad5kzyLa+LjfTiAMLMTTk9EidT2SMW2i
55eIa8ABxQjnDfM4yTpcu89wN5xZdEMnQbNKTsgc8cSi7gQHBsYwxQEqjpTVMuDMZPSwv1epVLq
HA09PBPqPHOv3cYFhrlBjXSwiOKVluEK11ZiIlD2XCfOtEqTRktyD4xI6JD8wB4lYNemrxciosu
BLf5C8VKbG1HTYYSKSOrcYjPMvC1KAEcZd3+OmKsZEL3IeDoJwW/+fhlW150Nt9IM1lkd5fetZf
SaMwX8k0bgcxe39+uKbyt3Qf/BbK3smrcUBQ4+rJvcIGlFy9xK3m/xCcvYd6k45iwmCkgqdRJZR
Wlh/vO9p23zSDbMXlZF+/A8RDBDQ73XImNaWhxUP4Gn4PYtbgMpjfXpYapg+HmxN7AHouKEY
X-Proofpoint-GUID: Fz1d9UxgER7DWMJUKfE4wvaJxo2ZzEpQ
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
clxscore=1015 phishscore=0 mlxscore=0 adultscore=0 priorityscore=1501
mlxlogscore=999 bulkscore=0 malwarescore=0 impostorscore=0 spamscore=0
suspectscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280095
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 11:29:36AM +0200, Luca Ceresoli wrote:
> This is the new API for allocating DRM bridges.
>
> Converting this driver is a bit complex because the drm_bridge funcs
> pointer differs based on the bridge mode. So the current code does:
>
> * tc_probe()
> * devm_kzalloc() private struct embedding drm_bridge
> * call tc_probe_bridge_endpoint() which
> * parses DT description into struct fields
> * computes the mode
> * calls different bridge init functions based on the mode
> * each sets a different bridge.funcs pointer
>
> The new API expects the funcs pointer to be known at alloc time, which does
> not fit in the current code structure.
>
> Solve this by splitting tc_probe_bridge_endpoint() in two functions:
>
> * tc_probe_get_mode(), computing the mode without needing the private
> driver structure
> * tc_probe_bridge_endpoint(), only initializing the endpoints
>
> So now the mode is known before allocation and so
> is the funcs pointer, while all other operations are still happening after
> allocation, directly into the private struct data, as they used to.
>
> The new code flow is:
>
> * tc_probe()
> * tc_probe_get_mode()
> * parses DT description
> * computes and returns the mode
> * based onf the mode, pick the funcs pointer
> * devm_drm_bridfge_alloc(..., funcs)
> * call tc_probe_bridge_endpoint() which
> * calls different bridge init functions based on the mode
> * these don't set the funcs pointer, it was done by _alloc
>
> This solution is chosen to minimize the changes in the driver logical code
> flow. The drawback is we now iterate twice over the endpoints during probe.
>
> Signed-off-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
> ---
> devm_drm_bridge_alloc() [0] is the new API to allocate and initialize a DRM
> bridge, and the only one supported from now on. It is the first milestone
> towards removal of bridges from a still existing DRM pipeline without
> use-after-free.
>
> The steps in the grand plan [1] are:
>
> 1. â?? add refcounting to DRM bridges (struct drm_bridge)
> 2. handle gracefully atomic updates during bridge removal
> 3. avoid DSI host drivers to have dangling pointers to DSI devices
> 4. finish the hotplug bridge work, removing the "always-disconnected"
> connector, moving code to the core and potentially removing the
> hotplug-bridge itself (this needs to be clarified as points 1-3 are
> developed)
>
> This series is part of step 1 of the grand plan.
>
> Current tasks in step 1 of the grand plan:
>
> A. â?? add new alloc API and refcounting -> (now in drm-misc-next)
> B. â?? convert all bridge drivers to new API (this series)
> C. â?¦ documentation, kunit tests (v1 under discussion)
> D. after (B), add get/put to drm_bridge_add/remove() + attach/detech()
> E. after (B), convert accessors; this is a large work and can be done
> in chunks
> F. debugfs improvements
>
> More info about this series in the v2 cover [2].
>
> Luca
>
> [0] https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/0cc6aadd7fc1e629b715ea3d1ba537ef2da95eec
> [1] https://lore.kernel.org/lkml/20250206-hotplug-drm-bridge-v6-0-9d6f2c9c3058@xxxxxxxxxxx/t/#u
> [2] https://lore.kernel.org/lkml/20250424-drm-bridge-convert-to-alloc-api-v2-0-8f91a404d86b@xxxxxxxxxxx/
> ---
> Changes in v4:
> - Removed patches already in drm-misc-next -> only 1 left
> - Improve commit message of patch 1
> - Link to v3: https://lore.kernel.org/all/20250509-drm-bridge-convert-to-alloc-api-v3-0-b8bc1f16d7aa@xxxxxxxxxxx/
>
> Changes in v3:
> - Fixed issues reported for some patches
> - Added review tags
> - Removed patches that have been applied
> - Added revert for the exynos patch, applied by mistake
> - Update cover with grand plan info and trim some of it
> - Updated bouncing e-mail address in Cc list
> - Link to v2: https://lore.kernel.org/lkml/20250424-drm-bridge-convert-to-alloc-api-v2-0-8f91a404d86b@xxxxxxxxxxx/
>
> Changes in v2:
> - Improved cover letter with link to commit adding devm_drm_bridge_alloc()
> - add review tags
> - fix bugs in zynqmp, vc4 patches
> - fix patch 1 error code checking
> - Link to v1: https://lore.kernel.org/r/20250407-drm-bridge-convert-to-alloc-api-v1-0-42113ff8d9c0@xxxxxxxxxxx
> ---
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665338-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 73A9F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:58:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1339E1BC45DA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:58:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1E59127A448;
Wed, 28 May 2025 10:57:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lUTlS6Q+"
Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 976B5217F23
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:57:54 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429876; cv=none; b=UrV6MDt955+KKuU1CAOxykgAS9nYvaCgPVYIOib6nMfutBCj9tj2uHBnbAcQVU61XYCm/KrlxTcdovA5GeRmXJQKpj5ss2O5+MUoG91mQgtOqjwp5hUzttwlE0rIUHXyaw9EAck76MjmtYQYHL9EvEnO3N35+KtQ5S0St1SEHFI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429876; c=relaxed/simple;
bh=JHqBhtwG3VggRrp7RJNQ6LFkjijJTkre089s4jgjoEk=;
h=Message-ID:Subject:From:To:Cc:Date:Content-Type:MIME-Version; b=HnBasEOB++JGKtHk4VDZdQxzkuE8gX9j+0gbITWVoC2H9aJRMKN4V/QEZh0CH9ytpK9QZGLXJwhN6pl/LCQpaZM8OJVFowP2cmE7j2gSHlHrRNXh/xnvveedP7As67ndgSA1cUuWdrVg/tae5KLQOQRryk2gojVHKkI786YyatY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lUTlS6Q+; arc=none smtp.client-ip=209.85.128.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-44b1ff82597so38453015e9.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 03:57:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748429873; x=1749034673; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:user-agent:date:cc:to:from
:subject:message-id:from:to:cc:subject:date:message-id:reply-to;
bh=c2CBsPuNRj2NxImrwVUIpQ1aE4dbrchCbO1E9TXK39E=;
b=lUTlS6Q+/1HWn9QSsqniXPkPbFkoDZZtT6YixtqmVHoqIktQo9j1KEAMD2Avx1DDH3
tNtBHAsHmryVjWxj7Va77sGCpsolvBZC13nNb4P92VJu7LDVJgZ6GFDxVx/pk622KYx7
vRstDA25NPmo0zbmhpZK69Trubk7bXhFrvJQ39TSCW90uLemhFMcw3p3rybYsl+LfdoP
UfnMkm0uoBJb3KFxIW/mocNSJZhpwV+dY+CFRVN63wLmcttDofOsygQKpKYDpny1PtDy
8IngJHvcGpGolySsGZiGkJFr0GDvKnp9A2HDBLCUXaEONankQuDCgAboanX0EtCxh34p
K5Wg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748429873; x=1749034673;
h=content-transfer-encoding:mime-version:user-agent:date:cc:to:from
:subject:message-id:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=c2CBsPuNRj2NxImrwVUIpQ1aE4dbrchCbO1E9TXK39E=;
b=GciN/+1/3uBmOWYZ3fx/LA4B0zIPSBHYrL39c+lD8KnaBxdPp5pFmQhvskC9m9mhBE
tHYlQqd3fvSU1E8+RY65QP/DjxIhQSxM7Il5QMBgBGHw3SROiTXSbYRP/w3EmIQMBOJ4
dE2vrDnLCQmdl8rNSSdv8td49WykRgrGACpObppV+c8DNgnH2TJik4sSETjgsoe1X3WX
2swj9Y9Yha/VTjMV66Y6vbXMcfmBz0swSF91eVjfacay+dtPhN0WVatDm4S7DCdnm79y
1OdV9kraHxHrkp0Hd5qotcaKYv1D+MZjTi//NgoNWPHcpIvBEaHTMdGaBV0RWgHsUubT
OTbg==
X-Gm-Message-State: AOJu0YxXr6Eec3sre4ocesYDGet4TDO7DuMe27HYCqoCaKul5ZWN9YCq
dqf+OoeOA31gVi6nBYAA946oT5ydZFIIwPBTAnedKNeJb7RTpWYFSaTP
X-Gm-Gg: ASbGnculDxP3QqfppLl0uCkQU8besQPqUGwDYTqoq0raUsdW0XMXHkN3+4Rhnk3/MJZ
ou6jFAvQk+MavjOzL+BludqwpBaVdHxbrhSGe4cBpS3151Uci47r4ScPvE3x3vX1ExEUxN5C9BW
MUpFOqRlzFKQ2Hk+0tiXnOUChHQ316UmKVhJOoIl0lByWtDakHF03u8vivRU4O2WYRay4bVbLLj
wl5YOKh0U9vFaiYl3gE6IJHzotrWbhN93yvwoyBcVwcWddOfweaFR6aMcMOFhwygpl55JgWaFHb
HUC1mbZ6+ejAsCq8pqQNyXAIWnsOX4qTivy40MYQXCFU54KV1i9E2rR6BwvuMl+EUa3YyWEgtb2
LHfdX1PxEdxAJRGl58TWeAGgmCl+Qh43szWurhadIUvLNXKkaU30gyRE=
X-Google-Smtp-Source: AGHT+IE+/oVDa4eiNfMl7zRBnj0w2qHot0cc06+zNvM3acv4RNRe93kKKnaLpdDoWqPXISlwzX0a/A==
X-Received: by 2002:a05:600c:4e0c:b0:442:faa3:fadb with SMTP id 5b1f17b1804b1-44c917f3ea8mr172866515e9.2.1748429872498;
Wed, 28 May 2025 03:57:52 -0700 (PDT)
Received: from lifebook.fritz.box (p200300da670f9b00eea232a12c0946eb.dip0.t-ipconnect.de. [2003:da:670f:9b00:eea2:32a1:2c09:46eb])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45072559736sm13940965e9.19.2025.05.28.03.57.51
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 03:57:51 -0700 (PDT)
Message-ID: <c3c50ad1eb19ef553eca8a57c17f4c006413ab70.camel@xxxxxxxxx>
Subject: [PATCH v2] pps: fix poll support
From: Denis Osterland-Heim <denis.osterland@xxxxxxxxx>
To: Rodolfo Giometti <giometti@xxxxxxxxxxxx>, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, Denis OSTERLAND-HEIM
<denis.osterland@xxxxxxxxx>
Date: Wed, 28 May 2025 12:57:50 +0200
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.56.0-1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
From: Denis OSTERLAND-HEIM <denis.osterland@xxxxxxxxx>
Because pps_cdev_poll() returns unconditionally EPOLLIN,
a user space program that calls select/poll get always an immediate data
ready-to-read response. As a result the intended use to wait until next
data becomes ready does not work.
User space snippet:
struct pollfd pollfd = {
.fd = open("/dev/pps0", O_RDONLY),
.events = POLLIN|POLLERR,
.revents = 0 };
while(1) {
poll(&pollfd, 1, 2000/*ms*/); // returns immediate, but should wait
if(revents & EPOLLIN) { // always true
struct pps_fdata fdata;
memset(&fdata, 0, sizeof(memdata));
ioctl(PPS_FETCH, &fdata); // currently fetches data at max speed
}
}
Lets remember the last fetch event counter and compare this value
in pps_cdev_poll() with most recent event counter
and return 0 if they are equal.
Signed-off-by: Denis OSTERLAND-HEIM <denis.osterland@xxxxxxxxx>
Co-developed-by: Rodolfo Giometti <giometti@xxxxxxxxxxxx>
Signed-off-by: Rodolfo Giometti <giometti@xxxxxxxxxxxx>
Fixes: eae9d2ba0cfc ("LinuxPPS: core support")
Link: https://lore.kernel.org/all/f6bed779-6d59-4f0f-8a59-b6312bd83b4e@xxxxxxxxxxxx/
---
drivers/pps/pps.c | 11 +++++++++--
include/linux/pps_kernel.h | 1 +
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/pps/pps.c b/drivers/pps/pps.c
index 6a02245ea35f..9463232af8d2 100644
--- a/drivers/pps/pps.c
+++ b/drivers/pps/pps.c
@@ -41,6 +41,9 @@ static __poll_t pps_cdev_poll(struct file *file, poll_table *wait)
poll_wait(file, &pps->queue, wait);
+ if (pps->last_fetched_ev == pps->last_ev)
+ return 0;
+
return EPOLLIN | EPOLLRDNORM;
}
@@ -186,9 +189,11 @@ static long pps_cdev_ioctl(struct file *file,
if (err)
return err;
- /* Return the fetched timestamp */
+ /* Return the fetched timestamp and save last fetched event */
spin_lock_irq(&pps->lock);
+ pps->last_fetched_ev = pps->last_ev;
+
fdata.info.assert_sequence = pps->assert_sequence;
fdata.info.clear_sequence = pps->clear_sequence;
fdata.info.assert_tu = pps->assert_tu;
@@ -272,9 +277,11 @@ static long pps_cdev_compat_ioctl(struct file *file,
if (err)
return err;
- /* Return the fetched timestamp */
+ /* Return the fetched timestamp and save last fetched event */
spin_lock_irq(&pps->lock);
+ pps->last_fetched_ev = pps->last_ev;
+
compat.info.assert_sequence = pps->assert_sequence;
compat.info.clear_sequence = pps->clear_sequence;
compat.info.current_mode = pps->current_mode;
diff --git a/include/linux/pps_kernel.h b/include/linux/pps_kernel.h
index c7abce28ed29..aab0aebb529e 100644
--- a/include/linux/pps_kernel.h
+++ b/include/linux/pps_kernel.h
@@ -52,6 +52,7 @@ struct pps_device {
int current_mode; /* PPS mode at event time */
unsigned int last_ev; /* last PPS event id */
+ unsigned int last_fetched_ev; /* last fetched PPS event id */
wait_queue_head_t queue; /* PPS event queue */
unsigned int id; /* PPS source unique ID */
--
2.48.1
Return-Path: <linux-kernel+bounces-665339-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 6977C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:58:48 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id B26D41738CD
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:58:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 459B927A934;
Wed, 28 May 2025 10:58:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b="gbk96h/i"
Received: from sendmail.purelymail.com (sendmail.purelymail.com [34.202.193.197])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0BCF527A917
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:58:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=34.202.193.197
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429922; cv=none; b=t2dK5IpWlm0jC/l+JpMEvVDUxAEMLChY95yHrZb8ReItr+KsVayyMccu0WuQttQ92zYw21TOVI3Ro5vAlve7JBUVYgoiZzeUC08exC0RQfsmHc+oavbtHZkA0gwbbV/OYqku+NIQ8SnRcZGrj16McDL2thFuhsRa35JbTHONKkg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429922; c=relaxed/simple;
bh=AlBhvJpL+ZxjXrIug0I6z5UpQ2bBMocBU3ycBy27pRM=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=ftdWVCZ/MCDWulmFCN0HX2RKbUC5RSV0HNiG2+n8fYriihtv3yQgMbhBh3QTJxbQTFdmQAlBt5FjD/CdFo+facSTyGTTaMZvUfdvY0ocq16X9aJm0FW1ptw5QdhNpzLA09nouuj4tEZ3DUUGZz27CRBUz5WPyHgFKn5pSPkQHLw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org; spf=pass smtp.mailfrom=mentallysanemainliners.org; dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b=gbk96h/i; arc=none smtp.client-ip=34.202.193.197
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mentallysanemainliners.org
DKIM-Signature: a=rsa-sha256; b=gbk96h/iuTYW8you7S2tyt1pVBCjE5T9hLlpwVj1zezbKIxRDDjuQ2VLMOqdb/5KKAxP3+pGFuu+dchjj2o6/B4inKtrwPzyk/A7FjVjgYPlp3z+1S7T0Gd/cfYQsqu6DoNHArMZdDf+2DyUSPLk3A4X9f4faIJOB76vZjSsLS5qsUTtP6NY3IzvHfZmRWtsBhFMjIxjxAkQytI338x8Oc0Yw+mNhNIXmMBr+ExSLO54uAoWTN5uIrtE4xTeHKNmFxghZGnFXjZ912pklSPMOJ647VErN5sipGU/cius1MIrnb26+fb2swP08DklEwh4BkvlVjqHtHv/qi6qWwY5+Q==; s=purelymail3; d=purelymail.com; v=1; bh=AlBhvJpL+ZxjXrIug0I6z5UpQ2bBMocBU3ycBy27pRM=; h=Feedback-ID:Received:From:To:Subject:Date;
Feedback-ID: 68229:10037:null:purelymail
X-Pm-Original-To: linux-kernel@xxxxxxxxxxxxxxx
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 715274949;
(version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
Wed, 28 May 2025 10:58:24 +0000 (UTC)
From: Umer Uddin <umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-samsung-soc@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v1 1/1] arm64: dts: exynos990: Add CMU_HSI1 node
Date: Wed, 28 May 2025 11:58:21 +0100
Message-ID: <20250528105821.158140-2-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.47.2
In-Reply-To: <20250528105821.158140-1-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20250528105821.158140-1-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by Purelymail
Content-Type: text/plain; charset=UTF-8
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
CMU_HSI1 is a new clock controller that provides clocks for the
DesignWare MMC Controller, PCIE subsystem and UFS subsystem.
Signed-off-by: Umer Uddin <umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/exynos/exynos990.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynos990.dtsi b/arch/arm64/boot/dt=
s/exynos/exynos990.dtsi
index dd7f99f51..4ab6e35f0 100644
--- a/arch/arm64/boot/dts/exynos/exynos990.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos990.dtsi
@@ -254,6 +254,25 @@ cmu_hsi0: clock-controller@10a00000 {
=09=09=09=09 "dpgtc";
=09=09};
=20
+=09=09cmu_hsi1: clock-controller@13000000 {
+=09=09=09compatible =3D "samsung,exynos990-cmu-hsi1";
+=09=09=09reg =3D <0x13000000 0x8000>;
+=09=09=09#clock-cells =3D <1>;
+
+=09=09=09clocks =3D <&oscclk>,
+=09=09=09=09 <&cmu_top CLK_DOUT_CMU_HSI1_BUS>,
+=09=09=09=09 <&cmu_top CLK_DOUT_CMU_HSI1_MMC_CARD>,
+=09=09=09=09 <&cmu_top CLK_DOUT_CMU_HSI1_PCIE>,
+=09=09=09=09 <&cmu_top CLK_DOUT_CMU_HSI1_UFS_CARD>,
+=09=09=09=09 <&cmu_top CLK_DOUT_CMU_HSI1_UFS_EMBD>;
+=09=09=09clock-names =3D "oscclk",
+=09=09=09=09 "bus",
+=09=09=09=09 "mmc_card",
+=09=09=09=09 "pcie",
+=09=09=09=09 "ufs_card",
+=09=09=09=09 "ufs_embd";
+=09=09};
+
=09=09pinctrl_hsi1: pinctrl@13040000 {
=09=09=09compatible =3D "samsung,exynos990-pinctrl";
=09=09=09reg =3D <0x13040000 0x1000>;
--=20
2.47.2
Return-Path: <linux-kernel+bounces-665340-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 790A941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:58:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 9920E7A3402
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:57:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A018B27B4FC;
Wed, 28 May 2025 10:58:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b="wC/syr52"
Received: from sendmail.purelymail.com (sendmail.purelymail.com [34.202.193.197])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 85DCF1FFC59
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:58:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=34.202.193.197
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429923; cv=none; b=HgUxLxoCOoz44f3vAwCZ6tZzto8fNePVS4+rgjx4tp3cRlMZkXms9FsdAngcX9YSPV0eV1uPgB6dXGx0Nqm4+tqT7czVQewGc0IYAXolYANMHSfHhWIiS3WBwj4rUfmcxWR2pgV59X2LUzCQMdaAiorOkMLmagFp3/H/F20JV+s=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429923; c=relaxed/simple;
bh=ACJQEalUXxRkfOQcf468xb3czMGJCzQRNaMVwiWd02I=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=lNy8yzMYEd8raS75JosdwIVUWf6tm/ZPVweswEZ8nGLm6FJPpQuNEjCMVr9N4aGliFnqpif41kyP6MoFpoI2PV2pVVSV+VcKJCrHBoYGfzsMNkCeSJTOnZ0DUnuxcHa0cNio+63yE+fNfeWCtEPR25cjHpPsnb2xLaKif+vKTFw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org; spf=pass smtp.mailfrom=mentallysanemainliners.org; dkim=pass (2048-bit key) header.d=purelymail.com header.i=@purelymail.com header.b=wC/syr52; arc=none smtp.client-ip=34.202.193.197
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mentallysanemainliners.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mentallysanemainliners.org
DKIM-Signature: a=rsa-sha256; b=wC/syr52wMuulMUWKYZxuolTsF1tja0scH6jnxyivCHhSz4RbP050A+IKhYWyLEeD0dl68gxeCGSr6HA/WNGCBCyEL/7WQkQsimaNr/P3Nd2+H6tdnLyN7Q2HIb0CJJhVIPx7oYur2I+mhqdIcQALbp5rV4bcAX9NZGibeH8Amrbxb5rYC+pwsxCTGwoTMha2ujuruVgzXI9qZvurbzli3X+6WfACbKwCN19XicIKo8ohPqwCssUxmx3Dsc50TrmFOQP/ux+QxkQS8LJyzsbOI7W8ysnrNMyWHfF5sVUJfXAGBqwGhRWB23Ec22lu4ncif5Ru7IYKGLuIF08zNw2aQ==; s=purelymail3; d=purelymail.com; v=1; bh=ACJQEalUXxRkfOQcf468xb3czMGJCzQRNaMVwiWd02I=; h=Feedback-ID:Received:From:To:Subject:Date;
Feedback-ID: 68229:10037:null:purelymail
X-Pm-Original-To: linux-kernel@xxxxxxxxxxxxxxx
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 715274949;
(version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
Wed, 28 May 2025 10:58:23 +0000 (UTC)
From: Umer Uddin <umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-samsung-soc@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH v1 0/1] Enable CMU_HSI1 for Exynos990
Date: Wed, 28 May 2025 11:58:20 +0100
Message-ID: <20250528105821.158140-1-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.47.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by Purelymail
Content-Type: text/plain; charset=UTF-8
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi all.
This series enables a new clock block (CMU_HSI1) for the Exynos990
SoC. This clock block provides clocks for the DesignWare MMC
Controller, PCIE subsystem and UFS subsystem.
This patch depends on the following series:
[CMU_HSI1] https://lore.kernel.org/linux-samsung-soc/20250528105252.157533-=
1-umer.uddin@xxxxxxxxxxxxxxxxxxxxxxxxxx/
Best regards,
Umer Uddin.
Umer Uddin (1):
arm64: dts: exynos990: Add CMU_HSI1 node
arch/arm64/boot/dts/exynos/exynos990.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
--=20
2.47.2
Return-Path: <linux-kernel+bounces-665341-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9F4EE41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 06:59:17 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 7C7EF7A4765
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 10:57:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 52CF027B516;
Wed, 28 May 2025 10:59:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="i4ueGTMJ"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 722D327A448;
Wed, 28 May 2025 10:59:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748429945; cv=none; b=qOBUdrHSWjYT4f6NYx270Ic6GkSSvHCbATT9o7OAYKYkfjcY7zabyYXvQKqKFQzDwyCgzydSzEHZveibQ0IPi+drKQeNBwwcbNc2MXmaLHrCxIeAtxbyOypBS4ZoWDcsH80fdyf6NNpxYx33EGPIkeFtjf5U+1tWdqRDYEance4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748429945; c=relaxed/simple;
bh=UeArXwDGUV++k8Y775RIDVtcr2w2zvvPDO6/8+Vet0I=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=oeWSUO3qMKfIQuZNX10KwgHnUcKqBRwoxKbB9L8JDOzXlhlIBErVe/AX6WkX+KhE/uvuo1f5tLYRMrRILmdupfebWMu2vNUrDnlXz8zVpgVckZdaMSuf/obMGvcP9+/dbV6pMfb0T/e8pjguR3rLaiq0OiSZStieQlobMBtYhWw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=i4ueGTMJ; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0372C4CEE7;
Wed, 28 May 2025 10:59:01 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748429944;
bh=UeArXwDGUV++k8Y775RIDVtcr2w2zvvPDO6/8+Vet0I=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=i4ueGTMJD6zNQpD1yS7j/gqmKAO2WZlbSUEJ3u9a+Va/hRZsifmoXLOl1o4VfIAbH
hYvNIPqeE4i7BLAM/B7fdRjXJ5xLpUuNIav+OVJ16t2sXPYL2jX97SlVXPWy6DnEJ2
clh8wLkZsIgnc4zQ+pg3YGcqg5WGOHGNvrQqiuBSedVJEYEO73tVN45B/l31tuV4bu
WZh9sHlN7Cjcr6p8HWRFIDot8Ip/hax2IFsnZOzcA5X7Azp05qn1y/fBWMuN9gv0EY
wb4oCFq7snTld/yjidTienxTFZQq2HrDg/7nQ5uE7peZZZCuKpF8RCL6/qt0ZTmsxm
IESbW6pfRasYQ==
Date: Wed, 28 May 2025 11:58:58 +0100
From: Mark Brown <broonie@xxxxxxxxxx>
To: samuel.kayode@xxxxxxxxxxxxxxxxxxxx
Cc: Lee Jones <lee@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Liam Girdwood <lgirdwood@xxxxxxxxx>,
Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>,
Sebastian Reichel <sre@xxxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-input@xxxxxxxxxxxxxxx,
linux-pm@xxxxxxxxxxxxxxx, eballetbo@xxxxxxxxx, abelvesa@xxxxxxxxx,
b38343@xxxxxxxxxxxxx, yibin.gong@xxxxxxx,
Abel Vesa <abelvesa@xxxxxxxxxx>
Subject: Re: [PATCH v3 3/6] regulator: pf1550: add support for regulator
Message-ID: <99a2f5bd-5b73-4f4e-95c6-8bc03ffed90c@xxxxxxxxxxxxx>
References: <20250527-pf1550-v3-0-45f69453cd51@xxxxxxxxxxxxxxxxxxxx>
<20250527-pf1550-v3-3-45f69453cd51@xxxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="oXCbNIednqxLO6bi"
Content-Disposition: inline
In-Reply-To: <20250527-pf1550-v3-3-45f69453cd51@xxxxxxxxxxxxxxxxxxxx>
X-Cookie: Keep away from edge.
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--oXCbNIednqxLO6bi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Tue, May 27, 2025 at 06:25:35PM -0400, Samuel Kayode via B4 Relay wrote:
> @@ -0,0 +1,353 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * pf1550.c - regulator driver for the PF1550
Please make the entire comment a C++ one so things look more
intentional.
> + *
> + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> + * Robin Gong <yibin.gong@xxxxxxxxxxxxx>
Presumably there's been some updates since then?
> +static int pf1550_set_ramp_delay(struct regulator_dev *rdev, int ramp_delay)
> +{
> + int id = rdev_get_id(rdev);
> + unsigned int ramp_bits;
> + int ret;
> +
> + if (id > PF1550_VREFDDR)
> + return -EACCES;
> +
> + ramp_delay = 6250 / ramp_delay;
> + ramp_bits = ramp_delay >> 1;
> + ret = regmap_update_bits(rdev->regmap, rdev->desc->vsel_reg + 4, 0x10,
> + ramp_bits << 4);
Shouldn't we validate the value of ramp_delay?
> +static irqreturn_t pf1550_regulator_irq_handler(int irq, void *data)
> +{
> + switch (irq_type) {
> + case PF1550_PMIC_IRQ_SW1_LS:
> + case PF1550_PMIC_IRQ_SW2_LS:
> + case PF1550_PMIC_IRQ_SW3_LS:
> + dev_info(dev, "lowside interrupt triggered! irq_type=%d\n",
> + irq_type);
> + break;
> + case PF1550_PMIC_IRQ_SW1_HS:
> + case PF1550_PMIC_IRQ_SW2_HS:
> + case PF1550_PMIC_IRQ_SW3_HS:
> + dev_info(dev, "highside interrupt triggered! irq_type=%d\n",
> + irq_type);
> + break;
Are these under and overvoltage events which should be reported as such?
> + case PF1550_PMIC_IRQ_LDO1_FAULT:
> + case PF1550_PMIC_IRQ_LDO2_FAULT:
> + case PF1550_PMIC_IRQ_LDO3_FAULT:
> + dev_info(dev, "ldo fault triggered! irq_type=%d\n", irq_type);
> + break;
Similarly, we can report error events.
> + case PF1550_PMIC_IRQ_TEMP_110:
> + case PF1550_PMIC_IRQ_TEMP_125:
> + dev_info(dev, "thermal exception triggered! irq_type=%d\n",
> + irq_type);
> + break;
We also have an over temperature event type.
--oXCbNIednqxLO6bi
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmg27HIACgkQJNaLcl1U
h9CQZQf+J99VNLePtEzL+A5BdJaKLeiBWdMSF4MgfRlFjXSXBfqarn2GcU/5cEcX
6GCypJFkQMhyWt6ywk8NNSEQ8YrCiE/y2KfquUo7OQpLw8jvzEancHU76epQabzO
sfJhz+M2dQ1bJkVe6zGAbATE/dJcPMU6m+yCKFozmMwN7JF20aqeI7HzGWx+fVou
17F9/jy+DGvJvM5LKWv2KVLcS4TdMmJwuadjMUn2rm1fy0J3aSHN88Wpb9sJmn7v
VzDfGR5w3dOM/Baqv9b5bSp1Z6XaHqrXmXjfGh2SvVG4PZKsx2/UTwG8dWTDAqt2
uyEc8XWQOnK6q2M+J16oMOZOZzyrng==
=g3Y9
-----END PGP SIGNATURE-----
--oXCbNIednqxLO6bi--
Return-Path: <linux-kernel+bounces-665342-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 24DA941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:00:33 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 409FD3ADD00
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:00:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 2FB6627700B;
Wed, 28 May 2025 11:00:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="R2/qrETN"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 75F352D052
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:00:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430027; cv=none; b=thW7fXp3qukFWN7oizm+huXLVWGme8jBOg+/7yOep17pd4hBvl6dQTIuq7KeDSGi021cg1BM5OyIxmy0pN8XNrCR0MxxWA2jTcsqFC+iQec9AlaHKLLDCsARTlVw2Rj/dPGo/lPQrLaQenPSmlNyI/BFKMFLbEZtXfnKv4OcQqI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430027; c=relaxed/simple;
bh=ChHIHbrN8cV+tmAKkJBkWfVAyz42l5U2q4BKrGql8UE=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ntlDRgteRTCXTYoRO8fkQAO1m9gfIQ1XpTgo0zRXNwhd9IGP/2qG2UHrmD1rx/xd7Dpvk2//7Vv49B5TtiPH7w6iT2BJdp17iapmrGk4s4/K3bHGGmqPgyKRhlJ6knE+wdOyt1BREM4wuYKzz1RZ+W0VuiKD04bAdS3KQ1nNL/Y=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=R2/qrETN; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 984B7C4CEE7;
Wed, 28 May 2025 11:00:26 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748430026;
bh=ChHIHbrN8cV+tmAKkJBkWfVAyz42l5U2q4BKrGql8UE=;
h=From:To:Cc:Subject:Date:From;
b=R2/qrETNXisA8gRQnv8veqZ0sR0CVTfxCZ3zxPubWjuLDsCanSE9JzhjmHIFlB0fS
ocV+6XOpMDqqa6jvvWbgcvVW/7vX9mGskkxTG5XNakN6UkJYxrCmxfdMNmXXkuRkCk
vslvhD6/VWSNzvF8PmuMUJXwFe2pGYOA1BZwyrw2meim2pyFz4ouK5XO7UsF02hGPv
INWDHpFIWAPYqG14QVv0oiwjhQrLsUayGP5dJ04JfwK7IjYBT7J4bKbfsRqlyJHhjE
Riba1k+BY55+mVlrpKl9HHGWE7kadMSoURPdm188PjMgz3ivpPmT/kIMurRKVSfHeD
6sEupWqH5sVZA==
From: Dinh Nguyen <dinguyen@xxxxxxxxxx>
To: torvalds@xxxxxxxxxxxxxxxxxxxx
Cc: dinguyen@xxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: [GIT PULL] nios2: updates for v6.16
Date: Wed, 28 May 2025 06:00:24 -0500
Message-ID: <20250528110024.19319-1-dinguyen@xxxxxxxxxx>
X-Mailer: git-send-email 2.42.0.411.g813d9a9188
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:
Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git nios2_for_v6.16
for you to fetch changes up to aa264d9511aa5befa28cf8d9f32fce78fcf1a773:
nios2: Replace strcpy() with strscpy() and simplify setup_cpuinfo() (2025-04-24 17:30:01 -0500)
----------------------------------------------------------------
Simon Schuster (2):
nios2: force update_mmu_cache on spurious tlb-permission--related pagefaults
nios2: do not introduce conflicting mappings when flushing tlb entries
Thorsten Blum (1):
nios2: Replace strcpy() with strscpy() and simplify setup_cpuinfo()
arch/nios2/include/asm/pgtable.h | 16 ++++++++++++++++
arch/nios2/kernel/cpuinfo.c | 5 +----
arch/nios2/mm/tlb.c | 18 +++++++++++-------
3 files changed, 28 insertions(+), 11 deletions(-)
Return-Path: <linux-kernel+bounces-665343-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1E5CA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:02:08 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 524BC4E2B5B
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:02:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AF96127AC56;
Wed, 28 May 2025 11:01:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="MJpfPPHa"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0ACA202C26;
Wed, 28 May 2025 11:01:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.14
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430112; cv=fail; b=TneaaDpB8r8d1Yv+ujMMvnwNkcN/eJrzSPi6gApXeyVrI46mDzbLSdsFTYQVVbvvLaSdW4NKInvFgxpRauAIr+pnGVuxA7c4OKUnFIGK29RORfWjykvzGdZILe50rrz6v08EpyiXkUp/kwrngDu6HfJDqGMAbYTncqrapV2QALM=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430112; c=relaxed/simple;
bh=japyi3q9MOOVSvow+MNX/9JlH3JYo/aYnbKpJX/zsE4=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=iLMCTIIk33AMnpzHz4HWe8x8m9CS4fl35ZyMFHTe5AF/tJRrmUsPC9rqy+Afwsv46hutCLuZuFUmUYxloGI+J3KkSWimTb4jcwtFaJON9OC6dRn+KHuthj7iKy0Aw5pjFrVxXMPMr0StQ/co/2nv8a3sva05PyUqkrhvwZZFKcY=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=MJpfPPHa; arc=fail smtp.client-ip=198.175.65.14
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748430110; x=1779966110;
h=date:from:to:cc:subject:message-id:reply-to:references:
in-reply-to:mime-version;
bh=japyi3q9MOOVSvow+MNX/9JlH3JYo/aYnbKpJX/zsE4=;
b=MJpfPPHaZF4OJAGl1rxOPH8qz9XDq/AB2uoYt0d5SBx9Lz5k8wVMyISs
9zhCgCllJd7yIiGDohp/YpBOEAV+CI3slXHsJ4rZyANSSQt1RQpvz0WPC
F4Kb6SR7mRm92DLZw7yzSSxgh0rA4UYISfiu+mFCXTdrpQRl4Q72LjiHa
VAKWgGU0ySWBf4crO+Q4N4UPyE4C57CPElbye4D60V4jjeV+NzY2Hvc1S
YF+0WFUFAFAMGlmNrBk1TWTy5k6f+7w5jpGC9iRXv9+aUnZXrQh58/VOy
07RRWmTv0ZQxW94PA+oh7ghO5kZjEugmIvNVT3Ta3cDbvOXSYQtiNRxvW
w==;
X-CSE-ConnectionGUID: wNP/MaiwSfyA1voC2Lbazw==
X-CSE-MsgGUID: /xy8FYxtRDW3tReZeREcxA==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="54254051"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="54254051"
Received: from fmviesa010.fm.intel.com ([10.60.135.150])
by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:00:54 -0700
X-CSE-ConnectionGUID: MpzwriitSLydxaGMbPE4Uw==
X-CSE-MsgGUID: Y3ctCRKBTCafbmR7or88cA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="143658597"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by fmviesa010.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:00:52 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 28 May 2025 04:00:48 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 04:00:48 -0700
Received: from NAM02-BN1-obe.outbound.protection.outlook.com (40.107.212.51)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 28 May 2025 04:00:47 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=rJ5mmahMGXTsbehPiKp5RsIbAXXbIjik54FUY3o4MQoJUu0iEsUe9VWJdjhGsAWcktpU5IuxcrstGnZCakl33XiwLc5XP/WqJ8s/TZKJPXN3C+521BxRqiByUMQ/+6CO923dFJDiEkMQKSC1fZIgc8BxKGYtv5dGDkFlW/s601VpUpHXd6UdFzuqmzpl5nO+fn91v5ojL0+QlCykSIS5+KLmeHaUHmJzISDNgd1TdkrD75RT5BKdetK4tHoFKsFNBy38ZoQxTLWuEJ7cvt2MKgpOlBr2M4r+jaDXTPIwWRNUDpoJJ+eRfR+UERZ/eO/tYOurCJh77bWwDWmBa0tV3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=g14DI+HMBISeBZmZux0iMxcOROzRLlY425X2xaZM7ck=;
b=SKiqQJUhU5ksheK//qDD+8kD3XzPZsCdkjhOA3P8gWshDakAlCYGG0Zt8lmZ4aW2puDXNU+yNowuIaOJyu/aAySi7cGRMe409Vr3zwCXw0rx9P14vKFvFGJWevOThFqp7TgWRA0CPubJlyWVCag8qwD+pshk9rZqcnffLPPR28C4xWwylGM0rKb05I16yrD/z/MwG2FNR9NBNLeaUEpAxZc4p0EIgTS/DqllkrbDVDbmqniTCzdB8FUkT/thhpmHt0+RFPnbkdYwvzCQE2WdGvgGE4mS1S0I6l9CKDJj2qzMsip6+KN3pnb8qY6RWhloP/nKh7F5sLEKyZjQKbyVGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) by
SA3PR11MB8003.namprd11.prod.outlook.com (2603:10b6:806:2f7::17) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.29; Wed, 28 May
2025 11:00:43 +0000
Received: from DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca]) by DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca%2]) with mapi id 15.20.8769.021; Wed, 28 May 2025
11:00:43 +0000
Date: Wed, 28 May 2025 18:58:04 +0800
From: Yan Zhao <yan.y.zhao@xxxxxxxxx>
To: Ackerley Tng <ackerleytng@xxxxxxxxxx>
CC: <kvm@xxxxxxxxxxxxxxx>, <linux-mm@xxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <x86@xxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <aik@xxxxxxx>, <ajones@xxxxxxxxxxxxxxxx>,
<akpm@xxxxxxxxxxxxxxxxxxxx>, <amoorthy@xxxxxxxxxx>,
<anthony.yznaga@xxxxxxxxxx>, <anup@xxxxxxxxxxxxxx>, <aou@xxxxxxxxxxxxxxxxx>,
<bfoster@xxxxxxxxxx>, <binbin.wu@xxxxxxxxxxxxxxx>, <brauner@xxxxxxxxxx>,
<catalin.marinas@xxxxxxx>, <chao.p.peng@xxxxxxxxx>, <chenhuacai@xxxxxxxxxx>,
<dave.hansen@xxxxxxxxx>, <david@xxxxxxxxxx>, <dmatlack@xxxxxxxxxx>,
<dwmw@xxxxxxxxxxxx>, <erdemaktas@xxxxxxxxxx>, <fan.du@xxxxxxxxx>,
<fvdl@xxxxxxxxxx>, <graf@xxxxxxxxxx>, <haibo1.xu@xxxxxxxxx>,
<hch@xxxxxxxxxxxxx>, <hughd@xxxxxxxxxx>, <ira.weiny@xxxxxxxxx>,
<isaku.yamahata@xxxxxxxxx>, <jack@xxxxxxx>, <james.morse@xxxxxxx>,
<jarkko@xxxxxxxxxx>, <jgg@xxxxxxxx>, <jgowans@xxxxxxxxxx>,
<jhubbard@xxxxxxxxxx>, <jroedel@xxxxxxx>, <jthoughton@xxxxxxxxxx>,
<jun.miao@xxxxxxxxx>, <kai.huang@xxxxxxxxx>, <keirf@xxxxxxxxxx>,
<kent.overstreet@xxxxxxxxx>, <kirill.shutemov@xxxxxxxxx>,
<liam.merwick@xxxxxxxxxx>, <maciej.wieczor-retman@xxxxxxxxx>,
<mail@xxxxxxxxxxxxxxxxxxxxx>, <maz@xxxxxxxxxx>, <mic@xxxxxxxxxxx>,
<michael.roth@xxxxxxx>, <mpe@xxxxxxxxxxxxxx>, <muchun.song@xxxxxxxxx>,
<nikunj@xxxxxxx>, <nsaenz@xxxxxxxxx>, <oliver.upton@xxxxxxxxx>,
<palmer@xxxxxxxxxxx>, <pankaj.gupta@xxxxxxx>, <paul.walmsley@xxxxxxxxxx>,
<pbonzini@xxxxxxxxxx>, <pdurrant@xxxxxxxxxxxx>, <peterx@xxxxxxxxxx>,
<pgonda@xxxxxxxxxx>, <pvorel@xxxxxxx>, <qperret@xxxxxxxxxx>,
<quic_cvanscha@xxxxxxxxxxx>, <quic_eberman@xxxxxxxxxxx>,
<quic_mnalajal@xxxxxxxxxxx>, <quic_pderrin@xxxxxxxxxxx>,
<quic_pheragu@xxxxxxxxxxx>, <quic_svaddagi@xxxxxxxxxxx>,
<quic_tsoni@xxxxxxxxxxx>, <richard.weiyang@xxxxxxxxx>,
<rick.p.edgecombe@xxxxxxxxx>, <rientjes@xxxxxxxxxx>, <roypat@xxxxxxxxxxxx>,
<rppt@xxxxxxxxxx>, <seanjc@xxxxxxxxxx>, <shuah@xxxxxxxxxx>,
<steven.price@xxxxxxx>, <steven.sistare@xxxxxxxxxx>,
<suzuki.poulose@xxxxxxx>, <tabba@xxxxxxxxxx>, <thomas.lendacky@xxxxxxx>,
<usama.arif@xxxxxxxxxxxxx>, <vannapurve@xxxxxxxxxx>, <vbabka@xxxxxxx>,
<viro@xxxxxxxxxxxxxxxxxx>, <vkuznets@xxxxxxxxxx>, <wei.w.wang@xxxxxxxxx>,
<will@xxxxxxxxxx>, <willy@xxxxxxxxxxxxx>, <xiaoyao.li@xxxxxxxxx>,
<yilun.xu@xxxxxxxxx>, <yuzenghui@xxxxxxxxxx>, <zhiquan1.li@xxxxxxxxx>
Subject: Re: [RFC PATCH v2 33/51] KVM: guest_memfd: Allocate and truncate
from custom allocator
Message-ID: <aDbsPMghVC1yemiH@xxxxxxxxxxxxxxxxxxxxxxxxx>
Reply-To: Yan Zhao <yan.y.zhao@xxxxxxxxx>
References: <cover.1747264138.git.ackerleytng@xxxxxxxxxx>
<e9aaf20d31281d00861b1805404dbed40024f824.1747264138.git.ackerleytng@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <e9aaf20d31281d00861b1805404dbed40024f824.1747264138.git.ackerleytng@xxxxxxxxxx>
X-ClientProxiedBy: KU2P306CA0045.MYSP306.PROD.OUTLOOK.COM
(2603:1096:d10:3c::17) To DS7PR11MB5966.namprd11.prod.outlook.com
(2603:10b6:8:71::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS7PR11MB5966:EE_|SA3PR11MB8003:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e20488a-10c3-4fa4-47d4-08dd9dd6e3cf
X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FYDwB2GIgLSoef+E0A0guBWKjfFqG3d0tK6JOtwix9xjwQaGEkJcMH/ZH6eK?=
=?us-ascii?Q?b17SQDFBI0AEzR8NKU/R45XcG6uiJm87tUNHv99ktw7jsQi31ciR/dglIbjl?=
=?us-ascii?Q?rv71/alojhY5caCSDtlOMDI+BbbVEw/qDR4DD9xcHKoWYbMw6+SonxZvQ1yD?=
=?us-ascii?Q?d3LUv4YOuLQOXWGQILwqj4akhkvn1P/CcbUTYPl5TGqV0MV7XZJJewg2qXP3?=
=?us-ascii?Q?qQqw0OTYoW2HpO0CSwFa1YKahq2nOvQO85502E+9DiNOy9my/HC4Uyw+Np+0?=
=?us-ascii?Q?vvCDr9jXTOcrSg/lcNu3dew6m3EwzvyeptR0tywaxOpkietjwMYVWTz0zNfn?=
=?us-ascii?Q?xfyaH1iNvU2eNi4+I1LwmJJxPqAtOxaRzLh3VM5ZVgZPHAG8jog1E8kNxdQV?=
=?us-ascii?Q?uVbH+qo88w/m5QMA/dfj0bw3RBqDkxeJyj6/k4OXq9UplNpdG7KlBDDpfl65?=
=?us-ascii?Q?YyYivAQCFUFo85raq/Ef9PVBs4bYXn1VRHdnAeq/DYqlF6GosjyVyO5SRR8n?=
=?us-ascii?Q?ti8948HMpSuRvb6C49B/xPSgCCss2po+vV5UIZQ9viKZMPndmfEoxrNYW9zZ?=
=?us-ascii?Q?Z8q4ZdFMUGQDDY02zsUJBuCMUEQiGdg1TXhxsLcmwktSocTYuTyTmd9qx3UB?=
=?us-ascii?Q?NHbTLWd29hFNHN81C/OdUxB+NgNV+DKbE26JDAteixkJErAlafceFvpw3Xvn?=
=?us-ascii?Q?rcNCUR8sfgVFP2qaA6/trEPPDskcALZNdkoCAUlwMI6mxKzIdE620tNNA+3q?=
=?us-ascii?Q?NTBzEHh2uAKSTESAZJOqvDEJcWaFXFqi6Z+57ynPYEUYPpaYyXdtX0bPyiGV?=
=?us-ascii?Q?J4dpqDGQRgYLK9HM1S1E5YE71/nF5+f0Jauoq59R4ZcmB7ul6zNg5O1ejvLa?=
=?us-ascii?Q?3uoDCLZhfqsWG05IqDEaGzW81CQPG9KFfmotK4juOAdSnatLjRtSwrxWdTOC?=
=?us-ascii?Q?jIbjLCoWfrnCOO6dNw09U/m0N+M/ipcjw3kSnNHA9Ra0YvzofUX8SSqfeGax?=
=?us-ascii?Q?f5iNz+Zzkrxt242HdPL8TvkcIaQzEr3qcPEK0fviwHRfmJRb+c8dfLBEzoHu?=
=?us-ascii?Q?w6fU1hHGnROq6ylZI9cTYEbsaDo4XkfWbiqsvLJcgBdswlk2gCdY7Ck3AV8u?=
=?us-ascii?Q?qtnkswPCfT/OMyFHiFgLMM6sVTS92Zmr0nQS7PrQim3bbr2reqQEQ5RDExam?=
=?us-ascii?Q?fbP71zHxP59KkuHDYxAT8jjQEIAD+WJzdWzqAVQAugw5Sxcqjd35pbdKK41D?=
=?us-ascii?Q?TiNUPQDENzARFyxEpf+9kfmJuAf1kXlKQnYr1+/uB2qqHq+AKYGxkeMY8fUV?=
=?us-ascii?Q?Q3lSI+wFH7GQFwIfTElIAUq3VhSlFD+GOgf5W0dufw/xmT0bDXL8hfLqMAwH?=
=?us-ascii?Q?Pq0BYvQ7tD4xz9C+So1x2Dlk08L25CkIOWfN3cexlRc2xyynfl95wIv4StSW?=
=?us-ascii?Q?5BnQyApGbXw=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB5966.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9sL6XpCoAsHhGf5BBL8v94j9VfyZNuPHJpzTWXsFlAnpoj2rMiPea8jezjtB?=
=?us-ascii?Q?qNGfEbbqWEO0iMxGr8EMuX+vUAzACND1ddCuPO5J5ynyxmaZrXP5vJ2H1eAn?=
=?us-ascii?Q?k1MNXl6G/Tyn9AJaBEZVqx7KZnkW/+Yu8YMkffRJZgGUWXlLH3DNzOZRWbkk?=
=?us-ascii?Q?alPuRFW0vAfjJKp3JKh7Pyo2kLGBFCDkIMeIkFKiNNnM5l8GRkWV/t7LyeD7?=
=?us-ascii?Q?lAWxfDaaD9wVJWJnJsr86N0U7ivFONq5QhKrt+mtwZSsYeq7wTg8xENYk43t?=
=?us-ascii?Q?JZGDC1Pq9eVo3LnXjS1MebDOPTpZdlNPcBjR4t4jojKprZzzoPav6sI3QX5f?=
=?us-ascii?Q?buoL7IBFRwL9QD19tDbWFfaHc7Xuj1P857HDejswxpMNS8Z1RnT9slyRaqAR?=
=?us-ascii?Q?hFcFLdhfkfwFb/P8DN049Ja320wTmdW2K0JgcXXe94RV27rAxcXpKtcsnpsh?=
=?us-ascii?Q?+7ekEKDKHshw77tqSe4E/8AMyV1Mh5FuRIO5ZhLEgem66CzeL1Io0rk5WAHW?=
=?us-ascii?Q?VVbwIwe/r0GGpdKaSqKl9yO30zEU+LKLuLiTWFWyEsvjGD78csdvBZ5qqRWg?=
=?us-ascii?Q?EOzEoY5sKEJZjspvnN/0fwzZgYpF/wgppyIU4lf8D2FBlDmhzY/vXPpcFEUd?=
=?us-ascii?Q?CKA4X4OBZ6GHVewfENOygApM5AHvDHCItuVQ1DUzsd0FQQYg4r2vKoMC+tLT?=
=?us-ascii?Q?ZjkrR6doTxjiFuVQbrZkjbpsInlHtkr84qZhAe/s9zvbJX5QjGiqlNG/Hplh?=
=?us-ascii?Q?atmKwHynDcq6C4s7LERCiMimRctbt/Q7zli8m6jpTSqrAHiEGH5Z8B/w8SYM?=
=?us-ascii?Q?iajaWcb5jqMx+VGrmoz3C4TtQIvlFzAj5UsZFn2KUHdXqrEpBL0ZP9zExN7/?=
=?us-ascii?Q?5y9M9U4S0zTHLGKZMJ9f4NdhyVi8QymzBOi5R2VgBHje/pr9HMni1tr3Pke7?=
=?us-ascii?Q?zQBKzOd2jK5UB3YF7wgY72/NtFDJXurKADjMIQBPH2BAFRm7U5AlBA69gZhQ?=
=?us-ascii?Q?Xv30ufNS4t8ekg+JZ1q/z4i1j8Qq/QuN+s0b0W/CN4uzU6HGdY7ydsU7Pise?=
=?us-ascii?Q?OP3Lw14vri5tPkQyyG4Yr9TSJLKGxQoLoN+P/YQFEOMZmArEJpmy59zzrRwn?=
=?us-ascii?Q?yseRhmC496xUsG7dhKVCh8medk+LcXJTPihba8exsi3vtI2rnIxy4HdZXaeR?=
=?us-ascii?Q?scNPLnepEoZPQMiUUaXIRfofHzKWkPYewzEo5b4SV5xan75oClIEsJolmhLp?=
=?us-ascii?Q?O0wDqGR4IOtAnsJ/3BMP+rWBqtIX/eddSgoiPxKPuJqMhumyULCtPEkfG87t?=
=?us-ascii?Q?jsBiRjLzPKCAHvJA/Ii1kS3HqziQQR+Rpzaly7ZqhYYoxZYsoKAdvg3JADJm?=
=?us-ascii?Q?Gx53r77tXlUzYURQ7CaXLHlBAreW82a+gKvgjngoffWwHuU+mhY6gvYo5cPl?=
=?us-ascii?Q?+CFhsptZxo8FSHy/KzRQzJvz9kFE4b1Z5B4DloB4Nc1FU+sKDCMOszJjJJxM?=
=?us-ascii?Q?WAHH34sPaFVBTRaY1o6yyztlU1bsOaI2NMhSff9EZK4lJu60KYEZNGVy/hWv?=
=?us-ascii?Q?TdoBOVZtsCjdXRybbvSouJynqMXTv464esFSWK6v?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e20488a-10c3-4fa4-47d4-08dd9dd6e3cf
X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB5966.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 11:00:43.1146
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XuJvKOs7a810QCXZkAu93JfspxATFIlfae1U6AIz7kj1ABEHKOrAwRnjBqA+euhm/RjMKgU0EXnfO7cwFYitPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR11MB8003
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 14, 2025 at 04:42:12PM -0700, Ackerley Tng wrote:
> If a custom allocator is requested at guest_memfd creation time, pages
> from the custom allocator will be used to back guest_memfd.
>
> Change-Id: I59df960b3273790f42fe5bea54a234f40962eb75
> Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
> ---
> mm/memory.c | 1 +
> virt/kvm/guest_memfd.c | 142 +++++++++++++++++++++++++++++++++++++----
> 2 files changed, 132 insertions(+), 11 deletions(-)
>
> diff --git a/mm/memory.c b/mm/memory.c
> index ba3ea0a82f7f..3af45e96913c 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -7249,6 +7249,7 @@ void folio_zero_user(struct folio *folio, unsigned long addr_hint)
> else
> process_huge_page(addr_hint, nr_pages, clear_subpage, folio);
> }
> +EXPORT_SYMBOL_GPL(folio_zero_user);
>
> static int copy_user_gigantic_page(struct folio *dst, struct folio *src,
> unsigned long addr_hint,
> diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c
> index c65d93c5a443..24d270b9b725 100644
> --- a/virt/kvm/guest_memfd.c
> +++ b/virt/kvm/guest_memfd.c
> @@ -478,15 +478,13 @@ static inline void kvm_gmem_mark_prepared(struct folio *folio)
> * leaking host data and the up-to-date flag is set.
> */
> static int kvm_gmem_prepare_folio(struct kvm *kvm, struct kvm_memory_slot *slot,
> - gfn_t gfn, struct folio *folio)
> + gfn_t gfn, struct folio *folio,
> + unsigned long addr_hint)
> {
> - unsigned long nr_pages, i;
> pgoff_t index;
> int r;
>
> - nr_pages = folio_nr_pages(folio);
> - for (i = 0; i < nr_pages; i++)
> - clear_highpage(folio_page(folio, i));
> + folio_zero_user(folio, addr_hint);
>
> /*
> * Preparing huge folios should always be safe, since it should
> @@ -554,7 +552,9 @@ static int kvm_gmem_filemap_add_folio(struct address_space *mapping,
> */
> static struct folio *kvm_gmem_get_folio(struct inode *inode, pgoff_t index)
> {
> + size_t allocated_size;
> struct folio *folio;
> + pgoff_t index_floor;
> int ret;
>
> repeat:
> @@ -581,8 +581,10 @@ static struct folio *kvm_gmem_get_folio(struct inode *inode, pgoff_t index)
> return ERR_PTR(ret);
> }
> }
> + allocated_size = folio_size(folio);
>
> - ret = kvm_gmem_filemap_add_folio(inode->i_mapping, folio, index);
> + index_floor = round_down(index, folio_nr_pages(folio));
> + ret = kvm_gmem_filemap_add_folio(inode->i_mapping, folio, index_floor);
> if (ret) {
> folio_put(folio);
>
> @@ -598,7 +600,17 @@ static struct folio *kvm_gmem_get_folio(struct inode *inode, pgoff_t index)
> return ERR_PTR(ret);
> }
>
> - __folio_set_locked(folio);
> + spin_lock(&inode->i_lock);
> + inode->i_blocks += allocated_size / 512;
> + spin_unlock(&inode->i_lock);
> +
> + /*
> + * folio is the one that is allocated, this gets the folio at the
> + * requested index.
> + */
> + folio = page_folio(folio_file_page(folio, index));
> + folio_lock(folio);
> +
> return folio;
> }
>
> @@ -736,6 +748,92 @@ static void kvm_gmem_truncate_inode_aligned_pages(struct inode *inode,
> spin_unlock(&inode->i_lock);
> }
>
> +/**
> + * kvm_gmem_zero_range() - Zeroes all sub-pages in range [@start, @end).
> + *
> + * @mapping: the filemap to remove this range from.
> + * @start: index in filemap for start of range (inclusive).
> + * @end: index in filemap for end of range (exclusive).
> + *
> + * The pages in range may be split. truncate_inode_pages_range() isn't the right
> + * function because it removes pages from the page cache; this function only
> + * zeroes the pages.
> + */
> +static void kvm_gmem_zero_range(struct address_space *mapping,
> + pgoff_t start, pgoff_t end)
> +{
> + struct folio_batch fbatch;
> +
> + folio_batch_init(&fbatch);
> + while (filemap_get_folios(mapping, &start, end - 1, &fbatch)) {
> + unsigned int i;
> +
> + for (i = 0; i < folio_batch_count(&fbatch); ++i) {
> + struct folio *f;
> + size_t nr_bytes;
> +
> + f = fbatch.folios[i];
> + nr_bytes = offset_in_folio(f, end << PAGE_SHIFT);
> + if (nr_bytes == 0)
> + nr_bytes = folio_size(f);
> +
Is folio_lock() required here?
> + folio_zero_segment(f, 0, nr_bytes);
> + }
> +
> + folio_batch_release(&fbatch);
> + cond_resched();
> + }
> +}
> +
> +/**
> + * kvm_gmem_truncate_inode_range() - Truncate pages in range [@lstart, @lend).
> + *
> + * @inode: inode to truncate from.
> + * @lstart: offset in inode for start of range (inclusive).
> + * @lend: offset in inode for end of range (exclusive).
> + *
> + * Removes full (huge)pages from the filemap and zeroing incomplete
> + * (huge)pages. The pages in the range may be split.
> + */
> +static void kvm_gmem_truncate_inode_range(struct inode *inode, loff_t lstart,
> + loff_t lend)
> +{
> + pgoff_t full_hpage_start;
> + size_t nr_per_huge_page;
> + pgoff_t full_hpage_end;
> + size_t nr_pages;
> + pgoff_t start;
> + pgoff_t end;
> + void *priv;
> +
> + priv = kvm_gmem_allocator_private(inode);
> + nr_per_huge_page = kvm_gmem_allocator_ops(inode)->nr_pages_in_folio(priv);
> +
> + start = lstart >> PAGE_SHIFT;
> + end = min(lend, i_size_read(inode)) >> PAGE_SHIFT;
> +
> + full_hpage_start = round_up(start, nr_per_huge_page);
> + full_hpage_end = round_down(end, nr_per_huge_page);
> +
> + if (start < full_hpage_start) {
> + pgoff_t zero_end = min(full_hpage_start, end);
> +
> + kvm_gmem_zero_range(inode->i_mapping, start, zero_end);
> + }
> +
> + if (full_hpage_end > full_hpage_start) {
> + nr_pages = full_hpage_end - full_hpage_start;
> + kvm_gmem_truncate_inode_aligned_pages(inode, full_hpage_start,
> + nr_pages);
> + }
> +
> + if (end > full_hpage_end && end > full_hpage_start) {
> + pgoff_t zero_start = max(full_hpage_end, start);
> +
> + kvm_gmem_zero_range(inode->i_mapping, zero_start, end);
> + }
> +}
> +
> static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
> {
> struct list_head *gmem_list = &inode->i_mapping->i_private_list;
> @@ -752,7 +850,12 @@ static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
> list_for_each_entry(gmem, gmem_list, entry)
> kvm_gmem_invalidate_begin(gmem, start, end);
The kvm_gmem_punch_hole() can be triggered by user's madvise() operation, e.g.,
mem = mmap(NULL, test_page_size, PROT_READ | PROT_WRITE, MAP_SHARED, guest_memfd, 0);
madvise(mem, test_page_size, MADV_REMOVE);
As the mmap'ed VA is only for shared memory, it seems that the madvise() on a VA
range should only affect the shared memory. However, kvm_gmem_punch_hole()
indiscriminately truncates or zeros any memory.
> - truncate_inode_pages_range(inode->i_mapping, offset, offset + len - 1);
> + if (kvm_gmem_has_custom_allocator(inode)) {
> + kvm_gmem_truncate_inode_range(inode, offset, offset + len);
> + } else {
> + /* Page size is PAGE_SIZE, so use optimized truncation function. */
> + truncate_inode_pages_range(inode->i_mapping, offset, offset + len - 1);
> + }
>
> list_for_each_entry(gmem, gmem_list, entry)
> kvm_gmem_invalidate_end(gmem, start, end);
> @@ -776,6 +879,16 @@ static long kvm_gmem_allocate(struct inode *inode, loff_t offset, loff_t len)
>
> start = offset >> PAGE_SHIFT;
> end = (offset + len) >> PAGE_SHIFT;
> + if (kvm_gmem_has_custom_allocator(inode)) {
> + size_t nr_pages;
> + void *p;
> +
> + p = kvm_gmem_allocator_private(inode);
> + nr_pages = kvm_gmem_allocator_ops(inode)->nr_pages_in_folio(p);
> +
> + start = round_down(start, nr_pages);
> + end = round_down(end, nr_pages);
> + }
>
> r = 0;
> for (index = start; index < end; ) {
> @@ -1570,7 +1683,7 @@ static struct folio *__kvm_gmem_get_pfn(struct file *file,
>
> *pfn = folio_file_pfn(folio, index);
> if (max_order)
> - *max_order = 0;
> + *max_order = folio_order(folio);
>
> *is_prepared = folio_test_uptodate(folio);
> return folio;
> @@ -1597,8 +1710,15 @@ int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot,
> goto out;
> }
>
> - if (!is_prepared)
> - r = kvm_gmem_prepare_folio(kvm, slot, gfn, folio);
> + if (!is_prepared) {
> + /*
> + * Use the same address as hugetlb for zeroing private pages
> + * that won't be mapped to userspace anyway.
> + */
> + unsigned long addr_hint = folio->index << PAGE_SHIFT;
> +
> + r = kvm_gmem_prepare_folio(kvm, slot, gfn, folio, addr_hint);
> + }
>
> folio_unlock(folio);
>
> --
> 2.49.0.1045.g170613ef41-goog
>
Return-Path: <linux-kernel+bounces-665344-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F0F5D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:03:11 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id F043A3B8BB7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:02:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 04B1D2798EB;
Wed, 28 May 2025 11:03:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="jJl1y3Uk"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9A32910E3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430183; cv=none; b=iWvXS7N0df5+oC0jPADH2CCEyZp8nWhTSD26iz6BxXhW8WlirhT5B4/+23m4dtQsfx0PSt/xMqHfF09M8ynd1zFhqpewM/KNf+VBwf0VQoXet4r2HKsOoGV8x0e4SIXkuGXqrQ+BXYUKXbNvF4uPZHfSavjqo1flx/qyfoZrr9g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430183; c=relaxed/simple;
bh=5X8/9ZTfFzuaHGYH8AUbxGdlNSKEQBFRbG4dmwGIyLw=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=K7HXG6ipAkWWJdIuQXU8vLwiAx87bPVLFLCu8WniXT+pzVF4VxgAcL7+JBxJPJ44TWKu6beGfhSPjl/1Jaqru8QUleHZuDgNlKjQYlBYu4I/UUCDNw9KReoa5BrAWLlELe8aRCAoA/czZBg5DNkf6ba4zdPuwLw9VHcce5JBMjw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=jJl1y3Uk; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279868.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S7A2st001002
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:00 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=q1iLTaT7gLyfjWyfB4VuKe/R
NA5+cJtEuVv2tAhNcV8=; b=jJl1y3UkeACPxpxhogENNnWZKwkLI0KjQ/8E8iuG
Ao/9F2S3VJgJBWeLuLnKt/hYk0FNaTVjaL2XuUi3fRSBPdLT8NBrxcJ+8oxccpAP
XcInGreDmUxjgfyfbtY9R2ZgjD0P/B6TrJ7gzF6o22nE1uD+TseYj0y0huZ14jW5
TJm7kXIdcQ//ButKeKW8utDMOyrgK9skQ8+UUpoB6bZpluvrXJyQkOAb7YQcsqPb
Ig/bQRByAFggzoLweVq3R7iX5mAg7SbXJeIcS8b8o55cGEqR0bj8ldk5c0qaTuw5
QfMu2cNbjT2AJmtojpB0D6NgiSd+e7AG0rlSILr4yO64zA==
Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u5ek1vn6-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:00 +0000 (GMT)
Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c5b9333642so477740085a.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:03:00 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430179; x=1749034979;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=q1iLTaT7gLyfjWyfB4VuKe/RNA5+cJtEuVv2tAhNcV8=;
b=ZWn7RN3IyNs2kmayZNGnXtPipZwtGT4eFyTU5xeKwsRuvppEkyE6TFmFSKXs0bbVEw
6QgJ7jqiicg5GzEe+3keaotJizokL7n7JlVS0rhUqHS245OpnjcqmvgfdsDFFKbbjTC5
6gycsf1Pr/p9mYG5P5DIs4I4az1P/12lTZewKLJlXD9rbK/v/KScGEr5fYUPslPkSMwv
cUPiqQdQX4MifOQ2pUjfhFfC32UcjNpC9l4Ig6ZtPaqRac+b2LRM9QhdECWwUtkxn4YW
2dvxbJUP0NM431/1/HC9anpB3SfTKlLFyFkaH31yaHmapi2EqzEUJD2loyjv9NPNmu7k
QW9Q==
X-Forwarded-Encrypted: i=1; AJvYcCWNt2BFoXiOFOwuEXUZmlnvtNBjcXHezzk9wzLedhqllqoVqbLjvMVefpWiJwABfQT62pYG6E2tVqytvPM=@vger.kernel.org
X-Gm-Message-State: AOJu0YxxLF4/JqjDMZv2hTt/mq7JkLMUqevrGHxQXDK4F4xysgT6Uo5C
JZ4Mfdcptt/ot7hPiLAiO6kVCErlQGPZreI0o14unvJUxBMxUO8bgMukeXLfrb15YJhGowMA/H8
balDTiYlG21fAEHkbvj1Of498rZI2BLE+50HkDQxqu50qRH2ils37i9nM71esYKnWhsw=
X-Gm-Gg: ASbGnctv0q5Gj6GzK41N2Ilx6mIIln0SQ2H6nvH/FqMvQE3u5i50Wipw3EF2drqlMUT
CW2agi6LEiZiXGb1jXBbUzqujdjDkzcH/4Ec7gb3vWRq+F0YEbQUr4TsFr8MK698Jm7TJVw3Ovy
hDqjsOjk7/Bx6j9VTzuq8R47i9JOfmnSwytdj/1lQFqgSuo2NnOW5yPB9OPyw0ZqLAIGi6fUMw8
6kvZuHxGt2FPIum/x6jL/O+Y4U2pDpIaMk2Gjis3t/P0KsNGto0aOTTbtJ6Edt/xQI4dOUFRuUv
NrAvcKRZt5pTcHYfUlhLjObqo5o9U1BGOw6fGHdYi+/CIe1rXAG9ItBJmvQ5bu9aDHSUTabAbGE
=
X-Received: by 2002:a05:620a:2987:b0:7c5:60c7:346 with SMTP id af79cd13be357-7ceecb6cc88mr2143112385a.10.1748430179254;
Wed, 28 May 2025 04:02:59 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGMLIP4BKbsaEo3YR2wwAaxRATygol9mrSPJsIQjiLHzcTBvdUF1nZ6IhNwq7MpchCi2ge2dw==
X-Received: by 2002:a05:620a:2987:b0:7c5:60c7:346 with SMTP id af79cd13be357-7ceecb6cc88mr2143106085a.10.1748430178571;
Wed, 28 May 2025 04:02:58 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5532f6b6403sm232320e87.257.2025.05.28.04.02.57
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:02:57 -0700 (PDT)
Date: Wed, 28 May 2025 14:02:55 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
Cc: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, linux-arm-msm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
Doug Anderson <dianders@xxxxxxxxxxxx>
Subject: Re: [PATCH v4 2/3] soc: qcom: qcom_stats: Add QMP support for
syncing ddr stats
Message-ID: <6ldwvqqhk4lndesk7oac4ly2vhdxyd57f5hhijvutik5gm2czu@vmkasgeg2tmm>
References: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
<20250528-ddr_stats_-v4-2-b4b7dae072dc@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528-ddr_stats_-v4-2-b4b7dae072dc@xxxxxxxxxxxxxxxx>
X-Authority-Analysis: v=2.4 cv=GIgIEvNK c=1 sm=1 tr=0 ts=6836ed64 cx=c_pps
a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=8xzOyIisJLnxiflYdHgA:9 a=CjuIK1q_8ugA:10
a=bTQJ7kPSJx9SKPbeHEYW:22
X-Proofpoint-ORIG-GUID: a-u_NlVu9GXOAwJPPNlctQw_wS8V1BqZ
X-Proofpoint-GUID: a-u_NlVu9GXOAwJPPNlctQw_wS8V1BqZ
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5NiBTYWx0ZWRfX3k56s7ehpTwq
TJfmntxJY4tH9o/F9IjAFApVqfBf5cxCQ2LJ0LPgYLCd3a4bURQpckXhYJiKp81XIq9NNH5DsOt
f9nefFIEqD+W02BvUm912svDSIWos1fdOoG0HYubP+/XFMf+jro9rNw5g2/7wEx03YGXbuf666A
zg7TgPrperJMKty5waT8ff3ijaoGMex0osx4qTtoGvfaTs/n1ivGnwt3IdbIkatZsWeMmd+UIRP
tPUdDoerVOHFnH26OnCusHT2EBCtij9w+Sr4NEB1ld7JL1pNyisdeav2PHSw/a52v0A0Jtzcvhv
+NKZUXmGcm0uSAUqAXk/E7Xnqk1IIK8UjihqA75uJ/xycoYdseFBZ0QpcbBlnWIETbMWrVgG9W8
S76f65kHQsw604/aGT5uPVGRoGot/0MfP8RoWNHXC++WnvpGN2tgjNFcPULv8K2L5loIsSL0
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
impostorscore=0 malwarescore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0
adultscore=0 priorityscore=1501 mlxscore=0 phishscore=0 spamscore=0
suspectscore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280096
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 02:51:32PM +0530, Maulik Shah wrote:
> Recent SoCs (SM8450 onwards) require QMP command to be sent before reading
> ddr stats. The duration field of ddr stats will get populated only if QMP
> command is sent.
>
> Add support to send ddr stats freqsync QMP command.
>
> Signed-off-by: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
> ---
> drivers/soc/qcom/qcom_stats.c | 34 +++++++++++++++++++++++++++++++++-
> 1 file changed, 33 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/soc/qcom/qcom_stats.c b/drivers/soc/qcom/qcom_stats.c
> index 33fd2a1574464768bd07289e743fbb79ba415e84..0545c8cbefb8f18758d4eb51638e4ecb94e05422 100644
> --- a/drivers/soc/qcom/qcom_stats.c
> +++ b/drivers/soc/qcom/qcom_stats.c
> @@ -13,6 +13,7 @@
> #include <linux/platform_device.h>
> #include <linux/seq_file.h>
>
> +#include <linux/soc/qcom/qcom_aoss.h>
> #include <linux/soc/qcom/smem.h>
> #include <clocksource/arm_arch_timer.h>
>
> @@ -37,6 +38,8 @@
> #define DDR_STATS_TYPE(data) FIELD_GET(GENMASK(15, 8), data)
> #define DDR_STATS_FREQ(data) FIELD_GET(GENMASK(31, 16), data)
>
> +static struct qmp *qcom_stats_qmp;
> +
> struct subsystem_data {
> const char *name;
> u32 smem_item;
> @@ -188,12 +191,28 @@ static int qcom_ddr_stats_show(struct seq_file *s, void *d)
> struct ddr_stats_entry data[DDR_STATS_MAX_NUM_MODES];
> void __iomem *reg = (void __iomem *)s->private;
> u32 entry_count;
> - int i;
> + int i, ret;
>
> entry_count = readl_relaxed(reg + DDR_STATS_NUM_MODES_ADDR);
> if (entry_count > DDR_STATS_MAX_NUM_MODES)
> return -EINVAL;
>
> + if (qcom_stats_qmp) {
> + /*
> + * Recent SoCs (SM8450 onwards) do not have duration field
> + * populated from boot up onwards for both DDR LPM Stats
> + * and DDR Frequency Stats.
> + *
> + * Send QMP message to Always on processor which will
> + * populate duration field into MSG RAM area.
> + *
> + * Sent every time to read latest data.
> + */
> + ret = qmp_send(qcom_stats_qmp, "{class: ddr, action: freqsync}");
> + if (ret)
> + return ret;
> + }
> +
> reg += DDR_STATS_ENTRY_START_ADDR;
> memcpy_fromio(data, reg, sizeof(struct ddr_stats_entry) * entry_count);
>
> @@ -304,6 +323,19 @@ static int qcom_stats_probe(struct platform_device *pdev)
>
> for (i = 0; i < config->num_records; i++)
> d[i].appended_stats_avail = config->appended_stats_avail;
> + /*
> + * QMP is used for DDR stats syncing to MSG RAM for recent SoCs (SM8450 onwards).
> + * The prior SoCs do not need QMP handle as the required stats are already present
> + * in MSG RAM, provided the DDR_STATS_MAGIC_KEY matches.
> + */
> + qcom_stats_qmp = qmp_get(&pdev->dev);
> + if (IS_ERR(qcom_stats_qmp)) {
> + if (PTR_ERR(qcom_stats_qmp) == -EPROBE_DEFER)
> + return -EPROBE_DEFER;
> +
> + /* We assume any other error means it's not defined/needed */
> + qcom_stats_qmp = NULL;
I still think that we shouldn't be ignoring actual errors here. I'd say,
check for of_property_present(dev->of_node, "qcom,qmp") before.
> + }
>
> root = debugfs_create_dir("qcom_stats", NULL);
>
>
> --
> 2.34.1
>
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665345-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 789F141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:03:29 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 600C61BC5C18
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B815C27A926;
Wed, 28 May 2025 11:03:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="p3umwhj/"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A65A421858A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430197; cv=none; b=DbN/r7Rz23/Pq/23rlXipVHpgrNAXXRIs2Be9TaQv614uug6UFxLaP+X3DIXSOodG4jnsDXCwY3WkOY9ulAxpFtdmRuFPKPIVEmGH4dRX9o+qm6NBL3itFZecOY6dtvWsYQ08OVPWTDgduSqaUwfU/AShiXyjJx/7QZkoOclNHA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430197; c=relaxed/simple;
bh=/RJIvErotRj3to0d6kOm5wmObFlOfph76zWlBJ4Q9Oc=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ttGN43QcUucmFM9URQXtnWtSTect81joGlu2QEmoaiX8mXIkoRaQsjRJfkCrYqc8kaodLbAj236swC0XJEoveP8lzUp5Z1/zcDS56wM+ZEYRUPJ0jufOkMJ38E599B/O9P/sq5zzuK0/V7T0FhQ8i+KnKWz335qU30BNngnspK8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=p3umwhj/; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279866.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S78Bip001576
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:14 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=ELgwTpMyunvmM7oXC9JYUZ5V
y2pFyIIsfyTDjxB9GAY=; b=p3umwhj/5BExpQj33huf2Oh+q3NmW1Ns5ZP8BmwF
cPOg7fHjAtrFgcPC+UAIlxGuN007wmXrmOpbd/IN6OPq+GA+t7B/hveMWLYmyKkF
DAYwI9iG6APAwESFbdskCqOSu48HEIwfld/+JdIrQBK3QXqQE8gJi0q31DXR3RVO
GtSrEGfoQA51ic/+QL+/xMbvVuEuRGW3ohflgv6JmO4An4cgKO99ql0aNd0LnmD+
C7MoQN5TkP304S0idmf+4INg+3jaAxW06ftV1dvgLyDmzt4ki6GvXY3sEKZaFWPy
Gt1q9YUO4XCyJxJbPE3/seQq/KvvUmsbxu3b7568WzGWDw==
Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46wavkurqb-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:14 +0000 (GMT)
Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5f3b94827so682134385a.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:03:14 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430193; x=1749034993;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=ELgwTpMyunvmM7oXC9JYUZ5Vy2pFyIIsfyTDjxB9GAY=;
b=ZruH7K+Kp9yoKYzvHo+B76deNlYyyJxNft9jgSYyej6ALoq8PsKJB+IUSfumiqiha8
ClBC5sLWOawbHuA0PGxK8wAuEn1ytGsP5dUJuQN44Pr2LB2uVhuK5S51FqJlueTkvUYM
L74qvVuf7A6PC2rZPJ0OQEpJQzHFUcBGVM9ndX24YMvWuI2yENY8HQRxl+FyQrkaS/EA
gizD7f0k2gy92lqs4ARsTMYduS3QHQgFGABjplBQPqFpAneQxX2zDsW20fiZWKkOiaBd
i64PSqUn3jKQ0dUZAeL7xS4/V9L49GusuDq4mRABqH3JAgB3amkCD/6NCQIn9lzz3uJu
t2Nw==
X-Forwarded-Encrypted: i=1; AJvYcCXmGHS+qE1z0kx0xPxcGjU6MeDh9pg4noCnjDucWai5Tt24I8tf5C9F+9y+K3/ZioyMWmlVRoTwPqM2r6o=@vger.kernel.org
X-Gm-Message-State: AOJu0YyJIIeukCMya4v2HAi4YlKd9bva63m+UsW3oGSbnRdW/jCFG+xh
4NOgaC2c2ABopE5Zf9/hBWzTDXFFGDlCZYLwCkMTfF+aCTm7HH1tvCNzgkMH42BQkkALZ5yyiJt
UIVTKYTJRkXrn9Qm1wmVbk6CZGTUXyrJ4lQhMvdhwQpmYwQMlE49bR5NeLSkjuV7Pdh0=
X-Gm-Gg: ASbGnct+zeNDbP9/EI5Hozg3hgkJZcglhx65hclnv0vr9vThmfhiB8gfTzK7VUfHuvq
KwygRsSMxZXU47nHmPC+RrLi4Ss7FL+is7NyZT7DWyAcNN4i5JVKHXFl4Pp+yebozNzX5r0fT6u
ewvw3XIRuVX7TsJ4SMELhYyDTukxJqsktMUeduwkc8pM2Cdp3dR0sBfNn0Yx1uM+NXHF2QapY1s
3RvLD2RLBoLoMmh9bcMNvwsyS5tP3R3n3woSseXmW12gvndwMLfS5lxHTniPXEoJ0qhfScS6VQu
B8buksKjzDRcLuO5u6LmPNuUGRwGDncrHt2W8Obvdy25tSu7h3kzPrP8ruE21Zvbn3CgFwxv61w
=
X-Received: by 2002:a05:620a:372b:b0:7c5:5585:6c8b with SMTP id af79cd13be357-7cfd19dbd92mr228985085a.50.1748430193417;
Wed, 28 May 2025 04:03:13 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFGnv4Xt58Punjx8otwKBoHUwlys2VKyZhjUmL0mq9X43VaGyy/glqWWnkmJnsvnpqUXlWpEA==
X-Received: by 2002:a05:620a:372b:b0:7c5:5585:6c8b with SMTP id af79cd13be357-7cfd19dbd92mr228978885a.50.1748430192892;
Wed, 28 May 2025 04:03:12 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32a79f69878sm1973641fa.89.2025.05.28.04.03.11
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:03:11 -0700 (PDT)
Date: Wed, 28 May 2025 14:03:10 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
Cc: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, linux-arm-msm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
Doug Anderson <dianders@xxxxxxxxxxxx>
Subject: Re: [PATCH v4 1/3] soc: qcom: qcom_stats: Add support to read DDR
statistic
Message-ID: <d4sb62vm3nfeqaipl4cw7wwbrg3b4xzqhtjkr26ephfmygnnub@aaqoyzfnw5y6>
References: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
<20250528-ddr_stats_-v4-1-b4b7dae072dc@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528-ddr_stats_-v4-1-b4b7dae072dc@xxxxxxxxxxxxxxxx>
X-Proofpoint-GUID: MJgJU_4NoZ7TbhfAKFAyk2uV5Gw80X5D
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5NiBTYWx0ZWRfX66lqhepaL9ld
uoudve75xMNNqsj7EMjSngHwXuTl+FYOJH2RFmx8fPry+DdLOm+suxjvX62Zb3rgCn7rrb3YKYi
7j7Xaqef+R8uh+EeZY620tLbE7C4A+SdGpqnH9gkzhw4gs0HFRH9blRwzMF2EiVdDQIYGez0Xx8
G4jLie5Fm2U7glF54kfnQFbhbIviWm5NBVFvf56DmFW85plGi0ldJQdaHYVaX7IUsPF8yqrH3Nn
iOTmJbO/JEssMn9AF95jDRCxWt3/O78XE/1PxNJj0FUbHpO5PNR4kXmxoPNpNznpr6Lq+H677UN
brM+R8XJN21SwiEAUwkTs643GGLR+N8snsSv9CkJJEYiCnAZOczNtbNBQIBBxIG+j+x5jZJCwTY
yhzgm/8eAQ8binNdVPSxU22anOVlcHd8lkjvXnKCJsMTMOANnNskHhSXFQZEOPnjQNlhTQN/
X-Authority-Analysis: v=2.4 cv=fMk53Yae c=1 sm=1 tr=0 ts=6836ed72 cx=c_pps
a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=ahjRXFyu6kw89l6o8aEA:9 a=CjuIK1q_8ugA:10
a=NFOGd7dJGGMPyQGDc5-O:22
X-Proofpoint-ORIG-GUID: MJgJU_4NoZ7TbhfAKFAyk2uV5Gw80X5D
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
malwarescore=0 adultscore=0 impostorscore=0 phishscore=0 suspectscore=0
spamscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 mlxscore=0
mlxlogscore=833 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280096
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 02:51:31PM +0530, Maulik Shah wrote:
> DDR statistic provide different DDR LPM and DDR frequency statistic.
> Add support to read from MSGRAM and display via debugfs.
>
> Signed-off-by: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
> ---
> drivers/soc/qcom/qcom_stats.c | 99 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 99 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665346-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9ACCF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:03:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 97D621BC57B7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DFC2927C861;
Wed, 28 May 2025 11:03:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="SWTS5g1/"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B2A6C279331
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430207; cv=none; b=GyeJ04EbvdmLqoVX8vm1skMLNsA1zfGs7oy6niy/1x8mugIUBo3wh7YAaKJOseNZ2NGRYHIup+KRzoNDJH+4uG0DVlTDj44qt8ePYDUUV5G8cGOrGq28yOsMieFtqbGg5IaxUI2Zebag1jbo8HtlhpmqTZFnCDrR5wQr7dF8sbY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430207; c=relaxed/simple;
bh=7AD6vqWhqJX0O2x4ThO5Pg+jVQYeZPQYDx4U83BlAh0=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=GDe1zQBmndFtCJZ8MngiMUXlergMiAlLn7vzyEczsaZW656hfm/GPlvqEWZGGuTbN7TpK51KjtTUAfW5siATgm24EiD/WwZg2lNMAJGVFfT5OLlmULfY/vRp/Ennw/yZLqAp1UobMoaEXwMiWDjqdcAMhR27cRXSwMtfaJeHxPg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=SWTS5g1/; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279869.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S3HQNW013944
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:24 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=O3hxnjE8R2mMI7zZXd74HKiJ
V55TvIlcyaFBEmbsVko=; b=SWTS5g1/WnnFFprrY0D8j3/H98v3Bi3eAeo5qIm9
6Y3h/VGX8lhbOTgrePAIp6Wej6ZqKB/y7eIe9FWJPnwuCme3sMLi0po/JRuNe/FQ
cVLAzkIT+0yHrrL/l2T4IxXm/fTrR2rhcycH/2/lRVy6G905zvOka3zGCQkQTGx8
vVF6mFAZPrk6K1/2QTCgLd/7W0t8uxaqOhEkcsum53vfy5Q2SttoRKnWHkVqxBjH
xGqFNw9yh9tJr3dBD1aylKAuaB8NiHvgm6L/kM80umsQdltFco7pRkuZZE4PKZ0/
Vd5S1wHIAUvzY0E3rFiKYFKdd3BOAjWYRzMvLMJGrJ5HzA==
Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u549hxjy-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:24 +0000 (GMT)
Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c793d573b2so787461785a.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:03:24 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430203; x=1749035003;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=O3hxnjE8R2mMI7zZXd74HKiJV55TvIlcyaFBEmbsVko=;
b=PioHk+sbvRgjGIibDeevNFXJRNJauy+D1E8rI1bsnkRJD6OuYaevgHwfl8JZcytEYL
SeNbeRT8AC5xnc+oFxRKoYjwQMYNpS76+/tDztE9jR/HkR35kBbMf+vwrmIEqtf0Dr+l
xgQzpYYmFq0MDI7FxyAsitOFxhkNX4jl8nViwomdrtxaMNZObA1jiqugsf4GDPVz+7Wu
vltiJOuEsSCq4qr7qUubnKaLny2qdE2ASwCjrbCBJoq0N4Gd7WhSNTKmqloxRdbCOcdL
WWcKervxTvnc2LxT4XgXqfFM3zWWDzu6/8Sj0rWUO7CF3gEiPIQtLaBS9A0uHlSLNTy0
Uhgw==
X-Forwarded-Encrypted: i=1; AJvYcCXHFxPorQCNNzp5HXmh9q3xRCen9ve0AUqhwEEvOch9O4sdsbtUdUioZTjY/4OXWOyzHquty90hv787hfk=@vger.kernel.org
X-Gm-Message-State: AOJu0YxPNyaSDkscBYdw/44TAXRrBRbhQ/6Jpq6Jr2/SRfZfuYa5ZkKf
NGvZG/NSaTy/coPDk3U6QkD0abBjcNR1UM3pxlw/6dZDYtuF3vO+cTi3AnniNymiSgrtu+1Pk16
9ERja4hX6mDRYSp2v3bbj4bNSktmEyHMPbxdhPy3RVNmzzy1gf1r9Lyt8Zg416SkLDF8=
X-Gm-Gg: ASbGncsFXDSoNeUKrImNcZMnKP/2veY5MSI9igKR+YtrpMgISor4LhQXpJcmSPurQSo
R2lW5Wo9LoM8UmKVFii42DsSSAS0KHcas/LJQSLlEUOqkdfjDG9xRrHQX3va9gAmSJNs4Ll8MVM
8Ap3GiaClhjTOj9PoPP96EYYNmcuQ+Hgj+3dwKYYvOEfVneYz+JBcKrppFWxdLPxiL0K+T3Qa9K
PPFI/Tm0+uIeKwNDwpC10LFMmFCv4BItTwL5YeIeoPSnq1DT7uoKWchYVGueHZ03rxQIMDSDAOg
VEIpjA0Y3TXlEnK13fqgPv87GShiGunT3yIzktVbV7GCpT9hZaU/nhyyuOxd0SCzj7/4odouFhE
=
X-Received: by 2002:a05:620a:2987:b0:7ca:f65c:2032 with SMTP id af79cd13be357-7ceecb6fb2fmr2461803985a.5.1748430203412;
Wed, 28 May 2025 04:03:23 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGvMnEOEZ4WQNoRontgIBRNZol/vl733lzBBoIgKYQnnSwGg5aPaK0yeBDFlXxZZsjumy13Hw==
X-Received: by 2002:a05:620a:2987:b0:7ca:f65c:2032 with SMTP id af79cd13be357-7ceecb6fb2fmr2461799285a.5.1748430202950;
Wed, 28 May 2025 04:03:22 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5532f69a997sm234879e87.142.2025.05.28.04.03.21
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:03:22 -0700 (PDT)
Date: Wed, 28 May 2025 14:03:20 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
Cc: Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, linux-arm-msm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
Doug Anderson <dianders@xxxxxxxxxxxx>
Subject: Re: [PATCH v4 3/3] arm64: dts: qcom: Add QMP handle for qcom_stats
Message-ID: <y6ciwgsseaasx7ob5ygihysrt77pnfsttsrbtijhakawfe6w6r@x6mzgmi4bwgc>
References: <20250528-ddr_stats_-v4-0-b4b7dae072dc@xxxxxxxxxxxxxxxx>
<20250528-ddr_stats_-v4-3-b4b7dae072dc@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528-ddr_stats_-v4-3-b4b7dae072dc@xxxxxxxxxxxxxxxx>
X-Proofpoint-GUID: 8JQnvdTjXBdf7SAv0e__2bZJ7ISBHpxV
X-Authority-Analysis: v=2.4 cv=E9nNpbdl c=1 sm=1 tr=0 ts=6836ed7c cx=c_pps
a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=dt9VzEwgFbYA:10 a=EUspDBNiAAAA:8 a=fX9Ow7R_rwjDEiK7aGMA:9 a=CjuIK1q_8ugA:10
a=IoWCM6iH3mJn3m4BftBB:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5NiBTYWx0ZWRfX+GIB7QcgCAHy
rzwIjRwuNmCsq7endlujLJT5Z4I1Z7GJrojimfb86ivIZ/ld1ssuBVFr2cxb3NqO5hkoTv52tMR
28mgm47NI0h3JNc05TrkI+pUBblZdFkzie2vfP9CIPMMm3MdIawSVQIpQzWmy+z35GXowNCFHJp
yq1P/vFvILjpF9ILxYpZe6wLtTitFlcOEPFMJVGAdGr5DMcU7oN1L9Y1nWmDyAEGNlynPO+h7gY
CSUvKa7ixdxbsTg4saDHhEhNpeAxpyb5rXIQHn1y6X/nRd7E5jVREKxYeMG6tL74j68XYg3imr9
spnEXNF/jt5TDX6/To2L23uvoKupczZR9DO4IXgpThaXa8GJT7EE3drT3Cp3Hsp68ON+i8dxNsD
Ll9OnRzp2Q08E2S8x88iNKNjtyDJ6KGdmZifmvHoMlD85PQrioYuGuLXzrWIi6sdPk/BSQWS
X-Proofpoint-ORIG-GUID: 8JQnvdTjXBdf7SAv0e__2bZJ7ISBHpxV
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
mlxscore=0 mlxlogscore=695 spamscore=0 malwarescore=0 priorityscore=1501
adultscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0
clxscore=1015 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280096
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 02:51:33PM +0530, Maulik Shah wrote:
> Add QMP handle which is used to send QMP command to always on processor
> to populate DDR stats. Add QMP handle for SM8450/SM8550/SM8650/SM8750.
>
> Signed-off-by: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/sm8450.dtsi | 1 +
> arch/arm64/boot/dts/qcom/sm8550.dtsi | 1 +
> arch/arm64/boot/dts/qcom/sm8650.dtsi | 1 +
> arch/arm64/boot/dts/qcom/sm8750.dtsi | 1 +
> 4 files changed, 4 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665347-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3616041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:04:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 765F03A7E72
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C965427E7D8;
Wed, 28 May 2025 11:03:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="H7SbS2xP"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1654E279333;
Wed, 28 May 2025 11:03:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.10
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430209; cv=fail; b=MRJNePkL/gNMAy5hRFeqpusCR0IbnzpRGc8JMzPLtJ2Ghw460F7pEmhYkzAN+QJQxhw9Oi7Zo9TZ7iAEQS3ozSTbH/kwKGatsdF0LI6uc+tdfZ7fImUtYKXSgBJGi7T1+nIg9bDNUYVXAgdtoN+WI3Ztmtr9CK2EagFZazCfOh0=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430209; c=relaxed/simple;
bh=WZR7tQB1LJhu+9v91I9pG3/hzweDs1StmtZ78yVTjUg=;
h=Date:From:To:CC:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=p4IlWZBpI4YFGHAjwRUOg6xLDO2A1uohkx3tLEg4f79eBBcajtxhi7N3j18M74hK/CkyefvxDnSB2bOZ0zd28AI3uq8wnp1qV3jpi54cZgVSF3DMqwHV+5j6NHbq9dslbvRaEcwAlzqLLKX/NODIyYx9TghU3pfxjr6VXfjRC9g=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=H7SbS2xP; arc=fail smtp.client-ip=192.198.163.10
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748430207; x=1779966207;
h=date:from:to:cc:subject:message-id:reply-to:references:
in-reply-to:mime-version;
bh=WZR7tQB1LJhu+9v91I9pG3/hzweDs1StmtZ78yVTjUg=;
b=H7SbS2xPRBt9HPF9idjyURqNERfEdZ8vAY0kku+7uXAlBdg3FuEJBNxO
ajYZIQW+c0lu+2bR3QTkmEnLRSHyINII1mR40VBV0CWonS7ryfFd9l2Cz
Y8rqx747wQfcEZ6VlKqbF+VHXiPmh3cLU3hHkmMxYSokGG9eV3c5/S+fZ
EWrg6o6w7EjUtBwvptb5rfkCybfQrrT2x1jLfQTrEk+HSBYDh9lJ6b/4n
iwEFiKp3QRx8GcPFTg4+K6GJfFwmexim05MSPm79zparCDcbPDmb2CEme
QzxkUeGGe+Njni4ida9I6/LvsGhbbMXKf7xHL0idEOy4/nbVud0T1kaDh
A==;
X-CSE-ConnectionGUID: SQucqdNlTQWczRHVxmsbXw==
X-CSE-MsgGUID: 2AetXi5YT5GvKqJm6NUASw==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="61799438"
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="61799438"
Received: from fmviesa003.fm.intel.com ([10.60.135.143])
by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:03:21 -0700
X-CSE-ConnectionGUID: QKHVld68T8mlxmv0Ig/K4Q==
X-CSE-MsgGUID: T/mZ1PGzRBiv8IYA6XWpXQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="147093876"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by fmviesa003.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:03:18 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 28 May 2025 04:03:17 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 04:03:17 -0700
Received: from NAM02-BN1-obe.outbound.protection.outlook.com (40.107.212.74)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 28 May 2025 04:03:15 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=NSYYbcAlptDE6DqIARhFDifGX6QKW4hzXPdONNXJQPt+WXH98WYxk7ncWlQhwDbULSBGUt8cHOohCqUt3ECxqrNnX8KQh+XBHXoRy6QNBcV4F8vyG5xyIVmWd/4yjBF1+dKCI3uLqkSEqSsVczOm0vYFh2p2rpOACu8hvxmUERsJdRa5h4WPdpY67OmbyOgJiuT4QTksGzDxdXE8lVi+/WADn7kb+ZqT9XAf93jggTpe33XYcZ9gpbM7Q4HFLsD92CvCST3M7fW+FxEggZStb1kc+ki/uLndWrFHnunbkGAGmQIIrHbt7Eeeo+fbIaT9ntT3WWheBTH1MAVRvxXQOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=AlV3SwneMAMeJkpoN2FgHwuGWMdHEU5cixO/XjrZ4Io=;
b=X6fr0tABz2YjajZMENkgzSpKd9Z13Im3NbOu85mBokk8xuw5qumnub7rObis6gkCjYpy+QZYf1wPkrxhgex2h3WnPmSTKYRECtyM42OfNAXtaX0W6NlpKigOnoe14iBQkkO6A2z/aFaFs3ljcvONOjUAA4BXvqVFxkBDv7IXKY3NG+IDRDm70gpl0YIWbAnNcTjAnCb8VWROkVpMiOruNay+XRCnzx3DpAduw5RU18nhrilxHc2+cvhh4dsYw3K7p6XjY1okZLn+kWHVE5e3e+jDUWdli/sMPOm5ihjvDSYDKfgGAxb2TR9cGo+S6f4Fjxqdx/mvhvp2O4F2Q+o5aA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from DS7PR11MB5966.namprd11.prod.outlook.com (2603:10b6:8:71::6) by
SA3PR11MB8003.namprd11.prod.outlook.com (2603:10b6:806:2f7::17) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8746.29; Wed, 28 May
2025 11:02:53 +0000
Received: from DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca]) by DS7PR11MB5966.namprd11.prod.outlook.com
([fe80::e971:d8f4:66c4:12ca%2]) with mapi id 15.20.8769.021; Wed, 28 May 2025
11:02:52 +0000
Date: Wed, 28 May 2025 19:00:16 +0800
From: Yan Zhao <yan.y.zhao@xxxxxxxxx>
To: Ackerley Tng <ackerleytng@xxxxxxxxxx>
CC: <kvm@xxxxxxxxxxxxxxx>, <linux-mm@xxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <x86@xxxxxxxxxx>,
<linux-fsdevel@xxxxxxxxxxxxxxx>, <aik@xxxxxxx>, <ajones@xxxxxxxxxxxxxxxx>,
<akpm@xxxxxxxxxxxxxxxxxxxx>, <amoorthy@xxxxxxxxxx>,
<anthony.yznaga@xxxxxxxxxx>, <anup@xxxxxxxxxxxxxx>, <aou@xxxxxxxxxxxxxxxxx>,
<bfoster@xxxxxxxxxx>, <binbin.wu@xxxxxxxxxxxxxxx>, <brauner@xxxxxxxxxx>,
<catalin.marinas@xxxxxxx>, <chao.p.peng@xxxxxxxxx>, <chenhuacai@xxxxxxxxxx>,
<dave.hansen@xxxxxxxxx>, <david@xxxxxxxxxx>, <dmatlack@xxxxxxxxxx>,
<dwmw@xxxxxxxxxxxx>, <erdemaktas@xxxxxxxxxx>, <fan.du@xxxxxxxxx>,
<fvdl@xxxxxxxxxx>, <graf@xxxxxxxxxx>, <haibo1.xu@xxxxxxxxx>,
<hch@xxxxxxxxxxxxx>, <hughd@xxxxxxxxxx>, <ira.weiny@xxxxxxxxx>,
<isaku.yamahata@xxxxxxxxx>, <jack@xxxxxxx>, <james.morse@xxxxxxx>,
<jarkko@xxxxxxxxxx>, <jgg@xxxxxxxx>, <jgowans@xxxxxxxxxx>,
<jhubbard@xxxxxxxxxx>, <jroedel@xxxxxxx>, <jthoughton@xxxxxxxxxx>,
<jun.miao@xxxxxxxxx>, <kai.huang@xxxxxxxxx>, <keirf@xxxxxxxxxx>,
<kent.overstreet@xxxxxxxxx>, <kirill.shutemov@xxxxxxxxx>,
<liam.merwick@xxxxxxxxxx>, <maciej.wieczor-retman@xxxxxxxxx>,
<mail@xxxxxxxxxxxxxxxxxxxxx>, <maz@xxxxxxxxxx>, <mic@xxxxxxxxxxx>,
<michael.roth@xxxxxxx>, <mpe@xxxxxxxxxxxxxx>, <muchun.song@xxxxxxxxx>,
<nikunj@xxxxxxx>, <nsaenz@xxxxxxxxx>, <oliver.upton@xxxxxxxxx>,
<palmer@xxxxxxxxxxx>, <pankaj.gupta@xxxxxxx>, <paul.walmsley@xxxxxxxxxx>,
<pbonzini@xxxxxxxxxx>, <pdurrant@xxxxxxxxxxxx>, <peterx@xxxxxxxxxx>,
<pgonda@xxxxxxxxxx>, <pvorel@xxxxxxx>, <qperret@xxxxxxxxxx>,
<quic_cvanscha@xxxxxxxxxxx>, <quic_eberman@xxxxxxxxxxx>,
<quic_mnalajal@xxxxxxxxxxx>, <quic_pderrin@xxxxxxxxxxx>,
<quic_pheragu@xxxxxxxxxxx>, <quic_svaddagi@xxxxxxxxxxx>,
<quic_tsoni@xxxxxxxxxxx>, <richard.weiyang@xxxxxxxxx>,
<rick.p.edgecombe@xxxxxxxxx>, <rientjes@xxxxxxxxxx>, <roypat@xxxxxxxxxxxx>,
<rppt@xxxxxxxxxx>, <seanjc@xxxxxxxxxx>, <shuah@xxxxxxxxxx>,
<steven.price@xxxxxxx>, <steven.sistare@xxxxxxxxxx>,
<suzuki.poulose@xxxxxxx>, <tabba@xxxxxxxxxx>, <thomas.lendacky@xxxxxxx>,
<usama.arif@xxxxxxxxxxxxx>, <vannapurve@xxxxxxxxxx>, <vbabka@xxxxxxx>,
<viro@xxxxxxxxxxxxxxxxxx>, <vkuznets@xxxxxxxxxx>, <wei.w.wang@xxxxxxxxx>,
<will@xxxxxxxxxx>, <willy@xxxxxxxxxxxxx>, <xiaoyao.li@xxxxxxxxx>,
<yilun.xu@xxxxxxxxx>, <yuzenghui@xxxxxxxxxx>, <zhiquan1.li@xxxxxxxxx>
Subject: Re: [RFC PATCH v2 39/51] KVM: guest_memfd: Merge and truncate on
fallocate(PUNCH_HOLE)
Message-ID: <aDbswJwGRe5a4Lzf@xxxxxxxxxxxxxxxxxxxxxxxxx>
Reply-To: Yan Zhao <yan.y.zhao@xxxxxxxxx>
References: <cover.1747264138.git.ackerleytng@xxxxxxxxxx>
<625bd9c98ad4fd49d7df678f0186129226f77d7d.1747264138.git.ackerleytng@xxxxxxxxxx>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <625bd9c98ad4fd49d7df678f0186129226f77d7d.1747264138.git.ackerleytng@xxxxxxxxxx>
X-ClientProxiedBy: SI2PR02CA0047.apcprd02.prod.outlook.com
(2603:1096:4:196::14) To DS7PR11MB5966.namprd11.prod.outlook.com
(2603:10b6:8:71::6)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS7PR11MB5966:EE_|SA3PR11MB8003:EE_
X-MS-Office365-Filtering-Correlation-Id: 207562ac-6671-4df0-f705-08dd9dd7312f
X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|1800799024|376014|7053199007;
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?2ZMw3ii39VTNkSGTXs3sSel+Qums+SII0Th57ehA5kG5KuZeoYKazvstQnAZ?=
=?us-ascii?Q?hE4PquOhtlLDqfLx03p/bMHFQeOMj54a88iyspxKmWVq5M6fOencQgN11+tX?=
=?us-ascii?Q?knk9PXV+rB9nHtGkus+IzDdKb4vfVu2DOPRQ8Zcyjr+Lrwxz7V558SyPTmzT?=
=?us-ascii?Q?WtM113rDtTZL/FKsxx/WoLsiXaFsHBMZ+Gd1ppKbup2QkQLLgqwiGNNms4I9?=
=?us-ascii?Q?hwBuO3za3FV9qCBLfa/8RrZ2Vqi9B/4XuoEpc+cszVEUS6ufJdcQndepKe7g?=
=?us-ascii?Q?pOhWhR9/ElcnbTSpXYWO8qp+G4cKVRLbORs6MZbvn5wUW4GVMhDqM0RlzezA?=
=?us-ascii?Q?//bcLel0PM2dDSwfWy172J6KUNyTxe2bAXFEZfRoUWKvluEUjqz/R2KJlAod?=
=?us-ascii?Q?c74Sfw/ss5Kohw6eZM6OazHtQLSmx2M3HiEcwAT5tyC58doU1XoTFIeiCFQc?=
=?us-ascii?Q?dvNmfNkSb7IWSTgv+B6uo2LwYqCyYEdGM9RrCxT9q8sS25HfzUuUZ6b81LSm?=
=?us-ascii?Q?GXSQoXl1ddCLbe4tIqFpRttHT2rut05r3+KAU6RrglIhtiKZ5nUdfZ5mjREW?=
=?us-ascii?Q?zJpAkfxcRmMGid27wgEcXOCS/2r459f2WOAoWnn3FcwObjrhpWOl6EvK64bC?=
=?us-ascii?Q?EwNX3F3fTbsxdBUjoCzCGgJHnIGHzfl3TNnQ2q6Yd92JkE5C8cz9CvTKtFxZ?=
=?us-ascii?Q?SBR6pFO5yy9yTLBenEWMQGzdxRbl4kkA9TFC6bHRjplIelrpR41XKJkJAt3G?=
=?us-ascii?Q?cVKFlZw/zNtVirWL13GuYCJD9IWkRJTJC4VMCrkcXeFkr3mkm2Z2qNzce4Ip?=
=?us-ascii?Q?56+hv1qRmXhZm6erjnDHQHBBuB5yW69kvAZKJThGZaaBTtHVGjjhqxDI09br?=
=?us-ascii?Q?EKo7YwAH2p7uAThq7Qe1g8Appns7YytewxSSq/AEHEcq+cZLHW2Qc0U5Mk+p?=
=?us-ascii?Q?pO8YFRJxvv2dZBGa4fE35hk/QrOzSlRu3Sj954atLYhEWil0rcJEw7s+Zwrz?=
=?us-ascii?Q?TgbS4q/lkPy70bjxo0Sh2AODDhoID5RKN2FPF4H3EPFsNYxM1aW1Iv73CjF5?=
=?us-ascii?Q?sqU4/UhyOiiqPYBSWIry1Qe+n6czhb2tUZfvRs8tje+fH/0ZbYU6FYyyaTsm?=
=?us-ascii?Q?U+mZxpW+hNNe99mLuJEKJNs23iCaU5PQBjLwmt92BiEohHLB1S5u816SBBPs?=
=?us-ascii?Q?kce5Cx5k4BypV1r0+zOr7tht0d9uqOc1+MOzAUNtv8gMnpDyUB7ikv5nXuJJ?=
=?us-ascii?Q?vZKm3+b6cV3jb4ZnUOBdsYUSrcx8F+QqIEbTwFeOmIdyUlefjDol/wwjPTdp?=
=?us-ascii?Q?El398ycOSkqXgW72CFGDPhP6kdMmdzXrwfSnB5H6rV71d0fbqtUOmAne7Byk?=
=?us-ascii?Q?DE1bXXoK0YQSlwy5avkABL3Xg9Zpi0GzS+1uvYboa9pfdOYyc3oScoa+32Jf?=
=?us-ascii?Q?O4cpSJlfST4=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB5966.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(1800799024)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wMxOB19zsH9AAl2ev6Mg7pdDeY9RbsFBveq742egFeC50R8OhVHu3itmKonm?=
=?us-ascii?Q?ZuwGEJYo+SXu1AHBBOWBiCXkuJe36tisaqNrDSO3w5ZThwdMoC/8dsC/FQRx?=
=?us-ascii?Q?YHCJ9A/GlSqk1NtG1SRBTPHe3erAt6HM8k+fDt3L+o5yrpHSgGa+HoyAUc44?=
=?us-ascii?Q?f1cMkEoNu3JJELJmQC7/o6xrkgtvEBSPp+RVwssnMZeG2Ho/YOVcD/s9isd8?=
=?us-ascii?Q?rqlzCL6mzADKcU2CUCkHK0DF5jg5uixKxPuA2k8hkmNWeBOV45sD4xT+kTUT?=
=?us-ascii?Q?jnAxmImgsXT8HJ80CcH/rgFZzCls90xnCTV6sdJprJBgmi0bchgo2+8N6JLR?=
=?us-ascii?Q?nhJRFTu6f5MrhhZ37rg6Kl86bRlWfwTukHqAZJoXH1fzLbD1h7+rPQqxpOEr?=
=?us-ascii?Q?3dMi3Lma5nbXfqsNrjSjNyMdJazcKo7ai8WusMOrZaqALxwplZNCxjjBJCSd?=
=?us-ascii?Q?lKAJorJjJUkyS5bFGgEHigznPZjHDF80ESZG652XlzQSiBwxAUGVaoCLLJDz?=
=?us-ascii?Q?FjDYD5PF/IO842Y2nzhTT63cJUWdRU5B/JmgkzYDKTQlbAWTgmhwRdr/xHVd?=
=?us-ascii?Q?7/TXyFBvddHLXi6xd1Z5OvnVhGa4B0MwAsAOn1i/Jrqa7/KO3y49pYn3Uyab?=
=?us-ascii?Q?O7/zE58M8tZwwXmdSrGt1+dQwwBgKAXxq8Qm71rCZFnovY1ltSOlQuVdIEDw?=
=?us-ascii?Q?thbTc+VUNjZsM61PC92ZcRv4Kfri5ttilvEdbO4HU5LN0FuKP3k93YM5mx3W?=
=?us-ascii?Q?7iEkp2KoMoTkzdiGwnFS6CnQ78gBrVUnbhC/LvGDx19/TZsoY4z5X08IqwjG?=
=?us-ascii?Q?cTgfto/cNxHN7AIgCapynn8wQysyGja94Ry7fSlSU2xR5GfNIJlHUOtf9Yak?=
=?us-ascii?Q?c0/BnFr1fdF+FuZFtScFFW368qdw8uaEJhN32Fwi/3NeKNY7emx/LiyoQ4Nn?=
=?us-ascii?Q?+XbTPzm3x5601fJbmcaGHh5ZREARwT3dtB47IDRncG/tVvNgB+PYKod1edy0?=
=?us-ascii?Q?O+rkl3xMJTPh6gRWbBgt8GIE9bmNfel/S5gJ8jV8aU21ML5Aky9l7oXhNVcX?=
=?us-ascii?Q?O1il04yYXZTHMGxG35t1aSSzjqi43ZKiW8PvVoqUE/70snbCEQN1RLFaHSJ1?=
=?us-ascii?Q?ZrHRt5aslFiGPRB1qw2OfyBHj9Tjf8bL4vOMEI7xh07Tm9q2ysPPiSkCE7S0?=
=?us-ascii?Q?W0lCMBlX3uxVQj89ZNZUAmgfQ3Osro3F/S7A3l3dEn5uRG/UG3MQJWEZPONs?=
=?us-ascii?Q?xQG+baVYhOkzGZka+WGwMhFaZ11pnm2+ijXSAfwWsfrL94+0ewT7AxQ7N2+Q?=
=?us-ascii?Q?SDBUqEVgn7s1jRJP9D9YsuNGXxoHwLT/c9e0aJ4fyQmv4abzeNqprc+hFPcT?=
=?us-ascii?Q?z0PPXYKCKMkjMHNLpl9Kxfl7Lhf8WWQO8K24oXTc1bSfwm6Aziabh7vX2USC?=
=?us-ascii?Q?fbXZHMBc5dpnCVW9QK33BcNXKnlRoNo93JNtN7h1yEFbnKkmi0hRxXdiQTJc?=
=?us-ascii?Q?hEpCVHVoFUw6i0zFYdMgASHw1pP+wLTTyzOsnfJSBLzLbhWna2k036vdRypU?=
=?us-ascii?Q?KzU1NHNocTBTclJ+kUu6RsbOuWjxCNXm9pcx5fb1?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 207562ac-6671-4df0-f705-08dd9dd7312f
X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB5966.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 11:02:52.7711
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IAO8Bda1XHgMPuulh5JFrdZHRHWvWKsy8K49DJ62da8wSvUXpnzkcvqMVmnptqe+2MSae2tCT9fdKT9pun2b7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR11MB8003
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 14, 2025 at 04:42:18PM -0700, Ackerley Tng wrote:
> Merge and truncate on fallocate(PUNCH_HOLE), but if the file is being
> closed, defer merging to folio_put() callback.
>
> Change-Id: Iae26987756e70c83f3b121edbc0ed0bc105eec0d
> Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
> ---
> virt/kvm/guest_memfd.c | 76 +++++++++++++++++++++++++++++++++++++-----
> 1 file changed, 68 insertions(+), 8 deletions(-)
>
> diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c
> index cb426c1dfef8..04b1513c2998 100644
> --- a/virt/kvm/guest_memfd.c
> +++ b/virt/kvm/guest_memfd.c
> @@ -859,6 +859,35 @@ static int kvm_gmem_restructure_folios_in_range(struct inode *inode,
> return ret;
> }
>
> +static long kvm_gmem_merge_truncate_indices(struct inode *inode, pgoff_t index,
> + size_t nr_pages)
> +{
> + struct folio *f;
> + pgoff_t unused;
> + long num_freed;
> +
> + unmap_mapping_pages(inode->i_mapping, index, nr_pages, false);
> +
> + if (!kvm_gmem_has_safe_refcount(inode->i_mapping, index, nr_pages, &unused))
Why is kvm_gmem_has_safe_refcount() checked here, but not in
kvm_gmem_zero_range() within kvm_gmem_truncate_inode_range() in patch 33?
> + return -EAGAIN;
> +
Rather than merging the folios, could we simply call kvm_gmem_truncate_indices()
instead?
num_freed = kvm_gmem_truncate_indices(inode->i_mapping, index, nr_pages);
return num_freed;
> + f = filemap_get_folio(inode->i_mapping, index);
> + if (IS_ERR(f))
> + return 0;
> +
> + /* Leave just filemap's refcounts on the folio. */
> + folio_put(f);
> +
> + WARN_ON(kvm_gmem_merge_folio_in_filemap(inode, f));
> +
> + num_freed = folio_nr_pages(f);
> + folio_lock(f);
> + truncate_inode_folio(inode->i_mapping, f);
> + folio_unlock(f);
> +
> + return num_freed;
> +}
> +
> #else
>
> static inline int kvm_gmem_try_split_folio_in_filemap(struct inode *inode,
> @@ -874,6 +903,12 @@ static int kvm_gmem_restructure_folios_in_range(struct inode *inode,
> return 0;
> }
>
> +static long kvm_gmem_merge_truncate_indices(struct inode *inode, pgoff_t index,
> + size_t nr_pages)
> +{
> + return 0;
> +}
> +
> #endif
>
> #else
> @@ -1182,8 +1217,10 @@ static long kvm_gmem_truncate_indices(struct address_space *mapping,
> *
> * Removes folios beginning @index for @nr_pages from filemap in @inode, updates
> * inode metadata.
> + *
> + * Return: 0 on success and negative error otherwise.
> */
> -static void kvm_gmem_truncate_inode_aligned_pages(struct inode *inode,
> +static long kvm_gmem_truncate_inode_aligned_pages(struct inode *inode,
> pgoff_t index,
> size_t nr_pages)
> {
> @@ -1191,19 +1228,34 @@ static void kvm_gmem_truncate_inode_aligned_pages(struct inode *inode,
> long num_freed;
> pgoff_t idx;
> void *priv;
> + long ret;
>
> priv = kvm_gmem_allocator_private(inode);
> nr_per_huge_page = kvm_gmem_allocator_ops(inode)->nr_pages_in_folio(priv);
>
> + ret = 0;
> num_freed = 0;
> for (idx = index; idx < index + nr_pages; idx += nr_per_huge_page) {
> - num_freed += kvm_gmem_truncate_indices(
> - inode->i_mapping, idx, nr_per_huge_page);
> + if (mapping_exiting(inode->i_mapping) ||
> + !kvm_gmem_has_some_shared(inode, idx, nr_per_huge_page)) {
> + num_freed += kvm_gmem_truncate_indices(
> + inode->i_mapping, idx, nr_per_huge_page);
> + } else {
> + ret = kvm_gmem_merge_truncate_indices(inode, idx,
> + nr_per_huge_page);
> + if (ret < 0)
> + break;
> +
> + num_freed += ret;
> + ret = 0;
> + }
> }
>
> spin_lock(&inode->i_lock);
> inode->i_blocks -= (num_freed << PAGE_SHIFT) / 512;
> spin_unlock(&inode->i_lock);
> +
> + return ret;
> }
>
> /**
> @@ -1252,8 +1304,10 @@ static void kvm_gmem_zero_range(struct address_space *mapping,
> *
> * Removes full (huge)pages from the filemap and zeroing incomplete
> * (huge)pages. The pages in the range may be split.
> + *
> + * Return: 0 on success and negative error otherwise.
> */
> -static void kvm_gmem_truncate_inode_range(struct inode *inode, loff_t lstart,
> +static long kvm_gmem_truncate_inode_range(struct inode *inode, loff_t lstart,
> loff_t lend)
> {
> pgoff_t full_hpage_start;
> @@ -1263,6 +1317,7 @@ static void kvm_gmem_truncate_inode_range(struct inode *inode, loff_t lstart,
> pgoff_t start;
> pgoff_t end;
> void *priv;
> + long ret;
>
> priv = kvm_gmem_allocator_private(inode);
> nr_per_huge_page = kvm_gmem_allocator_ops(inode)->nr_pages_in_folio(priv);
> @@ -1279,10 +1334,11 @@ static void kvm_gmem_truncate_inode_range(struct inode *inode, loff_t lstart,
> kvm_gmem_zero_range(inode->i_mapping, start, zero_end);
> }
>
> + ret = 0;
> if (full_hpage_end > full_hpage_start) {
> nr_pages = full_hpage_end - full_hpage_start;
> - kvm_gmem_truncate_inode_aligned_pages(inode, full_hpage_start,
> - nr_pages);
> + ret = kvm_gmem_truncate_inode_aligned_pages(
> + inode, full_hpage_start, nr_pages);
> }
>
> if (end > full_hpage_end && end > full_hpage_start) {
> @@ -1290,6 +1346,8 @@ static void kvm_gmem_truncate_inode_range(struct inode *inode, loff_t lstart,
>
> kvm_gmem_zero_range(inode->i_mapping, zero_start, end);
> }
> +
> + return ret;
> }
>
> static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
> @@ -1298,6 +1356,7 @@ static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
> pgoff_t start = offset >> PAGE_SHIFT;
> pgoff_t end = (offset + len) >> PAGE_SHIFT;
> struct kvm_gmem *gmem;
> + long ret;
>
> /*
> * Bindings must be stable across invalidation to ensure the start+end
> @@ -1308,8 +1367,9 @@ static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
> list_for_each_entry(gmem, gmem_list, entry)
> kvm_gmem_invalidate_begin_and_zap(gmem, start, end);
>
> + ret = 0;
> if (kvm_gmem_has_custom_allocator(inode)) {
> - kvm_gmem_truncate_inode_range(inode, offset, offset + len);
> + ret = kvm_gmem_truncate_inode_range(inode, offset, offset + len);
> } else {
> /* Page size is PAGE_SIZE, so use optimized truncation function. */
> truncate_inode_pages_range(inode->i_mapping, offset, offset + len - 1);
> @@ -1320,7 +1380,7 @@ static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
>
> filemap_invalidate_unlock(inode->i_mapping);
>
> - return 0;
> + return ret;
> }
>
> static long kvm_gmem_allocate(struct inode *inode, loff_t offset, loff_t len)
> --
> 2.49.0.1045.g170613ef41-goog
>
Return-Path: <linux-kernel+bounces-665348-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7985A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:04:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id BF40A3B980D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 948F2279908;
Wed, 28 May 2025 11:04:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="VEUp9MPV"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E763221858A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:03:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430240; cv=none; b=CjcfYHCXCFLd5chNgWvlCYjT7agxR+TA36CCle7zG6sBxF7efh/1MOAcOYDf8UpmJI9RJt3kxEf4VZsvxre8je2Cqv+4goYYRbqQaYFuIjHdcococQjHLE1JtLhk0oL5du5SPDjhx1L+bsBCvxPbOkRk1C0IUl+lCLByBZdDLYU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430240; c=relaxed/simple;
bh=6rr2H6AzTQTO5djKkQwYMGvfwMBV90Oi086vuBp87VQ=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=H2jPWGGdi55P7EDzPKACEAqlFByGY4YqhjiSkxZuecr1tt8I9kUsLap7agmTjzgGpttTyAiP1bA8QvPW2MeNnc1GtWe5cjPst7ZHHdPemFxIFDPvCeLI8GDOyGuE0OH1j/7Ja/vWTlgFGmQEm6Z8fXETvJeD8OvQU0NQnL1xipk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=VEUp9MPV; arc=none smtp.client-ip=170.10.133.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748430237;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=XUmqPZP/ey41I54C3VrrZw/viH8NhQ/UPLK7npoUAdQ=;
b=VEUp9MPVvOODjr0cJF6DVAgnhO0ceoEOFMUmilmlJTd2v2Ij8z1DPdOiIpxscnDrUOH+Vu
p7j1R9WFgsHniJ8A1d6QxsyqPwVJ9ih/6+8tDZp/R4RZJmZk4qxpTBbS+4yOwcgjXEHAQb
vkLm+TES2gT3gE5jTZChOt90qfCluyw=
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
[209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-504-vOP-X5ZrNNidIwGcKPI3yw-1; Wed, 28 May 2025 07:03:56 -0400
X-MC-Unique: vOP-X5ZrNNidIwGcKPI3yw-1
X-Mimecast-MFC-AGG-ID: vOP-X5ZrNNidIwGcKPI3yw_1748430235
Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-43cec217977so25485405e9.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:03:56 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430235; x=1749035035;
h=content-transfer-encoding:in-reply-to:organization:autocrypt
:content-language:from:references:cc:to:subject:user-agent
:mime-version:date:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=XUmqPZP/ey41I54C3VrrZw/viH8NhQ/UPLK7npoUAdQ=;
b=BmKWYcsrspZQvKRLpb7OTHjRtVKNpzgV8iGBuIhhXTqsSvr9cNl1syiuwo6FIWWT+T
S4VRqi/7CDSvEw8FRt9WmvQT1kWx09Z6lQsuy7OogwLbVwtO6Hxj8PWDMlVOzWn9uU3f
D7h7atXmIL45mFTZlj8FGPZTf/8ZZ3CYFLtVOJNE1FPVZv5QhpYsIvh+Vyh01/qAsocc
LMlSISRu0vJ6ELs0DG9i3io3AN4G1oJ27nXpi/1jMyhVPt+6RmuWy0mhIXYgcVrlZQx3
/pX1+9D/vdGq6ky/gvS/04IRyHRHIn9JBjopTHqyiqMEyTVsupNqq0dFxhNGlLmxUOSY
lbrg==
X-Forwarded-Encrypted: i=1; AJvYcCU2iYmeD/lTnRdovXBmiWQEvUcGSPBXZRsPzJ3tj2OkTLx2zOkcSnmTt18BqkriqKHhXcrw238tORrVVV0=@vger.kernel.org
X-Gm-Message-State: AOJu0Yz773EGgL1zhynLuUMMv1O+H3duA20tQ8dvZTbr5l2lAj/OunfX
5ZYrbl88ukcPrh7jgTkO3l9nkKKEFTYPaFsPBer/HuxTsRA5s8Roc9oLicZxQX/73ILQnhKT1VO
UOhcROvRtZdwjeW9SCzXflbfK0PTItDT43F8A5MvLDyrOqaRpujv06KbDuAvXNGbHew==
X-Gm-Gg: ASbGnctPbbkkZWvqza4JidzlB31AOesPYatQa/rI1MQ1PmycO0GZGg3heKwPoapZuDe
OyMZJQG/w677WKVZsCgm4ileDC5sIB0X0hEfDhLzvQSRrBwRHinWDkDaQ8FZ1l0pS1Jwi5kkkOd
mpCiK8gNroNi14Y59qp+rz5JQTzxXIl3SM1Yxwch0LKtxUGmdBfFLKBG+ezkxaqQjxwOq2gEgly
jXpL8DoK5hvrdeMuOKM9lGBJqH/xAUM9ILNmbGHBd4kzAzTeD4qa9RZApPVI07WFhytWv1O1oDG
TE1Ks0//KJLC4/Jb3zEJc6R2CcuCJgAw0TKeQXhu6ZgTMtvMLVUxdpgrPcfddoPtPTyMW0U/zLw
1TrEOimfji7SCZuKn+1Tw5SgtkHo6AQilECPVPeY=
X-Received: by 2002:a05:600c:8283:b0:43d:45a:8fca with SMTP id 5b1f17b1804b1-44c94c2a4c6mr152075795e9.30.1748430235207;
Wed, 28 May 2025 04:03:55 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEvB4aiJDW65BI5a6zIT3DqbPJQlHU1DBllsmOfsWcS0yLV/1OUCDbL+TV1jsIMb/aPOJARjA==
X-Received: by 2002:a05:600c:8283:b0:43d:45a:8fca with SMTP id 5b1f17b1804b1-44c94c2a4c6mr152075445e9.30.1748430234770;
Wed, 28 May 2025 04:03:54 -0700 (PDT)
Received: from ?IPV6:2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36? (p200300d82f30ec008f7e58a4ebf06a36.dip0.t-ipconnect.de. [2003:d8:2f30:ec00:8f7e:58a4:ebf0:6a36])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-44ffc0eb7afsm18341125e9.0.2025.05.28.04.03.53
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 04:03:54 -0700 (PDT)
Message-ID: <1916ff1c-93e7-442a-b1be-e0e35190a6ba@xxxxxxxxxx>
Date: Wed, 28 May 2025 13:03:53 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] selftests/mm: add simple VM_PFNMAP tests based on
mmap'ing /dev/mem
To: Ryan Roberts <ryan.roberts@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-mm@xxxxxxxxx, linux-kselftest@xxxxxxxxxxxxxxx,
Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Shuah Khan <shuah@xxxxxxxxxx>,
Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>, Ingo Molnar
<mingo@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>, Dev Jain
<dev.jain@xxxxxxx>, Aishwarya TCV <Aishwarya.TCV@xxxxxxx>
References: <20250509153033.952746-1-david@xxxxxxxxxx>
<232960c2-81db-47ca-a337-38c4bce5f997@xxxxxxx>
<7cb7f23a-ce9e-4664-8083-deb73ed23da3@xxxxxxxxxx>
<3c15a093-7c19-4c2a-a571-56a5ed4b445f@xxxxxxxxxx>
<ee8db861-3632-48a1-977d-b05670d9637a@xxxxxxx>
From: David Hildenbrand <david@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=david@xxxxxxxxxx; keydata=
xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
WNyWQQ==
Organization: Red Hat
In-Reply-To: <ee8db861-3632-48a1-977d-b05670d9637a@xxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28.05.25 12:53, Ryan Roberts wrote:
> On 28/05/2025 11:48, David Hildenbrand wrote:
>> On 28.05.25 12:44, David Hildenbrand wrote:
>>> On 28.05.25 12:34, Ryan Roberts wrote:
>>>> Hi David,
>>>>
>>>>
>>>> On 09/05/2025 16:30, David Hildenbrand wrote:
>>>>> Let's test some basic functionality using /dev/mem. These tests will
>>>>> implicitly cover some PAT (Page Attribute Handling) handling on x86.
>>>>>
>>>>> These tests will only run when /dev/mem access to the first two pages
>>>>> in physical address space is possible and allowed; otherwise, the tests
>>>>> are skipped.
>>>>
>>>> We are seeing really horrible RAS errors with this test when run on arm64 tx2
>>>> machine. Based solely on reviewing the code, I think the problem is that tx2
>>>> doesn't have anything at phys address 0, so test_read_access() is trying to put
>>>> trasactions out to a bad address on the bus.
>>>>
>>>> tx2 /proc/iomem:
>>>>
>>>> $ sudo cat /proc/iomem
>>>> 30000000-37ffffff : PCI ECAM
>>>> 38000000-3fffffff : PCI ECAM
>>>> 40000000-5fffffff : PCI Bus 0000:00
>>>> ...
>>>>
>>>> Whereas my x86 box has some reserved memory:
>>>>
>>>> $ sudo cat /proc/iomem
>>>> 00000000-00000fff : Reserved
>>>> 00001000-0003dfff : System RAM
>>>> ...
>>>>
>>>
>>> A quick fix would be to make this test specific to x86 (the only one I
>>> tested on). We should always have the lower two pages IIRC (BIOS stuff etc).
>
> I'm not sure how far along this patch is? I'm guessing mm-stable? Perhaps you
> can do the quick fix, then I'd be happy to make this more robust for arm64 later?
Already hacking on the parsing :)
--
Cheers,
David / dhildenb
Return-Path: <linux-kernel+bounces-665349-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 21AC841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:04:43 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 7E8681BC71B0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:04:47 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6267427C152;
Wed, 28 May 2025 11:04:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="EgA0yIdl"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C327C279789
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:04:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430260; cv=none; b=GgDMUseEnxBNXnSUejhviad4kMfBMErnBM5bg+Pjdc10c9Zt0OfjDJi6kxL1beRKcj6m2mAmYuqgx1d8Oq2Dv8qxXnbg/zpj8wP/3NWcXB7Az4xYg2vG5P0qGHdhrHkayP4zbEOwfLxwmKISCsVnM9HwpMUk2CxG6C+iljFr71w=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430260; c=relaxed/simple;
bh=riQtv7nBcYcJJkZrsW58H8At7TEIUV7pDVxb2GsgEmA=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=Tc+O7NlevpLkhOIsrSeHauvdh3k3lJRgdu85nPDA1d5DrK1zovHrFQc8z2/i4GIJTadSbxDQ0x3gXuWij+5Y4X/orAwIsaTxil7oR/AmdOBidK0PXFnT27cWo/glg/u6ZrUl9SKnVCAhbdw+sN3iluAovBxQdKh+JdSlZ1NNPoE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=EgA0yIdl; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279867.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54SA6iUh012585
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:04:17 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=WBsyeat3wl3WwBotOVfTmQNG
LpvBr+fBrkq380ZI68c=; b=EgA0yIdl8RcX2Cj4+Lq4jHOnMqJ3ywL5nriTjlYQ
Q+pA5n+d5CnLWOcXy2v0PGBCcRvB50AKkOBtq3dnO7DSX0Se8DRdUzax8ymWZ70o
4f67tPxxKNVXVj7nyimPPcRM3P1nXo/PrlKcARAR99o3+ZJz26euxy/H3AKTelKC
qqc6swMlt2VYZSXl1zQawK+B038ThJ0WhWbXKcx4FpFxog3lX5lNBTutyEYC1gpv
vn0FNUNtGrflXeUxvQDfcTWblN15/BCgZZpxdD6buISDApufZCIusSHq1OD4FYZi
k4E4LPeJylSKYVjlI3R2b3BpvqfKek+Rvf4MZ58NoHWwTQ==
Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46w691cfvg-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:04:16 +0000 (GMT)
Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7c760637fe5so676370885a.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:04:16 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430255; x=1749035055;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=WBsyeat3wl3WwBotOVfTmQNGLpvBr+fBrkq380ZI68c=;
b=SEu465oGbHf/tGpGkU61pwHmIL7WosWHlvcf9pHB8/lRCgRcOWYf0u6BmH9cF055JO
uNzGrlfOYi3+JklE4pYynEbmR/3JpKfqOZn2xiLbT5b2Ba9fbaVrsqVrfsyUnXVnNXq+
0v1rRUxu0f9FOa3ilRURDCEEuULkgZSm0qYDRZ+enkIb4plu+IgxZAwxu8JnyG9k2haV
Eja0FKkL2gEFyOTT+jFB0s42D0xqwRvtSLoMG/zskA821+0NBxVOuoTIRLS1r+uaCBKp
L9e98cAVExc2jKCTrs0hn9DdPArUvXdY4bffh/RChvOWFcyBT6xKxmNIwvqCqhhC4cgI
mLjA==
X-Forwarded-Encrypted: i=1; AJvYcCUC2nFC0CdneQAmLKf9P+2WOQvRcap6Eb29GMnL3k6lJG5azCAO3A2SHaLgfIynV7LbQVod9owLrB66MDE=@vger.kernel.org
X-Gm-Message-State: AOJu0YzJHecym0ToMBQ3G3FKDhIJaeC9+GsWb60gTePW1FtwF6lH17Me
r0aPTD1Rjn0pIXleZWBLrHCqr784CvaVV9muM44L/kPlRLbjkwu89/6EHM5CBIx66nqXerVgufk
TVEH6ITRWriHP3jYM0+8Rgh3wbP4O40yZ0+cwQZxR0SnET8kauOLUXMfcKQ0S0+2PVSk=
X-Gm-Gg: ASbGncucEAschZuHpyUxlV4srmIglr6ffuuZqDgIOQWY5kWcS/BUCC9xFlryieXlS/r
qzrmPKQ4Yi0jSjNJFubgwB0b7PlgrWW73pEm002UNv2L18p2n+QoLtWZdVO8ZemZeJZOkTQtjZC
74/kSJ0MsIFO8VDQIrtQrGCnqCOp/D7afYh5rYpQVTtCJIfeuHOeOC7B3rgSZp0FT5bd+yiZHPT
bV+nK9c6VLykw6AwkoJ+6+wqvEz2t5dVHSZff1hi/sHCNC8+bb5Rwcfv2MdieKpr0gGjls7Q89J
Zl04b3r47VA+oPU/crgtRIFaxsLfXrw/q9FpqUmVkCDqN7K8g1hCPnHx3aLKeFzlBE4dU04kKfg
=
X-Received: by 2002:a05:620a:28c2:b0:7c5:5d4b:e62f with SMTP id af79cd13be357-7ceecc2b4eemr2502096485a.43.1748430255514;
Wed, 28 May 2025 04:04:15 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IG10UZJ7QoYyXLSVHNCzvi96Bk8bbljVwgKTscsPit6mUHckIdBl5B8wYFznELJjPcvrLyuhw==
X-Received: by 2002:a05:620a:28c2:b0:7c5:5d4b:e62f with SMTP id af79cd13be357-7ceecc2b4eemr2502087985a.43.1748430254788;
Wed, 28 May 2025 04:04:14 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5532f629746sm236497e87.56.2025.05.28.04.04.13
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:04:13 -0700 (PDT)
Date: Wed, 28 May 2025 14:04:12 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Renjiang Han <quic_renjiang@xxxxxxxxxxx>
Cc: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>,
Vikash Garodia <quic_vgarodia@xxxxxxxxxxx>,
Dikshita Agarwal <quic_dikshita@xxxxxxxxxxx>,
Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>,
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>, linux-media@xxxxxxxxxxxxxxx,
linux-arm-msm@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v7 2/3] arm64: dts: qcom: qcs615: add venus node to
devicetree
Message-ID: <idc4476ibh4geraklzpas5536jnwvbp6xhjjaajcdcwxicorrf@myh7kyz77rxy>
References: <20250527-add-venus-for-qcs615-v7-0-cca26e2768e3@xxxxxxxxxxx>
<20250527-add-venus-for-qcs615-v7-2-cca26e2768e3@xxxxxxxxxxx>
<429b4c99-b312-4015-8678-0371eac86de4@xxxxxxxxxxxxxxxx>
<6a9e7daf-c0df-42db-b02d-96d9893afcde@xxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <6a9e7daf-c0df-42db-b02d-96d9893afcde@xxxxxxxxxxx>
X-Authority-Analysis: v=2.4 cv=WfoMa1hX c=1 sm=1 tr=0 ts=6836edb0 cx=c_pps
a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=dt9VzEwgFbYA:10 a=COk6AnOGAAAA:8 a=DEnfwTRa2Hw7pMDRkAkA:9 a=CjuIK1q_8ugA:10
a=IoWCM6iH3mJn3m4BftBB:22 a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-GUID: OJyo-RsRBEIVf2vbV0OlyVCwT-bnWl7P
X-Proofpoint-ORIG-GUID: OJyo-RsRBEIVf2vbV0OlyVCwT-bnWl7P
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5NiBTYWx0ZWRfX1022SFEQq+QE
n7Rc2L6it7SsblmkTd+kxuG2mGZ+O76e5eJO1F4vIAZspxQCP3eKIdAyws7M81hfMjeRdX5p3Sr
IAx+f40V05jNCGgt275s5HGcz5bRHqBc8g/qH7Jjpt8jcCcl64oZHKOyefmqO52XlG5hg+PNsjq
28YFEM+fXkChW/Y9ZtPW0msLLFBA2XfFkXaSDQi8CtGc3CH3oIidrHSLvoHIMku7IloJMCHH7RN
Z3pKQu5Bh7TPmAP7F1Ur5Ky4d1xr7EWpPMY+RTqj2Cm+JhP6GHVNwyQ2r0QA6iSWOSxU0q6+oVg
2azzkPCGp+GXxGjkMoSsq3e87MZkO/JwPdYB04JcUFwjwPOtpptlM42CknRz4LL+09v8b8jdy5k
YNroxqzxdu41XE1zBAkrKToFoQQyCCEF0YAQih7HjOniu+hH6b6W366cACPI4mgQ9vEttN9S
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
lowpriorityscore=0 phishscore=0 mlxlogscore=848 priorityscore=1501 mlxscore=0
bulkscore=0 adultscore=0 spamscore=0 suspectscore=0 malwarescore=0
clxscore=1015 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280096
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 05:13:06PM +0800, Renjiang Han wrote:
>
> On 5/27/2025 9:57 PM, Konrad Dybcio wrote:
> > On 5/27/25 5:32 AM, Renjiang Han wrote:
> > > Add the venus node to the devicetree for the qcs615 platform to enable
> > > video functionality. The qcs615 platform currently lacks video
> > > functionality due to the absence of the venus node. Fallback to sc7180 due
> > > to the same video core.
> > >
> > > Signed-off-by: Renjiang Han <quic_renjiang@xxxxxxxxxxx>
> > > ---
> > [...]
> >
> > > + interconnect-names = "video-mem",
> > > + "cpu-cfg";
> > > +
> > > + iommus = <&apps_smmu 0xe40 0x20>;
> > fwiw docs mention 0xe60 0x20 (which result in the exact same resulting sid)
> OK. Will update it with next version.
How would you update this?
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665350-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 621B141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:05:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9EA8E3A7116
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:05:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B46B627A47E;
Wed, 28 May 2025 11:05:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="OIpV+zmT"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81BB92153C6;
Wed, 28 May 2025 11:05:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.13
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430349; cv=none; b=oPHKz+RBSlRXLqOOwU5bcYCrh6qtf0x3J/atWrz/RJE4cezKoAdny9amIBf0h0HsDycwHcSr3vzjKr74sPzE6IevkwTXI65rVi4ZRCVwcNeifjTVlsk31JzExsS/pFMD/0nhuVYDXKWI/LusbR6mVq4r523l9wtSAzBK55ba8ho=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430349; c=relaxed/simple;
bh=ToQEsJtK6Rkp6PB1avzmO5rYbaGHvKv6ChVjnjuWW+Q=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=qKnKQylK+68DHu8JNBndaU8RgYJ18FlfDdV0XsV/xN1Pj8liPsAELR9FPXM0fcx6h1PcuQTYms/TP6PEI/OrrTArXGqeKlneFZKujItGgRvwvkMsPT+lCFkTHxh5puiwdr1w+SASTRp36tZ7OShWnM+YESG7zHkBRiA7vzjjn4A=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=OIpV+zmT; arc=none smtp.client-ip=198.175.65.13
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748430348; x=1779966348;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=ToQEsJtK6Rkp6PB1avzmO5rYbaGHvKv6ChVjnjuWW+Q=;
b=OIpV+zmTe4lulThsr7kX7lVTlDXlDLPGBRKq7c22JZKF2Pmabad2YTKW
s7psPfWLT966i2DiSS7aj5qTwL5+R1cpnJV037tLaC+a/JurlArzhv4Qi
YXWAleKYexICDdeqXDQ8NpRbVvd+vfRGTpbYV90AHJvKfTv8aJZs7gzXA
KO5DeB/ZFSjXrD5UTPjTbWtdyoFFnPgmf8CEPAxvmv+oqSkxFMbhQX9rI
oKhHPRZcp8mogw5+UcAuUYlJXm9nNB82AKooe8vS+2Ii/uJ5y+8zYr5VM
F8WKSVRU/ATI4GLmQZOwYdjdIJqqGzE8SQ3pB9fnWce+DNePcpBuaO4iA
g==;
X-CSE-ConnectionGUID: V7lySNi7SJKhDaLziUL7eg==
X-CSE-MsgGUID: zb8ohYwdQKa9F5Cl9wSB5g==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="61507826"
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="61507826"
Received: from orviesa002.jf.intel.com ([10.64.159.142])
by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:05:47 -0700
X-CSE-ConnectionGUID: 8iPiFFdzQFCUu9mW66glIw==
X-CSE-MsgGUID: tz6rZrWDSXmyTaQ0KyywyQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,320,1739865600";
d="scan'208";a="174206027"
Received: from smile.fi.intel.com ([10.237.72.52])
by orviesa002.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:05:41 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.98.2)
(envelope-from <andriy.shevchenko@xxxxxxxxxxxxxxx>)
id 1uKEbJ-00000001QJz-0DBv;
Wed, 28 May 2025 14:05:37 +0300
Date: Wed, 28 May 2025 14:05:36 +0300
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Anup Patel <apatel@xxxxxxxxxxxxxxxx>
Cc: Michael Turquette <mturquette@xxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Jassi Brar <jassisinghbrar@xxxxxxxxx>,
Thomas Gleixner <tglx@xxxxxxxxxxxxx>,
"Rafael J . Wysocki" <rafael@xxxxxxxxxx>,
Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>,
Linus Walleij <linus.walleij@xxxxxxxxxx>,
Bartosz Golaszewski <brgl@xxxxxxxx>,
Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= <ukleinek@xxxxxxxxxx>,
Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>,
Len Brown <lenb@xxxxxxxxxx>, Sunil V L <sunilvl@xxxxxxxxxxxxxxxx>,
Rahul Pathak <rpathak@xxxxxxxxxxxxxxxx>,
Leyfoon Tan <leyfoon.tan@xxxxxxxxxxxxxxxx>,
Atish Patra <atish.patra@xxxxxxxxx>,
Andrew Jones <ajones@xxxxxxxxxxxxxxxx>,
Samuel Holland <samuel.holland@xxxxxxxxxx>,
Anup Patel <anup@xxxxxxxxxxxxxx>, linux-clk@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v4 17/23] ACPI: RISC-V: Create interrupt controller list
in sorted order
Message-ID: <aDbuABrlO30TIrx1@xxxxxxxxxxxxxxxxxx>
References: <20250525084710.1665648-1-apatel@xxxxxxxxxxxxxxxx>
<20250525084710.1665648-18-apatel@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250525084710.1665648-18-apatel@xxxxxxxxxxxxxxxx>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Sun, May 25, 2025 at 02:17:04PM +0530, Anup Patel wrote:
>
> Currently, the interrupt controller list is created without any order.
> Create the list sorted with the GSI base of the interrupt controllers.
...
> - list_add_tail(&ext_intc_element->list, &ext_intc_list);
> + if (list_empty(&ext_intc_list)) {
> + list_add(&ext_intc_element->list, &ext_intc_list);
> + return 0;
> + }
With the below done the above can be optimized (hopefully).
> + list_for_each_entry(node, &ext_intc_list, list) {
> + if (node->gsi_base < ext_intc_element->gsi_base)
> + break;
> + }
> +
> + __list_add(&ext_intc_element->list, node->list.prev, &node->list);
Is this reimplementation of list_add_tail()? And why list debug is excluded here?
--
With Best Regards,
Andy Shevchenko
Return-Path: <linux-kernel+bounces-665351-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 33CD441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:06:16 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 39E171BC7292
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:06:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 6055D27A929;
Wed, 28 May 2025 11:06:07 +0000 (UTC)
Received: from Chamillionaire.breakpoint.cc (Chamillionaire.breakpoint.cc [91.216.245.30])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 09A3B279333;
Wed, 28 May 2025 11:06:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.216.245.30
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430367; cv=none; b=Qu8jbn9rRYIwnELtubcy4ChFoLhRLG7UNrUG+01SlIX43C4Q5dD0Jk8QT53MW99M+7itkUC+05/s9WrjhrBJrVP1DqukS+k23QJK37pO7a2QuXFjoUwgykwrchK9BDKv5W570AHy7Q3jK3Op+83JLU19PMFbsJGsCcDmdwHiqTQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430367; c=relaxed/simple;
bh=5y80+x3iUCwLAxbapML1K3XJfVTMdgL4C5wV/L1Fa5M=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=UFQ2O2xTdh84zKiJy19obSMm+P8XLOJRuaI/a7tOzJkkXuffUAwbzGZURzmJ10/AFLazoxl2+zwbjHBjpPEs5oSuye54dYxtYr5+JgOr1R+NifshspP50PPhbVmV3FkUzYlm82bPJ3eUx0J/EIqa4DpRUKn5YYHIYSNNOjtpYrg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=strlen.de; spf=pass smtp.mailfrom=strlen.de; arc=none smtp.client-ip=91.216.245.30
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=strlen.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=strlen.de
Received: by Chamillionaire.breakpoint.cc (Postfix, from userid 1003)
id 86FD4603E3; Wed, 28 May 2025 13:06:02 +0200 (CEST)
Date: Wed, 28 May 2025 13:05:24 +0200
From: Florian Westphal <fw@xxxxxxxxx>
To: Lance Yang <ioworker0@xxxxxxxxx>
Cc: pablo@xxxxxxxxxxxxx, coreteam@xxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
edumazet@xxxxxxxxxx, horms@xxxxxxxxxx, kadlec@xxxxxxxxxxxxx,
kuba@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
netfilter-devel@xxxxxxxxxxxxxxx, pabeni@xxxxxxxxxx, zi.li@xxxxxxxxx,
Lance Yang <lance.yang@xxxxxxxxx>
Subject: Re: [PATCH v2 1/1] netfilter: load nf_log_syslog on enabling
nf_conntrack_log_invalid
Message-ID: <aDbt9Iw8G6A-tV9R@xxxxxxxxx>
References: <20250526085902.36467-1-lance.yang@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250526085902.36467-1-lance.yang@xxxxxxxxx>
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Lance Yang <ioworker0@xxxxxxxxx> wrote:
> From: Lance Yang <lance.yang@xxxxxxxxx>
>
> When no logger is registered, nf_conntrack_log_invalid fails to log invalid
> packets, leaving users unaware of actual invalid traffic. Improve this by
> loading nf_log_syslog, similar to how 'iptables -I FORWARD 1 -m conntrack
> --ctstate INVALID -j LOG' triggers it.
Acked-by: Florian Westphal <fw@xxxxxxxxx>
Return-Path: <linux-kernel+bounces-665352-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id CE6AF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:06:28 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id DEB4B7AAAD4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:05:09 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 8912C27CB00;
Wed, 28 May 2025 11:06:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="uqp36ERQ"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C655827C173;
Wed, 28 May 2025 11:06:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430370; cv=none; b=Kn59QJ+Eww85euLQx3CZeqEMvDsF9LGtaHPDem97q5o7Lx9CAvbc+5fh2zutInHKo7tev7It5Hs2DxCiFY3THnwn3EHBgjpbROSUHJuwO0GGCjCIMG7gMqPoSzQlL16foYnOxM/5/3sHjV0dFBHsSyS96JzTgb0vaPHde7d45mg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430370; c=relaxed/simple;
bh=X9earZIvf1fISCF+OOuXREhJPSrWLukU+8Wu9t5xsk4=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=fNm93OjgVcKe6JZg1tteB5PIo9vtTm416oBnjciyGwNUHSTacDBrybdEmtc8T+o7XUN8Zu1OdS8RozcCTOOpXiGtsakE+qKFL1Ge3VMLVH9C8SvrbKLU3mGdxx9uHCtFcmiulSQz0RZpwr59CCc/AUi2E/y4onyHLY86ULnD0AE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uqp36ERQ; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58320C4CEEB;
Wed, 28 May 2025 11:06:08 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748430369;
bh=X9earZIvf1fISCF+OOuXREhJPSrWLukU+8Wu9t5xsk4=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=uqp36ERQhW7HXtrJ/83Wz5ahSMGyhTL4meva5lRwG50WQCxtiZyB3QF/g5QiYWIPh
1y8QvJxATtj+U9I9BuYjAkuYYtJHdPfkbYPzH2OoubncdissCI56G6QqDntzeuMw+f
QrWNQAC11w79VBoRnINH+Dd72SureL5gqZYynkKu2mnEpjH3X4HnH5TmgPiQlKsmUN
6Zr/HTx2CWxDoTgIprDKsLlX1kVjGLQbqj+8bPhKS2RsswuXsj/eqXnsV/sk8B3yjk
+L57iUwLaZoEs8cMiR4wHAJUZvTr4LnHbjBCF1jyjO6fprHZw2rBdl93AzZhrxtSf7
+Bfv1elQVNkqw==
Message-ID: <551f297e-d216-4a20-a5d6-cdd2f08949dd@xxxxxxxxxx>
Date: Wed, 28 May 2025 06:06:06 -0500
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] EDAC/altera: Use correct width with writes to INTTEST
register.
To: Matthew Gerlach <matthew.gerlach@xxxxxxxxxx>, bp@xxxxxxxxx,
tony.luck@xxxxxxxxx, james.morse@xxxxxxx, mchehab@xxxxxxxxxx,
rric@xxxxxxxxxx, tthayer@xxxxxxxxxxxxxxxxxxxxx, linux-edac@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: Niravkumar L Rabara <niravkumar.l.rabara@xxxxxxxxx>, stable@xxxxxxxxxx
References: <20250527145707.25458-1-matthew.gerlach@xxxxxxxxxx>
Content-Language: en-US
From: Dinh Nguyen <dinguyen@xxxxxxxxxx>
In-Reply-To: <20250527145707.25458-1-matthew.gerlach@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/27/25 09:57, Matthew Gerlach wrote:
> From: Niravkumar L Rabara <niravkumar.l.rabara@xxxxxxxxx>
>
> On SoCFPGA platform INTTEST register only supports 16-bit write based on
> the HW design, writing 32-bit to INTTEST register triggers SError to CPU.
> Use 16-bit write for INITTEST register.
>
> Fixes: c7b4be8db8bc ("EDAC, altera: Add Arria10 OCRAM ECC support")
> Cc: stable@xxxxxxxxxx
> Signed-off-by: Niravkumar L Rabara <niravkumar.l.rabara@xxxxxxxxx>
> Signed-off-by: Matthew Gerlach <matthew.gerlach@xxxxxxxxxx>
> ---
> drivers/edac/altera_edac.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
Acked-by: Dinh Nguyen <dinguyen@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665353-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id A88BD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:06:45 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5B0F53A4C00
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:06:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BFAD227B4F5;
Wed, 28 May 2025 11:06:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="T7rEO6YK"
Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AA7E10E3;
Wed, 28 May 2025 11:06:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430392; cv=none; b=Yfy4KzOB02l0hXe9lYbXdkih+IkNp/5get1ybqPZprCwNWJl25zoP3tAtEtSTofF/p1oXWDJNv6th5EPwtkkI5xBJCrQXpQh0v+WWlVIOeO7kGFgjv6jdDSUybbVROQQ+BtKbKHcy3Xp6I1sxtqHRGMtF+6B5ak2+BkKz+lKkqI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430392; c=relaxed/simple;
bh=S86bE+CZYJTIIzSvO1HLsPpFu3Cqqm2vVq94kkR9G3U=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=eMd/HyN61p6k+jEhGnSVMnMT/+K9+utEbxHxvyS0RdwYXYEDJ9+QuLa5tgJVvdvRu3OegahTuLS5mDz46KCVtI4UbUlf0v9scOPO7WqH+lKKAUkNLLXlmlzQnhez86M/qOmOlNJki7b3UArEAAn2I7AqXTbPdzaIPki8kcck/w4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=T7rEO6YK; arc=none smtp.client-ip=209.85.214.176
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-23461842024so28878705ad.0;
Wed, 28 May 2025 04:06:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748430390; x=1749035190; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=/NfLLoYje6TeCIcPGwi+F34orXeuH9dIWtmc6GhXbAI=;
b=T7rEO6YKpJTa+8esH16od9JMtTxC5EqTCQ1aTjNRD+A9qDybd9V8CIbV/NJkzKEiY4
Ateagoi3T2xyY/dU8S+Uk7w+tNZaXVY8rEmGSeFHGnI0U8EzgNxcrScgyL6zzN/4S7jn
M/YOD/iiC00rWcPesT5JP458vVxwsK/ZAWWqmlYOWm1xvdOwNghaYKBVvkMOwRYlEWeU
ArypR8NiJQ0ax6PWpiLkumMYHgd/V/mFLHBoyM3Gy+1nJ4pxq+UfXvxs3UvK6fGQ3dY7
TVZpoAs49565PN6+ETqPhVnM5JTUHq51+PwKm80GKPk9S3UF2OWKkr4gpAI1JX1mvyUO
B2TQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430390; x=1749035190;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=/NfLLoYje6TeCIcPGwi+F34orXeuH9dIWtmc6GhXbAI=;
b=CzT8fyZ5jDf/xhg4xQoCdRikiD4yZrDsa0rNwWljqb2zWGST0GVkbDQ/yT111I8c7R
yk6Ak6lYTFT0I4ttsPdDCF1T7jCq1Bu+bTWVotDdpuzn27djorHMWqoxEbmM8T8VBds4
jIvtzdfqEpdTNxhmYdpbzks9FMXFWCwxVFfkXwNHLwEirdM33uOYcj67oai5AK75pMNr
I5orQ9OPQwGRXgMVkWGd39CtnF5EXZJVK11l6pRNzmcBYrmRguv7ocE+Xj37cEKGGPg2
aP9wpe5pN4PIHpf/c4CaeT/RHA6VNU/pJtfXWuRRMfE0eOrOWwjqYlyQEP9qQk6T5OP5
enQA==
X-Forwarded-Encrypted: i=1; AJvYcCXEmB15if0YSF+bMTmUpNb0OsdJ5XRTdlm1zQDR8NnHsipdTNAwgqXYXFEIEEZBCfrUis7PKolieb/7X+A=@vger.kernel.org
X-Gm-Message-State: AOJu0YxR2wCpk7sDieENSEpxhL7/qeKhLE+8MB1fSqnIpU8jcfAtGAN0
hodQyKU5h2zWDnI1BL6xOk8lW09Y4U2EZ03NDpDMXaYMtU9SSYm1m0SU
X-Gm-Gg: ASbGncv8EfSuSfBYp1dtqSSIIC74VQH59NGNwUjxFsJ7yXdgR5NcDSGvbW5xjxN1HtE
vu+ZD/3dYTWqYk5BS1cbpDoVx+ujfe6q5sLD36gLElp2tr2dCMstTYwpL1abZaKX68RwVSxKP0q
3fKMB1xjjP6ndbadhztSpfH6qnyDO02wjL28Ivp5U0NMavvbMfiFKD2Nvnt7Ka7CVv+0f/EALtC
kOdNDmV2qOhA1+kDCv5tyFJQtp+5/nOEmN6kfJ2pwKL9M8TpSQN8N3y6EYdQPKx2gJ7t8Na4amS
s1OaTbowXRyIvh9CadftVIqp0MNEgCM157hLoGj/OVRMi2AYk5xF0tjVCQlhCiLHOs1uZIJvSjC
Rk76wdeBSg5y6
X-Google-Smtp-Source: AGHT+IGTK80Ujl5mFbyh6fHb0a2u+czeM3dYkdjcOoJJNc8pHcZ4yIsnmweMPJY00Emj4rNdFl0f4w==
X-Received: by 2002:a17:902:c941:b0:234:dd3f:80fd with SMTP id d9443c01a7336-234dd3f82edmr17101225ad.2.1748430389678;
Wed, 28 May 2025 04:06:29 -0700 (PDT)
Received: from ankitchauhan-Legion-5-15ITH6.. ([2405:201:4042:d128:6251:cca6:7161:9079])
by smtp.googlemail.com with ESMTPSA id d9443c01a7336-234d2fe186asm9556375ad.59.2025.05.28.04.06.23
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:06:29 -0700 (PDT)
From: Ankit Chauhan <ankitchauhan2065@xxxxxxxxx>
To: James.Bottomley@xxxxxxxxxxxxxxxxxxxxx,
martin.petersen@xxxxxxxxxx
Cc: linux-scsi@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Ankit Chauhan <ankitchauhan2065@xxxxxxxxx>
Subject: [PATCH] scsi: mvsas: fix typos in per-phy comments and SAS cmd port registers
Date: Wed, 28 May 2025 16:36:04 +0530
Message-Id: <20250528110604.59528-1-ankitchauhan2065@xxxxxxxxx>
X-Mailer: git-send-email 2.34.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Spelling fixes:
Deocder --> Decoder
Memroy --> Memory
This is a non-functional change aimed at improving code clarity.
Signed-off-by: Ankit Chauhan <ankitchauhan2065@xxxxxxxxx>
---
drivers/scsi/mvsas/mv_defs.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/mvsas/mv_defs.h b/drivers/scsi/mvsas/mv_defs.h
index 8ef174cd4d37..3e4124177b2a 100644
--- a/drivers/scsi/mvsas/mv_defs.h
+++ b/drivers/scsi/mvsas/mv_defs.h
@@ -215,7 +215,7 @@ enum hw_register_bits {
/* MVS_Px_INT_STAT, MVS_Px_INT_MASK (per-phy events) */
PHYEV_DEC_ERR = (1U << 24), /* Phy Decoding Error */
- PHYEV_DCDR_ERR = (1U << 23), /* STP Deocder Error */
+ PHYEV_DCDR_ERR = (1U << 23), /* STP Decoder Error */
PHYEV_CRC_ERR = (1U << 22), /* STP CRC Error */
PHYEV_UNASSOC_FIS = (1U << 19), /* unassociated FIS rx'd */
PHYEV_AN = (1U << 18), /* SATA async notification */
@@ -347,7 +347,7 @@ enum sas_cmd_port_registers {
CMD_SATA_PORT_MEM_CTL0 = 0x158, /* SATA Port Memory Control 0 */
CMD_SATA_PORT_MEM_CTL1 = 0x15c, /* SATA Port Memory Control 1 */
CMD_XOR_MEM_BIST_CTL = 0x160, /* XOR Memory BIST Control */
- CMD_XOR_MEM_BIST_STAT = 0x164, /* XOR Memroy BIST Status */
+ CMD_XOR_MEM_BIST_STAT = 0x164, /* XOR Memory BIST Status */
CMD_DMA_MEM_BIST_CTL = 0x168, /* DMA Memory BIST Control */
CMD_DMA_MEM_BIST_STAT = 0x16c, /* DMA Memory BIST Status */
CMD_PORT_MEM_BIST_CTL = 0x170, /* Port Memory BIST Control */
--
2.34.1
Return-Path: <linux-kernel+bounces-665354-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C3B0A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:07:10 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0D1774E46C0
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:07:12 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E435A2797B8;
Wed, 28 May 2025 11:07:04 +0000 (UTC)
Received: from mail-il1-f199.google.com (mail-il1-f199.google.com [209.85.166.199])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0D7052D052
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:07:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.199
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430424; cv=none; b=gvfE0eHIhhQF9pS0dxprfdREN2GJPCBMrDtF3kl3xZNHZrXJ1K5kcPkIcrW0cbzQaPpgIuuxMiCeOucr82oc2FfTikWvrMRN9wUCY0feuvUmZeq/mV56f1lcETXscjKWgs00w5BWsgVjgAgSyrGYLXvkdekxhrl22ceGINf5SJE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430424; c=relaxed/simple;
bh=uRJ+nl+kEC/Zyrz06cA/vmXXAkKhRJi2Lz55+XKRCxE=;
h=MIME-Version:Date:In-Reply-To:Message-ID:Subject:From:To:
Content-Type; b=IATHj3fajjq2cMeo4Gi91ditMmr0rWGNJgkILvaI/dpyy5v2Zr2B++bF2iTSTuiJGhdJ5E2qewhVChwl7d3es4epz67JyW7LtEdV+GtqOlBmbPdObRtgEStj6Vv67xUZ7NFR8D95qc0c83wcAwqDx8lUprm29MZdAksXNQ8VNJI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com; arc=none smtp.client-ip=209.85.166.199
Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=syzkaller.appspotmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=M3KW2WVRGUFZ5GODRSRYTGD7.apphosting.bounces.google.com
Received: by mail-il1-f199.google.com with SMTP id e9e14a558f8ab-3dd770a7424so30734895ab.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:07:02 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430422; x=1749035222;
h=to:from:subject:message-id:in-reply-to:date:mime-version
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=4mgL/x/YHoJUO47bxr6DO4OugZYTC0g3jOaRlGF9olA=;
b=THwBTgNmf11VPXWapP0jySfaST6Uf+LOWjDxqrC+0wDG08ojP5wa4H75xExpYxaoRq
n5OAfYVucyptRkdBEnNpPln+tRSykGVHVi5Ma9UIcg4QsLHdPk4QU53pGhaRnS5ig35S
2zRpAI5v19a8ZNdZmQ6qOQ2UvzjU/4RuFikQ+y40l8+LYFF4N9aRvEWvIQ42ITM9o0hI
7BPzU4yqwlzSz/whntP5JpTP10JNg3jP8LNtJCuS391/K/FyRp9r1xXozCpcTkgzvc/x
fm/dWmzbJKfZg+BAg8m93ObHehEamBcNTaVyRj/3aqRRVlW5RkWHjoN2A6IeRFvHxT/X
zbqQ==
X-Forwarded-Encrypted: i=1; AJvYcCVy7vyfG2CAmOk4XuTzEeIO8aa40a9QjRjJXOk+PgBzB3L4vsV1zxd6O/7+pI0eHEYGH/neNd1liUpLkrk=@vger.kernel.org
X-Gm-Message-State: AOJu0YzASn8KGrESyhIcOn6miYADSRYXl5CC47Q+4S7+RXa9RyJEqdjo
eW48hcIiwdq4fRa2NBW54aTYXzfsE5UG5rs/i8puJgTlxp4fVrHoMX4mK3kuPvZQHJcLkBU91CN
ZplyX6W0iSJU4sHpxgwJl8sgZdPhwzB9Nkhc6XJVdR3YmcoGaFq8sNu6MsdQ=
X-Google-Smtp-Source: AGHT+IGjOaWcXU3B/77xfLZ/lW1IaZa6EkyYLOsx5d7mgo8nQviQfaMv2tGbIuXxzUD+7gkqw7RGPFb3zNups+8chbcZpUQDml8k
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Received: by 2002:a05:6e02:160c:b0:3d9:65b6:d4db with SMTP id
e9e14a558f8ab-3dc9b696c46mr169994285ab.12.1748430422140; Wed, 28 May 2025
04:07:02 -0700 (PDT)
Date: Wed, 28 May 2025 04:07:02 -0700
In-Reply-To: <20250528105149.2400-1-hdanton@xxxxxxxx>
X-Google-Appengine-App-Id: s~syzkaller
X-Google-Appengine-App-Id-Alias: syzkaller
Message-ID: <6836ee56.a70a0220.253bc2.00c9.GAE@xxxxxxxxxx>
Subject: Re: [syzbot] [block?] possible deadlock in __del_gendisk
From: syzbot <syzbot+2e9e529ac0b319316453@xxxxxxxxxxxxxxxxxxxxxxxxx>
To: hdanton@xxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
syzkaller-bugs@xxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.0 required=5.0 tests=FROM_LOCAL_HEX,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello,
syzbot tried to test the proposed patch but the build/boot failed:
drivers/block/nbd.c:1707:4: error: use of undeclared identifier 'retuen'
drivers/block/nbd.c:1712:4: error: use of undeclared identifier 'retuen'; did you mean 'return'?
drivers/block/nbd.c:1719:3: error: use of undeclared identifier 'retuen'
Tested on:
commit: feacb177 Merge tag 'sched_ext-for-6.16' of git://git.k..
git tree: upstream
kernel config: https://syzkaller.appspot.com/x/.config?x=fd18a1001092f95b
dashboard link: https://syzkaller.appspot.com/bug?extid=2e9e529ac0b319316453
compiler: Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6
patch: https://syzkaller.appspot.com/x/patch.diff?x=11e70bf4580000
Return-Path: <linux-kernel+bounces-665355-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E772141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:08:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 2ABAD1BA5206
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:08:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 28B3227B4F5;
Wed, 28 May 2025 11:07:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="b6qL6lSp"
Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D5AB818DB03;
Wed, 28 May 2025 11:07:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.177
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430471; cv=none; b=jF/fXKQlaKb4utv8vVjVrilDqnAXffO4HZbxblot5AjwWBXk1ZveeT95b5Vm7roVbQT4+BfOoEqIILxfnWzdMwidVO8ubpk4YecFRfXTEyi4cBMcV6fCvLjVpKYjwkVCReMjYDUm3XpAt2PnTuGa0psnsOQjfcIhBLLjbpJUO/Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430471; c=relaxed/simple;
bh=jF/5ubFo89BoEZAJxrybV/UPR1THG6liaCfHYoxNyQY=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=sCD3b7z02W1LLpe+huiluNBb2LlcvrSmn+7l1nJeAwW0ptNrRdYFd2I4wOgDIPZuZ5m/mkMOqCYgVUjk2IkcPirUIcPj2Inl7WYnFeonxEobA53jRtCBWEo7cOhLlhSxMZymiZqluusC9+APmLyQQhiZG4O+biMpUEU05qiDPH0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=b6qL6lSp; arc=none smtp.client-ip=209.85.208.177
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-30f30200b51so45438671fa.3;
Wed, 28 May 2025 04:07:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748430468; x=1749035268; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=jF/5ubFo89BoEZAJxrybV/UPR1THG6liaCfHYoxNyQY=;
b=b6qL6lSp+TO++Yk9IN5BKjSS4hGsMaa0Cm5Hfs2vPno8sKnkhYvB/TA+MQChRulII7
I5kPPk01XKd9gqODSidUtUHgcsdbth8HYW8qM//6oVDrIUPx5ddGFs709K+T1tdi0G5i
3v8j/s3hC5WFScpDcR2h8aHwxSxsIKmBKME75UHkdQHv1g1In7aU8CuW0rzJCSYo0Ubv
5ARDr+gDG1yaNPsiLNn2tWP3kscl2Ho5/rHIdViWqlWh9O0ANX85b/wMzPVBLtZuDWNq
QbRX3p7QBGAqOVghobhEEGmb7A9ievWEdPnCP+vhIWvzLYIWzSNMeTKVvcbTpAKahdzE
vA5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430468; x=1749035268;
h=content-transfer-encoding:cc:to: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=jF/5ubFo89BoEZAJxrybV/UPR1THG6liaCfHYoxNyQY=;
b=rO02wN9tgThCCmV2QSrwRNoaezEGnAy2+1G70SSW6FEy4hCgn9PLiF+Nwsyl493sSU
N3LSJuVo5/6xgY3MSJ0YFs7b11JC5ych0BykIHuOMC0ySXjk8vesr/LIe4ljxe+gQIaY
5glrwA0zXdretXeRVQwQQkxB1s7Frlnhznp299gdpL9FuPa0WwsaRAsZtKwR+Tlg2GBl
KSImf4OIPNCejcx2tV+8+5cAbR7dyWS7nHyPNZpNoHEyBuvqB0B5H3iA+kK6lcLtF6oi
UQM8PObI/zWspjGSKChcc0jcXmpUE1DcaDHMmyA+rFPBF5YFoFbNQCkvxWIA6NAjMQx0
iY6g==
X-Forwarded-Encrypted: i=1; AJvYcCUn8kDdt1nYlMA3GlGQXHSRwVPkDpEdB5Us0kMxpuxKa9MPpMgtc5ePq587umAclyq3Z+9tiPOAQ+6XAOs=@vger.kernel.org, AJvYcCWJcwZgcpSetDLs+yFfVFjVD0ZDtV4yyditiqkiZm3ecwbUQ+FfggYMI3bB4U77wzdsHTaN+0DP8UKtPoQ=@vger.kernel.org
X-Gm-Message-State: AOJu0YzkdPdOOUUPxbRVbVo7teQuWUyOzQlNtbVCVstuw4Q74Cb0iWqC
Hkp6dFTtKJRZxnQEryRHltsRyN7sIFAGCxdq2rlTwJoxV626HJtXM9h7DAMvtRS2rjP5/Dehqdb
2E5j2WNLQ2rQBKWXiaAMFN4+F3iFZFEs=
X-Gm-Gg: ASbGncvdgnt9yCG3nbgmDxw5sfXIEZm4530WufI+v6WnjfzcvFj/QvhDsDaUglhMyxp
XjUVXj8VRvJkFgE9UAnsCdkd6M38w4wcar6Muyj3gyaoLqg8jHrPaR0wx3WScmaKO8CoqoeaaOt
ytmwT4wyZ+kCNiyDGCUUFGrU+9HBT3rhOexWXf1NszSqUvCa+wO7ozP+j59FDQSlc=
X-Google-Smtp-Source: AGHT+IE1hcIMK7m1GKoGJB24P7DGefofaI/Vg8OKATdfKWNBjeH6OMyp4e7LeetXAmTIp+kezDsWsaZdJxJ8WU97Ous=
X-Received: by 2002:a2e:a9ab:0:b0:327:fec0:b85d with SMTP id
38308e7fff4ca-3295b9e5920mr57437991fa.21.1748430467655; Wed, 28 May 2025
04:07:47 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250412-virtio-media-v3-1-97dc94c18398@xxxxxxxxx>
<20250526141316.7e907032@xxxxxxx> <20250527102111-mutt-send-email-mst@xxxxxxxxxx>
<20250527163927.02924adc@xxxxxxx> <20250527110444-mutt-send-email-mst@xxxxxxxxxx>
In-Reply-To: <20250527110444-mutt-send-email-mst@xxxxxxxxxx>
From: Alexandre Courbot <gnurou@xxxxxxxxx>
Date: Wed, 28 May 2025 20:07:34 +0900
X-Gm-Features: AX0GCFt5INry7hbLxnLIuUw8ffHrRUe_PZb75vuWFFXrALkR7hnpqJJcOCl5zNg
Message-ID: <CAAVeFuJ-zbbUT3ss5rw-=Sx52aoLxf7BCLz9tPxcA2AY+PX+yQ@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v3] media: add virtio-media driver
To: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
Cc: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>, Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>,
Hans Verkuil <hverkuil@xxxxxxxxx>, Albert Esteve <aesteve@xxxxxxxxxx>,
Jason Wang <jasowang@xxxxxxxxxx>, Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>,
=?UTF-8?Q?Eugenio_P=C3=A9rez?= <eperezma@xxxxxxxxxx>,
gurchetansingh@xxxxxxxxxx, daniel.almeida@xxxxxxxxxxxxx, adelva@xxxxxxxxxx,
changyeon@xxxxxxxxxx, nicolas.dufresne@xxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, linux-media@xxxxxxxxxxxxxxx,
virtualization@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Michael,
On Wed, May 28, 2025 at 12:06=E2=80=AFAM Michael S. Tsirkin <mst@xxxxxxxxxx=
> wrote:
>
> On Tue, May 27, 2025 at 04:39:27PM +0200, Mauro Carvalho Chehab wrote:
> > > It's up to you though.
> > > I can keep it in next for now, so it gets some coverage by
> > > tools scanning that tree.
> >
> > Sure, feel free to keep it on next if you prefer so. Just
> > please don't submit it upstream while we don't review and
> > properly test it.
>
> No prob. I just want to see it get reviewed and merged.
> My understanding is, it wasn't because maintainers were
> not Cc'd so that should be all ironed out now.
> Alexandre, do you want this in next for now or just drop it?
I think it doesn't hurt to give some exposure to this driver, if Mauro
is ok with it (and it eventually gets merged through the media tree).
Return-Path: <linux-kernel+bounces-665356-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E4B2A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:08:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 28D163A3B0D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:07:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C88FA27BF6E;
Wed, 28 May 2025 11:07:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="hxok0fwU"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3465027C152
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:07:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430474; cv=none; b=rOYqXWWZs5hXfYiPD3BIg6sirZdgEcSlg1u7g0BLd7ehcVXe3nt6unZZKJoZSz50hu/2SBm00uMRA5hNvRr/w++Pf7eE0ME18BPhc8EWgGcsNu9Zv0M1XzpXU/H8elRWNDsmRNblwmeKdv90LjKmqW3DaAZhi8eh4arkDDgu/mg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430474; c=relaxed/simple;
bh=ghYy8sqCJqtEDiWnZ0BZ7VPjuKNUTO6bqNXeh8RiM7k=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=p/aU8ZT4AfMsNu0KfXA+tPlCeqM3PqaxxkYji+9/4ZVud+1+KIQ3bkHrMnZSKV4BxWB2A4lx2VKtR0+rsywpoW5+Fdf0QmsahrutXwdS7zNUdxc9Azmq7ylw5wXkuRv2zhnITRBl1ZYhZGHDrU4TxvwG2T5+yJodNKUbzfOfu0E=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=hxok0fwU; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279873.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54SAjNHI022931
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:07:52 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
D8WpuQ4z3pWYP1aGEZ6fexz0zv3QDD0KxPYrrRS0jKY=; b=hxok0fwUKYHyqgaF
/CxwSi9srpnet+dHeCqfwJYoa44OPXub9pJQnpBF6pH7hemiksssoD1WHOtnampL
h6tV2uVwbyHxY5MkP7PifAHSNplrN47zqhwUV1zadU54X6I+VrImswkfJzIkL9T2
YQu5uiWfm1fGKXgAStHTL0nJwXi4rVds4D5TNXLe/T6SbwVO74D32+L5IPxzah6G
Y/6ecMS7hL3axuhihN3/bgcLcRE7GqMG/2DLedtbapFdvuA59OTzinArawH4ka08
i5gr3+YPblbBDBWepOQbP0WUaDAUAvQ+qcYftjMp0OghiS3fytoansb/DbIoMUh7
dwKG6w==
Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u3fqa64k-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:07:51 +0000 (GMT)
Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-6faa57b2d99so12045966d6.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:07:51 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430471; x=1749035271;
h=in-reply-to:content-transfer-encoding:content-disposition
:mime-version:references:message-id:subject:cc:to:from:date
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=D8WpuQ4z3pWYP1aGEZ6fexz0zv3QDD0KxPYrrRS0jKY=;
b=lHp6XHK4kXSJ4Ruor0m4B2R2AqpcdP9ADg3nfm0iaonhUbvxoq7ytFQs89tTgvEaXn
sZhEMf+hU1mdMMCJUb2z0oWbdMcaS2XJ+7K2lwjvk2vP3ZOjy34JdfdRdu1lEhsSTwrj
GSxqZ2YnJzR3zkpUXog9kD6YeAbSqB3YQOm8yWD2TM0Qi0eiLR8grZrDvYrlm+CI4uYA
koq7rgujTmC+F+OemphOihacdXDfa4CGFDdmncRq5n+QAADStVebmP+R08AP+5z00GSQ
4eENpk+w5nfaBOcuxYQLZ+sm01EKK/ScTbNnbO9TTfXbKR7fyGVWrdVaqh6vvGeWuvzo
GfKA==
X-Forwarded-Encrypted: i=1; AJvYcCVVoc2S18HRF+hUjdu6sCm4Zv5uJ3qsTdYydq8XZFNvOmdqq9yeEgRLfC63cF3QQo2ryky5ZJzIZR7HQyE=@vger.kernel.org
X-Gm-Message-State: AOJu0Yx/7c+lmGxCEBJmEPs9Ovhixcp6pYql7lWdsNTB/vxQzlzXtl/R
atr2YV/wQ7kJ0Zw4Cmv797pQ6ii5TNuxLHjqAq/OYsMHZNvK33BWrmqaw1bYloTv1Zk6K81m7i0
y5D4qmoVhE/SPbcYJZ8wuz3BkCInOnVOdRyi7sOqwTqPBqMLNrJ3560H/H0ZCA/Vcga8=
X-Gm-Gg: ASbGncstIAoEVjHBaj8zRK501Mpj596mfQHeomAKAmM//MmUEiLJkw909MpAskNPZv7
lFRUV0jU2UTWZsTR62smw81BM7IpjH44dtm4p/Nirsg/LRL537jlt1CUOTVRnfosu+Y7jN5i4jU
YSzhQofkNjmxOpjCOcmg+7nOtDH/ad/803V+nZK4ILjTXFOOdx6/u8CNj47j9bMIGtPuQ5rDbOy
g1Uuapmq3NdSZHCfnzQ9FEmXrWY7y2Pi+2bd9bq1EKX3s0JQIm25+v4aIN6rbW73BX6ZCQzEkbE
Tc4QOCSxUz7uzgnTSHfKcx+K4oGx5ZKZOmr1TPbdXVfRtOovhxmHppvh+paTv5UOoTzaGeZf2kw
=
X-Received: by 2002:a05:6214:2422:b0:6fa:a625:be55 with SMTP id 6a1803df08f44-6fab9ecddccmr63222126d6.15.1748430470859;
Wed, 28 May 2025 04:07:50 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IH3N+HVkm9VwvY1zNDHNmVjPeGxDxlTJUsGdeqvp82kG6qhKdBelmIg9XgqUT65qlyM/G2bdg==
X-Received: by 2002:a05:6214:2422:b0:6fa:a625:be55 with SMTP id 6a1803df08f44-6fab9ecddccmr63221786d6.15.1748430470450;
Wed, 28 May 2025 04:07:50 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5532f61c6c3sm237126e87.35.2025.05.28.04.07.49
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:07:49 -0700 (PDT)
Date: Wed, 28 May 2025 14:07:48 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Kornel =?utf-8?Q?Dul=C4=99ba?= <korneld@xxxxxxxxxx>
Cc: Sebastian Reichel <sre@xxxxxxxxxx>, Bjorn Andersson <andersson@xxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, chromeos-krk-upstreaming@xxxxxxxxxx
Subject: Re: [PATCH] power: supply: qcom_battmgr: Report battery capacity
Message-ID: <yjmzwk27uus36xwtumdgtmdkuyzqupq6enrkio4pa4g3t24cfu@wx5oqb66qryw>
References: <20250527121807.3597061-1-korneld@xxxxxxxxxx>
<oa5okg7i2s6s7pxm5tn6nnanazze5lnnre4vnwrhopn5s5hsil@vhh22j6b5cvq>
<CACF_fqksF+whYbGEdSvJ=87FQH03EzO+hSSf8eRc8MitR2hzxA@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CACF_fqksF+whYbGEdSvJ=87FQH03EzO+hSSf8eRc8MitR2hzxA@xxxxxxxxxxxxxx>
X-Proofpoint-GUID: WXA7LPz_DuRMZU2_UL-oUtuQP_v3_9Mj
X-Proofpoint-ORIG-GUID: WXA7LPz_DuRMZU2_UL-oUtuQP_v3_9Mj
X-Authority-Analysis: v=2.4 cv=X8FSKHTe c=1 sm=1 tr=0 ts=6836ee87 cx=c_pps
a=UgVkIMxJMSkC9lv97toC5g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10
a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=QyXUC8HyAAAA:8 a=1XWaLZrsAAAA:8
a=3Nxteq1g8k0alZfMZ-AA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
a=1HOtulTD9v-eNWfpl4qZ:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5NyBTYWx0ZWRfX+XjXrDMqGrdU
XQ2mK7iNBz6j0LbhmkU6k6jsWpbh9BHBN+Qp68vt/PFQm9xj8HoU8Msq4mXNt4Iln+LcrTLteXF
bIvMfzB36nfIWKt4hUx558wqqXEnDMKJFOzUkVMm+iHrBZ/H6qz6+G35G1R894Ol9XDjKXHwywB
tknyFLXOTuAOosM3WwiS2d6AQVVIl7NwqZF16QjTWCJQ/xgKuEl1sWS46uZR0oym52nJBhFooR+
JeXngn2WBDBDgbm7e6n2Zk7TEayEFdrEwcWJVs/qksFEXiG32FE9GdxKlpq3ipPSrEyjl5JE+vL
T7a1pAnFr6kZu7Zja/VHZxVbSgwLVYmivO0l1kyqRdgGSliSDBwjvfSC4zSLv8xCCew+Tk8jKhj
bmq4N0j2fH1RifOgD7InklGJohotQsHw3Ln9radgC5JfcQGs2teKrdMkwGrmRVSvqQxNVsyi
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
impostorscore=0 suspectscore=0 phishscore=0 bulkscore=0 mlxlogscore=999
mlxscore=0 clxscore=1015 priorityscore=1501 spamscore=0 adultscore=0
malwarescore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280097
X-Spam-Status: No, score=-1.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,PDS_OTHER_BAD_TLD,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 11:57:32AM +0200, Kornel DulÄ?ba wrote:
> On Tue, May 27, 2025 at 9:34â?¯PM 'Dmitry Baryshkov' via
> chromeos-krk-upstreaming <chromeos-krk-upstreaming@xxxxxxxxxx> wrote:
> >
> > On Tue, May 27, 2025 at 12:18:07PM +0000, Kornel DulÄ?ba wrote:
> > > Battery charge can be reported in several different ways. One of them is
> > > is charge percentage referred to as POWER_SUPPLY_PROP_CAPACITY in the
> > > power supply API. Currently the driver reports the capacity in this way
> > > on SM8350, but not on the newer variants referred to as SC8280XP in the
> > > driver. Although this is not a bug in itself, not reporting the
> > > percentage can confuse some userspace consumers.
> > > Mimic what is done in the ACPI driver (drivers/acpi/battery.c) and
> > > calculate the percentage capacity by dividing the current charge value
> > > by the full charge. Both values are expressed in either uWh, or
> > > in uAh.
> > >
> > > Signed-off-by: Kornel DulÄ?ba <korneld@xxxxxxxxxx>
> > > ---
> > > drivers/power/supply/qcom_battmgr.c | 18 ++++++++++++++++++
> > > 1 file changed, 18 insertions(+)
> > >
> > > diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qcom_battmgr.c
> > > index fe27676fbc7c..5ed5452ab51c 100644
> > > --- a/drivers/power/supply/qcom_battmgr.c
> > > +++ b/drivers/power/supply/qcom_battmgr.c
> > > @@ -577,6 +577,8 @@ static int qcom_battmgr_bat_get_property(struct power_supply *psy,
> > > val->intval = battmgr->status.capacity;
> > > break;
> > > case POWER_SUPPLY_PROP_CAPACITY:
> > > + if (battmgr->status.percent == (unsigned int)-1)
> > > + return -ENODATA;
> > > val->intval = battmgr->status.percent;
> > > break;
> > > case POWER_SUPPLY_PROP_TEMP:
> > > @@ -617,6 +619,7 @@ static const enum power_supply_property sc8280xp_bat_props[] = {
> > > POWER_SUPPLY_PROP_STATUS,
> > > POWER_SUPPLY_PROP_PRESENT,
> > > POWER_SUPPLY_PROP_TECHNOLOGY,
> > > + POWER_SUPPLY_PROP_CAPACITY,
> > > POWER_SUPPLY_PROP_CYCLE_COUNT,
> > > POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
> > > POWER_SUPPLY_PROP_VOLTAGE_NOW,
> > > @@ -1063,6 +1066,21 @@ static void qcom_battmgr_sc8280xp_callback(struct qcom_battmgr *battmgr,
> > > battmgr->ac.online = source == BATTMGR_CHARGING_SOURCE_AC;
> > > battmgr->usb.online = source == BATTMGR_CHARGING_SOURCE_USB;
> > > battmgr->wireless.online = source == BATTMGR_CHARGING_SOURCE_WIRELESS;
> > > + if (battmgr->info.last_full_capacity != 0) {
> > > + /*
> > > + * 100 * battmgr->status.capacity can overflow a 32bit
> > > + * unsigned integer. Do a temporary cast to avoid that.
> > > + */
> > > + battmgr->status.percent =
> > > + (uint64_t)100 * battmgr->status.capacity /
> > > + battmgr->info.last_full_capacity;
> >
> > Can you use mult_frac(), preventing the overflow?
>
> Good idea, but I don't think mult_frac() helps in cases where the
> dividend is smaller than the divider. Let's look at the sources:
> #define mult_frac(x, n, d) \
> (...)
> typeof(x_) q = x_ / d_; \
> typeof(x_) r = x_ % d_; \
> q * n_ + r * n_ / d_; \
>
> Since in our case x_ < d_, q = 0 and r = x_ then r * n_ will still
> result in an overflow.
>
> Unfortunately, the cast-and-divide approach won't work either. I
> received an email from a kernel test robot saying that this patch
> breaks a 32-bit only build. (">> ERROR: modpost: "__udivdi3"
> [drivers/power/supply/qcom_battmgr.ko] undefined!") See
> https://lore.kernel.org/oe-kbuild-all/202505280344.GjzOItSS-lkp@xxxxxxxxx/
> for details.
>
> I suppose I could just use a do_div with a temporary variable to work
> around that. I noticed that all data read from FW is multiplied by
> 1000, so I leveraged that instead:
> battmgr->status.percent =
> (100 * le32_to_cpu(resp->status.capacity)) /
> (battmgr->info.last_full_capacity / 1000);
>
> Any thoughts?
LGTM.
>
> >
> > > + } else {
> > > + /*
> > > + * Let the sysfs handler know no data is available at
> > > + * this time.
> > > + */
> > > + battmgr->status.percent = (unsigned int)-1;
> > > + }
> > > break;
> > > case BATTMGR_BAT_DISCHARGE_TIME:
> > > battmgr->status.discharge_time = le32_to_cpu(resp->time);
> > > --
> > > 2.49.0.1151.ga128411c76-goog
> > >
> >
> > --
> > With best wishes
> > Dmitry
> >
> > --
> > You received this message because you are subscribed to the Google Groups "chromeos-krk-upstreaming" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to chromeos-krk-upstreaming+unsubscribe@xxxxxxxxxx.
> > To view this discussion visit https://groups.google.com/a/google.com/d/msgid/chromeos-krk-upstreaming/oa5okg7i2s6s7pxm5tn6nnanazze5lnnre4vnwrhopn5s5hsil%40vhh22j6b5cvq.
> > For more options, visit https://groups.google.com/a/google.com/d/optout.
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665357-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E01FB41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:08:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 99FD117392D
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:08:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 43E9827E7EB;
Wed, 28 May 2025 11:08:02 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QqO5PhzB"
Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id C6C9B27A139;
Wed, 28 May 2025 11:07:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430481; cv=none; b=i4N0NrLxGL9cz8ohGiqvFZQGXAOCytZAlpILo9GRw6O0sIRT5FuYbm1pC0uOM6Xgs7/B6udwolFmyC8TqIjJ0ynSgHdXzRf0TSAHAjPWW/zpOuKkcQVXCQUf2w3zwq1LpclGlpDZDPCzWEfY7UL2TUvoflgTKntzsUom6ycEZlM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430481; c=relaxed/simple;
bh=R1Eh8RWRdVlzRqbFs9zMJ1Ckr8QstB1hZzkYJUC8K+Y=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=EnpL5x2RSmZMUBDkjuJahLMi5/FpEpyEldzgL74dIiB5eh4owT0s1kcq6QKStuOZJTpVVm0JHxoFLowwdQZw46Bz6MYlmV3NotTOPkHt05akLyPSzAQ7z11ZkkvdSrLOlf9QMM9oq8z8boj2P6B2nUYN63CCQ4nBbVySPfkFymo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QqO5PhzB; arc=none smtp.client-ip=209.85.218.51
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ac34257295dso862230666b.2;
Wed, 28 May 2025 04:07:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748430478; x=1749035278; darn=vger.kernel.org;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:from:to:cc:subject:date:message-id:reply-to;
bh=Y0d9IobXiw91z9fWsL1fagf4MsIBeTY/sxiexdnW7zM=;
b=QqO5PhzB4fOP6WymG77V6rQj1dIKhtDHPM0s+pB4s6J/ymWPFlra1HOgX3/FjQaJwn
V7u9XHEZB082s6g9cYwylOOd9X98dE6mxFGBe68X9jRYOCLGFdF74cm5+69bU+fg3IF2
IVqgQbDvcRJWO37rK9JPqVTbNlmGuyDCTV6YuOziJMFTF4zvxBKaJ/OS/Jqhke5AvnVE
XYSFD2NqLGTYtRWdCaR5QoRl/qytU2iR4By0tp7SWtDNjpOsyg07Z/73z92WxiAiEY/Y
Ut8ytzrEl8knt9a0LpWbAeVWowk/pZDaKMNbw/ZdhEHMvVT+nZ+Boifqdo4QHhPvIBKi
Hyeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430478; x=1749035278;
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
:to:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=Y0d9IobXiw91z9fWsL1fagf4MsIBeTY/sxiexdnW7zM=;
b=jCnZIzCpaefnNhMfqF4TOBQlD6THenY5F7/6hVW3VihQ6vl9TOfxTKGrIY93nby8Ag
s8RgspB43Wr+hfytAkNSOWfi3kPffGSWvqbkvXICasJeIoz/JEpDIvngYwKk3cOqfKY3
O4+oV1p+ncRfwyxhMjS2qWvxDny/yr3J8KAO83IkZdd7d2h7Bbl9IKykPw9Wv8JPBpyu
/xtZxdNq0LdJUH188EVh9DUPimAhnkSSI1ou6ywb+H6W66L5ePC9+p2COvD2d3K3qtBn
YtDp3eaQ3iXiSuRdg/oU+3oXswdtKlv2c7Gwf6TPO1MARX5E1U8Vx0iZvHMqzDTkW+vq
yuQA==
X-Forwarded-Encrypted: i=1; AJvYcCV0qLidIPmOBN3LjG0GJqeYiEciPC/9c1TyN2UJvkzNJ6TU2MHPNmwagXh2uLdw1/i44eqEB01i@xxxxxxxxxxxxxxx, AJvYcCVZ0dPiq2dF5d3VDW0RBYJ73fSdqpWpGQ0R6agdCBfp54Yn/cuBIHmhl0ZcHhRmhYx6wIcaXeyH0nVb@xxxxxxxxxxxxxxx, AJvYcCWItNOLnrkyK9o2Ob0pETkp4NyL7qwfoWp2RWOHtqig8gHb+VzX0Hh1cm6Hoj3xyVPOJ/EsZfsB01MGSTmA@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YwNQPNL0cjhGA3v+kT+cFL5K3x5plyAPF/D6mHmIvDOvWuLs3MY
PtppMf42LrP8GWHL46Wmu0pu4keOJO/Jm0XbBCelZ/AVrdYbKUcbH9Gs
X-Gm-Gg: ASbGncvc/lME3aAIBld3psDO6KqKyU7R3jEGv2fUirD04YcNA2Xj+YN5ctgBSolvE29
EFUX2fdjhXiORtb0VAIHv8wqCjG0w/HCtAxGPyoXiEg726jXv5ldrOyuLYUe3KT/nJ1bmLKArgw
R5Ywx/qWF/ibcKZLZXbtd34c829sT7sznwsSQOYFvdwIJznoLe+eBSFfJgLRTJUtan3PMwkrRXe
OTL/D0u9fuBzV8SRJk9aujMslwPysWNRSEJ5GYwCzqZ4joIdnmYdE7ATaxvB+dGdh0DxI8dtQkP
j0LW6HpXqGt0YbatZF1sunlsVYAjQ9au7Mo1LgqxUykn3MrjtAOHCiEm58mZhvvd1PqWuSGO
X-Google-Smtp-Source: AGHT+IEtyhnn9NHAemtfJzTKjrsDVohoBEwPwSRjHx8mSKQZYwXz0JyxONi4zbTF+2+ejSAk/iafmA==
X-Received: by 2002:a17:907:7f17:b0:ad5:2137:cc9e with SMTP id a640c23a62f3a-ad85b120246mr1545273566b.3.1748430477700;
Wed, 28 May 2025 04:07:57 -0700 (PDT)
Received: from localhost.localdomain ([2001:b07:aac:705d:5a2:70b0:c9d3:7010])
by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6051d5d9765sm626908a12.8.2025.05.28.04.07.56
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:07:57 -0700 (PDT)
From: Emanuele Ghidoli <ghidoliemanuele@xxxxxxxxx>
To: Nishanth Menon <nm@xxxxxx>,
Vignesh Raghavendra <vigneshr@xxxxxx>,
Tero Kristo <kristo@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: Emanuele Ghidoli <emanuele.ghidoli@xxxxxxxxxxx>,
Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
stable@xxxxxxxxxxxxxxx
Subject: [PATCH v1] arm64: dts: ti: k3-am62-verdin: Enable pull-ups on I2C buses
Date: Wed, 28 May 2025 13:07:37 +0200
Message-ID: <20250528110741.262336-1-ghidoliemanuele@xxxxxxxxx>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
From: Emanuele Ghidoli <emanuele.ghidoli@xxxxxxxxxxx>
Enable internal bias pull-ups on the SoC-side I2C buses that do not have
external pull resistors populated on the SoM. This ensures proper
default line levels.
Cc: stable@xxxxxxxxxxxxxxx
Fixes: 316b80246b16 ("arm64: dts: ti: add verdin am62")
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@xxxxxxxxxxx>
---
arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
index 1ea8f64b1b3b..bc2289d74774 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
@@ -507,16 +507,16 @@ AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ /* SODIMM 12 */
/* Verdin I2C_2_DSI */
pinctrl_i2c2: main-i2c2-default-pins {
pinctrl-single,pins = <
- AM62X_IOPAD(0x00b0, PIN_INPUT, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ /* SODIMM 55 */
- AM62X_IOPAD(0x00b4, PIN_INPUT, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ /* SODIMM 53 */
+ AM62X_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ /* SODIMM 55 */
+ AM62X_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ /* SODIMM 53 */
>;
};
/* Verdin I2C_4_CSI */
pinctrl_i2c3: main-i2c3-default-pins {
pinctrl-single,pins = <
- AM62X_IOPAD(0x01d0, PIN_INPUT, 2) /* (A15) UART0_CTSn.I2C3_SCL */ /* SODIMM 95 */
- AM62X_IOPAD(0x01d4, PIN_INPUT, 2) /* (B15) UART0_RTSn.I2C3_SDA */ /* SODIMM 93 */
+ AM62X_IOPAD(0x01d0, PIN_INPUT_PULLUP, 2) /* (A15) UART0_CTSn.I2C3_SCL */ /* SODIMM 95 */
+ AM62X_IOPAD(0x01d4, PIN_INPUT_PULLUP, 2) /* (B15) UART0_RTSn.I2C3_SDA */ /* SODIMM 93 */
>;
};
@@ -786,8 +786,8 @@ AM62X_MCU_IOPAD(0x0010, PIN_INPUT, 7) /* (C9) MCU_SPI0_D1.MCU_GPIO0_4 */ /* SODI
/* Verdin I2C_3_HDMI */
pinctrl_mcu_i2c0: mcu-i2c0-default-pins {
pinctrl-single,pins = <
- AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0) /* (A8) MCU_I2C0_SCL */ /* SODIMM 59 */
- AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0) /* (D10) MCU_I2C0_SDA */ /* SODIMM 57 */
+ AM62X_MCU_IOPAD(0x0044, PIN_INPUT_PULLUP, 0) /* (A8) MCU_I2C0_SCL */ /* SODIMM 59 */
+ AM62X_MCU_IOPAD(0x0048, PIN_INPUT_PULLUP, 0) /* (D10) MCU_I2C0_SDA */ /* SODIMM 57 */
>;
};
--
2.43.0
Return-Path: <linux-kernel+bounces-665358-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1AE9C41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:08:53 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3A8973A8E7F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:08:32 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 22FEE27B4EF;
Wed, 28 May 2025 11:08:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BTAu1Tje"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 132D927A462;
Wed, 28 May 2025 11:08:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430525; cv=none; b=lSa9rC5BVi3EKlbiBONIvKUbetrfUAJ+MyVdgCL6P8X1+vbM7nT0i7S521+msrSmkTNCbMwTtevlrTWBpdIMUkoXtZgioTM8kmberz+e2kbXZ5N62NI2uF/ftK+dNhlqgohbVlNmcrlNQhft8ORRE7UMpZqSqe+yIyFtZ44jqVI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430525; c=relaxed/simple;
bh=vs9C+yM7jX/8lBqahjesUiVEoedayFKv4eRr8WPo1Z8=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=n5MghPI5y375xi/HAfXNOJrClvafr3j0gPGboqLVyxpU6wQwIDgP+P+PcOvxyUdhEyykn7y+ZXlDs9zOgsxTRdkzPhfqXWs8di/bOS8B7uzGFidSv0nfi8VgOm+lKAHsjRmsWCYKWZkdEOj5fnWOnzzNhR9xUY0v5p4CmKx7pIg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BTAu1Tje; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F219AC4CEE7;
Wed, 28 May 2025 11:08:43 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748430524;
bh=vs9C+yM7jX/8lBqahjesUiVEoedayFKv4eRr8WPo1Z8=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=BTAu1Tjew7E5vCuzuLnwXVsjhaJk4oq4cIksA970ux59BFH+zbRzt1E1a9TzFsyOG
xEdwj6FCowDGIzbsGCACPUzH+f4UfPvUUXkflpf7Soagv2DC3m3UpFLZ7SEMBGZ5IT
yOIoWZctn0xSy1MInbuUzfU8rL063kyt3UFj9qEUmhTmGXPmk9JkXmVM49xsCDUtFz
UxF22UnKNzhzGi0OabAhcsiJMQDsWCI7+ZHjZ0pE3YsnmijTp/vRQ/R99jXW+rCEsT
+Fa55E+B2opUBxi0dVMKxgHvc5Iq/v836GAtrRgmqAuihWEZ0yCwwE4/HLKXU1FcQP
qnh4rhbBUvi6A==
Date: Wed, 28 May 2025 13:08:40 +0200
From: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= <ukleinek@xxxxxxxxxx>
To: =?utf-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCo0YPQsdC40L0=?= <privatesub2@xxxxxxxxx>
Cc: Andre Przywara <andre.przywara@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,
Brandon Cheo Fusi <fusibrandon13@xxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley <conor+dt@xxxxxxxxxx>, Chen-Yu Tsai <wens@xxxxxxxx>,
Jernej Skrabec <jernej.skrabec@xxxxxxxxx>, Samuel Holland <samuel@xxxxxxxxxxxx>,
Paul Walmsley <paul.walmsley@xxxxxxxxxx>, Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Albert Ou <aou@xxxxxxxxxxxxxxxxx>, Alexandre Ghiti <alex@xxxxxxxx>,
Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>, linux-pwm@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-sunxi@xxxxxxxxxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH v12 2/3] pwm: Add Allwinner's D1/T113-S3/R329 SoCs PWM
support
Message-ID: <hetih6ul7hdj3kflhy2s2zkkh3r7pcupgwde3xnwmjzs6cujp3@vcw4pde76bdb>
References: <20250427142500.151925-1-privatesub2@xxxxxxxxx>
<20250427142500.151925-3-privatesub2@xxxxxxxxx>
<20250512233944.06bc1cb7@xxxxxxxxxxxx>
<CAF4idN=Kwp8bDYVyjM52eUwVEEZcPM9YyK9KiqUzyf8Dm=cXTQ@xxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="j6nnrxchndqyddxe"
Content-Disposition: inline
In-Reply-To: <CAF4idN=Kwp8bDYVyjM52eUwVEEZcPM9YyK9KiqUzyf8Dm=cXTQ@xxxxxxxxxxxxxx>
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--j6nnrxchndqyddxe
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: [PATCH v12 2/3] pwm: Add Allwinner's D1/T113-S3/R329 SoCs PWM
support
MIME-Version: 1.0
Hello,
On Sat, May 24, 2025 at 12:07:28PM +0300, =D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=
=B0=D0=BD=D0=B4=D1=80 =D0=A8=D1=83=D0=B1=D0=B8=D0=BD wrote:
> =D0=B2=D1=82, 13 =D0=BC=D0=B0=D1=8F 2025=E2=80=AF=D0=B3. =D0=B2 01:39, An=
dre Przywara <andre.przywara@xxxxxxx>:
> >
> > On Sun, 27 Apr 2025 17:24:54 +0300
> > Aleksandr Shubin <privatesub2@xxxxxxxxx> wrote:
> > > + */
> > > + use_bus_clk =3D false;
> > > + val =3D mul_u64_u64_div_u64(state->period, hosc_rate, N=
SEC_PER_SEC);
> > > + /*
> > > + * If the calculated value is =E2=89=A4 1, the period i=
s too short
> > > + * for proper PWM operation
> > > + */
> > > + if (val <=3D 1) {
> >
> > So if I get the code correctly, it prefers HOSC over APB? Is that
> > really the best way? Shouldn't it be the other way around: we use the
> > faster clock, since this will not limit the sibling channel?
> >
> > And another thing to consider are rounding errors due to integer
> > division: certain period rates might be better achievable with one or
> > the other source clock: 3 MHz works best as 24MHz/8, 3.125MHz as
> > 100MHz/32.
> > So shall we calculate the values and compare the errors instead?
> > Oh, and also we need to consider bypassing, I feel like this should be
> > checked first.
> >
> > In any case I think there should be a comment describing the strategy
> > and give some rationale, I think.
>=20
> I like the idea of comparing the quantization error for each clock source
> (i.e. computing the actual period for both APB and HOSC and choosing
> whichever is closer to the requested period).
> I can try to implement that error-minimization approach in the next
> series of patches and add a comment explaining the strategy.
Consumers have different needs. Some might prefer a better match for
period, but in my experience most would go for a fine-grained selection
of duty_cycle, so prefering the faster clock sounds sane.
I don't say minimizing the error is wrong, but if it's unclear that
this matches what a consumer wants I object to make the procedure to
select the hardware settings considerably more complicated and run-time
intensive.
> > > +static int sun20i_pwm_probe(struct platform_device *pdev)
> > > +{
> > > + struct pwm_chip *chip;
> > > + struct sun20i_pwm_chip *sun20i_chip;
> > > + struct clk *clk_bus;
> > > + struct reset_control *rst;
> > > + u32 npwm;
> > > + int ret;
> > > +
> > > + ret =3D of_property_read_u32(pdev->dev.of_node, "allwinner,npwm=
s", &npwm);
> > > + if (ret < 0)
> > > + npwm =3D 8; /* Default value */
> > > +
> > > + if (npwm > 16) {
> > > + dev_info(&pdev->dev, "Limiting number of PWM lines from=
%u to 16", npwm);
> >
> > I don't think we should proceed if the firmware information is clearly
> > wrong. Just bail out with -EINVAL or so here, so that gets fixed in the
> > DT.
To me it's not obvious that the "firmware information is clearly wrong".
Maybe the next Allwinner SoC will have 24 outputs and the problem is
only that this driver isn't prepared to cope for that number of outputs?
If that really happens it's arguable if it's better to refuse completely
or just cope for the 16 outputs that the driver is able to. IMHO it's
better to continue because a partially workable pwmchip is better than
no chip at all. But I'd upgrade the message to dev_warn().
> > > + npwm =3D 16;
> > > + }
> > > +
> > > + chip =3D devm_pwmchip_alloc(&pdev->dev, npwm, sizeof(*sun20i_ch=
ip));
> > > + if (IS_ERR(chip))
> > > + return PTR_ERR(chip);
> > > + sun20i_chip =3D to_sun20i_pwm_chip(chip);
> > > +
> > > + sun20i_chip->base =3D devm_platform_ioremap_resource(pdev, 0);
> > > + if (IS_ERR(sun20i_chip->base))
> > > + return PTR_ERR(sun20i_chip->base);
> > > +
> > > + clk_bus =3D devm_clk_get_enabled(&pdev->dev, "bus");
> > > + if (IS_ERR(clk_bus))
> > > + return dev_err_probe(&pdev->dev, PTR_ERR(clk_bus),
> > > + "Failed to get bus clock\n");
> > > +
> > > + sun20i_chip->clk_hosc =3D devm_clk_get_enabled(&pdev->dev, "hos=
c");
> > > + if (IS_ERR(sun20i_chip->clk_hosc))
> > > + return dev_err_probe(&pdev->dev, PTR_ERR(sun20i_chip->c=
lk_hosc),
> > > + "Failed to get hosc clock\n");
> > > +
> > > + ret =3D devm_clk_rate_exclusive_get(&pdev->dev, sun20i_chip->cl=
k_hosc);
> >
> > Just ignoring for a bit that the 24 MHz oscillator is a fixed clock
> > anyway, but why would we want exclusivity already at probe time? Isn't
> > that too limiting, as no one might ever use any PWM channels, but it
> > would still "belong to us"?
That's a soft concept of "belong to us". Other consumers can still use
it and even also call clk_rate_exclusive_get(). IMHO it's a good idea to
call clk_rate_exclusive_get() for each clock that a driver relies on not
to change. You could make the driver more flexible and only call that
when the rate is actually relied on, but that's again a compromise with
complexity of the driver. And if the clock rate is fixed anyhow, it
doesn't hurt to do it here, right?
> > > + if (ret)
> > > + return dev_err_probe(&pdev->dev, ret,
> > > + "Failed to get hosc exclusive rate=
\n");
> > > +
> > > + sun20i_chip->clk_apb =3D devm_clk_get_enabled(&pdev->dev, "apb"=
);
> > > + if (IS_ERR(sun20i_chip->clk_apb))
> > > + return dev_err_probe(&pdev->dev, PTR_ERR(sun20i_chip->c=
lk_apb),
> > > + "Failed to get apb clock\n");
> > > +
> > > + ret =3D devm_clk_rate_exclusive_get(&pdev->dev, sun20i_chip->cl=
k_apb);
> >
> > Just for the records: APB is practically also a fixed clock, set up
> > once in firmware and never changed, since it drives a lot of other
> > peripherals.
> > But same question as above, why do we lock its rate already here?
>=20
> That step was actually recommended by Uwe Kleine-K=C3=B6nig,
> so the decision on whether to keep or drop exclusive reservation
> is really a question for him=E2=80=94please coordinate with Uwe
> to agree on how best to proceed here.
Same as above. Iff the driver relies on the rate of this clock to keep
constant, calling clk_rate_exclusive_get() is right.
> > > + if (ret)
> > > + return dev_err_probe(&pdev->dev, ret,
> > > + "Failed to get apb exclusive rate\=
n");
> > > +
> > > + if (clk_get_rate(sun20i_chip->clk_apb) <=3D clk_get_rate(sun20i=
_chip->clk_hosc))
> > > + dev_info(&pdev->dev, "APB clock must be greater than ho=
sc clock");
> >
> > Why this check? Does the code make any assumptions about this relation?
> > If yes, we must surely deny this and bail out.
> > If not (and I feel we should handle it this way), we can just ignore
> > this and not print anything.
ack.
Best regards
Uwe
--j6nnrxchndqyddxe
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmg27rUACgkQj4D7WH0S
/k7eMQf+MFh+WPOSnrL0ChmTNdZTkd/HHROpjXJFoKvZp8zcSHMTplW1nj2woA1/
Va88dWGfc9SB3t8CtiIDNa5+Uqe1TKApG1dH+Wa85exLeIamnSGMlmr2UrslLX+Z
U4CO0QmYVZGBjQtwEulMwGIfhZr/v4xBCLhwB0NoHqn2R1S1rxDjK6LHQFBj1RHl
IqvMLUGJ0XSg5bzLiS3OqRH0FpHKyAggpEoqJPYOBBc7yjhxklvLN+u5Gb6riPaT
pm7nwLkH/qBqpTgJfHxGf92AuW23qp/PcytQABrRXlsGNhFJBilXQPcFjN16JthK
FxuATRizXxGVnnfFjeGzHSc9RoSOvw==
=DLbu
-----END PGP SIGNATURE-----
--j6nnrxchndqyddxe--
Return-Path: <linux-kernel+bounces-665359-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EFEFD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:11:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 0D3F41BC5A15
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:11:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D667E27A929;
Wed, 28 May 2025 11:10:58 +0000 (UTC)
Received: from unicom145.biz-email.net (unicom145.biz-email.net [210.51.26.145])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 25F76217F36
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:10:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.51.26.145
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430658; cv=none; b=GfezqQDlnEQ+PLC1wiGNZ1AbbAJzzEqU+Ny/VfFXoC4ofwufoyAk+6J6mC8AxLAXBqaJBOmXDObS7iWaSITAdY3qVqXNr/kCYlcfmaTCDu+dno/HCcfxpf3RY3xhu3JfbWa4FKk31sggP8g/AHJSbhZTcDwAtDn7MFhHWZPueUA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430658; c=relaxed/simple;
bh=5VNQNJstimj/ysbI3W1CYC1Bg0MkbRJ3HgtLUNEwnOw=;
h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=JaIkAgSV/SB25qBo5tGBVEFQYLJxEdnHqoRhp+xodcXhrFD8/AhiZKeU4R/Lt5fRLFywCDPgw4P4CjP/iFGYuM5XPFvo52Mf17yxj8VyiESozFpK9qgIHcTgL+ZwJf/HvncxLA3vVXb5piqPZusjb6/TB5tpfnW1sVgHkCqn67c=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=inspur.com; spf=pass smtp.mailfrom=inspur.com; arc=none smtp.client-ip=210.51.26.145
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=inspur.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=inspur.com
Received: from jtjnmail201612.home.langchao.com
by unicom145.biz-email.net ((D)) with ASMTP (SSL) id 202505281910420840;
Wed, 28 May 2025 19:10:42 +0800
Received: from vbox.home.langchao.com (10.94.6.79) by
jtjnmail201612.home.langchao.com (10.100.2.12) with Microsoft SMTP Server id
15.1.2507.39; Wed, 28 May 2025 19:10:41 +0800
From: wangchuanguo <wangchuanguo@xxxxxxxxxx>
To: <akpm@xxxxxxxxxxxxxxxxxxxx>, <hannes@xxxxxxxxxxx>, <sj@xxxxxxxxxx>
CC: <david@xxxxxxxxxx>, <mhocko@xxxxxxxxxx>, <zhengqi.arch@xxxxxxxxxxxxx>,
<shakeel.butt@xxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <damon@xxxxxxxxxxxxxxx>, wangchuanguo
<wangchuanguo@xxxxxxxxxx>
Subject: [PATCH 0/2] add a knob to control whether to use other nodes at the same tier of the target node in DAMON
Date: Wed, 28 May 2025 19:10:36 +0800
Message-ID: <20250528111038.18378-1-wangchuanguo@xxxxxxxxxx>
X-Mailer: git-send-email 2.39.3
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
tUid: 20255281910424c625d6493f53ede3c45385c75923c87
X-Abuse-Reports-To: service@xxxxxxxxxxxxxx
Abuse-Reports-To: service@xxxxxxxxxxxxxx
X-Complaints-To: service@xxxxxxxxxxxxxx
X-Report-Abuse-To: service@xxxxxxxxxxxxxx
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
In DAMON's migrate_hot and migrate_cold features, the code was
intended to migrate pages â??â??only to the node specified by target_nidâ??â??.
However, during testing, it was observed that memory allocation
and migration could occur on â??â??any nodesâ??â??, which is a BUG.
The first patch in this PR fix this issue.
A use_nodes_of_tier file has been added under the directory /sys/kernel/mm/damon/admin/kdamonds/<N>/contexts/<N>/schemes/<N>/
to control whether to â??â??use other nodes in the same tier as
the target nodeâ??â?? for migration.
wangchuanguo (2):
mm: migrate: restore the nmask after successfully allocating on the
target node
mm/damon/sysfs-schemes: add use_nodes_of_tier on sysfs-schemes
include/linux/damon.h | 9 ++++++++-
include/linux/memory-tiers.h | 5 +++++
mm/damon/core.c | 6 ++++--
mm/damon/lru_sort.c | 3 ++-
mm/damon/paddr.c | 19 ++++++++++++-------
mm/damon/reclaim.c | 3 ++-
mm/damon/sysfs-schemes.c | 31 ++++++++++++++++++++++++++++++-
mm/memory-tiers.c | 13 +++++++++++++
mm/vmscan.c | 2 +-
samples/damon/mtier.c | 3 ++-
samples/damon/prcl.c | 3 ++-
11 files changed, 81 insertions(+), 16 deletions(-)
--
2.39.3
Return-Path: <linux-kernel+bounces-665360-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0C23441E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:11:18 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 4A4887A336F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:09:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0045027CB00;
Wed, 28 May 2025 11:11:00 +0000 (UTC)
Received: from unicom145.biz-email.net (unicom145.biz-email.net [210.51.26.145])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B18BE279789
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:10:56 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.51.26.145
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430659; cv=none; b=tV+qaplTwe5PNdMUUn/7lVfCdRQSm7l1rF8eSs78hcxPYhGI43r6V0AK5CvhOwQVIGvPl2dlFibmiSUz+Zynl1vt620lhtu7bN91EEXJ/BPXr1ITIZW/ZzolRlwEf1FI4SDUIt8kbuimgqaFpwc55SuBNN4fuW3CLdfHRauLdKw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430659; c=relaxed/simple;
bh=5hWjnfe+SC6eqhDVuWyOHQODTUfXYLw2KtzJakqj2sY=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=lT0jFUa/kR4JuwB63ebptXPgOmT3DgscBAJ2yAiW354kRb7o44BWP6fTcXwz4zudl7xX4nj47GWH+j0RYznP+3ysXY8P/EodI2NafJDPN0dSTla77Sif00GZxWMGccxksyuSP0X65k3+Ev52cezcLbvKfTm7PFTz30QdMcoJnRc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=inspur.com; spf=pass smtp.mailfrom=inspur.com; arc=none smtp.client-ip=210.51.26.145
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=inspur.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=inspur.com
Received: from jtjnmail201612.home.langchao.com
by unicom145.biz-email.net ((D)) with ASMTP (SSL) id 202505281910510913;
Wed, 28 May 2025 19:10:51 +0800
Received: from vbox.home.langchao.com (10.94.6.79) by
jtjnmail201612.home.langchao.com (10.100.2.12) with Microsoft SMTP Server id
15.1.2507.39; Wed, 28 May 2025 19:10:49 +0800
From: wangchuanguo <wangchuanguo@xxxxxxxxxx>
To: <akpm@xxxxxxxxxxxxxxxxxxxx>, <hannes@xxxxxxxxxxx>, <sj@xxxxxxxxxx>
CC: <david@xxxxxxxxxx>, <mhocko@xxxxxxxxxx>, <zhengqi.arch@xxxxxxxxxxxxx>,
<shakeel.butt@xxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <damon@xxxxxxxxxxxxxxx>, wangchuanguo
<wangchuanguo@xxxxxxxxxx>
Subject: [PATCH 2/2] mm/damon/sysfs-schemes: add use_nodes_of_tier on sysfs-schemes
Date: Wed, 28 May 2025 19:10:38 +0800
Message-ID: <20250528111038.18378-3-wangchuanguo@xxxxxxxxxx>
X-Mailer: git-send-email 2.39.3
In-Reply-To: <20250528111038.18378-1-wangchuanguo@xxxxxxxxxx>
References: <20250528111038.18378-1-wangchuanguo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
tUid: 20255281910518f65f22d2065e4c72f8fb32c25b40d2b
X-Abuse-Reports-To: service@xxxxxxxxxxxxxx
Abuse-Reports-To: service@xxxxxxxxxxxxxx
X-Complaints-To: service@xxxxxxxxxxxxxx
X-Report-Abuse-To: service@xxxxxxxxxxxxxx
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
This patch adds use_nodes_of_tier under
/sys/kernel/mm/damon/admin/kdamonds/<N>/contexts/<N>/schemes/<N>/
The 'use_nodes_of_tier' can be used to select nodes within the same memory
tier of target_nid for DAMOS actions such as DAMOS_MIGRATE_{HOT,COLD}.
Signed-off-by: wangchuanguo <wangchuanguo@xxxxxxxxxx>
---
include/linux/damon.h | 9 ++++++++-
include/linux/memory-tiers.h | 5 +++++
mm/damon/core.c | 6 ++++--
mm/damon/lru_sort.c | 3 ++-
mm/damon/paddr.c | 19 ++++++++++++-------
mm/damon/reclaim.c | 3 ++-
mm/damon/sysfs-schemes.c | 31 ++++++++++++++++++++++++++++++-
mm/memory-tiers.c | 13 +++++++++++++
samples/damon/mtier.c | 3 ++-
samples/damon/prcl.c | 3 ++-
10 files changed, 80 insertions(+), 15 deletions(-)
diff --git a/include/linux/damon.h b/include/linux/damon.h
index a4011726cb3b..05eae7fd66ad 100644
--- a/include/linux/damon.h
+++ b/include/linux/damon.h
@@ -455,6 +455,7 @@ struct damos_access_pattern {
* @quota: Control the aggressiveness of this scheme.
* @wmarks: Watermarks for automated (in)activation of this scheme.
* @target_nid: Destination node if @action is "migrate_{hot,cold}".
+ * @use_nodes_of_tier: Whether to use nodes of the target tier.
* @filters: Additional set of &struct damos_filter for &action.
* @ops_filters: ops layer handling &struct damos_filter objects list.
* @last_applied: Last @action applied ops-managing entity.
@@ -476,6 +477,10 @@ struct damos_access_pattern {
* migrate_cold actions, which means it's only meaningful when @action is either
* "migrate_hot" or "migrate_cold".
*
+ * @use_nodes_of_tier is used to select nodes of the target tier for migrating
+ * when target_nid is out of memory.Similar to @target_nid, this parameter is
+ * only meaningful when @action is either 'migrate_hot' or 'migrate_cold'.
+ *
* Before applying the &action to a memory region, &struct damon_operations
* implementation could check pages of the region and skip &action to respect
* &filters
@@ -519,6 +524,7 @@ struct damos {
union {
int target_nid;
};
+ bool use_nodes_of_tier;
struct list_head filters;
struct list_head ops_filters;
void *last_applied;
@@ -896,7 +902,8 @@ struct damos *damon_new_scheme(struct damos_access_pattern *pattern,
unsigned long apply_interval_us,
struct damos_quota *quota,
struct damos_watermarks *wmarks,
- int target_nid);
+ int target_nid,
+ bool use_nodes_of_tier);
void damon_add_scheme(struct damon_ctx *ctx, struct damos *s);
void damon_destroy_scheme(struct damos *s);
int damos_commit_quota_goals(struct damos_quota *dst, struct damos_quota *src);
diff --git a/include/linux/memory-tiers.h b/include/linux/memory-tiers.h
index 0dc0cf2863e2..4434f95dfde2 100644
--- a/include/linux/memory-tiers.h
+++ b/include/linux/memory-tiers.h
@@ -56,6 +56,7 @@ void mt_put_memory_types(struct list_head *memory_types);
int next_demotion_node(int node);
void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets);
bool node_is_toptier(int node);
+nodemask_t get_tier_nodemask(int node);
#else
static inline int next_demotion_node(int node)
{
@@ -71,6 +72,10 @@ static inline bool node_is_toptier(int node)
{
return true;
}
+nodemask_t get_tier_nodemask(int node)
+{
+ return NODE_MASK_NONE;
+}
#endif
#else
diff --git a/mm/damon/core.c b/mm/damon/core.c
index b217e0120e09..2c0feca8f87b 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -378,7 +378,8 @@ struct damos *damon_new_scheme(struct damos_access_pattern *pattern,
unsigned long apply_interval_us,
struct damos_quota *quota,
struct damos_watermarks *wmarks,
- int target_nid)
+ int target_nid,
+ bool use_nodes_of_tier)
{
struct damos *scheme;
@@ -408,6 +409,7 @@ struct damos *damon_new_scheme(struct damos_access_pattern *pattern,
scheme->wmarks.activated = true;
scheme->target_nid = target_nid;
+ scheme->use_nodes_of_tier = use_nodes_of_tier;
return scheme;
}
@@ -1006,7 +1008,7 @@ static int damon_commit_schemes(struct damon_ctx *dst, struct damon_ctx *src)
src_scheme->action,
src_scheme->apply_interval_us,
&src_scheme->quota, &src_scheme->wmarks,
- NUMA_NO_NODE);
+ NUMA_NO_NODE, false);
if (!new_scheme)
return -ENOMEM;
err = damos_commit(new_scheme, src_scheme);
diff --git a/mm/damon/lru_sort.c b/mm/damon/lru_sort.c
index 4af8fd4a390b..f663b66550dc 100644
--- a/mm/damon/lru_sort.c
+++ b/mm/damon/lru_sort.c
@@ -164,7 +164,8 @@ static struct damos *damon_lru_sort_new_scheme(
"a,
/* (De)activate this according to the watermarks. */
&damon_lru_sort_wmarks,
- NUMA_NO_NODE);
+ NUMA_NO_NODE,
+ false);
}
/* Create a DAMON-based operation scheme for hot memory regions */
diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c
index e8464f7e0014..e13321cff38f 100644
--- a/mm/damon/paddr.c
+++ b/mm/damon/paddr.c
@@ -383,7 +383,7 @@ static unsigned long damon_pa_deactivate_pages(struct damon_region *r,
static unsigned int __damon_pa_migrate_folio_list(
struct list_head *migrate_folios, struct pglist_data *pgdat,
- int target_nid)
+ int target_nid, bool use_nodes_of_tier)
{
unsigned int nr_succeeded = 0;
nodemask_t allowed_mask = NODE_MASK_NONE;
@@ -405,6 +405,9 @@ static unsigned int __damon_pa_migrate_folio_list(
if (list_empty(migrate_folios))
return 0;
+ if (use_nodes_of_tier)
+ allowed_mask = get_tier_nodemask(target_nid);
+
/* Migration ignores all cpuset and mempolicy settings */
migrate_pages(migrate_folios, alloc_migrate_folio, NULL,
(unsigned long)&mtc, MIGRATE_ASYNC, MR_DAMON,
@@ -415,7 +418,7 @@ static unsigned int __damon_pa_migrate_folio_list(
static unsigned int damon_pa_migrate_folio_list(struct list_head *folio_list,
struct pglist_data *pgdat,
- int target_nid)
+ int target_nid, bool use_nodes_of_tier)
{
unsigned int nr_migrated = 0;
struct folio *folio;
@@ -444,7 +447,7 @@ static unsigned int damon_pa_migrate_folio_list(struct list_head *folio_list,
/* Migrate folios selected for migration */
nr_migrated += __damon_pa_migrate_folio_list(
- &migrate_folios, pgdat, target_nid);
+ &migrate_folios, pgdat, target_nid, use_nodes_of_tier);
/*
* Folios that could not be migrated are still in @migrate_folios. Add
* those back on @folio_list
@@ -466,7 +469,7 @@ static unsigned int damon_pa_migrate_folio_list(struct list_head *folio_list,
}
static unsigned long damon_pa_migrate_pages(struct list_head *folio_list,
- int target_nid)
+ int target_nid, bool use_nodes_of_tier)
{
int nid;
unsigned long nr_migrated = 0;
@@ -489,13 +492,15 @@ static unsigned long damon_pa_migrate_pages(struct list_head *folio_list,
nr_migrated += damon_pa_migrate_folio_list(&node_folio_list,
NODE_DATA(nid),
- target_nid);
+ target_nid,
+ use_nodes_of_tier);
nid = folio_nid(lru_to_folio(folio_list));
} while (!list_empty(folio_list));
nr_migrated += damon_pa_migrate_folio_list(&node_folio_list,
NODE_DATA(nid),
- target_nid);
+ target_nid,
+ use_nodes_of_tier);
memalloc_noreclaim_restore(noreclaim_flag);
@@ -529,7 +534,7 @@ static unsigned long damon_pa_migrate(struct damon_region *r, struct damos *s,
addr += folio_size(folio);
folio_put(folio);
}
- applied = damon_pa_migrate_pages(&folio_list, s->target_nid);
+ applied = damon_pa_migrate_pages(&folio_list, s->target_nid, s->use_nodes_of_tier);
cond_resched();
s->last_applied = folio;
return applied * PAGE_SIZE;
diff --git a/mm/damon/reclaim.c b/mm/damon/reclaim.c
index a675150965e0..1b770553bbd2 100644
--- a/mm/damon/reclaim.c
+++ b/mm/damon/reclaim.c
@@ -178,7 +178,8 @@ static struct damos *damon_reclaim_new_scheme(void)
&damon_reclaim_quota,
/* (De)activate this according to the watermarks. */
&damon_reclaim_wmarks,
- NUMA_NO_NODE);
+ NUMA_NO_NODE,
+ false);
}
static int damon_reclaim_apply_parameters(void)
diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c
index 0f6c9e1fec0b..654e209fd6fd 100644
--- a/mm/damon/sysfs-schemes.c
+++ b/mm/damon/sysfs-schemes.c
@@ -1584,6 +1584,7 @@ struct damon_sysfs_scheme {
struct damon_sysfs_stats *stats;
struct damon_sysfs_scheme_regions *tried_regions;
int target_nid;
+ bool use_nodes_of_tier;
};
/* This should match with enum damos_action */
@@ -1612,6 +1613,7 @@ static struct damon_sysfs_scheme *damon_sysfs_scheme_alloc(
scheme->action = action;
scheme->apply_interval_us = apply_interval_us;
scheme->target_nid = NUMA_NO_NODE;
+ scheme->use_nodes_of_tier = false;
return scheme;
}
@@ -1896,6 +1898,29 @@ static ssize_t target_nid_store(struct kobject *kobj,
return err ? err : count;
}
+static ssize_t use_nodes_of_tier_show(struct kobject *kobj,
+ struct kobj_attribute *attr, char *buf)
+{
+ struct damon_sysfs_scheme *scheme = container_of(kobj,
+ struct damon_sysfs_scheme, kobj);
+
+ return sysfs_emit(buf, "%s\n", scheme->use_nodes_of_tier ? "true" : "false");
+}
+
+static ssize_t use_nodes_of_tier_store(struct kobject *kobj,
+ struct kobj_attribute *attr, const char *buf, size_t count)
+{
+ struct damon_sysfs_scheme *scheme = container_of(kobj,
+ struct damon_sysfs_scheme, kobj);
+ int err;
+
+ err = kstrtobool(buf, &scheme->use_nodes_of_tier);
+ if (err < 0)
+ return err;
+
+ return err ? err : count;
+}
+
static void damon_sysfs_scheme_release(struct kobject *kobj)
{
kfree(container_of(kobj, struct damon_sysfs_scheme, kobj));
@@ -1910,10 +1935,14 @@ static struct kobj_attribute damon_sysfs_scheme_apply_interval_us_attr =
static struct kobj_attribute damon_sysfs_scheme_target_nid_attr =
__ATTR_RW_MODE(target_nid, 0600);
+static struct kobj_attribute damon_sysfs_scheme_use_nodes_of_tier_attr =
+ __ATTR_RW_MODE(use_nodes_of_tier, 0600);
+
static struct attribute *damon_sysfs_scheme_attrs[] = {
&damon_sysfs_scheme_action_attr.attr,
&damon_sysfs_scheme_apply_interval_us_attr.attr,
&damon_sysfs_scheme_target_nid_attr.attr,
+ &damon_sysfs_scheme_use_nodes_of_tier_attr.attr,
NULL,
};
ATTRIBUTE_GROUPS(damon_sysfs_scheme);
@@ -2258,7 +2287,7 @@ static struct damos *damon_sysfs_mk_scheme(
scheme = damon_new_scheme(&pattern, sysfs_scheme->action,
sysfs_scheme->apply_interval_us, "a, &wmarks,
- sysfs_scheme->target_nid);
+ sysfs_scheme->target_nid, sysfs_scheme->use_nodes_of_tier);
if (!scheme)
return NULL;
diff --git a/mm/memory-tiers.c b/mm/memory-tiers.c
index fc14fe53e9b7..393f3012a612 100644
--- a/mm/memory-tiers.c
+++ b/mm/memory-tiers.c
@@ -299,6 +299,19 @@ bool node_is_toptier(int node)
return toptier;
}
+nodemask_t get_tier_nodemask(int node)
+{
+ struct memory_tier *memtier;
+ nodemask_t tier_nodes = NODE_MASK_NONE;
+
+ memtier = __node_get_memory_tier(node);
+ if (!memtier)
+ return tier_nodes;
+
+ tier_nodes = get_memtier_nodemask(memtier);
+ return tier_nodes;
+}
+
void node_get_allowed_targets(pg_data_t *pgdat, nodemask_t *targets)
{
struct memory_tier *memtier;
diff --git a/samples/damon/mtier.c b/samples/damon/mtier.c
index 36d2cd933f5a..b5d42086b221 100644
--- a/samples/damon/mtier.c
+++ b/samples/damon/mtier.c
@@ -105,7 +105,8 @@ static struct damon_ctx *damon_sample_mtier_build_ctx(bool promote)
.weight_age = 100,
},
&(struct damos_watermarks){},
- promote ? 0 : 1); /* migrate target node id */
+ promote ? 0 : 1, /* migrate target node id */
+ false);
if (!scheme)
goto free_out;
damon_set_schemes(ctx, &scheme, 1);
diff --git a/samples/damon/prcl.c b/samples/damon/prcl.c
index 056b1b21a0fe..445a9f4e0905 100644
--- a/samples/damon/prcl.c
+++ b/samples/damon/prcl.c
@@ -88,7 +88,8 @@ static int damon_sample_prcl_start(void)
0,
&(struct damos_quota){},
&(struct damos_watermarks){},
- NUMA_NO_NODE);
+ NUMA_NO_NODE,
+ false);
if (!scheme) {
damon_destroy_ctx(ctx);
return -ENOMEM;
--
2.39.3
Return-Path: <linux-kernel+bounces-665361-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E171241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:11:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 166987A39EE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:10:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B19B327D79F;
Wed, 28 May 2025 11:11:01 +0000 (UTC)
Received: from unicom145.biz-email.net (unicom145.biz-email.net [210.51.26.145])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7609727B51A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:10:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.51.26.145
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430661; cv=none; b=q5IEtHFxeJicXEZ6uO8TECM+xVtbA8VEDsm1Sh/y7aZWC8tErhNWflXlSH3g5kjMNtB55zKD1To4omKy8NvOFn3IE4+qSdtoiaOJp9zvb/R8Aaiu/zkLMWnHl/j4WVW1q35nGKfE+UxMGFUPbB83B6ACidIPowiEG6SjnANcUCA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430661; c=relaxed/simple;
bh=1jmecZ5L1+UsOfR9gOZIhTOLkSHDG9ViAD45jRoCSYI=;
h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=ssFqj9YP0y9RnSOzNYc/REDPQv2cATZBxSs4W+h88NNuU3CETd3ZOMJmGNSSVlVJioPx0QDfqVLQWpKBRIl3uOnenJyRt0v7NJIOK3ihxbVcF5u9OkLCcvWGAkGLENzLcOqHCos3cBzMJmDg0IJpIk1aq2iPrHbWfeeCcsglCVo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=inspur.com; spf=pass smtp.mailfrom=inspur.com; arc=none smtp.client-ip=210.51.26.145
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=inspur.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=inspur.com
Received: from jtjnmail201612.home.langchao.com
by unicom145.biz-email.net ((D)) with ASMTP (SSL) id 202505281910480880;
Wed, 28 May 2025 19:10:48 +0800
Received: from vbox.home.langchao.com (10.94.6.79) by
jtjnmail201612.home.langchao.com (10.100.2.12) with Microsoft SMTP Server id
15.1.2507.39; Wed, 28 May 2025 19:10:46 +0800
From: wangchuanguo <wangchuanguo@xxxxxxxxxx>
To: <akpm@xxxxxxxxxxxxxxxxxxxx>, <hannes@xxxxxxxxxxx>, <sj@xxxxxxxxxx>
CC: <david@xxxxxxxxxx>, <mhocko@xxxxxxxxxx>, <zhengqi.arch@xxxxxxxxxxxxx>,
<shakeel.butt@xxxxxxxxx>, <lorenzo.stoakes@xxxxxxxxxx>, <linux-mm@xxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <damon@xxxxxxxxxxxxxxx>, wangchuanguo
<wangchuanguo@xxxxxxxxxx>
Subject: [PATCH 1/2] mm: migrate: restore the nmask after successfully allocating on the target node
Date: Wed, 28 May 2025 19:10:37 +0800
Message-ID: <20250528111038.18378-2-wangchuanguo@xxxxxxxxxx>
X-Mailer: git-send-email 2.39.3
In-Reply-To: <20250528111038.18378-1-wangchuanguo@xxxxxxxxxx>
References: <20250528111038.18378-1-wangchuanguo@xxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
tUid: 20255281910481d35228f5462e32d9f5e25fcd7adb2ed
X-Abuse-Reports-To: service@xxxxxxxxxxxxxx
Abuse-Reports-To: service@xxxxxxxxxxxxxx
X-Complaints-To: service@xxxxxxxxxxxxxx
X-Report-Abuse-To: service@xxxxxxxxxxxxxx
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
If memory is successfully allocated on the target node and the
function directly returns without value restore for nmask,
non-first migration operations in migrate_pages() by again label
may ignore the nmask settings, thereby allowing new memory
allocations for migration on any node.
Signed-off-by: wangchuanguo <wangchuanguo@xxxxxxxxxx>
---
mm/vmscan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index f8dfd2864bbf..e13f17244279 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1035,11 +1035,11 @@ struct folio *alloc_migrate_folio(struct folio *src, unsigned long private)
mtc->nmask = NULL;
mtc->gfp_mask |= __GFP_THISNODE;
dst = alloc_migration_target(src, (unsigned long)mtc);
+ mtc->nmask = allowed_mask;
if (dst)
return dst;
mtc->gfp_mask &= ~__GFP_THISNODE;
- mtc->nmask = allowed_mask;
return alloc_migration_target(src, (unsigned long)mtc);
}
--
2.39.3
Return-Path: <linux-kernel+bounces-665362-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 2C94F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:11:42 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 69F504E3A6E
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:11:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EBA3B27C15C;
Wed, 28 May 2025 11:11:23 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OaZRuhHa"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id E0CA727A929;
Wed, 28 May 2025 11:11:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430683; cv=none; b=h3+SRwyPIGArsmmQfhFl+DUiSWcfOTcVQRzbLXaiq1MHw8L98hW0U4ghGYkgqNIufnOednLTmau7NRUqhEHcM0JZ8Sx1JN6+EC6yLGGDnWEUJlbh0YIviBqwel8Rhd7V9H+w/vt+1C+W0iHKVqwesS5Oq3BE/oFEOSWk5dcJn50=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430683; c=relaxed/simple;
bh=uHiGp2aq/Wwo8MjyGca1umeJbHorr8RG5qJ5OtNyBN8=;
h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References:
Content-Type:MIME-Version; b=Z4kZHAN0b2A1r9/VrGDMbl9yKNHBi4r4vnttmXJjssMqo5NuV3bCABdnn2WZAkRMhjK91GUyjEvyjyVZIF9WicnrPIZgFbcKhrIAdOUAWmWDRqZagyun0xx5KGb3O9AC4dvgAPokI1abfYs9yIdTrge8P5NILaVKpqLtT74rZ1M=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OaZRuhHa; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99D38C4CEE7;
Wed, 28 May 2025 11:11:20 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748430681;
bh=uHiGp2aq/Wwo8MjyGca1umeJbHorr8RG5qJ5OtNyBN8=;
h=Subject:From:To:Cc:Date:In-Reply-To:References:From;
b=OaZRuhHa8huC1wzSUhMu8x3xo1lMiKwEh7R/xjOrdDjT9dlbz1lmF1IM4JkmHB3gD
hgCnfclelMqwd85j8SBn4612NijVVqQbpOcbKEXPUMj7Zk2f2DXddJYQfOxGUDKzH6
TdTWA8/KD2erhhDbDsO0X7n48uuBinmEbnuo9nRd906QRpKQ0iPpHAvX8InYQoRngM
2E/qD2a1eQe7Ffp5Budz+QciPDBIJOno/gS2eIFeYGYE/T9W9FylJdMmZoClI6LChK
tOlVYJtn9mTgwzw94C5yfmSSV+qAopHw5fD/wKQHWkFhrYke8CiNeTqvEFMu/cE/MT
8NfLm7YOnDsoA==
Message-ID: <3bd1932129f4221a7affc5a6bf1ea5367dcb6a7c.camel@xxxxxxxxxx>
Subject: Re: [PATCH] nfsd: Replace simple_strtoul with kstrtoint in
expkey_parse
From: Jeff Layton <jlayton@xxxxxxxxxx>
To: Su Hui <suhui@xxxxxxxxxxxx>, chuck.lever@xxxxxxxxxx, neilb@xxxxxxx,
okorniev@xxxxxxxxxx, Dai.Ngo@xxxxxxxxxx, tom@xxxxxxxxxx
Cc: linux-nfs@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
kernel-janitors@xxxxxxxxxxxxxxx
Date: Wed, 28 May 2025 07:11:19 -0400
In-Reply-To: <20250527092548.1931636-1-suhui@xxxxxxxxxxxx>
References: <20250527092548.1931636-1-suhui@xxxxxxxxxxxx>
Autocrypt: addr=jlayton@xxxxxxxxxx; prefer-encrypt=mutual;
keydata=mQINBE6V0TwBEADXhJg7s8wFDwBMEvn0qyhAnzFLTOCHooMZyx7XO7dAiIhDSi7G1NPxw
n8jdFUQMCR/GlpozMFlSFiZXiObE7sef9rTtM68ukUyZM4pJ9l0KjQNgDJ6Fr342Htkjxu/kFV1Wv
egyjnSsFt7EGoDjdKqr1TS9syJYFjagYtvWk/UfHlW09X+jOh4vYtfX7iYSx/NfqV3W1D7EDi0PqV
T2h6v8i8YqsATFPwO4nuiTmL6I40ZofxVd+9wdRI4Db8yUNA4ZSP2nqLcLtFjClYRBoJvRWvsv4lm
0OX6MYPtv76hka8lW4mnRmZqqx3UtfHX/hF/zH24Gj7A6sYKYLCU3YrI2Ogiu7/ksKcl7goQjpvtV
YrOOI5VGLHge0awt7bhMCTM9KAfPc+xL/ZxAMVWd3NCk5SamL2cE99UWgtvNOIYU8m6EjTLhsj8sn
VluJH0/RcxEeFbnSaswVChNSGa7mXJrTR22lRL6ZPjdMgS2Km90haWPRc8Wolcz07Y2se0xpGVLEQ
cDEsvv5IMmeMe1/qLZ6NaVkNuL3WOXvxaVT9USW1+/SGipO2IpKJjeDZfehlB/kpfF24+RrK+seQf
CBYyUE8QJpvTZyfUHNYldXlrjO6n5MdOempLqWpfOmcGkwnyNRBR46g/jf8KnPRwXs509yAqDB6sE
LZH+yWr9LQZEwARAQABtCVKZWZmIExheXRvbiA8amxheXRvbkBwb29jaGllcmVkcy5uZXQ+iQI7BB
MBAgAlAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAUCTpXWPAIZAQAKCRAADmhBGVaCFc65D/4
gBLNMHopQYgG/9RIM3kgFCCQV0pLv0hcg1cjr+bPI5f1PzJoOVi9s0wBDHwp8+vtHgYhM54yt43uI
7Htij0RHFL5eFqoVT4TSfAg2qlvNemJEOY0e4daljjmZM7UtmpGs9NN0r9r50W82eb5Kw5bc/r0km
R/arUS2st+ecRsCnwAOj6HiURwIgfDMHGPtSkoPpu3DDp/cjcYUg3HaOJuTjtGHFH963B+f+hyQ2B
rQZBBE76ErgTDJ2Db9Ey0kw7VEZ4I2nnVUY9B5dE2pJFVO5HJBMp30fUGKvwaKqYCU2iAKxdmJXRI
ONb7dSde8LqZahuunPDMZyMA5+mkQl7kpIpR6kVDIiqmxzRuPeiMP7O2FCUlS2DnJnRVrHmCljLkZ
Wf7ZUA22wJpepBligemtSRSbqCyZ3B48zJ8g5B8xLEntPo/NknSJaYRvfEQqGxgk5kkNWMIMDkfQO
lDSXZvoxqU9wFH/9jTv1/6p8dHeGM0BsbBLMqQaqnWiVt5mG92E1zkOW69LnoozE6Le+12DsNW7Rj
iR5K+27MObjXEYIW7FIvNN/TQ6U1EOsdxwB8o//Yfc3p2QqPr5uS93SDDan5ehH59BnHpguTc27Xi
QQZ9EGiieCUx6Zh2ze3X2UW9YNzE15uKwkkuEIj60NvQRmEDfweYfOfPVOueC+iFifbQgSmVmZiBM
YXl0b24gPGpsYXl0b25AcmVkaGF0LmNvbT6JAjgEEwECACIFAk6V0q0CGwMGCwkIBwMCBhUIAgkKC
wQWAgMBAh4BAheAAAoJEAAOaEEZVoIViKUQALpvsacTMWWOd7SlPFzIYy2/fjvKlfB/Xs4YdNcf9q
LqF+lk2RBUHdR/dGwZpvw/OLmnZ8TryDo2zXVJNWEEUFNc7wQpl3i78r6UU/GUY/RQmOgPhs3epQC
3PMJj4xFx+VuVcf/MXgDDdBUHaCTT793hyBeDbQuciARDJAW24Q1RCmjcwWIV/pgrlFa4lAXsmhoa
c8UPc82Ijrs6ivlTweFf16VBc4nSLX5FB3ls7S5noRhm5/Zsd4PGPgIHgCZcPgkAnU1S/A/rSqf3F
LpU+CbVBDvlVAnOq9gfNF+QiTlOHdZVIe4gEYAU3CUjbleywQqV02BKxPVM0C5/oVjMVx3bri75n1
TkBYGmqAXy9usCkHIsG5CBHmphv9MHmqMZQVsxvCzfnI5IO1+7MoloeeW/lxuyd0pU88dZsV/riHw
87i2GJUJtVlMl5IGBNFpqoNUoqmvRfEMeXhy/kUX4Xc03I1coZIgmwLmCSXwx9MaCPFzV/dOOrju2
xjO+2sYyB5BNtxRqUEyXglpujFZqJxxau7E0eXoYgoY9gtFGsspzFkVNntamVXEWVVgzJJr/EWW0y
+jNd54MfPRqH+eCGuqlnNLktSAVz1MvVRY1dxUltSlDZT7P2bUoMorIPu8p7ZCg9dyX1+9T6Muc5d
Hxf/BBP/ir+3e8JTFQBFOiLNdFtB9KZWZmIExheXRvbiA8amxheXRvbkBzYW1iYS5vcmc+iQI4BBM
BAgAiBQJOldK9AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAADmhBGVaCFWgWD/0ZRi4h
N9FK2BdQs9RwNnFZUr7JidAWfCrs37XrA/56olQl3ojn0fQtrP4DbTmCuh0SfMijB24psy1GnkPep
naQ6VRf7Dxg/Y8muZELSOtsv2CKt3/02J1BBitrkkqmHyni5fLLYYg6fub0T/8Kwo1qGPdu1hx2BQ
RERYtQ/S5d/T0cACdlzi6w8rs5f09hU9Tu4qV1JLKmBTgUWKN969HPRkxiojLQziHVyM/weR5Reu6
FZVNuVBGqBD+sfk/c98VJHjsQhYJijcsmgMb1NohAzwrBKcSGKOWJToGEO/1RkIN8tqGnYNp2G+aR
685D0chgTl1WzPRM6mFG1+n2b2RR95DxumKVpwBwdLPoCkI24JkeDJ7lXSe3uFWISstFGt0HL8Eew
P8RuGC8s5h7Ct91HMNQTbjgA+Vi1foWUVXpEintAKgoywaIDlJfTZIl6Ew8ETN/7DLy8bXYgq0Xzh
aKg3CnOUuGQV5/nl4OAX/3jocT5Cz/OtAiNYj5mLPeL5z2ZszjoCAH6caqsF2oLyAnLqRgDgR+wTQ
T6gMhr2IRsl+cp8gPHBwQ4uZMb+X00c/Amm9VfviT+BI7B66cnC7Zv6Gvmtu2rEjWDGWPqUgccB7h
dMKnKDthkA227/82tYoFiFMb/NwtgGrn5n2vwJyKN6SEoygGrNt0SI84y6hEVbQlSmVmZiBMYXl0b
24gPGpsYXl0b25AcHJpbWFyeWRhdGEuY29tPokCOQQTAQIAIwUCU4xmKQIbAwcLCQgHAwIBBhUIAg
kKCwQWAgMBAh4BAheAAAoJEAAOaEEZVoIV1H0P/j4OUTwFd7BBbpoSp695qb6HqCzWMuExsp8nZjr
uymMaeZbGr3OWMNEXRI1FWNHMtcMHWLP/RaDqCJil28proO+PQ/yPhsr2QqJcW4nr91tBrv/MqItu
AXLYlsgXqp4BxLP67bzRJ1Bd2x0bWXurpEXY//VBOLnODqThGEcL7jouwjmnRh9FTKZfBDpFRaEfD
FOXIfAkMKBa/c9TQwRpx2DPsl3eFWVCNuNGKeGsirLqCxUg5kWTxEorROppz9oU4HPicL6rRH22Ce
6nOAON2vHvhkUuO3GbffhrcsPD4DaYup4ic+DxWm+DaSSRJ+e1yJvwi6NmQ9P9UAuLG93S2MdNNbo
sZ9P8k2mTOVKMc+GooI9Ve/vH8unwitwo7ORMVXhJeU6Q0X7zf3SjwDq2lBhn1DSuTsn2DbsNTiDv
qrAaCvbsTsw+SZRwF85eG67eAwouYk+dnKmp1q57LDKMyzysij2oDKbcBlwB/TeX16p8+LxECv51a
sjS9TInnipssssUDrHIvoTTXWcz7Y5wIngxDFwT8rPY3EggzLGfK5Zx2Q5S/N0FfmADmKknG/D8qG
IcJE574D956tiUDKN4I+/g125ORR1v7bP+OIaayAvq17RP+qcAqkxc0x8iCYVCYDouDyNvWPGRhbL
UO7mlBpjW9jK9e2fvZY9iw3QzIPGKtClKZWZmIExheXRvbiA8amVmZi5sYXl0b25AcHJpbWFyeWRh
dGEuY29tPokCOQQTAQIAIwUCU4xmUAIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEAAOa
EEZVoIVzJoQALFCS6n/FHQS+hIzHIb56JbokhK0AFqoLVzLKzrnaeXhE5isWcVg0eoV2oTScIwUSU
apy94if69tnUo4Q7YNt8/6yFM6hwZAxFjOXR0ciGE3Q+Z1zi49Ox51yjGMQGxlakV9ep4sV/d5a50
M+LFTmYSAFp6HY23JN9PkjVJC4PUv5DYRbOZ6Y1+TfXKBAewMVqtwT1Y+LPlfmI8dbbbuUX/kKZ5d
dhV2736fgyfpslvJKYl0YifUOVy4D1G/oSycyHkJG78OvX4JKcf2kKzVvg7/Rnv+AueCfFQ6nGwPn
0P91I7TEOC4XfZ6a1K3uTp4fPPs1Wn75X7K8lzJP/p8lme40uqwAyBjk+IA5VGd+CVRiyJTpGZwA0
jwSYLyXboX+Dqm9pSYzmC9+/AE7lIgpWj+3iNisp1SWtHc4pdtQ5EU2SEz8yKvDbD0lNDbv4ljI7e
flPsvN6vOrxz24mCliEco5DwhpaaSnzWnbAPXhQDWb/lUgs/JNk8dtwmvWnqCwRqElMLVisAbJmC0
BhZ/Ab4sph3EaiZfdXKhiQqSGdK4La3OTJOJYZphPdGgnkvDV9Pl1QZ0ijXQrVIy3zd6VCNaKYq7B
AKidn5g/2Q8oio9Tf4XfdZ9dtwcB+bwDJFgvvDYaZ5bI3ln4V3EyW5i2NfXazz/GA/I/ZtbsigCFc
8ftCBKZWZmIExheXRvbiA8amxheXRvbkBrZXJuZWwub3JnPokCOAQTAQIAIgUCWe8u6AIbAwYLCQg
HAwIGFQgCCQoLBBYCAwECHgECF4AACgkQAA5oQRlWghUuCg/+Lb/xGxZD2Q1oJVAE37uW308UpVSD
2tAMJUvFTdDbfe3zKlPDTuVsyNsALBGclPLagJ5ZTP+Vp2irAN9uwBuacBOTtmOdz4ZN2tdvNgozz
uxp4CHBDVzAslUi2idy+xpsp47DWPxYFIRP3M8QG/aNW052LaPc0cedYxp8+9eiVUNpxF4SiU4i9J
DfX/sn9XcfoVZIxMpCRE750zvJvcCUz9HojsrMQ1NFc7MFT1z3MOW2/RlzPcog7xvR5ENPH19ojRD
CHqumUHRry+RF0lH00clzX/W8OrQJZtoBPXv9ahka/Vp7kEulcBJr1cH5Wz/WprhsIM7U9pse1f1g
Yy9YbXtWctUz8uvDR7shsQxAhX3qO7DilMtuGo1v97I/Kx4gXQ52syh/w6EBny71CZrOgD6kJwPVV
AaM1LRC28muq91WCFhs/nzHozpbzcheyGtMUI2Ao4K6mnY+3zIuXPygZMFr9KXE6fF7HzKxKuZMJO
aEZCiDOq0anx6FmOzs5E6Jqdpo/mtI8beK+BE7Va6ni7YrQlnT0i3vaTVMTiCThbqsB20VrbMjlhp
f8lfK1XVNbRq/R7GZ9zHESlsa35ha60yd/j3pu5hT2xyy8krV8vGhHvnJ1XRMJBAB/UYb6FyC7S+m
QZIQXVeAA+smfTT0tDrisj1U5x6ZB9b3nBg65kc=
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.56.1 (3.56.1-1.fc42)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, 2025-05-27 at 17:25 +0800, Su Hui wrote:
> kstrtoint() is better because simple_strtoul() ignores overflow and the
> type of 'fsidtype' is 'int' rather than 'unsigned long'.
>=20
> Signed-off-by: Su Hui <suhui@xxxxxxxxxxxx>
> ---
> fs/nfsd/export.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>=20
> diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c
> index 0363720280d4..1bc9bc20cac3 100644
> --- a/fs/nfsd/export.c
> +++ b/fs/nfsd/export.c
> @@ -83,7 +83,6 @@ static int expkey_parse(struct cache_detail *cd, char *=
mesg, int mlen)
> struct auth_domain *dom =3D NULL;
> int err;
> int fsidtype;
> - char *ep;
> struct svc_expkey key;
> struct svc_expkey *ek =3D NULL;
> =20
> @@ -109,8 +108,7 @@ static int expkey_parse(struct cache_detail *cd, char=
*mesg, int mlen)
> err =3D -EINVAL;
> if (qword_get(&mesg, buf, PAGE_SIZE) <=3D 0)
> goto out;
> - fsidtype =3D simple_strtoul(buf, &ep, 10);
> - if (*ep)
> + if (kstrtoint(buf, 10, &fsidtype))
> goto out;
> dprintk("found fsidtype %d\n", fsidtype);
> if (key_len(fsidtype)=3D=3D0) /* invalid type */
Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665363-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 55D0141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:13:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 6FF6D9E301C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:12:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B7A2A27AC54;
Wed, 28 May 2025 11:12:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="KVSF8Ill"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4EB7B1F0E34;
Wed, 28 May 2025 11:12:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.10
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430774; cv=none; b=AZE0ZO9CavfpQ2XCd6g+OBraakr+6VoHs/N1xjH9U1UQ24dln7nSgaPjCIIyzLwMXaqo/yWk3TKoTy22ZCv8+rJW4Tvx0UrDZ5TtJ/tVnIcjgeGiJ0t1ZGC5loHRk34gnDKLv/cGS4YHecLEZQIFXxhgPuKyRn18npSa1+7o0sQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430774; c=relaxed/simple;
bh=c6XCpPi3M9BjDPmcDyl0ht/M9nZpoLiGCe0c8n7fGEs=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=TRzK2HxH42TgI/ypi3ud7YuZev2E4CRvNyBttTno6NlBUzH5Qadrx1+phcQs+0TYg4pNjaGWQ3A3mdR85VEqPc4Ac+/uHXQsNU7d6GBJfKrrX5y1ZNKv4UeoVwwxtKe05hbEOGcg7zjmF07O1K+G/hCeDPNCtfEJaoOdEFfK6eQ=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=KVSF8Ill; arc=none smtp.client-ip=198.175.65.10
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748430773; x=1779966773;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=c6XCpPi3M9BjDPmcDyl0ht/M9nZpoLiGCe0c8n7fGEs=;
b=KVSF8IlljaT1L1pTAyK8oDSSPU/zWyB1XtSaxNQH54O6ik/Y+FuWfxPp
KuOl23uOTm/cR35WHNIGMKoq2QF8GH8okHSZTCFtvvIh7wTTAWLYbZ0nd
eT8VE/9ieYHHhTYj6SD1G/Qoo5hsAoy0G0wTwyeOHbBkvOHuS6SQ545xI
T7uOJUi7J1Iq1EcOo+gxD97XWZtdUjY5i5rKLvZdGarGwRTvINw5TpThB
IkT/NAqKB7ziKOSKlVzs6lIKlW3hrJOj343vaH2DJIWP3SZxhW5uP7BWp
FTL+ZmE2wKD254/utJH6KwnSomm6j4kMz3U85FZAxjC+j4qRjV6DLWn8F
g==;
X-CSE-ConnectionGUID: BEXSK10GRSemXHzPW8qjHw==
X-CSE-MsgGUID: fQkDMC8ZTbSHFY8g3KMadA==
X-IronPort-AV: E=McAfee;i="6700,10204,11446"; a="67865579"
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="67865579"
Received: from orviesa003.jf.intel.com ([10.64.159.143])
by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:12:52 -0700
X-CSE-ConnectionGUID: Z5GF7ThkQ/2fRNHoz4p8Bw==
X-CSE-MsgGUID: TctObnezS36UB8YJTadhng==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="147966943"
Received: from lkp-server01.sh.intel.com (HELO 1992f890471c) ([10.239.97.150])
by orviesa003.jf.intel.com with ESMTP; 28 May 2025 04:12:50 -0700
Received: from kbuild by 1992f890471c with local (Exim 4.96)
(envelope-from <lkp@xxxxxxxxx>)
id 1uKEiF-000VbA-11;
Wed, 28 May 2025 11:12:47 +0000
Date: Wed, 28 May 2025 19:12:41 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>,
Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Cc: llvm@xxxxxxxxxxxxxxx, oe-kbuild-all@xxxxxxxxxxxxxxx,
linux-wireless@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH wireless-next] wifi: mac80211: consider links for
validating SCAN_FLAG_AP in scan request during MLO
Message-ID: <202505281853.CBjCB3yV-lkp@xxxxxxxxx>
References: <20250528-fix_scan_ap_flag_requirement_during_mlo-v1-1-35ac0e3a2f7b@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528-fix_scan_ap_flag_requirement_during_mlo-v1-1-35ac0e3a2f7b@xxxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Aditya,
kernel test robot noticed the following build errors:
[auto build test ERROR on ea15e046263b19e91ffd827645ae5dfa44ebd044]
url: https://github.com/intel-lab-lkp/linux/commits/Aditya-Kumar-Singh/wifi-mac80211-consider-links-for-validating-SCAN_FLAG_AP-in-scan-request-during-MLO/20250528-113350
base: ea15e046263b19e91ffd827645ae5dfa44ebd044
patch link: https://lore.kernel.org/r/20250528-fix_scan_ap_flag_requirement_during_mlo-v1-1-35ac0e3a2f7b%40oss.qualcomm.com
patch subject: [PATCH wireless-next] wifi: mac80211: consider links for validating SCAN_FLAG_AP in scan request during MLO
config: arm-randconfig-003-20250528 (https://download.01.org/0day-ci/archive/20250528/202505281853.CBjCB3yV-lkp@xxxxxxxxx/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250528/202505281853.CBjCB3yV-lkp@xxxxxxxxx/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505281853.CBjCB3yV-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
>> net/mac80211/cfg.c:2953:16: error: call to undeclared function 'cfg80211_get_radio_idx_by_chan'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
2953 | radio_idx = cfg80211_get_radio_idx_by_chan(wiphy, chan);
| ^
>> net/mac80211/cfg.c:2955:8: error: call to undeclared function 'ieee80211_is_radio_idx_in_scan_req'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
2955 | if (ieee80211_is_radio_idx_in_scan_req(wiphy, req,
| ^
2 errors generated.
vim +/cfg80211_get_radio_idx_by_chan +2953 net/mac80211/cfg.c
2895
2896 static int ieee80211_scan(struct wiphy *wiphy,
2897 struct cfg80211_scan_request *req)
2898 {
2899 struct ieee80211_sub_if_data *sdata;
2900 struct ieee80211_link_data *link;
2901 struct ieee80211_channel *chan;
2902 int radio_idx;
2903 u8 link_id;
2904
2905 sdata = IEEE80211_WDEV_TO_SUB_IF(req->wdev);
2906
2907 switch (ieee80211_vif_type_p2p(&sdata->vif)) {
2908 case NL80211_IFTYPE_STATION:
2909 case NL80211_IFTYPE_ADHOC:
2910 case NL80211_IFTYPE_MESH_POINT:
2911 case NL80211_IFTYPE_P2P_CLIENT:
2912 case NL80211_IFTYPE_P2P_DEVICE:
2913 break;
2914 case NL80211_IFTYPE_P2P_GO:
2915 if (sdata->local->ops->hw_scan)
2916 break;
2917 /*
2918 * FIXME: implement NoA while scanning in software,
2919 * for now fall through to allow scanning only when
2920 * beaconing hasn't been configured yet
2921 */
2922 fallthrough;
2923 case NL80211_IFTYPE_AP:
2924 /*
2925 * If the scan has been forced (and the driver supports
2926 * forcing), don't care about being beaconing already.
2927 * This will create problems to the attached stations (e.g. all
2928 * the frames sent while scanning on other channel will be
2929 * lost)
2930 */
2931 for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS;
2932 link_id++) {
2933 link = sdata_dereference(sdata->link[link_id], sdata);
2934 if (!link)
2935 continue;
2936
2937 /* if the link is not beaconing, ignore it */
2938 if (!sdata_dereference(link->u.ap.beacon, sdata))
2939 continue;
2940
2941 /* If we are here then at least one of the link is
2942 * beaconing and since radio level information is
2943 * not present or single underlying radio is present,
2944 * no point in checking further and hence return if
2945 * flag requirements are not met.
2946 */
2947 if (wiphy->n_radio < 2 &&
2948 (!(wiphy->features & NL80211_FEATURE_AP_SCAN) ||
2949 !(req->flags & NL80211_SCAN_FLAG_AP)))
2950 return -EOPNOTSUPP;
2951
2952 chan = link->conf->chanreq.oper.chan;
> 2953 radio_idx = cfg80211_get_radio_idx_by_chan(wiphy, chan);
2954
> 2955 if (ieee80211_is_radio_idx_in_scan_req(wiphy, req,
2956 radio_idx) &&
2957 (!(wiphy->features & NL80211_FEATURE_AP_SCAN) ||
2958 !(req->flags & NL80211_SCAN_FLAG_AP)))
2959 return -EOPNOTSUPP;
2960 }
2961 break;
2962 case NL80211_IFTYPE_NAN:
2963 default:
2964 return -EOPNOTSUPP;
2965 }
2966
2967 return ieee80211_request_scan(sdata, req);
2968 }
2969
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Return-Path: <linux-kernel+bounces-665364-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7F2E141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:13:44 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 323671BC5AFC
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:13:57 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D2D6F2798EB;
Wed, 28 May 2025 11:13:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="SXmpdtcw"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3C9519343B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:13:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748430813; cv=none; b=YW2LJEhrghhXXUIrR674cOmo+rZqnsGJL04GImCs+lqf2t9XEmPXKOW3zZhAgXFyLi+XAMg5lgFLpfLAibOWmk+I7mzX3+fUuNgo7MVF1/TDQ6z2a+Yb6Ec3czbuGO0eDRDvKbDVR56efi3WiEVpTFqIPoqkCQedpP2VH21XkJE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748430813; c=relaxed/simple;
bh=kSxeXKRTq2AWY+QK4FBihHz03SpIclgrupOj+3QM8gI=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=tqAguSBM0rEBntQE6BtNqhycfWXl5QMsc7FJgJQLEBL0Vl3NSeifnNne/V8D1aX9xCIuhm55O7lf+3lqGzgBo3LS2l+gZESpabRKFawT5kYTeAGnmPM/Qmxh7XT+1C+fQLyJOfAB9j0eJWv+sgysIbVRbNjY5AHd8fdUDaU+azY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=SXmpdtcw; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279862.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S896He026404
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:13:31 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
vgyuAx7dSshWcQQhWvUbmXixp8HbacWD1UD6odQRfDI=; b=SXmpdtcwbio5lhSK
rN/v64jtZDFc8B9yTOIX04ce5thjB3uvDghaVCXJFic6wmAcctUmKZSU66L8weja
cRgkn5jMhPFhuj+WKbIx/Q26n1Wl15ralEzIKH3baDjvZOxBsaNh0soGYkGeOmjz
OQedSDimJPJ7Q2Np59bTbL3VxXoQTig9ijJFCSq2LC5a53stMbFjA+JNuZ4qBPn5
8LtrbbCOkzvE0c4CP97NjquG2yabMRQOBpZk/cTBORCF4gNVpjVtMiwmSnvn4BQW
VozEl3nf97Cp73G4f4fxfxG5/iShGuVIfH06rLzOVJqkueAs2dlmaiZceTbN33vA
v3oFHg==
Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u6vjt1qu-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:13:30 +0000 (GMT)
Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-49452798bd4so8432621cf.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:13:30 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748430809; x=1749035609;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=vgyuAx7dSshWcQQhWvUbmXixp8HbacWD1UD6odQRfDI=;
b=RRVynlkQAcC6NeWCwQzW/5kQLOgG+pooO5rVqSzRw6VHjztAQ8Dr3TwgffVlNij9gv
oOeGcF6++OAyCWo3C3Rh82oxMgIVsDBR/K0IPyH2aLoUr8ornCIihzSjEuR/Zhliv1WV
tBeBP1ELa+kLlMn2F/W22/Tz3uvwyfL3dUdtgv3HfriB3xAtPAYUpj5Jydmwy7gAdnWv
uz21CRHxMpTwXPLAxdcZi7lXxkyxSURItIn1wAc2zUNzUM0bjw0K9rnPSfkrNxaD8Y5t
4ZUlNE/WH3FU6IjwR1/yDM9xRnfj1xUOm88kUQ7JwMn7OTJ/JPMzXWtGmh4QsWHIuhXE
Glww==
X-Forwarded-Encrypted: i=1; AJvYcCU0x18qYyvdNjBeESp7NiimwgMWOcPg5BgYDkD6OocYsalTt8BBueFJivuQX/LzIIs1o1uz9V4ypzPT/V4=@vger.kernel.org
X-Gm-Message-State: AOJu0YxHjdS4+3bLPldO9vdqVH4lbR34fyMeVFhwJtdLT4EJif78+nd/
7YsD2QI2WAjNJ0PV4iqmZAdPDbvnJRv28y8fML2HvCNuDZUiynnIwKohNdWaC8McVBwWga5X+Ij
/lZwu4xtV9iV17OL2wxyqNaHRJcXZOunCmjN3Aj94RMmcUvQBMSchhLCy8n+GuIWNZZs=
X-Gm-Gg: ASbGncuncMQd3bUClG0zdYdhCZDvWlCqKSIjfEcU/fPWjNAI3nZD0fRCRsIu4mJ2B3m
/PFkUNDPiykmYrQWoDkbf0zxxa/6uxeqA5vHEtRkJ8ccgRRIsUOz/wSxqN4WZqdwTJDCzHH7+Sv
4HpYu2q9zdwQHHOOibijT13P8H8o3f98p0f7o/07ane8tinj9z5U7aJJFyaRZIfekfBxHmm4SKb
9qGt+fmMtAUtI+PozZm/xluaPSleLW4SH7i2o23oClm5Biosj0dv0/rlsERkjJOcQoM8RggoY9i
7Bfg+NtB5qEALAdtcaXlPsFa0iuCThhzwRl9RisapdRJOP0xWjzALYa3bwwzhRlC4g==
X-Received: by 2002:ad4:5c65:0:b0:6fa:b954:2c35 with SMTP id 6a1803df08f44-6fab9542d12mr26075796d6.10.1748430809486;
Wed, 28 May 2025 04:13:29 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEeKRrREHf2m6YYb/SYCGixIP+aO46rPYYipbA1Vi8xkIBSTUT+o+9WPcrWNSOLCsqtY0Enyg==
X-Received: by 2002:ad4:5c65:0:b0:6fa:b954:2c35 with SMTP id 6a1803df08f44-6fab9542d12mr26075586d6.10.1748430808982;
Wed, 28 May 2025 04:13:28 -0700 (PDT)
Received: from [192.168.65.90] (078088045245.garwolin.vectranet.pl. [78.88.45.245])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1a1323bsm90175166b.84.2025.05.28.04.13.27
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 04:13:28 -0700 (PDT)
Message-ID: <9037fefe-aa40-4884-97ee-b81ff8346944@xxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 13:13:26 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/6] arm64: qcom: allow up to 4 lanes for the Type-C
DisplayPort Altmode
To: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>,
Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx>, Vinod Koul <vkoul@xxxxxxxxxx>,
Kishon Vijay Abraham I <kishon@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley
<conor+dt@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, linux-phy@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>
References: <20250527-topic-4ln_dp_respin-v3-0-f9a0763ec289@xxxxxxxxxxxxxxxx>
<styd5gjksbsqt7efylpfn6bgwgyvt6zexxiooihjsnmp25yigp@unq7dor6gso2>
<447c3b13-8d6d-4bcb-83c1-9456b915a77e@xxxxxxxxxxxxxxxx>
<inpfuxskvmrebxitqtqwzvpnpicibo6zakgk4ujpcrqrpef2vw@nhclj5rg7axr>
Content-Language: en-US
From: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
In-Reply-To: <inpfuxskvmrebxitqtqwzvpnpicibo6zakgk4ujpcrqrpef2vw@nhclj5rg7axr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Authority-Analysis: v=2.4 cv=UOXdHDfy c=1 sm=1 tr=0 ts=6836efda cx=c_pps
a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=FpWmc02/iXfjRdCD7H54yg==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=PC4tWo4A_DL9_zoQyE8A:9
a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22
X-Proofpoint-ORIG-GUID: cKGTPbQ3b7STIpJfMD3gwXU9Br0vG3kh
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5OCBTYWx0ZWRfX/UjLrC1MadcQ
cHvfm6EZnWM5iJKsryYpmwiOfvmftkcge3KysVbUbm42R+KbgQ3TPuzI9WV0GhD313VbuEMNMQl
fmCI/5NtpgNGm2h3C2yibrKUc9fDIAsd4FfH6AuKcegKhp8INU4r0wALa8CAhgdYxWAwoX8iF5Q
s6UvGBTmbEtSDJnUHVI0S5ZXmbjRAoudrnYebFXJYo2jorFYur0HH12D8pUg5xPGhSvp/u+ubIk
pgUkiwe3ilUx18pv6PChWdT8jA5NDWp5y6i1BPNm2YZocBJG2bkoSn5WotBPTrkM4NF7lEhotaJ
oYPMOtXBGGtD6X9qFs1KDZ3ZP9O5BtqjN07pCpop+x7Ap0vSKcOsuqBt0oXrF0SUE+Zx9BWy1jP
U1295UkmcBPAQqnxmNvjMVwDJvHxQkbFgKbgBMXS0W1erm/Eq+tjuPsRU7EvP/0fcve8QMVC
X-Proofpoint-GUID: cKGTPbQ3b7STIpJfMD3gwXU9Br0vG3kh
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
clxscore=1015 phishscore=0 mlxscore=0 adultscore=0 priorityscore=1501
mlxlogscore=590 bulkscore=0 malwarescore=0 impostorscore=0 spamscore=0
suspectscore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280098
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 11:00 AM, Dmitry Baryshkov wrote:
> On Wed, May 28, 2025 at 12:24:02AM +0200, Konrad Dybcio wrote:
>> On 5/27/25 11:10 PM, Dmitry Baryshkov wrote:
>>> On Tue, May 27, 2025 at 10:40:02PM +0200, Konrad Dybcio wrote:
>>>> Register a typec mux in order to change the PHY mode on the Type-C
>>>> mux events depending on the mode and the svid when in Altmode setup.
>>>>
>>>> The DisplayPort phy should be left enabled if is still powered on
>>>> by the DRM DisplayPort controller, so bail out until the DisplayPort
>>>> PHY is not powered off.
>>>
>>> This series doesn't seem to solve the USB side of a problem. When the
>>> PHY is being switch to the 4-lane mode, USB controller looses PIPE
>>> clock, so it needs to be switched to the USB-2 mode.
>>
>> I didn't find issues with that on X13s.. Not sure if it's related, but
>> on the SL7, after plugging in a 4ln DP connection, I need to plug in
>> the USB thumb drive twice for the first time (only in that sequence)
>
> Might be.
>
>> But there's nothing interesting in dmesg and the phy seems to be
>> programmed with the same values on both the initial and the subsequent
>> working plug-in
>
> Please try using a DP dongle with USB 2 passthrough (there are some).
> Or just emulate this by enabling DP PHY / DP chain for plugged in USB3
> devices. Would you be able to see the USB device on a bus?
I only have a dongle with both display and usb that does 2ln dp
(I tested 4ln dp on a type-c display that I don't think has a hub)
USB3 - yes, USB2 - no (but it works after a replug)
Are you talking about essentially doing qcom,select-utmi-as-pipe-clk
at runtime?
Konrad
Return-Path: <linux-kernel+bounces-665365-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B0F3941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:18:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 95E8B1BA49C4
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:19:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id F11B027A462;
Wed, 28 May 2025 11:18:48 +0000 (UTC)
Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36D6C217657;
Wed, 28 May 2025 11:18:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.166.238
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431128; cv=fail; b=LQg/5bvtuwd9paRH3CvW2U60n9mwo4fts4YZI6h8bAKNk7wO/UkmK7lclkj67AXiSFEvvU6G4fym6iq5jHpu57bEotMFbS+33MdtQzbj1LbJ7USqr0nQJLaIDMXpaz+tVXKUfl3vpqG6QmSeu/Zr5sk48w8DxXKDQDiFwsWZHgI=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431128; c=relaxed/simple;
bh=y1GhG285KhmTiHD8Pc3WnyuagbFIOpXxGLwUaExs1Xo=;
h=From:To:Cc:Subject:Date:Message-Id:Content-Type:MIME-Version; b=tfTjq8SHFmAmJDGgqmTKtHafaQPS16t8Ca2HUxoBMYvyQ64hJWneuB9xYHfc2iQdKQ90GANngkKsU3jSDMKvk1i8SZwQ3s+qm7u7zm7VmjDlLURU4oaFy3VJHphEzsxRYBXP7rLPu1SS+mN6Q2OxjpNjbhjftLRWvEbJCaQVT0A=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=windriver.com; spf=pass smtp.mailfrom=windriver.com; arc=fail smtp.client-ip=205.220.166.238
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=windriver.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=windriver.com
Received: from pps.filterd (m0250809.ppops.net [127.0.0.1])
by mx0a-0064b401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54SA2fYO007286;
Wed, 28 May 2025 04:18:30 -0700
Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12on2078.outbound.protection.outlook.com [40.107.244.78])
by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 46udmm3p7c-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 04:18:29 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=Xwgh/2JcSFqJuD30CnSYBPtAc1+LaqqglOn+219Ncu6Tg4rJgvemnsE7D1QiLNvZ1+YOOxqLZSM6pKpXr0B8zZfW+Hs+7MoXAnDkqyCBjvKKAm4iumHAFuT8xY27nJpjUqxxbNcFdi7O6nbysAppoMLQBBy4IgRNlfo7CnXBuUUjWaRUzqDYkxsID2Ed5hhcNoMtFsCYVgDEkxYemVfcrZwoVgf0ApPX15BizCt4RTSEEIkw5Ujk88paNMmvEkzRft1kIZQcDjXU8xbCOUVl3D6juPQovwO89bVPx7emY5nLGPKaT12+NRoSaY66mKtDzFfCXWixG0EEtn4iZIKBAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=/KAf8zktYntgepl6ZBlME+EV6398DKqbulC53FzwITI=;
b=WRIcBJnd2REnQtqIMNPOJIzuYqp/lbbauT/4cuMV4dnL1ge3axTUif2I07Jv1gMVl/oPGDXHakfSDZQAIG8q6ndlS789zEbNeBeXuavqP6KricUOueteFwf47KZayL6lLN1UQpyiW5EWA3Vb7KSdmVmRhH+17Ft4Xv3U1UckOPCZ533gTa5q7wq4kLr4tlEox6b123/+t1/mi6Ihhxwl9YtVzaCSv+Cie2DSDfDXMhWsCXq9Y27bSNw+ZH4JDVBXI5iSEPXN88oysYQn2Xmwqd27KmjoMXzpubbA1/KxPIuqkC8xETpXuouClfsYK8WOzPWNdvx8FSxOZ7JzxO6Fog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=windriver.com; dmarc=pass action=none
header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none
Received: from CH3PR11MB8773.namprd11.prod.outlook.com (2603:10b6:610:1cb::13)
by IA1PR11MB6170.namprd11.prod.outlook.com (2603:10b6:208:3ea::11) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.33; Wed, 28 May
2025 11:18:26 +0000
Received: from CH3PR11MB8773.namprd11.prod.outlook.com
([fe80::c241:6bd2:b212:f4b2]) by CH3PR11MB8773.namprd11.prod.outlook.com
([fe80::c241:6bd2:b212:f4b2%4]) with mapi id 15.20.8769.025; Wed, 28 May 2025
11:18:25 +0000
From: Meng Li <Meng.Li@xxxxxxxxxxxxx>
To: shawnguo@xxxxxxxxxx, robh@xxxxxxxxxx, conor+dt@xxxxxxxxxx,
Frank.Li@xxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, meng.li@xxxxxxxxxxxxx
Subject: [PATCH] arch: arm64: dts: add big-endian property back into watchdog node
Date: Wed, 28 May 2025 19:17:51 +0800
Message-Id: <20250528111751.3505224-1-Meng.Li@xxxxxxxxxxxxx>
X-Mailer: git-send-email 2.34.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: TYAPR01CA0238.jpnprd01.prod.outlook.com
(2603:1096:404:11e::34) To CH3PR11MB8773.namprd11.prod.outlook.com
(2603:10b6:610:1cb::13)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PR11MB8773:EE_|IA1PR11MB6170:EE_
X-MS-Office365-Filtering-Correlation-Id: 6f4f7c00-b75f-4e3e-8d8e-08dd9dd95cf9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?S47lYpgWtaROEkoi5VQ2qK6z5YOA4F5OKQYhNi1lAkTUfYK/uNOH0rA1f8Bi?=
=?us-ascii?Q?LQARBOTBGBC3A5uOri6YIL5cj8wYy12PUbrmRYCzBccjC8dhir+Ge7aEFK6k?=
=?us-ascii?Q?Pbixcskdg8SOEnvo/z71WkDlav95pNOnoujQiT5sPlyxycNiUuQymajnrKjm?=
=?us-ascii?Q?sfsHtYNBustmpjmHhIBKX4FDg+0lJV9cFcnVnrO2mEf644zW+A3eoGZFsihg?=
=?us-ascii?Q?oWvnVWo+oIwBHzncSfnfCgRXD7K5Es+awEpEgOVdjPSn1Nn973k0BIy1ZNfm?=
=?us-ascii?Q?dMM9/0EZlxxm8W5taKAQMxARksiMfLIVMic3sWZzqKle2PYQrQNFjLQwfeNo?=
=?us-ascii?Q?R1D86fIPfBekzcqPFilfvT3hAxcHGVn+fbTb7KghbNp35mSyeYGLyiier+WN?=
=?us-ascii?Q?J/iuvMAE3xp2GWUiJRS7uk0H+P4AgpIe5dbb9Cv2/tPfmAZBMiTqzapTiMB6?=
=?us-ascii?Q?G9w2wtgWqmAhNceO2yPxVif5TuNd4GDyiCk1Sx/qHLymw244VIM7aggmYB0l?=
=?us-ascii?Q?F0p9CtLZY69Ka6Ad5VwiRmdrwTC3PV2FKsvenb0KneIKRi4YAFP7paSMQWAE?=
=?us-ascii?Q?8A3sWK80y8padSjM4GuHmVaKUcrGk0r2xoo1kbUh6Q4JZ8qo0RZUoWOvMURt?=
=?us-ascii?Q?Ked7lPMDT/qszDuSoDG3YNaXaE4YFXe3/fyMEgQuVzCCI3nPlinuNGS7z6pk?=
=?us-ascii?Q?16XkR4jdbvliYPqexfjBYnISgMmxpgVshgKyOW/c2jUv0izbgSJpLPEveoti?=
=?us-ascii?Q?KfGbJyA4QExTtpdHyqjOfTzTgN8h5NYoe4kQCv9kVvATNOD8UDTcaI89zx/l?=
=?us-ascii?Q?ZqhXXo3Ijr9mhgW4c7m3msLIDutSaiEav3bvddKQMIvdWM1H4p3ub3GY4gUr?=
=?us-ascii?Q?kL9Vc31R8n/iKN2o3Hu7zyDnn6MRNWxCpJJ3XLQ9VHwqG9r4y2868qc2VFtJ?=
=?us-ascii?Q?hnNInEB16HcZPQNqGGZsxH4Vl4FMz50Q36LnpHiwdTIfC45ASoyn8xxSpcVG?=
=?us-ascii?Q?BuAkdy4hPQybB+nO/cMruUSlj7BAZj1H8KpMvyMzFhSRPcQg66ZQzGkj8HTv?=
=?us-ascii?Q?WqLU3wEYaIOkhUKGQLnLtCkB4FuCiGX652sQ+OCZdw/xPyL3GNhhDOOTFTA7?=
=?us-ascii?Q?Q4oUv854dUCPElLqXnAFGgT/ZPGSWGSfO7kWTfKfLja3dQ3fFAOf6rMbI/Fr?=
=?us-ascii?Q?0rM8WvHtXadLQBFM6+FYdGJbLJZSESRtfDoi8dxOVS/BZiJ8c6NGBOzX+EWu?=
=?us-ascii?Q?aNQCE03Uo+G7HdYkAI7pxTY6oRMIrjXQNbzEJ60f5D6b7SuEPef2+UMQ45R+?=
=?us-ascii?Q?rh24PyRhyA4Ru5huC6fwbcBMafNI/2GNQ6H6nVt4oF2MgnraCSlnYTrWQRsP?=
=?us-ascii?Q?uniEU1uHLa9OLzBukUeb/jmaBdz2hXPaB5PIkPZboGhARvOAMZ3hPxshGB1G?=
=?us-ascii?Q?Ir5Re9dMqKzcfeiG9871IhNctYtRoMvCnmDXOZKJ8U1UIQj07cvWIyqZcduc?=
=?us-ascii?Q?SFFuFwpNU+O0MLQ=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR11MB8773.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?AWydo+DRGY+BM1OAPnuDuHhZBSJLMM4Cx78MX14eZ6hWxjqAMLWl5QiAyZ+4?=
=?us-ascii?Q?GUEX3FK4Lyi9jXr4sSD7bQARQpG/W9GXgJIj8Dd+ql7ijADLjSZFpZGRUvj0?=
=?us-ascii?Q?qTx0filjpea2Z/2qRaTZG8SIRgvNNSTHDws6CxcLZJXbZzev+fP1QB2qF40X?=
=?us-ascii?Q?gWt8qY+YAv8SF6lC2BeSTMZda3LJFbHaQ6ogpMLclHcNFL++gvo2RCMPjvy6?=
=?us-ascii?Q?XZhcI2Or8op4XJbpBW6OftUDNmkZSTEiunoDHrhwscQRPXjSnbPAaYpAooP3?=
=?us-ascii?Q?U5hCKePgSKAJJCMCtRf4DOibEbX4njiphDQ3RclR7gZLYG1+t6WKdmMfD4r5?=
=?us-ascii?Q?2yAZbUehJ+UGUpbspXBxlxlquMBADmUxpMlCtkCq+iOt4r+FZRbK9u1NV2kw?=
=?us-ascii?Q?YE6c89uBx5GVS8v/DRUg8wI7XJVmm4uPoIOR/guwAY7ZNmIxwfW21sH+WCks?=
=?us-ascii?Q?lDsNRWMhp/QszB9HJOxxmX3XFbTBghkos6SKHF3kuXgqH8ssBZvA9pQEOzRM?=
=?us-ascii?Q?+yucliPdnXPaxZZtIMmxchlWVfNxtuNuJJZi6zOFmRKgcQ4Lz7P8405hw4fn?=
=?us-ascii?Q?NalIPs0uhCv5pTW+fGmh0qWgrD42y3wENLER2uXkE9/2zTceSwRDTLv7olTF?=
=?us-ascii?Q?YIP082yZ5+rLmnkrSLG9HW323TezK3OabFvbq37+Xl2cmr8QNnGGK5JzbmVh?=
=?us-ascii?Q?j9N3kUzb75Ru1IRqT4wgDFvTouDW5kPk33pD3/DHIyAI94kioWCiCqQl9Sgk?=
=?us-ascii?Q?wYnahynE3QmPCd+DhW77SAkpBJPMeHQs3N7MWHSaeiwkm+yqz4th7ZJUxl45?=
=?us-ascii?Q?oEc6iDxhN8zovwHexmkt9MjZ6WJ9QzzGrxG0OLAbGHDnH44g9nP7TQkvi1+g?=
=?us-ascii?Q?O1JEDu+Xc3xZe3r386ovd8Xa4vWmNQkas3uX2rqdm22+vQ261BYlrga/tsug?=
=?us-ascii?Q?H6JClaf8Xl218N82wGr+6RPtfdUNMHhhPkyqoFgbXESb+u7sTRBZQ2O8n8ve?=
=?us-ascii?Q?DZd2T6Lv6OPlNPec0TqQ4uS/lAjSSScOSWc/FxrAtoFf9f3oeQ5jgD+6Q+Ig?=
=?us-ascii?Q?ejl+SX51lKYUhzBiB1zconPd5dnBsotfJ5TrykD0WbVKvBqa6K2O2MCVIaA/?=
=?us-ascii?Q?0324tJDppEx7A/jv4siO5QyNnQmW2q+vIpW2YqFVoswn7AttAFU3r7BQ+Lfg?=
=?us-ascii?Q?D9JGia6U7m/BuUiGD/cs7yGM0XgFD7PbgvOxW3vc0cxMjYphF1KuczuEN1sO?=
=?us-ascii?Q?hH8285ictMcQ/V+j23b4FfR0kCGILn6Qp+GJjefrxXwVjEuVu1ZVcxHPw5NV?=
=?us-ascii?Q?xq7k1BDZ5PAUGAAAgmnMZ8oKO6eWo6/RlqG6NmAulJzSLlD1LZNfkQUxH1bo?=
=?us-ascii?Q?lcabMmwtqpChCjWa5/A2vklUOFkfi9bAXJbivOhReWhlORYFfO6i9B56WFHd?=
=?us-ascii?Q?SBYdM4FjDBA+ritHF2S0l7sCb9Y8HuyNzivyMqZdfwgZmTZIJjOwi4Q1WAns?=
=?us-ascii?Q?eVbkZF7R3qkX12asWCCtQQA6KWSFPrWwsGCD2bLlRNgmGYwhUoTOv03ryZks?=
=?us-ascii?Q?lVPY4dF68Vzzp5zV08j6pA6s80Yy7iTRKvzMl+E0?=
X-OriginatorOrg: windriver.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f4f7c00-b75f-4e3e-8d8e-08dd9dd95cf9
X-MS-Exchange-CrossTenant-AuthSource: CH3PR11MB8773.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 11:18:25.6356
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E+OsysrgMNFgLKnBLHFviZNJ6f/B0F+9VC9UO3Ctgr/vv9Arl0wmF3pnxY9e1KHrPDawbkWlr3arQJz+vjB1iA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB6170
X-Authority-Analysis: v=2.4 cv=WpErMcfv c=1 sm=1 tr=0 ts=6836f106 cx=c_pps a=YRgUXLKpRSw5ivdzyhLaqw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19
a=xqWC_Br6kY4A:10 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=t7CeM3EgAAAA:8 a=0RPOJI5F6hdgO72ru6IA:9 a=FdTzh2GWekK77mhwV6Dw:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5OSBTYWx0ZWRfX2aSUGddMF9iJ jFyOepTmtxeEw6yG3fm/EyP//8rYSF1KZkb0DONCKcq0uZcbiRDswpNiqkOMHsITsS5I4camAPJ p9oM+koilqZWxXMDLeo00wJwWmTEN0DqRkCE8m+LPT9h+cM3ZLPIRe8tUvLReEkdaw31yEU0PvB
Q1evgVA8ecNfT2MGEPx/nopmmWbDX9hQUxpi61y2s9CKlpSyNb3UllU8+B1/h7yYsQfJE/9ir43 MiH1it27/9+HLCYh/qPryseQrDk2mhOG4+p113FL7nW14kDaO3/0VdsiIM/13lbtIy10NS3VgWV Uw/1e8AZlScn8rSN4dKHs7oOt16Ewarlr5kH3HnyKSK+hofcx0Eg5gsSb2p33A4sosvDXa7rI1w
UGDifxzcBdCQWe6T1BbIlBrG8leQZ835OK2hsF47iusKN2+lcqVM2FlrfDvO/Win4iynEcYP
X-Proofpoint-ORIG-GUID: qWPEL2-eBN6llFP9oBaBKg19aK5f5b2x
X-Proofpoint-GUID: qWPEL2-eBN6llFP9oBaBKg19aK5f5b2x
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=834 clxscore=1011
mlxscore=0 bulkscore=0 malwarescore=0 phishscore=0 adultscore=0
impostorscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0
spamscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound
adjust=0 reason=mlx scancount=1 engine=8.21.0-2505160000
definitions=main-2505280099
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
When verifying watchdog feature on NXP ls1046ardb board,
it doesn't work. Because the big-endian is deleted by accident,
add it back.
Fixes: 7c8ffc5555cb ("arm64: dts: layerscape: remove big-endian for mmc nodes")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Meng Li <Meng.Li@xxxxxxxxxxxxx>
---
arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 4d75bff0d548..e15ec2e1cb04 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -753,6 +753,7 @@ wdog0: watchdog@2ad0000 {
interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
QORIQ_CLK_PLL_DIV(2)>;
+ big-endian;
};
edma0: dma-controller@2c00000 {
--
2.34.1
Return-Path: <linux-kernel+bounces-665366-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id B330B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:21:57 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id CC9944E2F69
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:21:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BDC1D280CC9;
Wed, 28 May 2025 11:21:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Lx+9zGeZ"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6620927A930
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:21:47 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431308; cv=none; b=sDq89lLMTsn46zUhtQNMcXn8LPHhggnTN10mFfUKMvRCQieg5zzMSA53dy4dsigYpiek95lVknaQbqFbTsIW2ojE4c9E2Q4Rgu8IEAfQPYqCBskp7QSftQCNi3skVk7c9hbg7pHG8DcrGubiUU5P9sPG3eLXARmqnZtBgRAYXTI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431308; c=relaxed/simple;
bh=/UcgCySqUpB/89J9+RaBTEGFV18FMLWb36c4Almm0V8=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=AM51AZ86nNE1GeFenf8F51aeLAXmm6JxEGYjpxVLcTU+m0n2NR7gswzaRiPGVNn+Su9u4a4K+VPIhJMjvN26Foc2UhmXs/jklO9GlZxZMDYfPpgDztQVT/2A/CXeDTAKhBYWRI5YbxWlXG/NKK+2bbhb9y3tQpjyGo1565pzgFA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Lx+9zGeZ; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279872.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S6olY2001380
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:21:45 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
9bAT11ZfKjJKGGVmpodWoHslwkGL/815tY2xb/sJYVE=; b=Lx+9zGeZWc4O7LvE
/Sqi0FVCe0WbKQBpo3dIoiO0lO/yQLZcm9/b6CvCLabOsJqDZYo7uF9pz3Jg7slS
dAgD8ITJo97QN0O5Lw+mlSlLjl5bB0d/fgktwXJER6/BN1Y8c/iZPMlWoargKOuF
//doCeBNwS5DuSzS72B2VG+ZBnVI/ZjXhzM212ug7j/kwDeNZP2LEyCuk/msOio5
CwaZIGxOSfOAcyY8uyzIC3ROUervBqJMrDBzFVQ8zrEPULzZncUJVzUXWDIORrHf
VYuc9C2QijSxbnJ5qLMOL2Q8+yIe8PofsLD9d+q5qohS4k+Gzxdd+NNFqYQByYQU
Wx7KSQ==
Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u6g9216s-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:21:45 +0000 (GMT)
Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4a42e9c8577so595471cf.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:21:45 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431305; x=1749036105;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=9bAT11ZfKjJKGGVmpodWoHslwkGL/815tY2xb/sJYVE=;
b=dNxz71okkA5akN+1RWhuFBhIxwMiwS4s6SxX/8QpYTp6FgeW86rPbgl7IOTGGDUK8I
dJtNAva121H+oeGS+jUFJRkPSxvdx1Y1ABukOVl1JyIUwSkp/O+aB4yvv7sNzjZKdKHw
VMNk6Jv0c+MCxFNkAM1N2OJNbch1JbufpbZtcn6t/zl6nqqfphfkrnOqJCVBSCtBvGPj
uZNYbGASgQygomg3l0CoxNvXDJI8Zzt5Oq1xLe529qBLL6uBOGpjHNvn4FKFH1KgMeCC
Uio0nUlvua1teIw0FnZ+mRSntrg9FpVYJ17jYEz6fdLq3GMZIN6BUwrm/OePvmWq1Uh3
ITWw==
X-Forwarded-Encrypted: i=1; AJvYcCVf5Ty1iG5JCY2HMOeEahmqJS8ugZ0C40M8EhCe+ZgqWu4CodsRHTSN0hQG59nfRpHa1pT+5dGWpqs7rQY=@vger.kernel.org
X-Gm-Message-State: AOJu0Yx8AQg3xrBPeg7YQeBsqsExbgbZZHAunxr9jS+GxJp8XvH7Y2g6
cfN+1bvfoSGuDeK1Cu5PvSSoJyXHsC0+C43f/f8NT153WQ5woWVPBcvFmhwKmr6qUYSWje5bAFZ
DOEgvMGXqcAz/oiL9BOF/+v6LrDNJSchVHXKM1bsRVtdQRDDmqT8qDmDCAuscbO/EZxk=
X-Gm-Gg: ASbGncsBN5uBKvo9wv0Pv+58i1zb4dGbcocvp4hRYjM0NVSaMhRJacfsAETP4r2IBfs
PDjZZ+DdTfuAR9fCnvXANZrWiDqmf9P5nGeItDEKoXwJmw+wXn8yoCBvkxJLbGiVtCcoHM1kkco
ilKBH0dsL1SA6mJIt9PEF1EFgLXoxNRZJD2x421zY0P4EJVB3C2XQ0VFHiCDw8Kqep6d4l+YloT
jKUjRgNE0+5B5uBm0uFZUuHfAX3lVUfBg72zlsifAt3ffks6LZfccTyeBZdn8qSHauHCudLgmEB
vVLYgk/Jo3RqSk/V+Kf0HwMB/yJi7jHZ1yloOnUjRn/496oDCUAI+jRfuYfDz1NRzw==
X-Received: by 2002:a05:620a:25d3:b0:7c0:be0e:cb09 with SMTP id af79cd13be357-7ceecc07040mr848642485a.7.1748431304377;
Wed, 28 May 2025 04:21:44 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEBvuxLKRRnuO1P1rH+NgkpcQepZxMKfBgi2vjfV6Eobw9Q53DPNgpHnFg9UlEZoCbyi6pIkQ==
X-Received: by 2002:a05:620a:25d3:b0:7c0:be0e:cb09 with SMTP id af79cd13be357-7ceecc07040mr848639785a.7.1748431303989;
Wed, 28 May 2025 04:21:43 -0700 (PDT)
Received: from [192.168.65.90] (078088045245.garwolin.vectranet.pl. [78.88.45.245])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1b47a0bsm90628166b.132.2025.05.28.04.21.41
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 04:21:43 -0700 (PDT)
Message-ID: <8692f79f-142c-43e6-9e09-7ed4ce590b87@xxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 13:21:40 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/6] phy: qcom: qmp-combo: register a typec mux to
change the QMPPHY_MODE
To: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>,
Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx>, Vinod Koul <vkoul@xxxxxxxxxx>,
Kishon Vijay Abraham I <kishon@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley
<conor+dt@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, linux-phy@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>
References: <20250527-topic-4ln_dp_respin-v3-0-f9a0763ec289@xxxxxxxxxxxxxxxx>
<20250527-topic-4ln_dp_respin-v3-5-f9a0763ec289@xxxxxxxxxxxxxxxx>
<itmvwhcf37bmnpadcyc7kdt7wx3eljyjwyv64s24zwhbr2e45g@76uzcpjqzx22>
<7f464eb7-469c-4350-a43a-3b99394ad689@xxxxxxxxxxxxxxxx>
<7icpna4l7z63gs52oa5lqf35puib66wxxmqqul6ezdkhuziaqi@mvkf73zz2iyj>
Content-Language: en-US
From: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
In-Reply-To: <7icpna4l7z63gs52oa5lqf35puib66wxxmqqul6ezdkhuziaqi@mvkf73zz2iyj>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Authority-Analysis: v=2.4 cv=d4b1yQjE c=1 sm=1 tr=0 ts=6836f1c9 cx=c_pps
a=JbAStetqSzwMeJznSMzCyw==:117 a=FpWmc02/iXfjRdCD7H54yg==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8
a=cytkdih20WZ3R2VHWB0A:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22
a=cvBusfyB2V15izCimMoJ:22
X-Proofpoint-ORIG-GUID: Ym7r0dODF0yQ7jwKI8Qpc828sbwW22II
X-Proofpoint-GUID: Ym7r0dODF0yQ7jwKI8Qpc828sbwW22II
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5OSBTYWx0ZWRfXy6Od7YnHuesX
42GHYGG+1v/4iWCJ6jhMBpQkK0P/ON6tHAaEkIkPUtla6h3Hl6/XW3Q1LMSLK0fggOsc5AJjlQi
7rmRgWqstHn7NjHSgJYyrWvs/b92bXeMFAuGf0QVmrxxIOG3Vzy14Pe6yPNGHP+FxATtzjFR3Qs
jaabq/vix/XOS8UH+P2z1EEyZxwAdZlFNWqnw4HivAS3q6o4y31rJlclny+Z5YzPNSwLH3Yon/u
UvFejMn8IZqydbSRNKvMucMRBRCGa/nbiSFpb18yPdwSrm4l1FvkzjlxtenKrl4ps+ab8CZlymR
qbn8E4+Bdx7D0npnE4GvYJEqrBk98oAMb80b2tB8NbsDlSusPh0fn8497L+rhS377JSWmHS8R7H
n3H1KtLmR6ahxwBYLqF0Zf++8KueaIPFYasJPX2S4TjnX+SczKydeP9cAQJvj85HmdvMLpeu
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=999
lowpriorityscore=0 priorityscore=1501 bulkscore=0 spamscore=0 clxscore=1015
impostorscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280099
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 10:58 AM, Dmitry Baryshkov wrote:
> On Wed, May 28, 2025 at 12:22:01AM +0200, Konrad Dybcio wrote:
>> On 5/27/25 11:55 PM, Dmitry Baryshkov wrote:
>>> On Tue, May 27, 2025 at 10:40:07PM +0200, Konrad Dybcio wrote:
>>>> From: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
>>>>
>>>> Register a typec mux in order to change the PHY mode on the Type-C
>>>> mux events depending on the mode and the svid when in Altmode setup.
>>>>
>>>> The DisplayPort phy should be left enabled if is still powered on
>>>> by the DRM DisplayPort controller, so bail out until the DisplayPort
>>>> PHY is not powered off.
>>>>
>>>> The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states
>>>> will be set in between of USB-Only, Combo and DisplayPort Only so
>>>> this will leave enough time to the DRM DisplayPort controller to
>>>> turn of the DisplayPort PHY.
>>>>
>>>> Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
>>>> [konrad: renaming, rewording, bug fixes]
>>>> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
>>>> ---
>>
>> [...]
>>
>>>> + } else {
>>>> + /* Fall back to USB3+DP mode if we're not sure it's strictly USB3-only */
>>>
>>> Why? if the SID is not DP, then there can't be a DP stream.
>>>
>>>> + if (state->mode == TYPEC_MODE_USB3 || state->mode == TYPEC_STATE_USB)
>>>> + new_mode = QMPPHY_MODE_USB3_ONLY;
>>>> + else
>>>> + new_mode = QMPPHY_MODE_USB3DP;
>>
>> To be honest I don't really know.. Neil chose to do that, but I don't
>> think there's a strict requirement.. Should we default to 4ln-USB3?
>
> Yes, QMPPHY_MODE_USB3_ONLY. Nit: there is no 4ln-USB3 (it is a special
> mode). We handle 2ln-USB3 only.
Right, I double checked and we support SS
>
>>
>> [...]
>>
>>> Consider the following scenario: connect DP dongle, use modetest to
>>> setup DP stream, disconnect dongle, connect USB3 device. What would be
>>> the actual state of the PHY? Modetest is still running, so DP stream is
>>> not going to be shut down from the driver.
>>>
>>> I think we might need a generic notifier from the PHY to the user,
>>> telling that the PHY is going away (or just that the PHY is changing the
>>> state). Then it would be usable by both the DP and USB drivers to let
>>> them know that they should toggle the state.
>>
>>
>> If modetest won't stop running even though there was a DP unplug
>> (and therefore presumably a destruction of the display), I don't
>> think things are designed very well
>
> They are, but differently. Display settings are always controlled by
> DRM clients (typically, a userspace compositor). They can decide to
> send data to unconnected display, they can decide to ignore HPD events,
> etc. Even if userspace responds to the event, there always will be some
> delay. I choose modetest, because it's a particularly good example of a
> delay going to the infinity.
0_o
Konrad
Return-Path: <linux-kernel+bounces-665367-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1123A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:22:38 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id E780B161E97
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:22:38 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 92C0D280A57;
Wed, 28 May 2025 11:22:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="zQVoAbyh"
Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 039B96A33B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:22:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431350; cv=none; b=qEMso0FHg5rMyipAQmTdxcX6+bASYtRv614bNcWNnq3iE7BkLFt/+8WoIKEA9ucVnhncPLvGZWXKTLznrh7/yZVPmzT/UClxHm08s9VT3TyrqHQZR3oyZjFjEwv1vaHG5Oek8xc/pZbAjP/jUhCUgosVcZc4v9LsSO4usNDKgik=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431350; c=relaxed/simple;
bh=10PVymAmcGCTR/6W21iG1eqNwdFqvazhU8h4mfFwtLs=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=NPcqnZHhaVOcWvQ7tKDsMDysLKprXWfuKkv9/6j0ykLtFxc9wgLCfgT2aYs3+eqeUZGBSSxVUMHNwGexS3DNRvCy8YRSfzwoMUaOvhbY8F5TDTsXjrFSd+1KPozlNVvZam4H/keEu3FZOoQ4EoNDhDQEVL6g1RQL6Jn6mOpkoD0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=zQVoAbyh; arc=none smtp.client-ip=209.85.221.51
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3a4eb4acf29so69359f8f.0
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:22:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748431347; x=1749036147; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:autocrypt:content-language
:from:references:cc:to:subject:user-agent:mime-version:date
:message-id:from:to:cc:subject:date:message-id:reply-to;
bh=tRdSg+ES8rqgc/LyI/xNmB9YhTxqTSjvA2Sa1o6EE/k=;
b=zQVoAbyhV3Ypd5KuJWvKh2KkoFsp+gi0YEL4rV0h/9Y8E8jk9AGxMHcug/sB+Sh7Ye
XhuqMJhyKHbgyAl5hmPv7ucVOlTUaGuS5UBnTYeOqd1hflFt5V/DKTAKm8IC/1HHuJyL
8st1S/8rjEKOMJJRoDQLAR5cqC0j7cmW+FbYdqdQeB2lN+XIJeROUQ7HftOm6r0L1NLp
c5h8D+njsxXpZJej5mmc9oYvzwiHhudT8EkCvvR38Vbqm+o7GdmY4kfUPWRQNkN7yPIS
l3ItuyeLHnH061rJzzdVIyY8j/7T/kLenRIMQqg9ersbt59/EhM8RsMS/ToyD3mgDpsX
iZYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431347; x=1749036147;
h=content-transfer-encoding:in-reply-to:autocrypt:content-language
:from:references:cc:to:subject:user-agent:mime-version:date
:message-id:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=tRdSg+ES8rqgc/LyI/xNmB9YhTxqTSjvA2Sa1o6EE/k=;
b=IK1J9Tw6wHH8Whee19gjdXSqD49NXJU+aqN4VbmMx0wkZbMdPxo13szSwhgN91fvZQ
1uff36f8u/dSVUDW58k6RBk+8hEXVVS4I0wfZc5uZj/dY1y4wPLdVfzA4JaaOQBKc3Tq
YQS1Krx5ye2pw06NzoE/UpXpSF6S+BvG9awpsZ0YK4qKGsPdgyiO/o7OuHaItX9HaMMV
Z4OJIIEhxb/zwyF4ji2LxoNJqwTjN57NptLpZuI1FZAlnwa1JTIvB9woSR/wQFzJgEL4
y6ZFhhuvqPhJ5j1HCrP2nChx21C99bI7/+RnmRjBXQfL/IDNQU7JkRjp8vd75MAXQqVw
LKbw==
X-Forwarded-Encrypted: i=1; AJvYcCXIUU5h7cpeoE2IIsYalFWWDaou/xaxKZ9Mu+0knJpBbrY8FsjO1psmqhX+Kz3HS/zjZ2FQvZorusjRXys=@vger.kernel.org
X-Gm-Message-State: AOJu0YwzpqxDwe9/zKdngi/WUiDEdoIQqHh1DGOQIRPUpKVzJoGF7I0+
1d3zCPAyYhYRsNhBjbhs1cQDf4f7Gei5UDBd9fLAlNTpF5DdF1kwSP0BTS5qaWWO2SU=
X-Gm-Gg: ASbGnctUSl8TLyBKIzUQO2rSKgg9nU+8kltse4dk8qwcIK6VPHNz/a1N76jKaYpP2D3
Hw+vhQhTzpMUucMJfjdEDEKMrPpNVjWfsD7//GwGGEZpAEr27SUMe4RT6O26eNKpJXEtqVlSkSS
6uh6V1JPJtnLVIHWEUgDmbD4dmgwvHzGZwGWILA0w7QQPlAhJQXu+L9+OoZWVFK0hYba7rKQfiD
4IwFMvN8Sen3D/ql3ms7nsxugldQPeKkr9edDqW8RMhq1M6b5zXprtLInCcS0z6YZbiVALaSelt
JpYETFq6WhAFuK89YkmiJNpGzY/pqPjshsuJ/a7R1nBcfMs5UCXK73MXWYXl+oN4bEwB1C4=
X-Google-Smtp-Source: AGHT+IF10Djn/+417XqgzjwYR53SwB6YsQXDnUYQvUgzphkE8hm7GNKdlPw/JrJhOZ3z/6T2T6Nnmg==
X-Received: by 2002:a05:600c:1d0d:b0:43b:cab3:1fd1 with SMTP id 5b1f17b1804b1-44c934e5f3cmr49189875e9.1.1748431347165;
Wed, 28 May 2025 04:22:27 -0700 (PDT)
Received: from [192.168.1.29] ([178.197.223.125])
by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4509a0452f4sm13604245e9.28.2025.05.28.04.22.25
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 04:22:26 -0700 (PDT)
Message-ID: <71db5dad-de6f-4573-b764-cba5c28e271d@xxxxxxxxxx>
Date: Wed, 28 May 2025 13:22:24 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 7/9] arm64: defconfig: Enable BST SoC
To: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>,
Catalin Marinas <catalin.marinas@xxxxxxx>, Will Deacon <will@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>
Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxxxx>,
Geert Uytterhoeven <geert+renesas@xxxxxxxxx>,
Dmitry Baryshkov <lumag@xxxxxxxxxx>, Vignesh Raghavendra <vigneshr@xxxxxx>,
=?UTF-8?Q?N=C3=ADcolas_F_=2E_R_=2E_A_=2E_Prado?= <nfraprado@xxxxxxxxxxxxx>,
Taniya Das <quic_tdas@xxxxxxxxxxx>, Eric Biggers <ebiggers@xxxxxxxxxx>,
Ross Burton <ross.burton@xxxxxxx>,
Elinor Montmasson <elinor.montmasson@xxxxxxxxxxxxxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Ge Gordon <gordon.ge@xxxxxx>
References: <20250528085459.481424-1-yangzh0906@xxxxxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzysztof.kozlowski@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzTRLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnp5c3p0b2Yua296bG93c2tpQGxpbmFyby5vcmc+wsGUBBMBCgA+AhsD
BQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAFiEEm9B+DgxR+NWWd7dUG5NDfTtBYpsFAmgXUEoF
CRaWdJoACgkQG5NDfTtBYpudig/+Inb3Kjx1B7w2IpPKmpCT20QQQstx14Wi+rh2FcnV6+/9
tyHtYwdirraBGGerrNY1c14MX0Tsmzqu9NyZ43heQB2uJuQb35rmI4dn1G+ZH0BD7cwR+M9m
lSV9YlF7z3Ycz2zHjxL1QXBVvwJRyE0sCIoe+0O9AW9Xj8L/dmvmRfDdtRhYVGyU7fze+lsH
1pXaq9fdef8QsAETCg5q0zxD+VS+OoZFx4ZtFqvzmhCs0eFvM7gNqiyczeVGUciVlO3+1ZUn
eqQnxTXnqfJHptZTtK05uXGBwxjTHJrlSKnDslhZNkzv4JfTQhmERyx8BPHDkzpuPjfZ5Jp3
INcYsxgttyeDS4prv+XWlT7DUjIzcKih0tFDoW5/k6OZeFPba5PATHO78rcWFcduN8xB23B4
WFQAt5jpsP7/ngKQR9drMXfQGcEmqBq+aoVHobwOfEJTErdku05zjFmm1VnD55CzFJvG7Ll9
OsRfZD/1MKbl0k39NiRuf8IYFOxVCKrMSgnqED1eacLgj3AWnmfPlyB3Xka0FimVu5Q7r1H/
9CCfHiOjjPsTAjE+Woh+/8Q0IyHzr+2sCe4g9w2tlsMQJhixykXC1KvzqMdUYKuE00CT+wdK
nXj0hlNnThRfcA9VPYzKlx3W6GLlyB6umd6WBGGKyiOmOcPqUK3GIvnLzfTXR5DOwU0EVUNc
NAEQAM2StBhJERQvgPcbCzjokShn0cRA4q2SvCOvOXD+0KapXMRFE+/PZeDyfv4dEKuCqeh0
hihSHlaxTzg3TcqUu54w2xYskG8Fq5tg3gm4kh1Gvh1LijIXX99ABA8eHxOGmLPRIBkXHqJY
oHtCvPc6sYKNM9xbp6I4yF56xVLmHGJ61KaWKf5KKWYgA9kfHufbja7qR0c6H79LIsiYqf92
H1HNq1WlQpu/fh4/XAAaV1axHFt/dY/2kU05tLMj8GjeQDz1fHas7augL4argt4e+jum3Nwt
yupodQBxncKAUbzwKcDrPqUFmfRbJ7ARw8491xQHZDsP82JRj4cOJX32sBg8nO2N5OsFJOcd
5IE9v6qfllkZDAh1Rb1h6DFYq9dcdPAHl4zOj9EHq99/CpyccOh7SrtWDNFFknCmLpowhct9
5ZnlavBrDbOV0W47gO33WkXMFI4il4y1+Bv89979rVYn8aBohEgET41SpyQz7fMkcaZU+ok/
+HYjC/qfDxT7tjKXqBQEscVODaFicsUkjheOD4BfWEcVUqa+XdUEciwG/SgNyxBZepj41oVq
FPSVE+Ni2tNrW/e16b8mgXNngHSnbsr6pAIXZH3qFW+4TKPMGZ2rZ6zITrMip+12jgw4mGjy
5y06JZvA02rZT2k9aa7i9dUUFggaanI09jNGbRA/ABEBAAHCwXwEGAEKACYCGwwWIQSb0H4O
DFH41ZZ3t1Qbk0N9O0FimwUCaBdQXwUJFpZbKgAKCRAbk0N9O0Fim07TD/92Vcmzn/jaEBcq
yT48ODfDIQVvg2nIDW+qbHtJ8DOT0d/qVbBTU7oBuo0xuHo+MTBp0pSTWbThLsSN1AuyP8wF
KChC0JPcwOZZRS0dl3lFgg+c+rdZUHjsa247r+7fvm2zGG1/u+33lBJgnAIH5lSCjhP4VXiG
q5ngCxGRuBq+0jNCKyAOC/vq2cS/dgdXwmf2aL8G7QVREX7mSl0x+CjWyrpFc1D/9NV/zIWB
G1NR1fFb+oeOVhRGubYfiS62htUQjGLK7qbTmrd715kH9Noww1U5HH7WQzePt/SvC0RhQXNj
XKBB+lwwM+XulFigmMF1KybRm7MNoLBrGDa3yGpAkHMkJ7NM4iSMdSxYAr60RtThnhKc2kLI
zd8GqyBh0nGPIL+1ZVMBDXw1Eu0/Du0rWt1zAKXQYVAfBLCTmkOnPU0fjR7qVT41xdJ6KqQM
NGQeV+0o9X91X6VBeK6Na3zt5y4eWkve65DRlk1aoeBmhAteioLZlXkqu0pZv+PKIVf+zFKu
h0At/TN/618e/QVlZPbMeNSp3S3ieMP9Q6y4gw5CfgiDRJ2K9g99m6Rvlx1qwom6QbU06ltb
vJE2K9oKd9nPp1NrBfBdEhX8oOwdCLJXEq83vdtOEqE42RxfYta4P3by0BHpcwzYbmi/Et7T
2+47PN9NZAOyb771QoVr8A==
In-Reply-To: <20250528085459.481424-1-yangzh0906@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 10:54, Albert Yang wrote:
> Enable BST C1200 SoC support at ARM64 defconfig
>
> Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
> Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
> ---
> arch/arm64/configs/defconfig | 2 ++
Squash with previous.
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665368-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7AB5041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:22:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id DEA697A396A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:21:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 21C8F1E8854;
Wed, 28 May 2025 11:22:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="s5i9bndD"
Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8AB57280A51
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:22:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431354; cv=none; b=AMtVrwB1YuiWX1YxawsYI4N6J6z85x0i3XIMhDCx0KzbFGq14NWUpYb9SbZZUA1pF3FiRJfSrnafExMbj17pMcQGpPDQ3nfiNjsUgBQG+idORymWjKvB6RSq9cNh8iNl7bl9GtFt+DpMZmDv9Ddyb47IrGMmFjhTE0ktkmWnnYU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431354; c=relaxed/simple;
bh=dGay5GEaCgs3Evn7kiNWMaKleoTY7yUgWKtAJy1x6Pg=;
h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References:
In-Reply-To:Content-Type; b=u7pMmVw6A8or1c4gT8saQEKBJTa0D8kwdpr7bwkqIdN11gWN3ibco7JXMwwMULTIYAre+r4wkTpTJekEWjKRL9win3BW7lZbYmD9gXmzTBUPiwEng/yRrSBrjjttifU8iHbyvSfeyToYmk9ugMk9P1CHe/lUvtjWlbnhlppfhrA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=s5i9bndD; arc=none smtp.client-ip=209.85.221.41
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3a3758b122cso2785669f8f.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:22:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748431350; x=1749036150; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:content-language:references
:cc:to:subject:from:user-agent:mime-version:date:message-id:from:to
:cc:subject:date:message-id:reply-to;
bh=x1wmNFCteFQvjcvkw+beYXhxykf9CQu5mcRPT6RwrJQ=;
b=s5i9bndDNxnbJsRRgv9oSWwZjaVnBQUUnyVzGnBqXlLYYBx5Eavy9PS2bPhLRiec5o
c3gBvogbu1dr5KKzbqmS/5/RooSkJTgt/hw7Fikcv3Rn/a6PnU8tDVQpKD1xau8FnwsV
LVwII2ZYAUbjNCapzSaYk4Q7JOCgC8EVHwDozi7xqAHlg+DyIrp271GTWD7RDLUFjJam
5EEH7S7f8NJly1lzxvnR9TMkb0uW1khxfuufFLfVOEczlyboB9zVWe9j43YkKPc8Fx58
I6M8LymodeeglFVmerteAiDdhCmx4Xbm8ulkTBeLbimnMTfR2ihk5ePq9DLcwuRNPAx5
5xvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431350; x=1749036150;
h=content-transfer-encoding:in-reply-to:content-language:references
:cc:to:subject:from:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=x1wmNFCteFQvjcvkw+beYXhxykf9CQu5mcRPT6RwrJQ=;
b=jCEicAlpfwETD8+YNi93MLk2w/Gfvnn9q987WuEmk+JaE44Aa0SrIjDc+oRVbN+vmu
Ne2LwmNuoQLtART5cq8h9a9B+/2wwIl//97X5x038RI23NA/nhHD48KWiB0Go6cp9VJB
3LCNjUCAOSeROF2GPUrslY6qDhnoK/Lea83s3IBNmJDXB2H/8lrIrL8tQn9WYpTHGskV
HhHQ7pUpk3NvuDu7J1C7Qd7yT1NWRezizbVdr9zIcuhwUtkWjnKeJwkp86p+5Null3Gk
aGNYh1RmChXYKZU3N5Wu+Jw6dF03oMqsGn3DBivGyOIhJGZGlDE1kATQHbVZIej2tFCI
Eghg==
X-Forwarded-Encrypted: i=1; AJvYcCUJUoE59vEb7pDSmAG4cTfr8H1mcQMvflaWDItxNvO7Kas+o2sxQkV3zVvxaMCdMCUrjvMl2oBWM+Q8Res=@vger.kernel.org
X-Gm-Message-State: AOJu0YwAMnERHWY2rm4piuVkdg69iubocxpf3FR/Beq3GA/EevXJ+9Zd
K7KwlEuL+ORxIVZCQN6oQarglYlDmfacBCR18nru8lYwKJrnzEZhhcQexnWeDfgWzis=
X-Gm-Gg: ASbGncs9o2T9uow4CJEcMStQoIe3cfcA+onic2Ao17Bi5H5aqXk4LPbd740LVxmIBgR
3igLHiWFO1ZvIKH2v+Z5nvXsmUvzc88pl5CSOFf+o12AmdYlRHt/7KjjsiEZSGMShKSGUPxrv7f
6XIb7KleV4nG6CItC4+dRBBrfzjqa2/PHSMor8Q7YeK+joRhDTqXNlzz6PmXNjzrd3PtoCMTbNS
kk+yi+8SWu88zGdX7ziIOCJn19uZYZQZuVuUTL7K+lwAYZDvW33di0XBgRd5Hu2JIEm1r6CwCIn
H7dDOuI5CpHmg83X1GcBmZMIjAfuft866SqJYD0LhHFE1DB0n9CumpYOFp0=
X-Google-Smtp-Source: AGHT+IHu2BF42kNiuIy1z+5pAukmZK8j1poSZ6IXSr+HxLW4ZC3Ou+VtHvrYEWOPGd4uoBcNJEAYGw==
X-Received: by 2002:a05:6000:2505:b0:3a3:6e62:d8e8 with SMTP id ffacd0b85a97d-3a4cb4a9776mr12850388f8f.55.1748431349621;
Wed, 28 May 2025 04:22:29 -0700 (PDT)
Received: from [192.168.0.14] ([79.115.63.75])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eacd78ddsm1217811f8f.77.2025.05.28.04.22.28
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 04:22:29 -0700 (PDT)
Message-ID: <3a47fc82-dc21-46c3-873d-68e713304af3@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:22:27 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx>
Subject: Re: [PATCH 24/25] PCI: Perform reset_resource() and build fail list
in sync
To: =?UTF-8?Q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>, linux-pci@xxxxxxxxxxxxxxx,
=?UTF-8?Q?Micha=C5=82_Winiarski?= <michal.winiarski@xxxxxxxxx>,
Igor Mammedov <imammedo@xxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>,
Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>,
William McVicker <willmcvicker@xxxxxxxxxx>
References: <20241216175632.4175-1-ilpo.jarvinen@xxxxxxxxxxxxxxx>
<20241216175632.4175-25-ilpo.jarvinen@xxxxxxxxxxxxxxx>
<5f103643-5e1c-43c6-b8fe-9617d3b5447c@xxxxxxxxxx>
<8f281667-b4ef-9385-868f-93893b9d6611@xxxxxxxxxxxxxxx>
Content-Language: en-US
In-Reply-To: <8f281667-b4ef-9385-868f-93893b9d6611@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/6/25 4:53 PM, Ilpo Järvinen wrote:
> On Tue, 6 May 2025, Tudor Ambarus wrote:
>
>> Hi!
>>
>> On 12/16/24 5:56 PM, Ilpo Järvinen wrote:
>>> Resetting resource is problematic as it prevent attempting to allocate
>>> the resource later, unless something in between restores the resource.
>>> Similarly, if fail_head does not contain all resources that were reset,
>>> those resource cannot be restored later.
>>>
>>> The entire reset/restore cycle adds complexity and leaving resources
>>> into reseted state causes issues to other code such as for checks done
>>> in pci_enable_resources(). Take a small step towards not resetting
>>> resources by delaying reset until the end of resource assignment and
>>> build failure list (fail_head) in sync with the reset to avoid leaving
>>> behind resources that cannot be restored (for the case where the caller
>>> provides fail_head in the first place to allow restore somewhere in the
>>> callchain, as is not all callers pass non-NULL fail_head).
>>>
>>> The Expansion ROM check is temporarily left in place while building the
>>> failure list until the upcoming change which reworks optional resource
>>> handling.
>>>
>>> Ideally, whole resource reset could be removed but doing that in a big
>>> step would make the impact non-tractable due to complexity of all
>>> related code.
>>>
>>> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
>>
>> I'm hitting the BUG_ON(!list_empty(&add_list)); in
>> pci_assign_unassigned_bus_resources() [1] with 6.15-rc5 and the the
>> pixel6 downstream pcie driver.
>>
>> I saw the thread where "a34d74877c66 PCI: Restore assigned resources
>> fully after release" fixes things for some other cases, but it's not the
>> case here.
>>
>> Reverting the following patches fixes the problem:
>> a34d74877c66 PCI: Restore assigned resources fully after release
>> 2499f5348431 PCI: Rework optional resource handling
>> 96336ec70264 PCI: Perform reset_resource() and build fail list in sync
>
> So it's confirmed that you needed to revert also this last commit
> 96336ec70264, not just the rework change?
I needed to revert 96336ec70264 as well otherwise the build fails.
>
>> In the working case the add_list list is empty throughout the entire
>> body of pci_assign_unassigned_bus_resources().
>>
>> In the failing case __pci_bus_size_bridges() leaves the add_list not
>> empty and __pci_bus_assign_resources() does not consume the list, thus
>> the BUG_ON. The failing case contains an extra print that's not shown
>> when reverting the blamed commits:
>> [ 13.951185][ T1101] pcieport 0000:00:00.0: bridge window [mem
>> 0x00100000-0x001fffff] to [bus 01-ff] add_size 100000 add_align 100000
>>
>> I've added some prints trying to describe the code path, see
>> https://paste.ofcode.org/Aeu2YBpLztc49ZDw3uUJmd#
>>
>> Failing case:
>> [ 13.944231][ T1101] pci 0000:01:00.0: [144d:a5a5] type 00 class
>> 0x000000 PCIe Endpoint
>> [ 13.944412][ T1101] pci 0000:01:00.0: BAR 0 [mem
>> 0x00000000-0x000fffff 64bit]
>> [ 13.944532][ T1101] pci 0000:01:00.0: ROM [mem 0x00000000-0x0000ffff
>> pref]
>> [ 13.944649][ T1101] pci 0000:01:00.0: enabling Extended Tags
>> [ 13.944844][ T1101] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
>> [ 13.945015][ T1101] pci 0000:01:00.0: 15.752 Gb/s available PCIe
>> bandwidth, limited by 8.0 GT/s PCIe x2 link at 0000:00:00.0 (capable of
>> 31.506 Gb/s with 16.0 GT/s PCIe x2 link)
>> [ 13.950616][ T1101] __pci_bus_size_bridges: before pbus_size_mem.
>> list empty? 1
>> [ 13.950784][ T1101] pbus_size_mem: 2. list empty? 1
>> [ 13.950886][ T1101] pbus_size_mem: 1 list empty? 0
>> [ 13.950982][ T1101] pbus_size_mem: 3. list empty? 0
>> [ 13.951082][ T1101] pbus_size_mem: 4. list empty? 0
>> [ 13.951185][ T1101] pcieport 0000:00:00.0: bridge window [mem
>> 0x00100000-0x001fffff] to [bus 01-ff] add_size 100000 add_align 100000
>> [ 13.951448][ T1101] __pci_bus_size_bridges: after pbus_size_mem. list
>> empty? 0
>> [ 13.951643][ T1101] pci_assign_unassigned_bus_resources: before
>> __pci_bus_assign_resources -> list empty? 0
>> [ 13.951924][ T1101] pcieport 0000:00:00.0: bridge window [mem
>> 0x40000000-0x401fffff]: assigned
>> [ 13.952248][ T1101] pci_assign_unassigned_bus_resources: after
>> __pci_bus_assign_resources -> list empty? 0
>> [ 13.952634][ T1101] ------------[ cut here ]------------
>> [ 13.952818][ T1101] kernel BUG at drivers/pci/setup-bus.c:2514!
>> [ 13.953045][ T1101] Internal error: Oops - BUG: 00000000f2000800 [#1]
>> SMP
>> ...
>> [ 13.976086][ T1101] Call trace:
>> [ 13.976206][ T1101] pci_assign_unassigned_bus_resources+0x110/0x114 (P)
>> [ 13.976462][ T1101] pci_rescan_bus+0x28/0x48
>> [ 13.976628][ T1101] exynos_pcie_rc_poweron
>>
>> Working case:
>> [ 13.786961][ T1120] pci 0000:01:00.0: [144d:a5a5] type 00 class
>> 0x000000 PCIe Endpoint
>> [ 13.787136][ T1120] pci 0000:01:00.0: BAR 0 [mem
>> 0x00000000-0x000fffff 64bit]
>> [ 13.787280][ T1120] pci 0000:01:00.0: ROM [mem 0x00000000-0x0000ffff
>> pref]
>> [ 13.787541][ T1120] pci 0000:01:00.0: enabling Extended Tags
>> [ 13.787808][ T1120] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
>> [ 13.787988][ T1120] pci 0000:01:00.0: 15.752 Gb/s available PCIe
>> bandwidth, limited by 8.0 GT/s PCIe x2 link at 0000:00:00.0 (capable of
>> 31.506 Gb/s with 16.0 GT/s PCIe x2 link)
>> [ 13.795279][ T1120] __pci_bus_size_bridges: before pbus_size_mem.
>> list empty? 1
>> [ 13.795408][ T1120] pbus_size_mem: 2. list empty? 1
>> [ 13.795495][ T1120] pbus_size_mem: 2. list empty? 1
>> [ 13.795577][ T1120] __pci_bus_size_bridges: after pbus_size_mem. list
>> empty? 1
>> [ 13.795692][ T1120] pci_assign_unassigned_bus_resources: before
>> __pci_bus_assign_resources -> list empty? 1
>> [ 13.795849][ T1120] pcieport 0000:00:00.0: bridge window [mem
>> 0x40000000-0x401fffff]: assigned
>> [ 13.796072][ T1120] pci_assign_unassigned_bus_resources: after
>> __pci_bus_assign_resources -> list empty? 1
>> [ 13.796662][ T1120] cpif: s5100_poweron_pcie: DBG: MSI sfr not set
>> up, yet(s5100_pdev is NULL)
>> [ 13.796666][ T1120] cpif: register_pcie: s51xx_pcie_init start
>>
>>
>> Any hints are welcomed. Thanks,
>> ta
>
> Hi and thanks for the report.
Hi! Thanks for the help. I've been out of office for the last 2 weeks,
sorry for the delayed reply.
>
> The interesting part occurs inside reassign_resources_sorted() where most
> items are eliminated from realloc_head by the list_del().
>
> My guess is that somehow, the change in 96336ec70264 from !res->flags
> to the more complicated check somehow causes this. If the new check
> doesn't match and subsequently, no match is found from the head list, the
> loop will do continue and not remove the entry from realloc_head.
I added a print right there and it seems it's something else. See below.
>
> But it's hard to confirm without knowing what that resources realloc_head
> contains. Perhaps if you print the resources that are processed around
> that part of the code in reassign_resources_sorted(), comparing the log
> from the reverted code with the non-working case might help to understand
> what is different there and why. To understand better what is in the head
> list, it would be also useful to know from which device the resources were
> added into the head list in pdev_sort_resources().
>
I added the suggested prints
(https://paste.ofcode.org/DgmZGGgS6D36nWEzmfCqMm) on top of v6.15 with
the downstream PCIe pixel driver and I obtain the following. Note that
all added prints contain "tudor" for differentiation.
[ 15.211179][ T1107] pci 0001:01:00.0: [144d:a5a5] type 00 class
0x000000 PCIe Endpoint
[ 15.212248][ T1107] pci 0001:01:00.0: BAR 0 [mem
0x00000000-0x000fffff 64bit]
[ 15.212775][ T1107] pci 0001:01:00.0: ROM [mem 0x00000000-0x0000ffff
pref]
[ 15.213195][ T1107] pci 0001:01:00.0: enabling Extended Tags
[ 15.213720][ T1107] pci 0001:01:00.0: PME# supported from D0 D3hot
D3cold
[ 15.214035][ T1107] pci 0001:01:00.0: 15.752 Gb/s available PCIe
bandwidth, limited by 8.0 GT/s PCIe x2 link at 0001:00:00.0 (capable of
31.506 Gb/s with 16.0 GT/s PCIe x2 link)
[ 15.222286][ T1107] pci 0001:01:00.0: tudor: 1: pbus_size_mem: BAR 0
[mem 0x00000000-0x000fffff 64bit] list empty? 1
[ 15.222813][ T1107] pci 0001:01:00.0: tudor: 1: pbus_size_mem: ROM
[mem 0x00000000-0x0000ffff pref] list empty? 1
[ 15.224429][ T1107] pci 0001:01:00.0: tudor: 2: pbus_size_mem: ROM
[mem 0x00000000-0x0000ffff pref] list empty? 0
[ 15.224750][ T1107] pcieport 0001:00:00.0: bridge window [mem
0x00100000-0x001fffff] to [bus 01-ff] add_size 100000 add_align 100000
[ 15.225393][ T1107] tudor : pci_assign_unassigned_bus_resources:
before __pci_bus_assign_resources -> list empty? 0
[ 15.225594][ T1107] pcieport 0001:00:00.0: tudor:
pdev_sort_resources: bridge window [mem 0x00100000-0x001fffff] resource
added in head list
[ 15.226078][ T1107] pcieport 0001:00:00.0: bridge window [mem
0x40000000-0x401fffff]: assigned
[ 15.226419][ T1107] tudor : pci_assign_unassigned_bus_resources:
after __pci_bus_assign_resources -> list empty? 0
[ 15.226442][ T1107] ------------[ cut here ]------------
[ 15.227587][ T1107] kernel BUG at drivers/pci/setup-bus.c:2522!
[ 15.227813][ T1107] Internal error: Oops - BUG: 00000000f2000800 [#1]
SMP
...
[ 15.251570][ T1107] Call trace:
[ 15.251690][ T1107] pci_assign_unassigned_bus_resources+0x110/0x114 (P)
[ 15.251945][ T1107] pci_rescan_bus+0x28/0x48
I obtain the following output when using the same prints adapted
(https://paste.ofcode.org/37w7RnKkPaCxyNhi5yhZPbZ) and with the blamed
commits reverted:
a34d74877c66 PCI: Restore assigned resources fully after release
2499f5348431 PCI: Rework optional resource handling
96336ec70264 PCI: Perform reset_resource() and build fail list in sync
[ 15.200456][ T1102] pci 0000:01:00.0: [144d:a5a5] type 00 class
0x000000 PCIe Endpoint
[ 15.200632][ T1102] pci 0000:01:00.0: BAR 0 [mem
0x00000000-0x000fffff 64bit]
[ 15.200755][ T1102] pci 0000:01:00.0: ROM [mem 0x00000000-0x0000ffff
pref]
[ 15.200876][ T1102] pci 0000:01:00.0: enabling Extended Tags
[ 15.201075][ T1102] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[ 15.201254][ T1102] pci 0000:01:00.0: 15.752 Gb/s available PCIe
bandwidth, limited by 8.0 GT/s PCIe x2 link at 0000:00:00.0 (capable of
31.506 Gb/s with 16.0 GT/s PCIe x2 link)
[ 15.206555][ T1102] pci 0000:01:00.0: tudor: 1: pbus_size_mem: BAR 0
[mem 0x00000000-0x000fffff 64bit] list empty? 1
[ 15.206737][ T1102] pci 0000:01:00.0: tudor: 1: pbus_size_mem: ROM
[mem 0x00000000-0x0000ffff pref] list empty? 1
[ 15.206901][ T1102] tudor : pci_assign_unassigned_bus_resources:
before __pci_bus_assign_resources -> list empty? 1
[ 15.207072][ T1102] pcieport 0000:00:00.0: tudor:
pdev_sort_resources: bridge window [mem 0x00100000-0x002fffff] resource
added in head list
[ 15.207396][ T1102] pcieport 0000:00:00.0: bridge window [mem
0x40000000-0x401fffff]: assigned
[ 15.208165][ T1102] tudor : pci_assign_unassigned_bus_resources:
after __pci_bus_assign_resources -> list empty? 1
[ 15.208783][ T1102] cpif: s5100_poweron_pcie: DBG: MSI sfr not set
up, yet(s5100_pdev is NULL)
[ 15.208786][ T1102] cpif: register_pcie: s51xx_pcie_init start
> In any case, that BUG_ON() seems a bit drastic action for what might be
> just a single resource allocation failure so it should be downgraded to:
>
> if (WARN_ON(!list_empty(&add_list))
> free_list(&add_list);
>
> ... or WARN_ON_ONCE().
I saw your patch doing this, the phone now boots, but obviously I still
see the WARN, so maybe there's still something to be fixed.
Thanks!
ta
Return-Path: <linux-kernel+bounces-665369-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D93FA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:23:09 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 1876E1BC649A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:23:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0A940280CD3;
Wed, 28 May 2025 11:22:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="eIvQd3LK"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id D4A95280CC9
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:22:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431364; cv=none; b=nIpSKbm+QLQVXzJEJ9qR6ak4U/qOL3LwUM8gCORlPg9OnwbuB8DqA40xM8oUDlqnhSuhEzOVOuHfjj/VUyu5WeQx4uOhRi3UiKHEvwPTn6ABqaStsXJdXwlvX9yZCrkDhfR8T9+QZ/lOCYywE/yojfSliqXptgQH5gF7O/FtSfY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431364; c=relaxed/simple;
bh=FmoVNg1Mx7uzMFgy363LZ24JH0p3rFJ6GxB9Mq+2C5E=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=JLE7Zd4sPsFN6vw+a5WbsGUH7Q+RdAnZ+xtVN6DqNrPKv0GxWqVZPG9f5YgpIzOCJbIsBRRAl4uEKP615ioEbPp3ZrdUoBamk8BTztNCAAcCEKMBQ9VPrYrnvwiV1yDkKODON0a9oe5ORpqLSvCdytDG48xy+nJEHFrxbSs4mlM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=eIvQd3LK; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279866.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S5xXkJ002206
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:22:42 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-type:date:from:in-reply-to:message-id:mime-version
:references:subject:to; s=qcppdkim1; bh=IALrJT9gN0Nv75u/D0mhXCVy
adCO3D9DxeScc8A6Lyc=; b=eIvQd3LKJ0Wtx691dbEd8GqLv4cMyzJ754BkwII1
iP/4rNCSkRVMrlb/FcETNCGODScA8rSrmgJYU3os7SYJLaLeG38ngqmu5VG7iBav
WwbgsUZgVPEB/rNYzxF0lwzDW18/Rih6xX6fMyavY0PhT0bXSmqofcmjOKOnS6P6
dZdxnu0BBLixTYtmnFiJOL4ZiEqxCjJuttKo96GbN78+3UEiBMmRoHxv/2jn6YCa
lXC+Bp+7RtAL+vUvQ8ybUv0/d1FC7VJegfFya13HvY2JqV+gN1MB7ip/R+O+KrF1
wyX8mn114+72cwwOLM44wuDiVsEm4KE6ebLD9CjhkIaM7g==
Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46wavkuta5-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:22:41 +0000 (GMT)
Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c92425a8b1so125357285a.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:22:41 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431360; x=1749036160;
h=in-reply-to:content-disposition:mime-version:references:message-id
:subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=IALrJT9gN0Nv75u/D0mhXCVyadCO3D9DxeScc8A6Lyc=;
b=cDy5DTEA7pm14xyhGClU2ZOGlCflhzXhP85ht2Iz05PgQxcEDVuZ/va4O7jaQWEywO
4RHe2FwdXO/Wm0wgoLt6FbPTJa1u1CCe4YqNpjYct7Xi30uFvb5oqAWolRlflyUigJOh
2Q3Sjk138V+PPlMx3W6mJK47Mo3zWR50nyoc1h04ztiOaT+uGGAHAgdLPSENMWC0F87u
MKhO3di7fw1Zc9v/bOJU0ObA/HD013ibWfbpsUSp4kUp375qRgZSqjO2qY4KXvx0/GOO
q/0+akItwbTGXaXbmpjeqGLpHXKfjnNCbSbYUdqOaRR28CoHdXuVGHL30xn9tftaX2AR
PEsg==
X-Forwarded-Encrypted: i=1; AJvYcCWSpH0W1U72CnRJXZZnOGs7w7Ad7wHbX7yeWRJzRRhIRKWNiRryUN23Dc8XAtrrLZu/7rrznrqLIpRQDyE=@vger.kernel.org
X-Gm-Message-State: AOJu0YwvRUCyJWdkODxMoqKQXMxto7lfrXOEwheEUXx2++q8rq/TpU3A
nC3taMXVDx8xLX0VfzoRGxonsrAjPlobBoFaMJKmvoSeTDQ1ecPGLPoyEOZzjaNnoSVcJUWCdXk
bIRIYfkNtEBZMxfnIN7IL2xeHnJFqbS+412Y716JP8n9mA4wTdaEMiNiUPp+cQC2QM7E=
X-Gm-Gg: ASbGncvkk3XAQqdAuqGNFtcydCBMfRTmVgeWmPQUhyUEe4CmOFKAInT2vU0CR7yOps4
i6GbO531AXGmmvcHry6svkwDy+RWTZDGkmezL/ghs5SxVV71POwuyY3gTzgCiArYCVWTR+W5ekj
U0AeRyV7SNRQOH8xP/Mwyh7Ga4jglLJAjzTqc6Xzi+da7t7AQ7RXVfc3uwBmZZegGVRxNXHlVZ6
DDC6rEI5Cl4dX3R1GrzjAKq1Il+ybCZzQpWOOHYD7knXErEg1zPWRpiDaYxGTOSpkTwM+ZMpGCf
f38qpFdBrkk0ju6RJcAuNG7+KxiCEJegj5uNxKDhzcs6ruGHsScfs9PmHzj0RzGnYRgzp9aNUEI
=
X-Received: by 2002:a05:620a:400c:b0:7c9:230f:904a with SMTP id af79cd13be357-7cf06d5427amr516044685a.14.1748431360532;
Wed, 28 May 2025 04:22:40 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGXLg/gpflaCJRIzZeb/ImyqjQZjMx4g13E+ocdgg2gQGAbAV0phsv/rmyFO+/PGEq+8VfqdA==
X-Received: by 2002:a05:620a:400c:b0:7c9:230f:904a with SMTP id af79cd13be357-7cf06d5427amr516042985a.14.1748431360133;
Wed, 28 May 2025 04:22:40 -0700 (PDT)
Received: from eriador.lumag.spb.ru (2001-14ba-a0c3-3a00--7a1.rev.dnainternet.fi. [2001:14ba:a0c3:3a00::7a1])
by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-32a79f69878sm2035511fa.89.2025.05.28.04.22.38
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:22:39 -0700 (PDT)
Date: Wed, 28 May 2025 14:22:37 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
To: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx>, Vinod Koul <vkoul@xxxxxxxxxx>,
Kishon Vijay Abraham I <kishon@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, linux-phy@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Subject: Re: [PATCH v3 0/6] arm64: qcom: allow up to 4 lanes for the Type-C
DisplayPort Altmode
Message-ID: <htufwjvfgdtav2gtgrytc356py6xqhrffbwjg42sgo7k4zzxof@z4xaf35qz7kq>
References: <20250527-topic-4ln_dp_respin-v3-0-f9a0763ec289@xxxxxxxxxxxxxxxx>
<styd5gjksbsqt7efylpfn6bgwgyvt6zexxiooihjsnmp25yigp@unq7dor6gso2>
<447c3b13-8d6d-4bcb-83c1-9456b915a77e@xxxxxxxxxxxxxxxx>
<inpfuxskvmrebxitqtqwzvpnpicibo6zakgk4ujpcrqrpef2vw@nhclj5rg7axr>
<9037fefe-aa40-4884-97ee-b81ff8346944@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <9037fefe-aa40-4884-97ee-b81ff8346944@xxxxxxxxxxxxxxxx>
X-Proofpoint-GUID: CC2q-Y2fg2as9mg9vF14IPPOCoR7ZrW6
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5OSBTYWx0ZWRfX6OuzWZvsMMkc
b7v6K+Z4wBjBlHg7N1hHXCnvAgyS2W46M03+krLuSl5HUp+Nt3DOufgKCW8PocJZhXL7J/WgFJ5
p18+jchyHgIc4p3TRQpayzAo7FrLyTtbISKA5bwWpx0JcRUJQAtRy9E0VVLFzGxDmLp2Q8fHyV3
clceok4w0ezX7Efb81nRHV+qQxbRRSHEonrLdcdPoS2AmIZOkH7p17GmA21MmzXt2IwWKthJcwy
+4D3eQEofurHm3RCezTjiJcLAjqnaPaI6poiLqbymwx8JRgBc53tbCRi9bErGNqtURzv7DRVuPg
I473dlGLcpGFR7uwPI4W39RMw/eId4z1m+aPKwcswi7z9lWVgTjBHAjes3YPsqS/mGSTfgW8DDw
0hhv66L1gVDijcuovDm5XxVLvsuQPygZTu0X6ora5Wf7pwaHJMT7uN8oqDmIv13KNa/e72YE
X-Authority-Analysis: v=2.4 cv=fMk53Yae c=1 sm=1 tr=0 ts=6836f201 cx=c_pps
a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10
a=dt9VzEwgFbYA:10 a=InULQaKO5j1EUn40nVYA:9 a=CjuIK1q_8ugA:10
a=bTQJ7kPSJx9SKPbeHEYW:22
X-Proofpoint-ORIG-GUID: CC2q-Y2fg2as9mg9vF14IPPOCoR7ZrW6
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
malwarescore=0 adultscore=0 impostorscore=0 phishscore=0 suspectscore=0
spamscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 mlxscore=0
mlxlogscore=611 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280099
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 01:13:26PM +0200, Konrad Dybcio wrote:
> On 5/28/25 11:00 AM, Dmitry Baryshkov wrote:
> > On Wed, May 28, 2025 at 12:24:02AM +0200, Konrad Dybcio wrote:
> >> On 5/27/25 11:10 PM, Dmitry Baryshkov wrote:
> >>> On Tue, May 27, 2025 at 10:40:02PM +0200, Konrad Dybcio wrote:
> >>>> Register a typec mux in order to change the PHY mode on the Type-C
> >>>> mux events depending on the mode and the svid when in Altmode setup.
> >>>>
> >>>> The DisplayPort phy should be left enabled if is still powered on
> >>>> by the DRM DisplayPort controller, so bail out until the DisplayPort
> >>>> PHY is not powered off.
> >>>
> >>> This series doesn't seem to solve the USB side of a problem. When the
> >>> PHY is being switch to the 4-lane mode, USB controller looses PIPE
> >>> clock, so it needs to be switched to the USB-2 mode.
> >>
> >> I didn't find issues with that on X13s.. Not sure if it's related, but
> >> on the SL7, after plugging in a 4ln DP connection, I need to plug in
> >> the USB thumb drive twice for the first time (only in that sequence)
> >
> > Might be.
> >
> >> But there's nothing interesting in dmesg and the phy seems to be
> >> programmed with the same values on both the initial and the subsequent
> >> working plug-in
> >
> > Please try using a DP dongle with USB 2 passthrough (there are some).
> > Or just emulate this by enabling DP PHY / DP chain for plugged in USB3
> > devices. Would you be able to see the USB device on a bus?
>
> I only have a dongle with both display and usb that does 2ln dp
> (I tested 4ln dp on a type-c display that I don't think has a hub)
>
> USB3 - yes, USB2 - no (but it works after a replug)
>
> Are you talking about essentially doing qcom,select-utmi-as-pipe-clk
> at runtime?
I think so.
--
With best wishes
Dmitry
Return-Path: <linux-kernel+bounces-665370-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id ACBE041E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:23:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 03F8D1BC635F
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:23:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 0EF4A20E70E;
Wed, 28 May 2025 11:22:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ji1J4vDP"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A855D28134D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:22:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431368; cv=none; b=jvknY+5tmm/lQMRg3xR8My/5DyCwGTFZNY2CWlFaoEoLqWfkSTXgLvyYZ6RFy8N+dxdRpQACBf8l1Zacups3GT4GX5hQqp53T9rIaUAz4pdLOMUg1tKd09rT9LVu/bPgZJ4cSd9zyMhWDLI/0bsaETC4GV1//sZp0bFjvM2VSd8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431368; c=relaxed/simple;
bh=SQjZk2OifxeYB4JLy8Q5cjUg0zdPgl1qjVVFEnxXc0E=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=hXYi5XoOSyuiMsSqk448hqqqeqcobn8QGhXPUmZsF5ysMmpt2Z5jSo286VF6skdb5ZcuxKj3jUL8drBwNWQDaog7JwLwtwfvQXFPpbfWVvadNWzFMzky51QylmlixEKnnzObRp4eNWlfHEjjrmL/+q/pulByY2h10PKS2QsuksU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ji1J4vDP; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279872.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54SAI3sk021578
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:22:45 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
PXrF3chhlKsYPqdRDHwS0A8uxmZl7PCZMAnk+l3O8cw=; b=ji1J4vDPrznP7Pqv
1zdDmfOmUi/OK7mmMDtOliQ8DG1CDqh6JpJpI7y0dKCkKdBTh+6Dt5xRaB2LpzuE
6W12J5C/vCuUxVRPh/oPeTZZjXcm+2zG7PpjH8gTObT5CIF5p5hEqLweVlbweGUC
8o2W759pXLSm1/gpVO01S0fnlx29gM78ddfjxBgabICF7w1NLYtY+K3vC3m6uvLo
vjaBqZxgRSWZqIcfTUhrKKX39+cLV5j8h3d/dGwLls4RvZZYPnOIdFJaNg+GyfAX
NgeMTerok3qxMHyDdNPSX7cCYNPs2O2sf7Eez4TRQctN5EgC/g/7kpgE9bLBd2EZ
R/zT7g==
Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u6g9219e-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:22:45 +0000 (GMT)
Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-7ceec331273so136343985a.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:22:45 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431364; x=1749036164;
h=content-transfer-encoding:in-reply-to:from:content-language
:references:cc:to:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=PXrF3chhlKsYPqdRDHwS0A8uxmZl7PCZMAnk+l3O8cw=;
b=VTc0Sv/KDQIRSfHADrg57NNRbbujG75bJ9Hl/QNds4x3+TzV7Slhm7kA+M5dVyfDNx
ogRZocIJxx3syZjvg1wXBdAyiqsaEG49Ripc9Clu6iHkQxKNk5FK7LXx+kYBgBJbqvsr
5bAdc4yohF5I/Xh1CQbylcrS2gDoF2JGr68jpmlJEkcuG6kg87zO10cwlDNEflRgasrK
oi13DOP5J8vjUoVujdOYIE3e3hYQCs0QxoAbIC9bxLhEvfDhjtBlLc5yVhmMD/dUYkz1
gdjfwPsrWUZnnArsEviASeB43e5IzoLzRtzrUUGHoTkP7IXj2/5yKdIHkEyTbiyzcRid
8llg==
X-Forwarded-Encrypted: i=1; AJvYcCV/TGVX73bvdBN76H5CMiU7GzTuJ2tqHkcFCuodePkt5PI4PyxXd6wr+bopoqINfTsn47FJwvVLiEv56d0=@vger.kernel.org
X-Gm-Message-State: AOJu0YzaQ+EGDo257R1DkhJEazrBJeNmtnte12mD/EUL4UDwoJV/ecKa
wZLKI5k45QsDLXK313fGx83t0f0Z3ic/ZSlfCdsNP1SlFbyogaGoy7+jEMJtZvPXWky7gnZR8ou
ZWUB777XtVrBhnBDAvefrft0eYBrtLXDu9j2HjBoshMQIRB94j6rw2zAXCI34inRr0bk=
X-Gm-Gg: ASbGnctgtfLBjdMXbFnpYooX9cA23ufuAimmn8IocwogTs/I51mRSs/B0zMwcGB8lHu
OMoR4UW6kHU9cg99S80oumzxj19Kqvkq6f8fBFe80XefJUWbbi1Sx0de6LN7anfqc0N4R96D2Pe
me6JUB4QCioWMO0MSMKwc7rP0SeK8Fn39yH2B00m4fR4SRPg/qOpCaOYCBLeAm8VQCgQYGtadRv
9ndGvK7w4+eExpGhqcl1sBl/ubnCWSLTnA9WbsKcWGHjy736mzsdmHjW9n7jIJ9WjAA5gGUN8hT
rqHLyIVch35UUqdTY+TMtw9bxX7iTU6KUEK9/2C3p9pROOigEOLH3bZ2r7qLWUNhug==
X-Received: by 2002:a05:620a:2710:b0:7ca:e392:2a1b with SMTP id af79cd13be357-7cf5374ae78mr110204185a.10.1748431364559;
Wed, 28 May 2025 04:22:44 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGoL3mKSALNU9U5rUvH7D3DgExdg+X+00mZ1LS8ZpHat+MX4uUZuY9EFAKe+em8TE91JP4dIQ==
X-Received: by 2002:a05:620a:2710:b0:7ca:e392:2a1b with SMTP id af79cd13be357-7cf5374ae78mr110201785a.10.1748431363985;
Wed, 28 May 2025 04:22:43 -0700 (PDT)
Received: from [192.168.65.90] (078088045245.garwolin.vectranet.pl. [78.88.45.245])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1b47a16sm91600666b.144.2025.05.28.04.22.42
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 04:22:43 -0700 (PDT)
Message-ID: <07aa740a-72f1-4d7a-aefc-437d52b8dac8@xxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 13:22:41 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/6] phy: qcom: qmp-combo: register a typec mux to
change the QMPPHY_MODE
To: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx>, Vinod Koul <vkoul@xxxxxxxxxx>,
Kishon Vijay Abraham I <kishon@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley
<conor+dt@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>,
Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>,
linux-arm-msm@xxxxxxxxxxxxxxx, linux-phy@xxxxxxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
Neil Armstrong <neil.armstrong@xxxxxxxxxx>
References: <20250527-topic-4ln_dp_respin-v3-0-f9a0763ec289@xxxxxxxxxxxxxxxx>
<20250527-topic-4ln_dp_respin-v3-5-f9a0763ec289@xxxxxxxxxxxxxxxx>
<itmvwhcf37bmnpadcyc7kdt7wx3eljyjwyv64s24zwhbr2e45g@76uzcpjqzx22>
<7f464eb7-469c-4350-a43a-3b99394ad689@xxxxxxxxxxxxxxxx>
<7icpna4l7z63gs52oa5lqf35puib66wxxmqqul6ezdkhuziaqi@mvkf73zz2iyj>
<8692f79f-142c-43e6-9e09-7ed4ce590b87@xxxxxxxxxxxxxxxx>
Content-Language: en-US
From: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
In-Reply-To: <8692f79f-142c-43e6-9e09-7ed4ce590b87@xxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Authority-Analysis: v=2.4 cv=d4b1yQjE c=1 sm=1 tr=0 ts=6836f205 cx=c_pps
a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=FpWmc02/iXfjRdCD7H54yg==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8
a=WE4J2M1y9a7QUu_BFKwA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22
a=cvBusfyB2V15izCimMoJ:22
X-Proofpoint-ORIG-GUID: 8jGn4CA02HeVe2ms0HKEe_3sXY8Jxj-i
X-Proofpoint-GUID: 8jGn4CA02HeVe2ms0HKEe_3sXY8Jxj-i
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDA5OSBTYWx0ZWRfX4ulOSZSNKM7w
pRgRKmnK+cVl+eebJKG6RgfTc2qfGOqumVQI68Z9nT5Ns/x2xE0ESP2DL8fxgmJjcb9hsRGl+g5
/Q73Ow1NcmvwN84Z95xh+T9j+IRScaRJsYebk/SS6aMFZaNf3Ua5wimLIMS/7K56556ykDgrJFW
Wc2VIdev6zaLCqzcLrd2ZoukwARVzi08PBdX2iF4YIbEf4qowqilG88Bkj9P7HTzLEvEwBCwVW1
pj0nC8Nr4NNJbAGs1KaUOiI+hi6uYXJSV57l0LoWbtjSd2H6gu3/0nozaRNHe0xSCus6fsHrtYH
m7kBumFubw1GPMrtj65zza2A+hIRCs3LvN7oH/44vvIoRp2DBRLATfsZ+L57qTzXo2Uww46YvAP
ysBg5+1nsHN99u0kwLSBxbu2CbSSHIO3CmZt0l2hjOYWdJYnZFkqgsIBBSiL1AbArFXPmGWC
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 mlxlogscore=881
lowpriorityscore=0 priorityscore=1501 bulkscore=0 spamscore=0 clxscore=1015
impostorscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280099
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 1:21 PM, Konrad Dybcio wrote:
> On 5/28/25 10:58 AM, Dmitry Baryshkov wrote:
>> On Wed, May 28, 2025 at 12:22:01AM +0200, Konrad Dybcio wrote:
>>> On 5/27/25 11:55 PM, Dmitry Baryshkov wrote:
>>>> On Tue, May 27, 2025 at 10:40:07PM +0200, Konrad Dybcio wrote:
>>>>> From: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
>>>>>
>>>>> Register a typec mux in order to change the PHY mode on the Type-C
>>>>> mux events depending on the mode and the svid when in Altmode setup.
>>>>>
>>>>> The DisplayPort phy should be left enabled if is still powered on
>>>>> by the DRM DisplayPort controller, so bail out until the DisplayPort
>>>>> PHY is not powered off.
>>>>>
>>>>> The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states
>>>>> will be set in between of USB-Only, Combo and DisplayPort Only so
>>>>> this will leave enough time to the DRM DisplayPort controller to
>>>>> turn of the DisplayPort PHY.
>>>>>
>>>>> Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
>>>>> [konrad: renaming, rewording, bug fixes]
>>>>> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
>>>>> ---
>>>
>>> [...]
>>>
>>>>> + } else {
>>>>> + /* Fall back to USB3+DP mode if we're not sure it's strictly USB3-only */
>>>>
>>>> Why? if the SID is not DP, then there can't be a DP stream.
>>>>
>>>>> + if (state->mode == TYPEC_MODE_USB3 || state->mode == TYPEC_STATE_USB)
>>>>> + new_mode = QMPPHY_MODE_USB3_ONLY;
>>>>> + else
>>>>> + new_mode = QMPPHY_MODE_USB3DP;
>>>
>>> To be honest I don't really know.. Neil chose to do that, but I don't
>>> think there's a strict requirement.. Should we default to 4ln-USB3?
>>
>> Yes, QMPPHY_MODE_USB3_ONLY. Nit: there is no 4ln-USB3 (it is a special
>> mode). We handle 2ln-USB3 only.
>
> Right, I double checked and we support SS
I clicked ctrl-z one too many times - I meant SS+ 10Gbps
Konrad
Return-Path: <linux-kernel+bounces-665371-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E3BB741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:24:34 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id E758F3B8537
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:13 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 47BF5280CCD;
Wed, 28 May 2025 11:24:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="jPW272rx"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 137CA1F9A8B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:24 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431466; cv=none; b=drZJtcih6L5QBLAs1Hp+II/bF5++OqeuYRTwvbTaEjQie5ugg9cTa0LceopsstJHOsRGZlXMXuRmz+OiVqEtbmq1iSFfOiTsekmDRoJkNiPP3aoDqX67DgqDDV8baNda7HCPpt4wjxDn7zS5afcOI/ZoDCabongU5tcoluL2JSA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431466; c=relaxed/simple;
bh=s8YvYzFzgJVHFydhLtLGu0apY3FGCB+uze2f/rIqpz8=;
h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=OrHiel9DzfSOwaisPdKP0wdXMXogKZ26f6m/T1IpG86jap3QkOxirRoKZg04IASIvGx5S2iSBjEeBfofD+AJ6GLpSq6x3Dq/jt0pDH2Cltli6hvQN6yYqhzUifwXaNqWyTiJRupwg3x0Q6/BqO+HuG4pfn/4HtHFAPs2JwHcos8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=jPW272rx; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279873.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54SAd2ct022296
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:24 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:message-id
:mime-version:subject:to; s=qcppdkim1; bh=9OaIR/JgCGry6K2mLBsDcR
Bp3ny/e1tbKsimDqc/P5Q=; b=jPW272rxOWAFGjUDZ6W+I6VCbZTymA/xhJ80Su
5a8sk3mk4m3KHfbXGqpcalRRpW4pLhgqkK0qa3dCeJj98r1d7Ny57iblbpK4I9tw
IYPylnUKNd4dEvF+Lcr9fdScRwJf1OiAGhkDdcIg+v/UFwUUzF1X8oC3H3zqqFhi
Du1Xtq0WDEtWjPmzeSfVXDSCstO/k1EMo+MUtP0JYLybg0q33QPbM+pmqffQhzuP
ehe4MKZr2o/qRfD0NbOUJDO5RzY/z5UnnEGtFpNRGidMJXR6sMqQ/bYiTs+m0/q+
B2hdAxyo3XE+4UPARzA0p1A5WBUjTEhr6XYl11SHmVt6PAJQ==
Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u3fqa7dk-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:23 +0000 (GMT)
Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-311ef4fb5fdso408239a91.1
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:24:23 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431462; x=1749036262;
h=cc:to:content-transfer-encoding:mime-version:message-id:date
:subject:from:x-gm-message-state:from:to:cc:subject:date:message-id
:reply-to;
bh=9OaIR/JgCGry6K2mLBsDcRBp3ny/e1tbKsimDqc/P5Q=;
b=Saw17NwiXuo7Z+3f4g/8WtMQHdrCgqtz+kAT92DA/nClxZ0tN9G0dG0y2/HSMOxAbh
j3Bm2+kWCP4m4Aw4LLLr7UbxYT2oyQmTDA5HNmBBTC2b8usUwyLFPlZ22RBKc1Fz7MJz
Fb82l4vEEJxhRb+FaPQBaATc8LeL/gNUxP2m8IUbjZ75GaPN+1RcMfWPUq66N1g7z5CP
0MDIcKpgqvVi89hdInf34dCBRe+9CwFiyyOV0VTqOMwJ4hCpXRqZRvZ+K6COS4IxeJyb
TB2H7VsXSobE5FszaaXhsKfuzTgVZvZekh519tj66pJ1S6b0S9sr595yWpUAV+pOgi9a
LeyQ==
X-Forwarded-Encrypted: i=1; AJvYcCUxz5XxYRY29T59K/OzXn5PXnEImPx5bsj+4iPrsLehM1qy2fu3id92gaCJtTqO1Zs5Ad2f0CXY+R47TMs=@vger.kernel.org
X-Gm-Message-State: AOJu0YzOXxhfTRFlJnGmUg2Wrw6SRqjNE6gdgKKthXeJZzEIDTjrKroX
9oVMdJFdC1LgPZfvNcr6lxMb9+2oDudnK8FWHpfGbuICXwr4OQ8CSM+x0AMzlE4N09Zeob2skKj
06iR92Dj1gmh6/vRb2eMatai/xqt4+90g+aZzEcGdiyj7ctFQQBVI8RmyOliMKf9qU3g=
X-Gm-Gg: ASbGncsC69PW+gwwHdFvnOZGnahUhav2TAg04UF9r0x2P2MEOPev3p4BgSF7b86tYn+
kDwgDbjuHyVVTut2v4/Bv8KHRiHuPmD+SJmcOU0N9AsM+3CzzdMl0EQhnbSMdNUqFITD/ZSdw/n
F1P4Ssrg968KE7Pc31PGMU2ZmNN8+LytoiOVaxBQq5Kub6jeK4tdZZUWhF9Fb4v0ZdWLIkCiEep
RmHqshWcUvKAlcRwHs6PKfOPqAa/ULUeox32pcYh8fUrJP3+F0Jd9LEYtNFMQt1dmzYwB8kVYNS
aWlrB9sE/SdpPjcrdjlvhVdIQGUbT9BjHk8OrEL8dU5f7grEtw8/gvpxAE/1GK24MkOK91Rmg4I
CpwQT3t7fTDvA4D4dHs9/S4uxrnj3wiBRpvrF
X-Received: by 2002:a17:90b:3911:b0:311:f30b:c18 with SMTP id 98e67ed59e1d1-311f30b0ff9mr1919583a91.4.1748431462432;
Wed, 28 May 2025 04:24:22 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGT2k6BW8Nw88MJooxw2RTEDAtCcWs25yiA/HlrYnpjr7dK3nH9uZma9yPDliobnauzqCuwkQ==
X-Received: by 2002:a17:90b:3911:b0:311:f30b:c18 with SMTP id 98e67ed59e1d1-311f30b0ff9mr1919559a91.4.1748431462029;
Wed, 28 May 2025 04:24:22 -0700 (PDT)
Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-311e9b668ffsm954665a91.20.2025.05.28.04.24.20
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:24:21 -0700 (PDT)
From: Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
Subject: [PATCH ath-next 0/2] wifi: ath12k: use real noise floor value
Date: Wed, 28 May 2025 16:53:59 +0530
Message-Id: <20250528-support_real_noise_floor-v1-0-04507bd3bc76@xxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIAE/yNmgC/x2NUQrDIBAFrxL2u4JRDE2vUopIsqkLwZXVlpTg3
Wv7OTzmzQkFhbDAbThB8E2FOHUYLwMsMaQnKlo7g9HGaTdaVV45s1QvGHafmAr6bWcWZbSbr9N
sp2W10PUsuNHxv75DqFElPCo8+hKpVJbPr9la+wLFfiAkgwAAAA==
X-Change-ID: 20250513-support_real_noise_floor-205986936cd3
To: Jeff Johnson <jjohnson@xxxxxxxxxx>
Cc: linux-wireless@xxxxxxxxxxxxxxx, ath12k@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Raj Kumar Bhagat <quic_rajkbhag@xxxxxxxxxxx>,
Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Proofpoint-GUID: 6t4z1wIuGlSu3FjnQt4IX5uZDrw9nUso
X-Proofpoint-ORIG-GUID: 6t4z1wIuGlSu3FjnQt4IX5uZDrw9nUso
X-Authority-Analysis: v=2.4 cv=X8FSKHTe c=1 sm=1 tr=0 ts=6836f267 cx=c_pps
a=0uOsjrqzRL749jD1oC5vDA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=oo-PE9G31wNHbytkz5MA:9
a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDEwMCBTYWx0ZWRfX9s+twSAjRQ2N
tPI5zFSgLaS0fw4YuQh0BMhqlistllIZzY+kgqu9XIA63XmOTtITcv7h61H9/x5+siv3OCOCZKw
vX3M9ES3TSzCkRNZVqARk5l0WaxikknBnHIyfv+PyMEb/IMwivxPIf9zfjgzcd5D24hn4qOxQOd
mFmdATS6SxagZbBucmJN1Ibalcz810x335+ahru/VGlZUUy5QJt+7xJ3WXTTZGIs5BUBY3OzJWs
Z+OYxj5ehHcsGV9sChHrjKGgtMHL2/aIR4pgSUk6sTL70/+W1O7HHyAmQ6Nm57OKNZLA0CkBJ6W
LjigOVqNs4RYKlQeMXLN2q2RAC8047DKe9IwvecFJAxxc5mbBrNw/W4Xc8AHJUDhikEbahAb1Wj
hZI33fmwkVM2hiTYrLMS9niB/k7g/ooZTr2IN+T1Ne4e8nvefLf+K4LKfLeivPNisoJHPoHo
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
impostorscore=0 suspectscore=0 phishscore=0 bulkscore=0 mlxlogscore=999
mlxscore=0 clxscore=1015 priorityscore=1501 spamscore=0 adultscore=0
malwarescore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280100
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
At present, the ATH12K_DEFAULT_NOISE_FLOOR (-95) is used to calculate RSSI
value, providing an estimated noise floor value. Consequently, the RSSI
value is also approximate. This works but however, using actual noise floor
value will enable the reporting of the true RSSI value.
The firmware possesses the necessary data to determine the actual noise
floor. This data is provided to the host via the WMI event
WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID, which includes the
runtime parameters needed for calculating the real noise floor in dBm. This
event is triggered by the firmware during channel changes, temperature
offset adjustments, and hardware chainmask modifications.
Add support to handle and parse this WMI event. Use the received values to
calculate and store the noise floor value and use at the required places.
---
Raj Kumar Bhagat (2):
wifi: ath12k: handle WMI event for real noise floor calculation
wifi: ath12k: use real noise floor instead of default value
drivers/net/wireless/ath/ath12k/core.h | 17 +++
drivers/net/wireless/ath/ath12k/dp_mon.c | 7 +-
drivers/net/wireless/ath/ath12k/dp_tx.c | 20 ++-
drivers/net/wireless/ath/ath12k/mac.c | 14 +-
drivers/net/wireless/ath/ath12k/wmi.c | 233 ++++++++++++++++++++++++++++++-
drivers/net/wireless/ath/ath12k/wmi.h | 42 ++++++
6 files changed, 324 insertions(+), 9 deletions(-)
---
base-commit: 3d933084a072fd5fb5da54c06a017abc0412c86f
change-id: 20250513-support_real_noise_floor-205986936cd3
Return-Path: <linux-kernel+bounces-665372-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5C97E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:24:59 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 96EA616A383
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:25:00 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 25D182820A1;
Wed, 28 May 2025 11:24:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="XMewpPd2"
Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id ACD61280CE7
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431469; cv=none; b=cDJl+OTvKTFAqgWm5d0WbmwTxIPMrM6mcbeDRmEZuOWaSzcEFS7UepwRhbv1KlkQgndcl8MMdD/Rmg2LbTu5+K/BZb88N9iqJAVvByOl/kDr9SnRB0lheMX4Xt/QGXmg5Y2/1lpfAGc79pu83f+jlPaO8UBA4ONEBzGVFI4Xl0g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431469; c=relaxed/simple;
bh=vrEY9Tt8fYsWzGDFdSSai835U/fsc0iQ9IABFncLMos=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=OxZPZDh2gVGtjzd9SHix3x2/jcaq6K5ar36cAaMOa7aBxQ0x6ydxeXVPpqVJQF1bn8Fw8kI+KOlTyqNrAWinAO9GzEmlW2UBHXixg14qwI6pdApXnFjWLbZxfeTEGLM1+5XA5Nbiie7O63rq46TIjQW486oWIDpoz3NIIju8uAw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=XMewpPd2; arc=none smtp.client-ip=205.220.180.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279873.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S8knHo019648
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:26 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
c6aM7WJ6bbAAgKf+qbF5aXJsLwsNSN7sBgN05z3YZ6E=; b=XMewpPd22mtVCp8G
dzG2e9Z0C8mgTNg+B/T3/6x2g64S00h27M2kEJ+ltooJlW2fj2IyP9QCo1WIKA0l
Q/i5AJbAfsgouRYpp4aXkMNwDnSubkzkz4n5klSwQCWUHgCQWkFiLLch84zPflIJ
B5UpMZ2X6BOirW5gD0t3Vaa+fnxqvlDCMlsRI1VvOwxN8PXvVWKxhmJNmwdYU58Z
+tNnGvf1wO/QXVqAyftHUgdXi8Zqx/uqNZV9CnrlxIxdRz1/xP57JnPpYWRSeMCp
ctUlh6wM88J1ifUpQUHWpKOuXA7Cx0OrE32ELdF9AdGDDyAKkBxtEzzLDsad1fGt
crzetw==
Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u3fqa7dp-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:26 +0000 (GMT)
Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-311b6d25278so1650645a91.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:24:26 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431465; x=1749036265;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=c6aM7WJ6bbAAgKf+qbF5aXJsLwsNSN7sBgN05z3YZ6E=;
b=pnSFcF7bfJeoh2UCojX0XehhNO4dGxgNO0k5wks2v9EWHO5ZK+jRidOR5DupkzusVX
Fx1v4T4dUdymjn2rLbPsKzbwk0GVQrcdhSJZuKJldJBVa21LfgeTUIkdjDkR6vfzDbx3
ErOGspUcORtnSaOEtONWWsFWDTWp5A28Xrg04GMPTx1t7NPss4Sxc5k6rSymmZFx3xdM
MMuHdqINC3xrYC0mE3nw+5308ngXzDFHHWVed4Aj6/isX6KFPHoSnqKu8u2H9t5YRkSV
rU0ep5qwK+tC+IV2mt5GA/txvN2kWvqNYglyi+qsXNqPqT5ovxpL3r35yV6YdWRylXL2
EQzA==
X-Forwarded-Encrypted: i=1; AJvYcCVcQXGraSDtxTbhaaOrI53XEBlhlJT/iJ97C8xHWMmV7EOSLyNRKPFXdvUqIjwuGZNtp9Wh0m6G24dP2zo=@vger.kernel.org
X-Gm-Message-State: AOJu0YzWbFkjOBU/rK9wZUO+mEekkVuGVDd8djJN6lz4l/r48l2L9tSX
/4RPdIDN55QiRXLAk1nb9mnzPMDVU3rLfkGeBtuKuyF9RUaL2LwpbcqcFFVE5shm2Upbjx7VQuo
CgWyezR2XEhXetYlroTvq6tB8QHAB1THIGU6iPkhLvdxcrgjyXk5UzNreT/c0zIA5pws=
X-Gm-Gg: ASbGncsZPJ08S01DiYjevQT9Mwy/Ox0V9afkZGJKPQ666xbUEIjJvYSEb3VMwv/fvP5
qCJGlYbBSMQukUaPyEgKnjSSS/zEf3jYH5cjjpCMFXkqeJ8fmGJjahqj+yFOo+8FtoPlWfaChH8
k0UxaFeUv3hTKFz65foV5vGNtbrTMchkUsLCUJNwqlY7MNRfw/ftWkxAkCTeHbz9OMxl+hCdGFk
W2KBkvl+TppW2cL//JDJ+uQEUfs4IJr4/rTSqYzUv10SxmzlZ87bC9MgdosQVR6+RwHipni4Uen
Bv/c79rivSDEYuVDRU8jUut0Qo8DeMyq9jyH3JwvRYATt8wzZVXxWxGq90AUrHQl8CCHh2E5uHa
+4HXBFuLmxN2mPY9EZ99VMOah0l6+A0zfVf6g
X-Received: by 2002:a17:90b:33cc:b0:2fe:8282:cb9d with SMTP id 98e67ed59e1d1-311100da6acmr24059550a91.28.1748431464800;
Wed, 28 May 2025 04:24:24 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHYQkdCLHGDGzXmFuRyTueS+eLR+h+ITlJR4vzTTCJx1bCvNNmc74AQv9AprFZgGuC+FEkPJw==
X-Received: by 2002:a17:90b:33cc:b0:2fe:8282:cb9d with SMTP id 98e67ed59e1d1-311100da6acmr24059513a91.28.1748431464289;
Wed, 28 May 2025 04:24:24 -0700 (PDT)
Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-311e9b668ffsm954665a91.20.2025.05.28.04.24.22
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:24:23 -0700 (PDT)
From: Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 16:54:00 +0530
Subject: [PATCH ath-next 1/2] wifi: ath12k: handle WMI event for real noise
floor calculation
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-support_real_noise_floor-v1-1-04507bd3bc76@xxxxxxxxxxxxxxxx>
References: <20250528-support_real_noise_floor-v1-0-04507bd3bc76@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250528-support_real_noise_floor-v1-0-04507bd3bc76@xxxxxxxxxxxxxxxx>
To: Jeff Johnson <jjohnson@xxxxxxxxxx>
Cc: linux-wireless@xxxxxxxxxxxxxxx, ath12k@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Raj Kumar Bhagat <quic_rajkbhag@xxxxxxxxxxx>,
Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Proofpoint-GUID: 4ccdjZ59DWFexQVutlpCo63kYjXG24Dj
X-Proofpoint-ORIG-GUID: 4ccdjZ59DWFexQVutlpCo63kYjXG24Dj
X-Authority-Analysis: v=2.4 cv=X8FSKHTe c=1 sm=1 tr=0 ts=6836f26a cx=c_pps
a=vVfyC5vLCtgYJKYeQD43oA==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8
a=Ep9LWTjdhutGVinXlyQA:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22
a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDEwMCBTYWx0ZWRfX5lVLJhtrrKMC
iNHF5u2gilaOArOi6ZB8l3qxnKToPNvW0rNh1mvXqi4wOtakcS4dy4yk+EYhfD0k2cS0PjKNdvq
K5wwZxWb7HNrG2+lTGhShFjWoKwZPNNzqil6apylpX/biqMMrYnyXkxUxtQD0fvoZyr0qaJQ1aO
EVLuuZY4rubfKNuv0eYjOJ7epDVWZfj2TBbtC7Wkc1VNmLFh7tMZL7fD2nL1XXthCKUQ8p42o9K
S5CWJXeHIbJVA5NxeZ+g2Kfe2R8FZlrHVhUgELo+XIYbYtkIV/Lxs6FfoIutgNPjbhiviX+dXdt
B08H3YC9NNfxulv51E3DxMXXDT5hD11YHZrJhjfYN16NTF12pBR6nU9l4iOg2+ggk8EB4H6HMyD
tUERBvx4M1oHB3HvsXe5eb9YQawaXtNw/ccG0sedDGnzvPQO8uPcOPVOFNIXaCH60ikU08c0
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
impostorscore=0 suspectscore=0 phishscore=0 bulkscore=0 mlxlogscore=999
mlxscore=0 clxscore=1015 priorityscore=1501 spamscore=0 adultscore=0
malwarescore=0 lowpriorityscore=0 classifier=spam authscore=0 authtc=n/a
authcc= route=outbound adjust=0 reason=mlx scancount=1
engine=8.19.0-2505160000 definitions=main-2505280100
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
From: Raj Kumar Bhagat <quic_rajkbhag@xxxxxxxxxxx>
At present, the ATH12K_DEFAULT_NOISE_FLOOR (-95) is used to calculate RSSI
value, providing an estimated noise floor value. Consequently, the RSSI
value is also approximate. This works but however, using actual noise floor
value will enable the reporting of the true RSSI value.
The firmware possesses the necessary data to determine the actual noise
floor. This data is provided to the host via the WMI event
WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID, which includes the
runtime parameters needed for calculating the real noise floor in dBm. This
event is triggered by the firmware during channel changes, temperature
offset adjustments, and hardware chainmask modifications. The individual
TLVs may not always be present in each event. For instance, temperature
information might only appear if there is a change in offset due to
temperature variation.
Add support to handle and parse this WMI event. Use the received values to
calculate and store the noise floor value.
A subsequent change will use this noise floor value in the actual RSSI
calculation.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@xxxxxxxxxxx>
Co-developed-by: Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
Signed-off-by: Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
---
drivers/net/wireless/ath/ath12k/core.h | 17 +++
drivers/net/wireless/ath/ath12k/mac.c | 4 +
drivers/net/wireless/ath/ath12k/wmi.c | 226 +++++++++++++++++++++++++++++++++
drivers/net/wireless/ath/ath12k/wmi.h | 42 ++++++
4 files changed, 289 insertions(+)
diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h
index 941db6e49d6eaeb03783f7714d433259d887820b..c98193413d2283f0fa7c5cf6a5e4fbe82c928c31 100644
--- a/drivers/net/wireless/ath/ath12k/core.h
+++ b/drivers/net/wireless/ath/ath12k/core.h
@@ -665,6 +665,15 @@ struct ath12k_per_peer_tx_stats {
bool is_ampdu;
};
+struct ath12k_pdev_rssi_offsets {
+ s32 temp_offset;
+ s8 min_nf_dbm;
+ /* Cache the sum here to avoid calculating it every time in hot path
+ * noise_floor = min_nf_dbm + temp_offset
+ */
+ s32 noise_floor;
+};
+
#define ATH12K_FLUSH_TIMEOUT (5 * HZ)
#define ATH12K_VDEV_DELETE_TIMEOUT_HZ (5 * HZ)
@@ -814,6 +823,7 @@ struct ath12k {
unsigned long last_tx_power_update;
s8 max_allowed_tx_power;
+ struct ath12k_pdev_rssi_offsets rssi_info;
};
struct ath12k_hw {
@@ -1454,4 +1464,11 @@ static inline struct ath12k_base *ath12k_ag_to_ab(struct ath12k_hw_group *ag,
return ag->ab[device_id];
}
+static inline s32 ath12k_pdev_get_noise_floor(struct ath12k *ar)
+{
+ lockdep_assert_held(&ar->data_lock);
+
+ return ar->rssi_info.noise_floor;
+}
+
#endif /* _CORE_H_ */
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 88b59f3ff87af8b48cb3fafcd364fd9ced4ff197..8ff470749f14545d1c726cc1dc26880e129277fa 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -11898,6 +11898,10 @@ static int ath12k_mac_setup_register(struct ath12k *ar,
ar->max_num_stations = ath12k_core_get_max_station_per_radio(ar->ab);
ar->max_num_peers = ath12k_core_get_max_peers_per_radio(ar->ab);
+ ar->rssi_info.min_nf_dbm = ATH12K_DEFAULT_NOISE_FLOOR;
+ ar->rssi_info.temp_offset = 0;
+ ar->rssi_info.noise_floor = ar->rssi_info.min_nf_dbm + ar->rssi_info.temp_offset;
+
return 0;
}
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 60e2444fe08cefa39ae218d07eb9736d2a0c982b..e07f1e46ba418a0583a0feaa711ada7b6cd193e2 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -8711,6 +8711,229 @@ static void ath12k_wmi_process_tpc_stats(struct ath12k_base *ab,
}
#endif
+static int
+ath12k_wmi_rssi_dbm_conv_info_evt_subtlv_parser(struct ath12k_base *ab,
+ u16 tag, u16 len,
+ const void *ptr, void *data)
+{
+ const struct ath12k_wmi_rssi_dbm_conv_temp_info_params *temp_info;
+ const struct ath12k_wmi_rssi_dbm_conv_info_params *param_info;
+ struct ath12k_wmi_rssi_dbm_conv_info_arg *rssi_info = data;
+ struct ath12k_wmi_rssi_dbm_conv_param_arg param_arg;
+ s32 nf_hw_dbm[ATH12K_MAX_NUM_NF_HW_DBM];
+ u8 num_20mhz_segments;
+ s8 min_nf, *nf_ptr;
+ int i, j;
+
+ switch (tag) {
+ case WMI_TAG_RSSI_DBM_CONVERSION_PARAMS_INFO:
+ if (len < sizeof(*param_info)) {
+ ath12k_warn(ab,
+ "RSSI dbm conv subtlv 0x%x invalid len %d rcvd",
+ tag, len);
+ return -EINVAL;
+ }
+
+ param_info = ptr;
+
+ param_arg.curr_bw = le32_to_cpu(param_info->curr_bw);
+ param_arg.curr_rx_chainmask = le32_to_cpu(param_info->curr_rx_chainmask);
+
+ /* The received array is actually a 2D byte-array for per chain,
+ * per 20MHz subband. Convert to 2D byte-array
+ */
+ nf_ptr = ¶m_arg.nf_hw_dbm[0][0];
+
+ for (i = 0; i < ATH12K_MAX_NUM_NF_HW_DBM; i++) {
+ nf_hw_dbm[i] = a_sle32_to_cpu(param_info->nf_hw_dbm[i]);
+
+ for (j = 0; j < 4; j++) {
+ *nf_ptr = (nf_hw_dbm[i] >> (j * 8)) & 0xFF;
+ nf_ptr++;
+ }
+ }
+
+ switch (param_arg.curr_bw) {
+ case WMI_CHAN_WIDTH_20:
+ num_20mhz_segments = 1;
+ break;
+ case WMI_CHAN_WIDTH_40:
+ num_20mhz_segments = 2;
+ break;
+ case WMI_CHAN_WIDTH_80:
+ num_20mhz_segments = 4;
+ break;
+ case WMI_CHAN_WIDTH_160:
+ num_20mhz_segments = 8;
+ break;
+ case WMI_CHAN_WIDTH_320:
+ num_20mhz_segments = 16;
+ break;
+ default:
+ ath12k_warn(ab, "Invalid current bandwidth %d in RSSI dbm event",
+ param_arg.curr_bw);
+ /* In error case, still consider the primary 20 MHz segment since
+ * that would be much better than instead of dropping the whole
+ * event
+ */
+ num_20mhz_segments = 1;
+ }
+
+ min_nf = ATH12K_DEFAULT_NOISE_FLOOR;
+
+ for (i = 0; i < ATH12K_MAX_NUM_ANTENNA; i++) {
+ if (!(param_arg.curr_rx_chainmask & BIT(i)))
+ continue;
+
+ for (j = 0; j < num_20mhz_segments; j++) {
+ if (param_arg.nf_hw_dbm[i][j] < min_nf)
+ min_nf = param_arg.nf_hw_dbm[i][j];
+ }
+ }
+
+ rssi_info->min_nf_dbm = min_nf;
+ rssi_info->nf_dbm_present = true;
+ break;
+ case WMI_TAG_RSSI_DBM_CONVERSION_TEMP_OFFSET_INFO:
+ if (len < sizeof(*temp_info)) {
+ ath12k_warn(ab,
+ "RSSI dbm conv subtlv 0x%x invalid len %d rcvd",
+ tag, len);
+ return -EINVAL;
+ }
+
+ temp_info = ptr;
+ rssi_info->temp_offset = a_sle32_to_cpu(temp_info->offset);
+ rssi_info->temp_offset_present = true;
+ break;
+ default:
+ ath12k_dbg(ab, ATH12K_DBG_WMI,
+ "Unknown subtlv 0x%x in RSSI dbm conversion event\n", tag);
+ }
+
+ return 0;
+}
+
+static int
+ath12k_wmi_rssi_dbm_conv_info_event_parser(struct ath12k_base *ab,
+ u16 tag, u16 len,
+ const void *ptr, void *data)
+{
+ int ret = 0;
+
+ switch (tag) {
+ case WMI_TAG_RSSI_DBM_CONVERSION_PARAMS_INFO_FIXED_PARAM:
+ /* Fixed param is already processed*/
+ break;
+ case WMI_TAG_ARRAY_STRUCT:
+ /* len 0 is expected for array of struct when there
+ * is no content of that type inside that tlv
+ */
+ if (len == 0)
+ return 0;
+
+ ret = ath12k_wmi_tlv_iter(ab, ptr, len,
+ ath12k_wmi_rssi_dbm_conv_info_evt_subtlv_parser,
+ data);
+ break;
+ default:
+ ath12k_dbg(ab, ATH12K_DBG_WMI,
+ "Received invalid tag 0x%x for RSSI dbm conv info event\n",
+ tag);
+ break;
+ }
+
+ return ret;
+}
+
+static int
+ath12k_wmi_rssi_dbm_conv_info_process_fixed_param(struct ath12k_base *ab, u8 *ptr,
+ size_t len, int *pdev_id)
+{
+ struct ath12k_wmi_rssi_dbm_conv_info_fixed_params *fixed_param;
+ const struct wmi_tlv *tlv;
+ u16 tlv_tag;
+
+ if (len < (sizeof(*fixed_param) + TLV_HDR_SIZE)) {
+ ath12k_warn(ab, "invalid RSSI dbm conv event size %zu\n", len);
+ return -EINVAL;
+ }
+
+ tlv = (struct wmi_tlv *)ptr;
+ tlv_tag = le32_get_bits(tlv->header, WMI_TLV_TAG);
+ ptr += sizeof(*tlv);
+
+ if (tlv_tag != WMI_TAG_RSSI_DBM_CONVERSION_PARAMS_INFO_FIXED_PARAM) {
+ ath12k_warn(ab, "RSSI dbm conv event received without fixed param tlv\n");
+ return -EINVAL;
+ }
+
+ fixed_param = (struct ath12k_wmi_rssi_dbm_conv_info_fixed_params *)ptr;
+ *pdev_id = le32_to_cpu(fixed_param->pdev_id);
+
+ return 0;
+}
+
+static void
+ath12k_wmi_update_rssi_offsets(struct ath12k *ar,
+ struct ath12k_wmi_rssi_dbm_conv_info_arg *rssi_info)
+{
+ struct ath12k_pdev_rssi_offsets *info = &ar->rssi_info;
+
+ lockdep_assert_held(&ar->data_lock);
+
+ if (rssi_info->temp_offset_present)
+ info->temp_offset = rssi_info->temp_offset;
+
+ if (rssi_info->nf_dbm_present)
+ info->min_nf_dbm = rssi_info->min_nf_dbm;
+
+ info->noise_floor = info->min_nf_dbm + info->temp_offset;
+}
+
+static void
+ath12k_wmi_rssi_dbm_conversion_params_info_event(struct ath12k_base *ab,
+ struct sk_buff *skb)
+{
+ struct ath12k_wmi_rssi_dbm_conv_info_arg rssi_info;
+ struct ath12k *ar;
+ s32 noise_floor;
+ u32 pdev_id;
+ int ret;
+
+ ret = ath12k_wmi_rssi_dbm_conv_info_process_fixed_param(ab, skb->data, skb->len,
+ &pdev_id);
+ if (ret) {
+ ath12k_warn(ab, "failed to parse fixed param in RSSI dbm conv event: %d\n",
+ ret);
+ return;
+ }
+
+ rcu_read_lock();
+ ar = ath12k_mac_get_ar_by_pdev_id(ab, pdev_id);
+ /* If pdev is not active, ignore the event */
+ if (!ar)
+ goto out_unlock;
+
+ ret = ath12k_wmi_tlv_iter(ab, skb->data, skb->len,
+ ath12k_wmi_rssi_dbm_conv_info_event_parser,
+ &rssi_info);
+ if (ret) {
+ ath12k_warn(ab, "unable to parse RSSI dbm conversion event\n");
+ goto out_unlock;
+ }
+
+ spin_lock_bh(&ar->data_lock);
+ ath12k_wmi_update_rssi_offsets(ar, &rssi_info);
+ noise_floor = ath12k_pdev_get_noise_floor(ar);
+ spin_unlock_bh(&ar->data_lock);
+
+ ath12k_dbg(ab, ATH12K_DBG_WMI,
+ "RSSI noise floor updated, new value is %d dbm\n", noise_floor);
+out_unlock:
+ rcu_read_unlock();
+}
+
static void ath12k_wmi_op_rx(struct ath12k_base *ab, struct sk_buff *skb)
{
struct wmi_cmd_hdr *cmd_hdr;
@@ -8842,6 +9065,9 @@ static void ath12k_wmi_op_rx(struct ath12k_base *ab, struct sk_buff *skb)
case WMI_11D_NEW_COUNTRY_EVENTID:
ath12k_reg_11d_new_cc_event(ab, skb);
break;
+ case WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID:
+ ath12k_wmi_rssi_dbm_conversion_params_info_event(ab, skb);
+ break;
/* add Unsupported events (rare) here */
case WMI_TBTTOFFSET_EXT_UPDATE_EVENTID:
case WMI_PEER_OPER_MODE_CHANGE_EVENTID:
diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h
index ac18f75e04492b62594acb159e3b43b81bd6c392..f0da8bc76390be85a5ba2f79bbbddf07eb465f73 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.h
+++ b/drivers/net/wireless/ath/ath12k/wmi.h
@@ -734,6 +734,8 @@ enum wmi_tlv_event_id {
WMI_SERVICE_READY_EXT2_EVENTID,
WMI_PDEV_GET_HALPHY_CAL_STATUS_EVENTID =
WMI_SERVICE_READY_EXT2_EVENTID + 4,
+ WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID =
+ WMI_PDEV_GET_HALPHY_CAL_STATUS_EVENTID + 5,
WMI_VDEV_START_RESP_EVENTID = WMI_TLV_CMD(WMI_GRP_VDEV),
WMI_VDEV_STOPPED_EVENTID,
WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID,
@@ -1991,6 +1993,9 @@ enum wmi_tlv_tag {
WMI_TAG_PDEV_SET_BIOS_SAR_TABLE_CMD = 0x3D8,
WMI_TAG_PDEV_SET_BIOS_GEO_TABLE_CMD = 0x3D9,
WMI_TAG_PDEV_SET_BIOS_INTERFACE_CMD = 0x3FB,
+ WMI_TAG_RSSI_DBM_CONVERSION_PARAMS_INFO_FIXED_PARAM = 0x427,
+ WMI_TAG_RSSI_DBM_CONVERSION_PARAMS_INFO,
+ WMI_TAG_RSSI_DBM_CONVERSION_TEMP_OFFSET_INFO,
WMI_TAG_HALPHY_CTRL_PATH_CMD_FIXED_PARAM = 0x442,
WMI_TAG_HALPHY_CTRL_PATH_EVENT_FIXED_PARAM,
WMI_TAG_MAX
@@ -5997,6 +6002,43 @@ struct wmi_vdev_set_tpc_power_cmd {
*/
} __packed;
+#define ATH12K_MAX_20MHZ_SEGMENTS 16
+#define ATH12K_MAX_NUM_ANTENNA 8
+#define ATH12K_MAX_NUM_NF_HW_DBM 32
+
+struct ath12k_wmi_rssi_dbm_conv_info_fixed_params {
+ __le32 pdev_id;
+} __packed;
+
+struct ath12k_wmi_rssi_dbm_conv_info_params {
+ __le32 curr_bw;
+ __le32 curr_rx_chainmask;
+ __le32 xbar_config;
+ a_sle32 xlna_bypass_offset;
+ a_sle32 xlna_bypass_threshold;
+ a_sle32 nf_hw_dbm[ATH12K_MAX_NUM_NF_HW_DBM];
+} __packed;
+
+struct ath12k_wmi_rssi_dbm_conv_temp_info_params {
+ a_sle32 offset;
+} __packed;
+
+struct ath12k_wmi_rssi_dbm_conv_param_arg {
+ u32 curr_bw;
+ u32 curr_rx_chainmask;
+ u32 xbar_config;
+ s32 xlna_bypass_offset;
+ s32 xlna_bypass_threshold;
+ s8 nf_hw_dbm[ATH12K_MAX_NUM_ANTENNA][ATH12K_MAX_20MHZ_SEGMENTS];
+};
+
+struct ath12k_wmi_rssi_dbm_conv_info_arg {
+ bool temp_offset_present;
+ s32 temp_offset;
+ bool nf_dbm_present;
+ s8 min_nf_dbm;
+};
+
void ath12k_wmi_init_qcn9274(struct ath12k_base *ab,
struct ath12k_wmi_resource_config_arg *config);
void ath12k_wmi_init_wcn7850(struct ath12k_base *ab,
--
2.34.1
Return-Path: <linux-kernel+bounces-665373-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 11C6B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:25:02 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 5464816A968
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:25:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 863162820B7;
Wed, 28 May 2025 11:24:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="IeKhaX1N"
Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EDC7E281369
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431470; cv=none; b=F3dtfIf1WR/IwIqlQZR0XkOqibH47gobLAHfekP/gWIbpeH8C5BYgG1bdRGCMNZ7CO526LkWM8PIKCCagEqLmlrlKGjlY8mYeWcQ5d9Rwd+dIabTSRkFsqWo96MqLkLRSkz0U1DiRpPmfgnmQN1vWf6njqPObivipedw3d0ky20=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431470; c=relaxed/simple;
bh=8/FgW69JxISLwNura1GmuAjcgN5CszRt4gEccDaBRuk=;
h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:
In-Reply-To:To:Cc; b=cWovWJtEKCOX1nRNcPCAiqXdE5t+k+uErj+O923Cc07V1uQVqVdvZP4Giab2nsqOfaAwTfJv1sl4WfKV54Jpicf/KuBV8tgIlCzx2GJrTWcXh4QyOuhuDjFo05UEWdSRkme/gPeT8pamreK/W022RBcNMohfx0ufYLQ23Prk7Gk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=IeKhaX1N; arc=none smtp.client-ip=205.220.168.131
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com
Received: from pps.filterd (m0279864.ppops.net [127.0.0.1])
by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S7eUxW015869
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:28 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=
XvXVrbB9uCBsREJVHQePUtbTeQk8uumQSbPwvo6V9AQ=; b=IeKhaX1NNWkAKW68
OpWiXPpGYaJ1L27xXREghqeNO/SEV7mQS4gJoOfN7E8E1t5P5LScOs6zxYnFg1BZ
/wHnrgkb9Rka10WE5wLFjrHT5EopT2yRegROSQHKe7ZkaUW8ygCbU7/4ryZM7jbk
MEd7m54AsbMbNhw6ha8Tfj5izB1F+A2UPOsjFobg8VbvMphr+Due+RQtNX/t99TL
wdaSytHoatrlM4BReoaljBCEMHzXfLVJ1mlb5uwllzrULuZLvZzZWFJMImWy0SSM
x1wiAK1Z7TBrXPw+BNTIWqA67eyeqdXGh7Cg4McYkw6DVKREqY5WkENPCMJmMls6
YJNAeQ==
Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71])
by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 46u79pa2je-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT)
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:24:28 +0000 (GMT)
Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-31147652b36so3493725a91.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:24:28 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431467; x=1749036267;
h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
:mime-version:subject:date:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=XvXVrbB9uCBsREJVHQePUtbTeQk8uumQSbPwvo6V9AQ=;
b=jLf1Uc41w8DPUOi1kqzWKgBfTEKmjl9OhXvqNt4fes9Qqf4Qj+grBTVisNz+4vZLot
KsZBqf+zXCU26L/5lyYiGw143K7odk0FzeItaqAYd7pWec0hKv3Nx9MqfbxnwYlwxZDk
evwg0lcQ8yP5gGwomhk8Ns6DcwzjSFcsAccgpgsZ8ZFQkJ44233atHqOScQwq7yGYhvg
0VPE6SYgNKHOsfsRuziRiUDkPM+PzsEBeHrPPOnzx3vvaEeemvoAX8FXxMcZQ9iwZw0X
On0kQCfWKHPpLgaw7z+KR1vuWm9NZlWNzY8F706kfa891+rWKFgkrLThPrQWWbgVEwbH
E5bw==
X-Forwarded-Encrypted: i=1; AJvYcCVxBbzj2K2kBLxArPgADD3OWIuSAc/A22kcn31nlepJ/Zu3sVTV2ocI5qdZkaUchWY2pzSt9LkWxoHMJUQ=@vger.kernel.org
X-Gm-Message-State: AOJu0YzEmnVuiZ4oDz92HBOsUwbIFyEYHCczwy1NtF45x6mur+hbhrRn
K1AIC3GDIume2iVO7U/OLjrEwbNsTxj+zsTGvMupuFnU2XlJpErnpFuQ3X9p6Mbhlo2byvbZM6k
mA5SU/2yhswPURNU+tNudvPDgE6l8/enEm/nKthyG4899LxAmsvRRu+56BdgmVP7MXoc=
X-Gm-Gg: ASbGncuZ7LfiGfUW42hjloD4UxGwb7m1DF03NyX2vIlklx/LCW0qBVwBbrKtjPkcXKX
B2GqZ0Nb8wf60ja6Vgo8t90N11VtDkDGt38luV8B/J+9pIQjo+zgmbSMLtdMZQgBBmDmXcvW//l
UN+4jHdc7RwyoGTqgCOYs2SgSdDj2fSKxCkhtToKm6Qx2g1Yg3AOxn/fSMyGHrrdamiqISut7be
Gq87YDxPs3Zu0nXUX712VzV1yl+utIVxImCk6EbWZUOiCuSmfNe2vmbWKXBjSnIk6CwoCbgHdW/
qVsYmuQ9uX5cPOCGCwrOKreK/+yzBvI5QlWDOX2KGcuaEMpamo7obneRDkFIu861umQkAtLC5MH
IwqlQ33TdZ/eDPi5i7Zxa6NNFfK3X0tSSdin4
X-Received: by 2002:a17:90b:3911:b0:311:f30b:c18 with SMTP id 98e67ed59e1d1-311f30b0ff9mr1919846a91.4.1748431466938;
Wed, 28 May 2025 04:24:26 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IHxrSxa32P/OBuY6Gyr562LgyJoCpcIkhZC7dFxORGWAL6m6RyIoGAXyay4CRbLtlLjYQKkYw==
X-Received: by 2002:a17:90b:3911:b0:311:f30b:c18 with SMTP id 98e67ed59e1d1-311f30b0ff9mr1919815a91.4.1748431466513;
Wed, 28 May 2025 04:24:26 -0700 (PDT)
Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19])
by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-311e9b668ffsm954665a91.20.2025.05.28.04.24.24
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:24:26 -0700 (PDT)
From: Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 16:54:01 +0530
Subject: [PATCH ath-next 2/2] wifi: ath12k: use real noise floor instead of
default value
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20250528-support_real_noise_floor-v1-2-04507bd3bc76@xxxxxxxxxxxxxxxx>
References: <20250528-support_real_noise_floor-v1-0-04507bd3bc76@xxxxxxxxxxxxxxxx>
In-Reply-To: <20250528-support_real_noise_floor-v1-0-04507bd3bc76@xxxxxxxxxxxxxxxx>
To: Jeff Johnson <jjohnson@xxxxxxxxxx>
Cc: linux-wireless@xxxxxxxxxxxxxxx, ath12k@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
Raj Kumar Bhagat <quic_rajkbhag@xxxxxxxxxxx>,
Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
X-Mailer: b4 0.14.2
X-Proofpoint-GUID: vE3XisHtyxZ9X14LJNoe04v1Yxnx54Hi
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDEwMCBTYWx0ZWRfXzAlGal99KLZ/
EYeWKUUnBY0TSsWvO/8YMBdm6V8SrszGbRpP8YN/LjLyMC82gQ3pGBAavc+oXcUd3EWJFSaBx5Q
7rys6hjIJbczLpo4idAyPQFXNlC+VhyCYNqrL25+TmhGO2qMaI1DYw+0EkqDaHOoQo6aH/xD5cd
uQbykOD1m28n8qr7KWx/j51qB4ZxoHtFpMBsVxCxkcW+E8fYYQNn+kCqoadG38c6oQOmv8HBj31
TyXahEDyamwvjtDU5WYNxkXcj2jd+aO8MqPoVhHCenFz0hUdkeE4+q3E6A3oI5H6QxUKX6zQTVP
bLUg6kPFcW/RJ7Viepy/yhrzzUC98+m5nbqnNIJvgB8uoGFIJ6FbuckYavnjg/jyl5jY4you+8j
yRfVa9XOOHQoYq2uA8p863K+5QZSqlZpeX0SqY/m3fPmA1Srcf6pD28GtJSsqBkPL3FR7p6I
X-Authority-Analysis: v=2.4 cv=HNnDFptv c=1 sm=1 tr=0 ts=6836f26c cx=c_pps
a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17
a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8
a=14mRfNIsjSzQyU8rJgwA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22
a=TjNXssC_j7lpFel5tvFf:22
X-Proofpoint-ORIG-GUID: vE3XisHtyxZ9X14LJNoe04v1Yxnx54Hi
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0
clxscore=1015 suspectscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0
priorityscore=1501 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0
bulkscore=0 impostorscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280100
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
From: Raj Kumar Bhagat <quic_rajkbhag@xxxxxxxxxxx>
ATH12K_DEFAULT_NOISE_FLOOR represents the approximate noise floor value
which is used for RSSI calculation. Commit "wifi: ath12k: handle WMI event
for real noise floor calculation" added support to get the real noise floor
value from the firmware. Add changes to use the real value now instead of
the default one.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@xxxxxxxxxxx>
Co-developed-by: Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
Signed-off-by: Aditya Kumar Singh <aditya.kumar.singh@xxxxxxxxxxxxxxxx>
---
drivers/net/wireless/ath/ath12k/dp_mon.c | 7 ++++++-
drivers/net/wireless/ath/ath12k/dp_tx.c | 20 ++++++++++++++++----
drivers/net/wireless/ath/ath12k/mac.c | 10 +++++++---
drivers/net/wireless/ath/ath12k/wmi.c | 7 ++++++-
4 files changed, 35 insertions(+), 9 deletions(-)
diff --git a/drivers/net/wireless/ath/ath12k/dp_mon.c b/drivers/net/wireless/ath/ath12k/dp_mon.c
index 28cadc4167f7875e56eb80407b35cb97d4b19ad2..326bcc94ffee6dbdd8e88d0cc63561e379b95690 100644
--- a/drivers/net/wireless/ath/ath12k/dp_mon.c
+++ b/drivers/net/wireless/ath/ath12k/dp_mon.c
@@ -2146,10 +2146,15 @@ static void ath12k_dp_mon_update_radiotap(struct ath12k *ar,
struct ieee80211_rx_status *rxs)
{
struct ieee80211_supported_band *sband;
+ s32 noise_floor;
u8 *ptr = NULL;
+ spin_lock_bh(&ar->data_lock);
+ noise_floor = ath12k_pdev_get_noise_floor(ar);
+ spin_unlock_bh(&ar->data_lock);
+
rxs->flag |= RX_FLAG_MACTIME_START;
- rxs->signal = ppduinfo->rssi_comb + ATH12K_DEFAULT_NOISE_FLOOR;
+ rxs->signal = ppduinfo->rssi_comb + noise_floor;
rxs->nss = ppduinfo->nss + 1;
if (ppduinfo->userstats[ppduinfo->userid].ampdu_present) {
diff --git a/drivers/net/wireless/ath/ath12k/dp_tx.c b/drivers/net/wireless/ath/ath12k/dp_tx.c
index b6816b6c2c0400ea8a027ef4527eea307346bc1f..2d4867668d8c53333da41837a0c9ff9dd282ed73 100644
--- a/drivers/net/wireless/ath/ath12k/dp_tx.c
+++ b/drivers/net/wireless/ath/ath12k/dp_tx.c
@@ -554,6 +554,7 @@ ath12k_dp_tx_htt_tx_complete_buf(struct ath12k_base *ab,
struct ath12k_vif *ahvif;
struct ath12k *ar;
struct sk_buff *msdu = desc_params->skb;
+ s32 noise_floor;
skb_cb = ATH12K_SKB_CB(msdu);
info = IEEE80211_SKB_CB(msdu);
@@ -592,8 +593,13 @@ ath12k_dp_tx_htt_tx_complete_buf(struct ath12k_base *ab,
info->status.ack_signal = ts->ack_rssi;
if (!test_bit(WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT,
- ab->wmi_ab.svc_map))
- info->status.ack_signal += ATH12K_DEFAULT_NOISE_FLOOR;
+ ab->wmi_ab.svc_map)) {
+ spin_lock_bh(&ar->data_lock);
+ noise_floor = ath12k_pdev_get_noise_floor(ar);
+ spin_unlock_bh(&ar->data_lock);
+
+ info->status.ack_signal += noise_floor;
+ }
info->status.flags = IEEE80211_TX_STATUS_ACK_SIGNAL_VALID;
} else {
@@ -775,6 +781,7 @@ static void ath12k_dp_tx_complete_msdu(struct ath12k *ar,
struct ieee80211_vif *vif;
struct ath12k_vif *ahvif;
struct sk_buff *msdu = desc_params->skb;
+ s32 noise_floor;
if (WARN_ON_ONCE(ts->buf_rel_source != HAL_WBM_REL_SRC_MODULE_TQM)) {
/* Must not happen */
@@ -827,8 +834,13 @@ static void ath12k_dp_tx_complete_msdu(struct ath12k *ar,
info->status.ack_signal = ts->ack_rssi;
if (!test_bit(WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT,
- ab->wmi_ab.svc_map))
- info->status.ack_signal += ATH12K_DEFAULT_NOISE_FLOOR;
+ ab->wmi_ab.svc_map)) {
+ spin_lock_bh(&ar->data_lock);
+ noise_floor = ath12k_pdev_get_noise_floor(ar);
+ spin_unlock_bh(&ar->data_lock);
+
+ info->status.ack_signal += noise_floor;
+ }
info->status.flags = IEEE80211_TX_STATUS_ACK_SIGNAL_VALID;
}
diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index 8ff470749f14545d1c726cc1dc26880e129277fa..e52de62c38e1ce46d3afd6493f1b51587dd3036f 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -11042,8 +11042,8 @@ static void ath12k_mac_op_sta_statistics(struct ieee80211_hw *hw,
struct ath12k_sta *ahsta = ath12k_sta_to_ahsta(sta);
struct ath12k_fw_stats_req_params params = {};
struct ath12k_link_sta *arsta;
+ s8 signal, noise_floor;
struct ath12k *ar;
- s8 signal;
bool db2dbm;
lockdep_assert_wiphy(hw->wiphy);
@@ -11091,15 +11091,19 @@ static void ath12k_mac_op_sta_statistics(struct ieee80211_hw *hw,
!(ath12k_mac_get_fw_stats(ar, ¶ms)))
signal = arsta->rssi_beacon;
+ spin_lock_bh(&ar->data_lock);
+ noise_floor = ath12k_pdev_get_noise_floor(ar);
+ spin_unlock_bh(&ar->data_lock);
+
if (signal) {
- sinfo->signal = db2dbm ? signal : signal + ATH12K_DEFAULT_NOISE_FLOOR;
+ sinfo->signal = db2dbm ? signal : signal + noise_floor;
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL);
}
sinfo->signal_avg = ewma_avg_rssi_read(&arsta->avg_rssi);
if (!db2dbm)
- sinfo->signal_avg += ATH12K_DEFAULT_NOISE_FLOOR;
+ sinfo->signal_avg += noise_floor;
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL_AVG);
}
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index e07f1e46ba418a0583a0feaa711ada7b6cd193e2..1287755d6df0c1269f61d91ea06ed9024e975cf6 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -6427,6 +6427,7 @@ static void ath12k_mgmt_rx_event(struct ath12k_base *ab, struct sk_buff *skb)
struct ieee80211_hdr *hdr;
u16 fc;
struct ieee80211_supported_band *sband;
+ s32 noise_floor;
if (ath12k_pull_mgmt_rx_params_tlv(ab, skb, &rx_ev) != 0) {
ath12k_warn(ab, "failed to extract mgmt rx event");
@@ -6488,7 +6489,11 @@ static void ath12k_mgmt_rx_event(struct ath12k_base *ab, struct sk_buff *skb)
status->freq = ieee80211_channel_to_frequency(rx_ev.channel,
status->band);
- status->signal = rx_ev.snr + ATH12K_DEFAULT_NOISE_FLOOR;
+ spin_lock_bh(&ar->data_lock);
+ noise_floor = ath12k_pdev_get_noise_floor(ar);
+ spin_unlock_bh(&ar->data_lock);
+
+ status->signal = rx_ev.snr + noise_floor;
status->rate_idx = ath12k_mac_bitrate_to_idx(sband, rx_ev.rate / 100);
hdr = (struct ieee80211_hdr *)skb->data;
--
2.34.1
Return-Path: <linux-kernel+bounces-665374-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 84E0141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:25:24 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id ADA6416D355
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:25:25 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 1C67727991E;
Wed, 28 May 2025 11:25:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QwoKX6a1"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4CFE86A33B;
Wed, 28 May 2025 11:25:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431513; cv=none; b=qjtixVWm9bmM7yqy8xnK2HgYDCWHTJeS40kI6N+2jHoaD3fkiNa3u9ZbSs6cti7Xg/eyXgXnRMtP/6Pjvdm8e0TFrdZVyFmdB6yHNjLSf4go2Y1fvdw1gE/CUe9MonkJqZBFmXIozWHqlCKRSH/CnJh7ckuSkc9eI8BsyKL5OuM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431513; c=relaxed/simple;
bh=K4InY6t48H5O8zLU+hNLlWosd5sv42G9OLlcDO3H+MM=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=ajW3SijWpqoXoaEohr/pNuO5dEHhneN7V8EXC+oOCiY/DaLvVHEZtexml4IeBANUElKPBYJb5TnVY+dUg89kRlJ2QhoiqULBE/qiozj7jglgc2ryieLzFefIuUmObqb3GosXXUsZmwQQsUw9cQUnCGiuXENS39/gZit6cLjre9s=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QwoKX6a1; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7E887C4CEE7;
Wed, 28 May 2025 11:25:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748431512;
bh=K4InY6t48H5O8zLU+hNLlWosd5sv42G9OLlcDO3H+MM=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=QwoKX6a1HAKgzaBvCoyOhIO1pbBz2pF8HqQ6xzKdeassjWxQp/uPE2yINhGaXIjfr
i1BTW4VEIqJDTrxbg1TcM02zEBwplZQsnflyhFFmQ6rcjkq/Fy+K3ucy9antZBM7Zg
4g4d/3F3/o1AMvGRKdJmVZ9WX9hDCeOVS+OBXMxuoyiitH+GopNhwLOXn96RVuKzpL
mt/MBXKlat/QdW+wXlVAjh0NzmwVtlPpl+w+Om/e+RlG07WeHDamx4VTiQ2hm9T4cn
/eVm2oE9s8eXY7zg7krfYb0jKUnvQQt+8NtyJin6kJ8/e1hWedaIf98Hq44+UidJfT
wO6C59/hn4iIg==
Date: Wed, 28 May 2025 12:25:08 +0100
From: Conor Dooley <conor@xxxxxxxxxx>
To: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= <ukleinek@xxxxxxxxxx>
Cc: Nylon Chen <nylon.chen@xxxxxxxxxx>, Palmer Dabbelt <palmer@xxxxxxxxxxx>,
Albert Ou <aou@xxxxxxxxxxxxxxxxx>, devicetree@xxxxxxxxxxxxxxx,
linux-pwm@xxxxxxxxxxxxxxx, linux-riscv@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, robh@xxxxxxxxxx, krzk+dt@xxxxxxxxxx,
paul.walmsley@xxxxxxxxxx, samuel.holland@xxxxxxxxxx
Subject: Re: [PATCH v14 0/5] Change PWM-controlled LED pin active mode and
algorithm
Message-ID: <20250528-obedience-staff-8c7115a1e72c@spud>
References: <20250509095234.643890-1-nylon.chen@xxxxxxxxxx>
<crcfskukqifse6gqrydx2iezargv5frv6dguj3iqdkfm7xxbqh@4v2dvo4zcmbz>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
protocol="application/pgp-signature"; boundary="g+WxYtHMM8gBZU/7"
Content-Disposition: inline
In-Reply-To: <crcfskukqifse6gqrydx2iezargv5frv6dguj3iqdkfm7xxbqh@4v2dvo4zcmbz>
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--g+WxYtHMM8gBZU/7
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Wed, May 28, 2025 at 12:21:45PM +0200, Uwe Kleine-K=F6nig wrote:
> Hello,
>=20
> patches 1 and 2 ideally go in together, right? @Conor, does your Ack
> mean that you're OK with me taking the dts change via my pwm tree?
That's exactly what an ack from me means, yes.
--g+WxYtHMM8gBZU/7
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCaDbylAAKCRB4tDGHoIJi
0o5UAP9VjzL/ZyLA/i/SUt2+q4K+R5tvVDuyf86ESthCZ26OnwEA5B0jDEtRBnoF
IdZ9OaRAigLh373m9zVKDnSsP1nKCQA=
=B2ga
-----END PGP SIGNATURE-----
--g+WxYtHMM8gBZU/7--
Return-Path: <linux-kernel+bounces-665375-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 89F7E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:25:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 4E15F1BC67D6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:26:03 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 13343280A5C;
Wed, 28 May 2025 11:25:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="XeUJiqd6"
Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F647280A5F
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:25:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431540; cv=none; b=KN8FwAyzJcbOcfIGt5F9OwXQqm0RglBQyeQN0wTQQKbOdB0zMDB4M7jcDwb/kbO3GdthxLtIKncnWT4DZE5aqVtwi1msU/P1or3H61M5x9xazrEU0yHqCfi3rrA8z8S9ZF5leLS7WVmsY5aZ6eJG8LC74qEnpJtLGIWSxhSrLQw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431540; c=relaxed/simple;
bh=/z69r5j7eQD59Eylp2whO4+L8hzBImzoOCTlDSvHwik=;
h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=EynQ1OZrPXJdZrvpNoeoLoDVh808xwoHrDnRVB6FNVCeHzE9yXVWvyrAO+pveTR3Q8jO2CM3YZYZO3zf3ZRY2R7I75ZG2n6+gkcvdJc8BWHShxnHkygFCkdCLze8LGDQmNj0cToP4/utoFoSri//pIuaDACjgq15XhLAIVhAiZE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--korneld.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=XeUJiqd6; arc=none smtp.client-ip=209.85.128.73
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--korneld.bounces.google.com
Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-43d0830c3f7so35679915e9.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:25:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20230601; t=1748431537; x=1749036337; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:from:subject:message-id
:mime-version:date:from:to:cc:subject:date:message-id:reply-to;
bh=YV0IEEKwbw3gLZ0Ixzqhl3dZxV1QXGgxm0gXEvnJJgU=;
b=XeUJiqd6AaUQswLaDuaTzBLX1ScErQm5fxkl9v814Q6Rt1KgNo5dSNsiV7eotcXraI
OzRciy7HfeZbRj0ice2p6T7Mz674XYQ7zisdBl0A5xdXFVrZ3o8MblpYCteddaOEWQl3
4J9Figedbd9VoBQRda1YWf5dA15AE+PNbtcIlAyDv+531YQyrl5WMY7BNcaf1wABxnST
xda0oiAZFTmHchFEMkQa718Qy1MYg4DwE+o8uT2gzDJeKOLrQGRHyNl106m5ei62pkKy
+RC6FJMrOFAGMzlKkMCpLtV8ARx9iD2Q4vb2b0P/m8lGX9Hs3zr6RuVPQx8ZCiZrELRF
u+Ig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431537; x=1749036337;
h=content-transfer-encoding:cc:to:from:subject:message-id
:mime-version:date:x-gm-message-state:from:to:cc:subject:date
:message-id:reply-to;
bh=YV0IEEKwbw3gLZ0Ixzqhl3dZxV1QXGgxm0gXEvnJJgU=;
b=dx1HFxw6XF2TF4Z8FiVdL9Hf2VRdZAnuIAkaYPUT0jIUahhvNZOUxHE3IPMPmAbs0V
LXUtPe3RAsZEDznH+s9T30+TeVkuUBST1iUH+xza6ewHYAXVt8YRFtmc3+pyY7dI/lMd
EGlzCbQeYh3Ws6gtRoei3iqIsFlnqjAjJSyKLIUjhCQ/Tt65YKQAHyP/SdZMQOutjr2e
yj1vC0dxFbO8xJzSA9glDEkWFJoqOGMi2FSl1uhMlhrQYLhUalTv9BYH9wH8uMs0OeDj
I0WFiW1KxmfVMDQccINDYCxclq5wTZTClx15R/JMuWAfGLVu2Q8SthSkVb73faE6Ri66
ntyg==
X-Forwarded-Encrypted: i=1; AJvYcCU5OxodU3uZcB9S1OLrmkiQNitH5X/6fV9aefYylrNzanBO+vhhDw9mmlLk7HrVm7Y/7FHzQNjvIQa39JU=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw50K4d3qQ0ursp8h24ZbhOdpPBmyOCgrWZat86/k31Xts2LFYf
MfaEb+Wyn0wDw0ZVUU2qwn2xfRA3TFN7HkTt0BUtmSMen4xkHHThWxztGEJsnJOIE4rK3li7RvH
WVce74aVWNA==
X-Google-Smtp-Source: AGHT+IG4ATd7FNzOa91yWDGLE/itRXBU5va1Cfi+ZMQfIZSL8JNeoZrTn2+Fex9+uqQ8V3EuaMcIKbB8u4Zs
X-Received: from wmbbi9.prod.google.com ([2002:a05:600c:3d89:b0:43d:9035:df36])
(user=korneld job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:34d3:b0:441:b19c:96fe
with SMTP id 5b1f17b1804b1-44c91ad6cc6mr192754875e9.10.1748431537029; Wed, 28
May 2025 04:25:37 -0700 (PDT)
Date: Wed, 28 May 2025 11:23:29 +0000
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
Mime-Version: 1.0
X-Mailer: git-send-email 2.49.0.1164.gab81da1b16-goog
Message-ID: <20250528112328.1640743-2-korneld@xxxxxxxxxx>
Subject: [PATCH v2] power: supply: qcom_battmgr: Report battery capacity
From: "=?UTF-8?q?Kornel=20Dul=C4=99ba?=" <korneld@xxxxxxxxxx>
To: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>, Sebastian Reichel <sre@xxxxxxxxxx>,
Bjorn Andersson <andersson@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
"=?UTF-8?q?Kornel=20Dul=C4=99ba?=" <korneld@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-9.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,PDS_OTHER_BAD_TLD,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Battery charge can be reported in several different ways. One of them is
is charge percentage referred to as POWER_SUPPLY_PROP_CAPACITY in the
power supply API. Currently the driver reports the capacity in this way
on SM8350, but not on the newer variants referred to as SC8280XP in the
driver. Although this is not a bug in itself, not reporting the
percentage can confuse some userspace consumers.
Mimic what is done in the ACPI driver (drivers/acpi/battery.c) and
calculate the percentage capacity by dividing the current charge value
by the full charge.
Signed-off-by: Kornel Dul=C4=99ba <korneld@xxxxxxxxxx>
---
v2: Change the logic to avoid u64 division, which is problematic on
32bit platforms.
drivers/power/supply/qcom_battmgr.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qco=
m_battmgr.c
index fe27676fbc7c..33a70f3d72bc 100644
--- a/drivers/power/supply/qcom_battmgr.c
+++ b/drivers/power/supply/qcom_battmgr.c
@@ -577,6 +577,8 @@ static int qcom_battmgr_bat_get_property(struct power_s=
upply *psy,
val->intval =3D battmgr->status.capacity;
break;
case POWER_SUPPLY_PROP_CAPACITY:
+ if (battmgr->status.percent =3D=3D (unsigned int)-1)
+ return -ENODATA;
val->intval =3D battmgr->status.percent;
break;
case POWER_SUPPLY_PROP_TEMP:
@@ -617,6 +619,7 @@ static const enum power_supply_property sc8280xp_bat_pr=
ops[] =3D {
POWER_SUPPLY_PROP_STATUS,
POWER_SUPPLY_PROP_PRESENT,
POWER_SUPPLY_PROP_TECHNOLOGY,
+ POWER_SUPPLY_PROP_CAPACITY,
POWER_SUPPLY_PROP_CYCLE_COUNT,
POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
POWER_SUPPLY_PROP_VOLTAGE_NOW,
@@ -1063,6 +1066,26 @@ static void qcom_battmgr_sc8280xp_callback(struct qc=
om_battmgr *battmgr,
battmgr->ac.online =3D source =3D=3D BATTMGR_CHARGING_SOURCE_AC;
battmgr->usb.online =3D source =3D=3D BATTMGR_CHARGING_SOURCE_USB;
battmgr->wireless.online =3D source =3D=3D BATTMGR_CHARGING_SOURCE_WIREL=
ESS;
+ if (battmgr->info.last_full_capacity !=3D 0) {
+ /*
+ * 100 * battmgr->status.capacity can overflow a 32bit
+ * unsigned integer. FW readings are in m{W/A}h, which
+ * are multiplied by 1000 converting them to u{W/A}h,
+ * the format the power_supply API expects.
+ * To avoid overflow use the original value for dividend
+ * and convert the divider back to m{W/A}h, which can be
+ * done without any loss of precision.
+ */
+ battmgr->status.percent =3D
+ (100 * le32_to_cpu(resp->status.capacity)) /
+ (battmgr->info.last_full_capacity / 1000);
+ } else {
+ /*
+ * Let the sysfs handler know no data is available at
+ * this time.
+ */
+ battmgr->status.percent =3D (unsigned int)-1;
+ }
break;
case BATTMGR_BAT_DISCHARGE_TIME:
battmgr->status.discharge_time =3D le32_to_cpu(resp->time);
--=20
2.49.0.1164.gab81da1b16-goog
Return-Path: <linux-kernel+bounces-665376-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0576E41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:26:56 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 3323E7B2320
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:25:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id CA68F280CD1;
Wed, 28 May 2025 11:26:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UjWkl7CK"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 136A36A33B;
Wed, 28 May 2025 11:26:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431605; cv=none; b=d1SJ9yX45fNEVgcq/j9011m730bST23pLbJq3PnGsBEVyP5cj189ZSuMeNXm1Y8OIvd9AraA18KWAPXdvlYmb1I7JOrSlJ8a2blQqUJfU3hfocvglmRkF47nz1+iSEfxEGlusgTUlljzqW9tM34VE2d1RFBrBtwEVOLrDeaa+TE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431605; c=relaxed/simple;
bh=pHmT7aY2EuaIEdbmRwaEn2IjqMZIspf0OdMtXL6yvTI=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=WLaV8UBhKR2P+63l8A/On2XgwyOygmZsgov9ziAy9QOfsegT3h5960K71f9H42C1sB+P0LtOLYyKIRHcbiJUQj+GyA8TRTV4sPkjM2Un+Ym4gqBu+NzgLbTs46njOv60HpiSZVKIbsnvQXSqSTeh7Xu59cnCvsQaBFu2bmrM5cg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UjWkl7CK; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 26295C4CEEB;
Wed, 28 May 2025 11:26:39 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748431603;
bh=pHmT7aY2EuaIEdbmRwaEn2IjqMZIspf0OdMtXL6yvTI=;
h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
b=UjWkl7CK+doLxND9TQQ9oMgSoZsM8IiBhiX8aSR5x/44iEiuxDek4j8a29nV0x0cf
L/7S1EZLTiqs9F0ZEFvDj35L927Tebp3yJr+JJZPOuYZ93qAzUiHQo06j9vsIX3m8j
wb7pxV25/hmuSRh1G0Cb10t6D80Q9XOT81K7SIL1w1STM4CVQExN8PKOy1Ymk2YwVv
khVJT2hv3DmBI0NygvqCNl1H76ch7c1h0xxoHi9qtEx0hVyyFWMgqB2Okk5jIhlcqa
le4Wl6v48aInexCa6qvNTne4wwAHoGFtRSLMB8sT7pYy4VpDhlyNMx4RmvX/xyWHoS
UlhtLAn+swKGg==
Date: Wed, 28 May 2025 12:26:37 +0100
From: Mark Brown <broonie@xxxxxxxxxx>
To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx, patches@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, torvalds@xxxxxxxxxxxxxxxxxxxx,
akpm@xxxxxxxxxxxxxxxxxxxx, linux@xxxxxxxxxxxx, shuah@xxxxxxxxxx,
patches@xxxxxxxxxxxx, lkft-triage@xxxxxxxxxxxxxxxx, pavel@xxxxxxx,
jonathanh@xxxxxxxxxx, f.fainelli@xxxxxxxxx,
sudipm.mukherjee@xxxxxxxxx, srw@xxxxxxxxxxxxxxxx, rwarsow@xxxxxx,
conor@xxxxxxxxxx, hargar@xxxxxxxxxxxxx
Subject: Re: [PATCH 6.14 000/783] 6.14.9-rc1 review
Message-ID: <bedf1595-719d-41be-a002-177bee88da35@xxxxxxxxxxxxx>
References: <20250527162513.035720581@xxxxxxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
protocol="application/pgp-signature"; boundary="nJ6UZCQ6yzhKssSs"
Content-Disposition: inline
In-Reply-To: <20250527162513.035720581@xxxxxxxxxxxxxxxxxxx>
X-Cookie: Keep away from edge.
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
--nJ6UZCQ6yzhKssSs
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Tue, May 27, 2025 at 06:16:37PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.14.9 release.
> There are 783 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
Tested-by: Mark Brown <broonie@xxxxxxxxxx>
--nJ6UZCQ6yzhKssSs
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmg28uwACgkQJNaLcl1U
h9BqzQf+NuJ+Xdh2+/nTyzAPqofhAEuUlVyCo6oMpJJTMVC93FQfoe8oLgBLZaRN
bngc/9lSBm3GRzrifFVd2E6Hwmo8YLcQKtKbjESp3VX46qRoHIhvdR85DvFPGkDI
Ys3fplTDudYDGiY6VXNleT6GeH+WKlGt5fypomCpwJ6TtYho5xVQpSQVI9rDbgqD
aloWb9Y+KxGCqx87nWTzcj6gqvd86XN9QCgngkAVGYU4G+bOWFNv2oHbnuHj56Tr
AekeoPrvf1g3EJF8xnRdRTPr3Ntm2C/JVKsxBG5G0uVNxd4vmY8gMOiJwTgZ099g
DCocFGDheAgJrPgdW3vDFrMxUBoDFg==
=zlKk
-----END PGP SIGNATURE-----
--nJ6UZCQ6yzhKssSs--
Return-Path: <linux-kernel+bounces-665377-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 4D19741E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:27:46 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id E6199167C1C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:27:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BBFA2242D98;
Wed, 28 May 2025 11:27:38 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="HlXkGXUD"
Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21DEF2798E6
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:27:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431658; cv=none; b=CboZbXTSk2RTebDKhUrw7qRGZt/VJXAblSj0TJLiGB5r6kw7ZfIf1IcCw8MRslGcQt+0rl1+8SugKrVQ/mzrCm2CJS1ckhm3+lp3C1oYM7SJCtY9va4HuYZ9h7T3c+/058M95Wp5nUnx8bT3j1pm8R23+4oZ5YwwjxRJ4W36ROw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431658; c=relaxed/simple;
bh=nTIue3Mvzn20Dd3HzdKn9bucnWMFMJhc/jukety0TF8=;
h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References:
Content-Type:MIME-Version; b=FeeAZZJiyfnB5Hqn8OmhIOAMo082zPOLZyYB7S7awt0DuEK+etGJbNDuzNH03cNQl5yEx3/hy20ApBNjFe/YYZFPWtKEZEC6QoKG2lkn3hXqfOLmWij12+JMS6PYPNjoo7ygPtpoLSnOsvXEYdpougFQdzZx/F7k9UesP9BV3Ww=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=HlXkGXUD; arc=none smtp.client-ip=170.10.129.124
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1748431654;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
bh=nTIue3Mvzn20Dd3HzdKn9bucnWMFMJhc/jukety0TF8=;
b=HlXkGXUDRQI6zrRQUyNTqUWMmFBTLLFyTYGC0dQffBIgGazfZ+b06CDNISqkG/krVVhiai
BY4pXRuHE7e+kJARqk/HYrurPt2JeIYPeNad0f5QVZVVGeOOAqeZFvh1DKQ9LDp+oS9Ea4
EscwxtUYzsAGz/R+cPBF0EFcJQEngis=
Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com
[209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS
(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
us-mta-383-gzwblDV0M9eYVYGUETfDxA-1; Wed, 28 May 2025 07:27:33 -0400
X-MC-Unique: gzwblDV0M9eYVYGUETfDxA-1
X-Mimecast-MFC-AGG-ID: gzwblDV0M9eYVYGUETfDxA_1748431652
Received: by mail-ed1-f72.google.com with SMTP id 4fb4d7f45d1cf-6021b8b2ab1so4400983a12.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:27:33 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748431652; x=1749036452;
h=mime-version:user-agent:content-transfer-encoding:autocrypt
:references:in-reply-to:date:cc:to:from:subject:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=nTIue3Mvzn20Dd3HzdKn9bucnWMFMJhc/jukety0TF8=;
b=UYvYPu629r/jVgYdTPPxDBsjXJPYy3jArLUUW6+9pVhe+gOuB9q8xg+xrdNTv/Y/Q0
JYJqACdBhkLr6SAZ9yQGASkhQe+QbOUjlM8J0+Sl+1MR6fYNL+7TVaC17PZn327Vvf0z
Sx1jlLRcuMRV1hk6sabuSLVEBthOL42pwXFVeMTmx21C24N2Mqllsm4eSYcEUen2u598
Pvh7lTzx2158PHT5chlQTerHea5e19K5z3sHnzNg4xhuRucIuMCMmBYOV3N5axcD93SN
aGe0m1kAEy2gIfyrRwuE5bMtD8856EYMnvUkVSQqPXIt+QYG8PT5Tk8g4T8S0aaLgnge
8qQQ==
X-Gm-Message-State: AOJu0YwBGpYJqQkl5BV2EaiAdlK4Mgdv9m7cPB2MUVD/+zIsXafi7NRJ
jQ9k9COFQGeOt1MWA5J1kfgrObyvZpz07izg8Y3N5sAf7ZWmAUwSxtRzqCNKJmYqOCzoBVu6/Xm
nBZORze/rOh3re42gMt6NHsVACRCKCxP+WjabW1h2KbNvxBiMqEphBU0WuFDOr07yWw==
X-Gm-Gg: ASbGncvHlHf7KEIrxyuoLCSOvH7XsqsHdeGonJWi6+UnEAazjVczT9K25qBcBIudIas
it33uvLg2g05yI+G0cgfldLe51kLWaNn6gDqHGlU3DFIBkiW/DfvDj5qqNld23i20UQJ89HxWyd
GMrdGrxEcYdyNNHwtwS6grfuN+uTsNwkzAk19LKdK0Ac4ezs7M/vKpPQTOD72m81htGqAfcIDB3
TgBkfKyaLNKumL0yV+vQzcyTVhcYqjLxsIWuZmlr4DKONlzZYdqVYgtRrPgwlGxKEbzFDyTaFoI
1fHk7r62jWVh/69vE08H9AAxVQK4yQqcyMHS26kt
X-Received: by 2002:aa7:d644:0:b0:5fb:f4a5:7871 with SMTP id 4fb4d7f45d1cf-602da2f841emr10797119a12.16.1748431652412;
Wed, 28 May 2025 04:27:32 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IFwQUWEH2pCZ5bxs+CgNRhJt6TOY/L9pdb25KbPomHATF7eVp8pLEQnjG8aLofLp7Gk157YcA==
X-Received: by 2002:aa7:d644:0:b0:5fb:f4a5:7871 with SMTP id 4fb4d7f45d1cf-602da2f841emr10797098a12.16.1748431652041;
Wed, 28 May 2025 04:27:32 -0700 (PDT)
Received: from gmonaco-thinkpadt14gen3.rmtit.csb ([195.174.135.144])
by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6051d5d9936sm649141a12.7.2025.05.28.04.27.30
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:27:31 -0700 (PDT)
Message-ID: <5fa6744332000be5e914e32d205b634e22bc4f4f.camel@xxxxxxxxxx>
Subject: Re: [RFC PATCH v2 12/12] rv: Add opid per-cpu monitor
From: Gabriele Monaco <gmonaco@xxxxxxxxxx>
To: Nam Cao <namcao@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx, Steven Rostedt <rostedt@xxxxxxxxxxx>,
linux-trace-kernel@xxxxxxxxxxxxxxx, linux-doc@xxxxxxxxxxxxxxx, Ingo Molnar
<mingo@xxxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Tomas Glozar
<tglozar@xxxxxxxxxx>, Juri Lelli <jlelli@xxxxxxxxxx>
Date: Wed, 28 May 2025 13:27:29 +0200
In-Reply-To: <20250527145032.fIN-37M_@xxxxxxxxxxxxx>
References: <20250514084314.57976-1-gmonaco@xxxxxxxxxx>
<20250514084314.57976-13-gmonaco@xxxxxxxxxx>
<20250527133712.CFW5AcNE@xxxxxxxxxxxxx>
<6f33e6b7ad296f4fd0e9c089ac92e53c08cfd850.camel@xxxxxxxxxx>
<20250527145032.fIN-37M_@xxxxxxxxxxxxx>
Autocrypt: addr=gmonaco@xxxxxxxxxx; prefer-encrypt=mutual;
keydata=mDMEZuK5YxYJKwYBBAHaRw8BAQdAmJ3dM9Sz6/Hodu33Qrf8QH2bNeNbOikqYtxWFLVm0
1a0JEdhYnJpZWxlIE1vbmFjbyA8Z21vbmFjb0ByZWRoYXQuY29tPoiZBBMWCgBBFiEEysoR+AuB3R
Zwp6j270psSVh4TfIFAmbiuWMCGwMFCQWjmoAFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgk
Q70psSVh4TfJzZgD/TXjnqCyqaZH/Y2w+YVbvm93WX2eqBqiVZ6VEjTuGNs8A/iPrKbzdWC7AicnK
xyhmqeUWOzFx5P43S1E1dhsrLWgP
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.56.2 (3.56.2-1.fc42)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, 2025-05-27 at 16:50 +0200, Nam Cao wrote:
> On Tue, May 27, 2025 at 04:35:04PM +0200, Gabriele Monaco wrote:
> > Thanks for trying it out, and good to know about this stressor.
> > Unfortunately it's a bit hard to understand from this stack trace,
> > but
> > that's very likely a problem in the model.=C2=A0 I have a few ideas
> > where that
> > could be but I believe it's something visible only on a physical
> > machine
> > (haven't tested much on x86 bare metal, only VM).
> >=20
> > You're running on bare metal right?
>=20
> No, it's QEMU:
>=20
> qemu-system-x86_64 -enable-kvm -m 2048 -smp 4 \
> =C2=A0=C2=A0=C2=A0 -nographic \
> =C2=A0=C2=A0=C2=A0 -drive if=3Dvirtio,format=3Draw,file=3Dbookworm.img \
> =C2=A0=C2=A0=C2=A0 -kernel /srv/work/namcao/linux/arch/x86/boot/bzImage \
> =C2=A0=C2=A0=C2=A0 -append "console=3DttyS0 root=3D/dev/vda rw" \
>=20
> The kernel is just x86 defconfig + the monitors.
>=20
Apparently the error is visible on non-PREEMPT_RT only, the models are
designed for preempt-rt and I didn't really test them elsewhere.
Not sure if it's worth tailoring them for non RT kernels, but for now I
can just mark those monitors as RT-only via Kconfig.
Especially this type of monitors is describing very accurately the
preemptiveness of some events, I wouldn't be too surprised if some
rules don't hold in all preempt configurations.
The idea is that, as long as the models stand true, some assumptions
about latency can be made, on the long run this type of assumptions is
likely different across preemption models.
That said, it might be a stupid mistake as well, so I'd look into that
more closely ;)
Thanks again,
Gabriele
Return-Path: <linux-kernel+bounces-665378-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D2EB841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:28:45 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 562717A16FE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:27:26 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 417C6280CE5;
Wed, 28 May 2025 11:28:35 +0000 (UTC)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C02C7263A;
Wed, 28 May 2025 11:28:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.176.79.56
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431714; cv=none; b=F0QHyXyYk1yJT4l5VWL4REIQy5Yr04ROW6QSeO1z5MnWNWCAgaVAsXpQT4a6pLswHZmw+h9yJmUY4VXYdyz2odwy+WUTF/9AWoQ5RwCxemEp3Wr+OfvSi0h1KVPM2fOx6tT5lTsZCCrE3ZHyECWtqFCJMshahzbHylEfCklQXjw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431714; c=relaxed/simple;
bh=Rdwj7CvGValpAUzeiMZcnSBQQBZYEhQiTrlWtf7ChJY=;
h=Date:From:To:CC:Subject:Message-ID:In-Reply-To:References:
MIME-Version:Content-Type; b=cu1Zt8yGaG9xnxfS8dm1nihP1Xvt9ylHMwTi7e45SqhmkseDZ4URpVJDm1txoPbqfFbD1VyJZ/DyMm3AASrdRaH4FI9MmP5zomk7KjbbYxMJQi8KQta1BEjY57I5erUN1svk6nwj0HfUTkm6fzmL3BEUo8Aw7OT4ZNfbFX+pAXk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=185.176.79.56
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com
Received: from mail.maildlp.com (unknown [172.18.186.31])
by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4b6nLd5W1Nz6M4sd;
Wed, 28 May 2025 19:28:25 +0800 (CST)
Received: from frapeml500008.china.huawei.com (unknown [7.182.85.71])
by mail.maildlp.com (Postfix) with ESMTPS id 4B605140113;
Wed, 28 May 2025 19:28:28 +0800 (CST)
Received: from localhost (10.203.177.66) by frapeml500008.china.huawei.com
(7.182.85.71) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 28 May
2025 13:28:27 +0200
Date: Wed, 28 May 2025 12:28:26 +0100
From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
To: Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx>
CC: Marc Zyngier <maz@xxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, "Rob
Herring" <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, "Conor
Dooley" <conor+dt@xxxxxxxxxx>, Catalin Marinas <catalin.marinas@xxxxxxx>,
Will Deacon <will@xxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>, "Sascha
Bischoff" <sascha.bischoff@xxxxxxx>, Timothy Hayes <timothy.hayes@xxxxxxx>,
"Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>, Mark Rutland
<mark.rutland@xxxxxxx>, Jiri Slaby <jirislaby@xxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>,
<devicetree@xxxxxxxxxxxxxxx>
Subject: Re: [PATCH v4 14/26] arm64/sysreg: Add ICH_HFGITR_EL2
Message-ID: <20250528122826.0000566c@xxxxxxxxxx>
In-Reply-To: <20250513-gicv5-host-v4-14-b36e9b15a6c3@xxxxxxxxxx>
References: <20250513-gicv5-host-v4-0-b36e9b15a6c3@xxxxxxxxxx>
<20250513-gicv5-host-v4-14-b36e9b15a6c3@xxxxxxxxxx>
X-Mailer: Claws Mail 4.3.0 (GTK 3.24.42; x86_64-w64-mingw32)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: lhrpeml100012.china.huawei.com (7.191.174.184) To
frapeml500008.china.huawei.com (7.182.85.71)
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Tue, 13 May 2025 19:48:07 +0200
Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx> wrote:
> Add ICH_HFGITR_EL2 register description to sysreg.
>
> Signed-off-by: Lorenzo Pieralisi <lpieralisi@xxxxxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Marc Zyngier <maz@xxxxxxxxxx>
Hi Lorenzo,
> ---
> arch/arm64/tools/sysreg | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/arch/arm64/tools/sysreg b/arch/arm64/tools/sysreg
> index 0927754d9fe2c5addbd9693d83b7324f1af66d3e..d2f53fb7929c69895fe8a21ba625d058a844d447 100644
> --- a/arch/arm64/tools/sysreg
> +++ b/arch/arm64/tools/sysreg
> @@ -3616,6 +3616,21 @@ Res0 1
> Field 0 ICC_APR_EL1
> EndSysreg
>
> +Sysreg ICH_HFGITR_EL2 3 4 12 9 7
> +Res0 63:11
> +Field 10 GICRCDNMIA
> +Field 9 GICRCDIA
> +Field 8 GICCDDI
> +Field 7 GICCDEOI
> +Field 6 GICCDHM
> +Field 5 GICCRDRCFG
GICCDRCFG in the spec. (you have a bonus R)
Of course the real question was what am I avoiding that made checking these
against the spec feel like a good idea? :)
FWIW with that fixed,
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
for patches 2 to 14.
> +Field 4 GICCDPEND
> +Field 3 GICCDAFF
> +Field 2 GICCDPRI
> +Field 1 GICCDDIS
> +Field 0 GICCDEN
> +EndSysreg
> +
> Sysreg ICH_HCR_EL2 3 4 12 11 0
> Res0 63:32
> Field 31:27 EOIcount
>
Return-Path: <linux-kernel+bounces-665379-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id D47DA41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:28:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8C4133ADB84
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:28:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 388A927991E;
Wed, 28 May 2025 11:28:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b="WIu8D6o6";
dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="GMi2exFG"
Received: from fout-b1-smtp.messagingengine.com (fout-b1-smtp.messagingengine.com [202.12.124.144])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id EF1F67263A
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:28:36 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.12.124.144
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431719; cv=none; b=bE0/z6J0VDUiKbe+MSzGm+HB/RsrKnAe6CwDK1vGuLMkjfBYNXJtmyIJOZACeChW4c7RG7h64l+ScfilKx59t20xlDpOBI9zU2sJWSA5YfHeA5fJMPzbYQo32cLgzHRwJ0izRWxk/EoE6zedyOnSpvKGr89Fo2Yc7hH3MY6KRM0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431719; c=relaxed/simple;
bh=YA07hUe6QjKaeuIfZls1CxCPVDZDY4ehCtwH1wvQLx8=;
h=MIME-Version:Date:From:To:Cc:Message-Id:In-Reply-To:References:
Subject:Content-Type; b=aHq5xrb4RjKZQqtwajGtoyLWn85bW2f0jQmlVB0V75RgDmx1dva0Dl1P5ASibcrMHZrMUo8seJcTGLE1jgxFcClG+hqe5tqbk1XEj6pl7LCrxqSrXb5Fcm/vRbnXIPbu78DRdfvJ0pxRk4h+N7jML3uOuI/gMDe9P5TEMM5vzi0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de; spf=pass smtp.mailfrom=arndb.de; dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b=WIu8D6o6; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=GMi2exFG; arc=none smtp.client-ip=202.12.124.144
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arndb.de
Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45])
by mailfout.stl.internal (Postfix) with ESMTP id 8369A11400D3;
Wed, 28 May 2025 07:28:35 -0400 (EDT)
Received: from phl-imap-02 ([10.202.2.81])
by phl-compute-05.internal (MEProxy); Wed, 28 May 2025 07:28:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc
:cc:content-transfer-encoding:content-type:content-type:date
:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to; s=fm3; t=1748431715;
x=1748518115; bh=UK4SDTFoZN8a248ZSOnhk+uW54YPVwbFm6eiIbQcacc=; b=
WIu8D6o6E9C7LLNcCKy//BdY3/1fetFwaeQ4MG2CCr+hh51Hlhf4oC6a5rcY3uqF
xqDhC+9n5IfDU0z/k6zq0WNADft/V8SgOvANqzgWwnOyC3aiCWny1UTpAAR8lRzw
RbqEWlpvb70W2xAuh5oVtxiBGc7AVC9WJGFvOGl6HsTwCtAPYOhS5/UxZ4NCJBll
60xIZosN55MnqV7RPAXdxFAQ1FVfoILiHkYejTcqZDMH5pYjOsJUBfhKJFnvQd42
S4zZ1tgWSqdSOGgrVHPS7/G6ZirqUfWpsne4uAic84rXj3U+NIU8h3/mXT/Ul7X5
q1ACdT52xtrmT2UUvj1+xg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-transfer-encoding
:content-type:content-type:date:date:feedback-id:feedback-id
:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to:x-me-proxy
:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1748431715; x=
1748518115; bh=UK4SDTFoZN8a248ZSOnhk+uW54YPVwbFm6eiIbQcacc=; b=G
Mi2exFGhNKU2xnRprEiLAnbC/kJGsehU0ZuRLGt7bypFhK6m4AFnstJR6RkP6M2D
1s0lIsHY/M0RSkCOoMy/C7w8QHMdAqe2HTEAlSn5ec2RRfruiSG72pmO8waARVvF
SN03jeQNP4IlPv2nuWDJ2W93gaUxsEdLt9jZtRrS5EEEeagWrYmyip9YKcNMoxxr
LvrMXAq+WVtmNTLaCAnUk1ifCWJ8VTQWdVn30R3s7V1JNPVRT1682xhMiwo3DtnP
fFglGzUmXOQj+n9q6VDaVMjBWoGze1yNV/IAvIqkSF8PNs7ltiSOgt7GvnJuuxO0
40qWRHPNTSKdEJ0ou4rqw==
X-ME-Sender: <xms:YvM2aGzmxBxh29eLSqbNbKqwcQMJkDa5QsNDOzHd__4xnygw1ukM3w>
<xme:YvM2aCRAYYKfE2x0wo7Tksxog6No-HA_1gQcKV8dii6r4QJWQsQGpjhQH2e1sLgSs
QWcBnepbT4jwGxfczs>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgddvfedugeculddtuddrgeefvddrtd
dtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggft
fghnshhusghstghrihgsvgdpuffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftd
dtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefoggffhffvvefk
jghfufgtgfesthejredtredttdenucfhrhhomhepfdetrhhnugcuuegvrhhgmhgrnhhnfd
cuoegrrhhnugesrghrnhgusgdruggvqeenucggtffrrghtthgvrhhnpefhtdfhvddtfeeh
udekteeggffghfejgeegteefgffgvedugeduveelvdekhfdvieenucevlhhushhtvghruf
hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrrhhnugesrghrnhgusgdruggv
pdhnsggprhgtphhtthhopedujedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepsh
himhhonhgrsehffhiflhhlrdgthhdprhgtphhtthhopegrihhrlhhivggusehgmhgrihhl
rdgtohhmpdhrtghpthhtohephhhimhgrlhdrphhrrghsrggurdhghhhimhhirhgrhiesih
hnthgvlhdrtghomhdprhgtphhtthhopehimhhrvgdruggvrghksehinhhtvghlrdgtohhm
pdhrtghpthhtoheplhhutggrshdruggvmhgrrhgthhhisehinhhtvghlrdgtohhmpdhrtg
hpthhtohepmhgrthhthhgvfidrsghrohhsthesihhnthgvlhdrtghomhdprhgtphhtthho
pehmihgthhgrvghlrdhjrdhruhhhlhesihhnthgvlhdrtghomhdprhgtphhtthhopehroh
gurhhighhordhvihhvihesihhnthgvlhdrtghomhdprhgtphhtthhopegrrhhnugeskhgv
rhhnvghlrdhorhhg
X-ME-Proxy: <xmx:YvM2aIX_mDM44nwxcZ0hqH8Q1u48GBwR3x2YH85HjW5-rRmL4iJBtQ>
<xmx:YvM2aMi1NZfexU8rZOrzfBsFR_6g_WFOA9C1ONJxa6vMz2uHAwjsoA>
<xmx:YvM2aIDa0-O9_cx4ERpI8VxBPYh_HAj_IKsUAfARcG8540buYKOYdw>
<xmx:YvM2aNKkaUYvLDfano_-zCaUQ6_OgEa15Utmb80fseaYV_VU6mOsmw>
<xmx:Y_M2aGTAxX8xHCl048q7DmVW1-GFO_UVhj-T6s12Np-nuITOoVi0uXc0>
Feedback-ID: i56a14606:Fastmail
Received: by mailuser.phl.internal (Postfix, from userid 501)
id DD8E7700060; Wed, 28 May 2025 07:28:34 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-ThreadId: Tea118988e335f97b
Date: Wed, 28 May 2025 13:27:33 +0200
From: "Arnd Bergmann" <arnd@xxxxxxxx>
To: "Andy Shevchenko" <andriy.shevchenko@xxxxxxxxxxxxxxx>,
"Christopher Snowhill" <chris@xxxxxxxxxx>
Cc: "Lucas De Marchi" <lucas.demarchi@xxxxxxxxx>,
"Arnd Bergmann" <arnd@xxxxxxxxxx>,
=?UTF-8?Q?Thomas_Hellstr=C3=B6m?= <thomas.hellstrom@xxxxxxxxxxxxxxx>,
"Rodrigo Vivi" <rodrigo.vivi@xxxxxxxxx>, "Dave Airlie" <airlied@xxxxxxxxx>,
"Simona Vetter" <simona@xxxxxxxx>, "Matthew Brost" <matthew.brost@xxxxxxxxx>,
"Himal Prasad Ghimiray" <himal.prasad.ghimiray@xxxxxxxxx>,
"Imre Deak" <imre.deak@xxxxxxxxx>,
=?UTF-8?Q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>,
"Michael J. Ruhl" <michael.j.ruhl@xxxxxxxxx>, intel-xe@xxxxxxxxxxxxxxxxxxxxx,
dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx>
Message-Id: <dd8f913d-1d6a-435b-b9b6-30a3d950e4a8@xxxxxxxxxxxxxxxx>
In-Reply-To: <aDbl5CIGulMng3de@xxxxxxxxxxxxxxxxxx>
References: <20250523121106.2231003-1-arnd@xxxxxxxxxx>
<j7yodlrk7wh3ylvb2z622ndlzm4guhahmakdb6l5d6qtv5sabo@w4bfiehtmaab>
<aDbYs7QZRfr2i80A@xxxxxxxxxxxxxxxxxx>
<704fd2b9-04da-4ec8-b854-22bc3ce9058e@xxxxxxxxxxxxxxxx>
<DA7PSM1WUKBI.3JA6THJTRF5B7@xxxxxxxxxx> <aDbl5CIGulMng3de@xxxxxxxxxxxxxxxxxx>
Subject: Re: [PATCH] drm/xe/vsec: fix CONFIG_INTEL_VSEC dependency
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025, at 12:31, Andy Shevchenko wrote:
> On Wed, May 28, 2025 at 03:17:03AM -0700, Christopher Snowhill wrote:
>> On Wed May 28, 2025 at 3:03 AM PDT, Arnd Bergmann wrote:
>> > On Wed, May 28, 2025, at 11:34, Andy Shevchenko wrote:
>> >> On Tue, May 27, 2025 at 03:55:46PM -0500, Lucas De Marchi wrote:
>> > I think ACPI_VIDEO is at the center here, and changing all the
>> > 'select ACPI_VIDEO if ACPI' instances to
>> > 'depends on ACPI_VIDEO || !ACPI_VIDEO' would solve a lot of
>>
>> Maybe you meant 'depends on ACPI_VIDEO || !ACPI' ?
>
> I believe not. The depends on FOO || FOO=n is idiomatic in Kconfig.
It depends on what we want here. 'ACPI_VIDEO || !ACPI' would
be the direct equivalent of the existing 'select ACPI_VIDEO if ACPI',
while 'ACPI_VIDEO || !ACPI_VIDEO' would allow building with
ACPI=y and ACPI_VIDEO=n, which is not possible today. I'd probably
start with the version that Christopher suggested to have a lower
regression risk.
Arnd
Return-Path: <linux-kernel+bounces-665380-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9912F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:32:12 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 4F9ED1BC0385
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:32:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 9B3F928368E;
Wed, 28 May 2025 11:32:00 +0000 (UTC)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by smtp.subspace.kernel.org (Postfix) with ESMTP id D47036A33B;
Wed, 28 May 2025 11:31:57 +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=1748431920; cv=none; b=iYoEnsP1eQ3bB9VfPm1tyZsisnCuOoZiMG3RDihgJUMjdDjTrYYjiYE0j/OGKXxLFzCnLGI/K5u/ezkf3VytvBCaT4GNUos2a2KymqMIqhvTaQqfT3obbT+tLORD7Feh9yRL5ni39N5nkr25oW43V5KFmXfdQQADC9cIOrslaJQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431920; c=relaxed/simple;
bh=M28L9NabqiiiSMq+L/jI0962Wz2oEsat/29mEBFseHU=;
h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=YuV7YiVqwa3J8q1/EBvRZa0gC8pCD0Qm1zWEzG9dmeh3LZOdPizlntYm+YMXg+xq+V9qNEJYSVZPFGrPDATmzaSAgGHeoSkyFpaaOwn7RKP/QtrKBPlbjpucE55S32f7tSg6qVGbrXbxYAOwCECds6g7HQA7yYdtDQW6NSf2Ftk=
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 9F7621A25;
Wed, 28 May 2025 04:31:40 -0700 (PDT)
Received: from MacBook-Pro.blr.arm.com (unknown [10.164.18.49])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 8666B3F5A1;
Wed, 28 May 2025 04:31:54 -0700 (PDT)
From: Dev Jain <dev.jain@xxxxxxx>
To: akpm@xxxxxxxxxxxxxxxxxxxx,
willy@xxxxxxxxxxxxx
Cc: linux-fsdevel@xxxxxxxxxxxxxxx,
linux-mm@xxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx,
david@xxxxxxxxxx,
anshuman.khandual@xxxxxxx,
ryan.roberts@xxxxxxx,
Dev Jain <dev.jain@xxxxxxx>
Subject: [PATCH] xarray: Add a BUG_ON() to ensure caller is not sibling
Date: Wed, 28 May 2025 17:01:24 +0530
Message-Id: <20250528113124.87084-1-dev.jain@xxxxxxx>
X-Mailer: git-send-email 2.39.3 (Apple Git-146)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Suppose xas is pointing somewhere near the end of the multi-entry batch.
Then it may happen that the computed slot already falls beyond the batch,
thus breaking the loop due to !xa_is_sibling(), and computing the wrong
order. Thus ensure that the caller is aware of this by triggering a BUG
when the entry is a sibling entry.
This patch is motivated by code inspection and not a real bug report.
Signed-off-by: Dev Jain <dev.jain@xxxxxxx>
---
The patch applies on 6.15 kernel.
lib/xarray.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/xarray.c b/lib/xarray.c
index 9644b18af18d..0f699766c24f 100644
--- a/lib/xarray.c
+++ b/lib/xarray.c
@@ -1917,6 +1917,8 @@ int xas_get_order(struct xa_state *xas)
if (!xas->xa_node)
return 0;
+ XA_NODE_BUG_ON(xas->xa_node, xa_is_sibling(xa_entry(xas->xa,
+ xas->xa_node, xas->xa_offset)));
for (;;) {
unsigned int slot = xas->xa_offset + (1 << order);
--
2.30.2
Return-Path: <linux-kernel+bounces-665381-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 3955941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:32:30 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 903E83B5750
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:31:59 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 08FD72836B0;
Wed, 28 May 2025 11:32:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="mXZNXs96"
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D8D96A33B;
Wed, 28 May 2025 11:32:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.19
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431935; cv=none; b=qtr6Bc/TOvijMghSm+sPCKHxvFLAUE75XukLtYCtIMXUMmG30ORjijIeZ8tX0KeG8k+vWAu6NSy6kyQgIMGBT29MChNZ8Cj8jyp4MiVt1jVe0Aw7TuYgn3TnpuVxWiRVZFFPto1cW+SMpiWIzqYSXVxIkiAYNFUDHqUR1233tlg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431935; c=relaxed/simple;
bh=iv4qvN2l1NEUV02CdKzcBJCMlMmP0+cKrnFzewtczAw=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=PKm5t8vxYHzj3kPBmtX9Qx2+GmhRRB/ymNqV7bC5mcdEcHm9kiVnm1YUmwCnGdaHhnxSbGtnU5GhomikesioC/MsYKW/IZOsJHEeizCyNneyymBnJmRljEUitglCmtUunTBuUSuEMjjdimstvTKYzn7wcJewtNMljv3D1GsQeYA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=mXZNXs96; arc=none smtp.client-ip=192.198.163.19
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748431933; x=1779967933;
h=from:to:cc:subject:date:message-id:mime-version:
content-transfer-encoding;
bh=iv4qvN2l1NEUV02CdKzcBJCMlMmP0+cKrnFzewtczAw=;
b=mXZNXs968t/bhEbLGrEPtx1Cctcqs4wPg6nSkFPeU2wR/bzc4Ynom2pg
p2TFOBW7WiXLuKt3YosTLUGQG5DQRdjvQc2rpItkFItuqjifI6nUSQ2yX
ygr5b8hpJjwo9eItDOfoGiwQ5rJmy/T26jK1AZcAycFfyiFWtZjc4IQ9a
ZC8ZXgZyJxSQJbr60EfOA7m5YWdGvOqbVnv9ywe5kF8Hk09TibaFkYYML
Gv1ofXfaEkXTa+IeUaWkfFhfu7SmHy59l+v8YIZqvg7w1S4CGCK9aBDp6
k/HSmJyMjaYVkCypc491S2130IkHpF+CbtME7cTE1+VLmpyCqx+5hzUay
A==;
X-CSE-ConnectionGUID: /NHq0J9uTF+vUJ2IQ+cpSQ==
X-CSE-MsgGUID: Qb3rCX7tS9ebxusYl3fXdQ==
X-IronPort-AV: E=McAfee;i="6700,10204,11447"; a="49567371"
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="49567371"
Received: from fmviesa002.fm.intel.com ([10.60.135.142])
by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:32:13 -0700
X-CSE-ConnectionGUID: WjIP6fTUQraUPHaLMfMzbQ==
X-CSE-MsgGUID: WOX10nMwRAaLnfbp/fXXZQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="166386899"
Received: from black.fi.intel.com ([10.237.72.28])
by fmviesa002.fm.intel.com with ESMTP; 28 May 2025 04:32:11 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
id 4F862193; Wed, 28 May 2025 14:32:10 +0300 (EEST)
From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
To: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>,
linux-media@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Cc: Andy Walls <awalls@xxxxxxxxxxxxxxxx>,
Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Subject: [PATCH v1 1/1] media: cx18: Replace custom implementation of list_entry_is_head()
Date: Wed, 28 May 2025 14:32:04 +0300
Message-ID: <20250528113204.2742626-1-andriy.shevchenko@xxxxxxxxxxxxxxx>
X-Mailer: git-send-email 2.47.2
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Besides list_entry_is_past_end() is the same as list_entry_is_head(),
it's implemented in the list namespace. Fix both of the issue by replacing
the custom version with list_entry_is_head() calls.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
drivers/media/pci/cx18/cx18-driver.h | 12 ------------
drivers/media/pci/cx18/cx18-fileops.c | 2 +-
drivers/media/pci/cx18/cx18-ioctl.c | 2 +-
3 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/drivers/media/pci/cx18/cx18-driver.h b/drivers/media/pci/cx18/cx18-driver.h
index af05bde75816..485ca9747c4c 100644
--- a/drivers/media/pci/cx18/cx18-driver.h
+++ b/drivers/media/pci/cx18/cx18-driver.h
@@ -271,18 +271,6 @@ struct cx18_options {
#define CX18_SLICED_TYPE_WSS_625 (5)
#define CX18_SLICED_TYPE_VPS (7)
-/**
- * list_entry_is_past_end - check if a previous loop cursor is off list end
- * @pos: the type * previously used as a loop cursor.
- * @head: the head for your list.
- * @member: the name of the list_head within the struct.
- *
- * Check if the entry's list_head is the head of the list, thus it's not a
- * real entry but was the loop cursor that walked past the end
- */
-#define list_entry_is_past_end(pos, head, member) \
- (&pos->member == (head))
-
struct cx18_vb2_buffer {
/* Common video buffer sub-system struct */
struct vb2_v4l2_buffer vb;
diff --git a/drivers/media/pci/cx18/cx18-fileops.c b/drivers/media/pci/cx18/cx18-fileops.c
index 7e742733391b..25aa38a55674 100644
--- a/drivers/media/pci/cx18/cx18-fileops.c
+++ b/drivers/media/pci/cx18/cx18-fileops.c
@@ -371,7 +371,7 @@ static size_t cx18_copy_mdl_to_user(struct cx18_stream *s,
mdl->curr_buf = list_first_entry(&mdl->buf_list,
struct cx18_buffer, list);
- if (list_entry_is_past_end(mdl->curr_buf, &mdl->buf_list, list)) {
+ if (list_entry_is_head(mdl->curr_buf, &mdl->buf_list, list)) {
/*
* For some reason we've exhausted the buffers, but the MDL
* object still said some data was unread.
diff --git a/drivers/media/pci/cx18/cx18-ioctl.c b/drivers/media/pci/cx18/cx18-ioctl.c
index 1817b9ed042c..9a1512b1ccaa 100644
--- a/drivers/media/pci/cx18/cx18-ioctl.c
+++ b/drivers/media/pci/cx18/cx18-ioctl.c
@@ -764,7 +764,7 @@ static int cx18_process_idx_data(struct cx18_stream *s, struct cx18_mdl *mdl,
mdl->curr_buf = list_first_entry(&mdl->buf_list,
struct cx18_buffer, list);
- if (list_entry_is_past_end(mdl->curr_buf, &mdl->buf_list, list)) {
+ if (list_entry_is_head(mdl->curr_buf, &mdl->buf_list, list)) {
/*
* For some reason we've exhausted the buffers, but the MDL
* object still said some data was unread.
--
2.47.2
Return-Path: <linux-kernel+bounces-665382-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id C3C6F41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:32:50 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 795549E75B1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:32:18 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E2D752836A6;
Wed, 28 May 2025 11:32:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=kvaser.com header.i=@kvaser.com header.b="R4cTvhIg"
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2106.outbound.protection.outlook.com [40.107.20.106])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B7004279794;
Wed, 28 May 2025 11:32:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.20.106
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431951; cv=fail; b=cMFa6HVgNU1m1P8e4fCVn7uJwMTA+EdYtA9vL6eY3fWTQimqgXAGLuHP4x7fd0WFXBycQcz+8uZLIIydrbzbSa8xE0DD916s6mPBQsabFA1tzy1UkgatfDmHnNoIgA76kumqm/WSoHnvccIJ1OIiVmABrrDCADcXi3pP5dzG1YA=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431951; c=relaxed/simple;
bh=elx7A4rVQh4v2fQ+E5D4SemBhifLg992BlHW5OSPTnc=;
h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID:
Content-Type:MIME-Version; b=oxG44zE4+tbVuawyJdl5wWOGdGeRjEHVS7Quw5aeNJ4XbhfZCJ6V66i5y6UGHGATvffbPXhVOFeKzxz21z2UpytwQ/dHDhrJXCm/aEybIY3pay68HkJYa8uqnayupyiqZqKACpS87ASW731qDo4aUubVBiym4fDkv4AjOsjUfxQ=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=kvaser.com; spf=pass smtp.mailfrom=kvaser.com; dkim=pass (1024-bit key) header.d=kvaser.com header.i=@kvaser.com header.b=R4cTvhIg; arc=fail smtp.client-ip=40.107.20.106
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=kvaser.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kvaser.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=UYJXWmsNElzL3q4p2xnT0EmMQqqx+CV5sKNgc15scFo6z0cMId9N9xGL/FNruIrlD9YpLsQt2TgIDzom10AV0+7PG5r5huqLa+F84vWQzTbbGiKSWukoyDORpztIVNLmzVfDbKi5Pj+mZzOX0LWuVu7co7dOu/7vIIB8Ku9IMMeK03mPrZOrSTddFMjIuCAgWSUW6ceujb+moTx3ZDdmxVzRk//9jxJk5mBWh3Xoq3WjDhWOrBm9ZJbNmsHfXD8hydLmifks5orozTdqyjd3YZg2o2mI31aVT7q/ZSuQbS0+x9tFTKZG2GP64/Mkui0P9uR62mzS+q4gi3/nfvJoww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=cOq+AiHZjL63omwgdRqUKwDfYUAGf5kjuQzfMvAh/eg=;
b=KJF438PmaxMtaDo1rsy0Bu85Ysm+jAcQOTYM2OLCgqornOiEqm1rytK1NjEuBdXBkM8/Ow/aUFuOUkZxvSlZtb5bZi4/Fk1W83Yp98j/XllfO2UBf8u11HZls+m3laVzZZKgl6hTQfcNDvysPIDJOIdYqdtshzomfewNDQbBzn5gp+6tg/kRY4vhFNkW+w5H4o4EjnDhfvW/drJKJt25M8vubsT0XQVfBNcuUTGGoYy3oVv/nRo9mbESdIzYgcxPtKoraGT7K6r8gcbyRiNk1Ur3zyyFKbAURTq2euDHwyWdNCfox7gO7ST6Xpugc2F6d0rOesVw3pgSsjbrHlFYvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=kvaser.com; dmarc=pass action=none header.from=kvaser.com;
dkim=pass header.d=kvaser.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kvaser.com;
s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=cOq+AiHZjL63omwgdRqUKwDfYUAGf5kjuQzfMvAh/eg=;
b=R4cTvhIgbRzki350nsaYq5EpEAJnqVmATRgpUOc0oGCLOr/o64RxaMi0L6oCkj8TemCxnylDYcREvKzkIe+AyE1kR/c22COwdLam/G9ZSpMaCPYnKsZXZfo7i2Tvz1IhoO1ZwuEa8FMim+0i/DyWyhSsooHlIgqU67w5EUEdKc0=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=kvaser.com;
Received: from AM9P193MB1652.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:3ed::14)
by AM8P193MB1073.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:1e4::10) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.24; Wed, 28 May
2025 11:32:25 +0000
Received: from AM9P193MB1652.EURP193.PROD.OUTLOOK.COM
([fe80::e973:de09:5df2:4e18]) by AM9P193MB1652.EURP193.PROD.OUTLOOK.COM
([fe80::e973:de09:5df2:4e18%7]) with mapi id 15.20.8769.025; Wed, 28 May 2025
11:32:25 +0000
From: Axel Forsman <axfo@xxxxxxxxxx>
To: Fedor Pchelkin <pchelkin@xxxxxxxxx>, Marc Kleine-Budde
<mkl@xxxxxxxxxxxxxx>, Vincent Mailhol <mailhol.vincent@xxxxxxxxxx>
Cc: Fedor Pchelkin <pchelkin@xxxxxxxxx>, Jimmy Assarsson <extja@xxxxxxxxxx>,
linux-can@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
lvc-project@xxxxxxxxxxxxxxxx, stable@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] can: kvaser_pciefd: refine error prone echo_skb_max
handling logic
In-Reply-To: <20250528091038.4264-1-pchelkin@xxxxxxxxx>
References: <20250528091038.4264-1-pchelkin@xxxxxxxxx>
Date: Wed, 28 May 2025 13:32:23 +0200
Message-ID: <87wma1nf7c.fsf@xxxxxxxxxx>
Content-Type: text/plain
X-ClientProxiedBy: GV2PEPF00006637.SWEP280.PROD.OUTLOOK.COM
(2603:10a6:158:401::3d4) To AM9P193MB1652.EURP193.PROD.OUTLOOK.COM
(2603:10a6:20b:3ed::14)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM9P193MB1652:EE_|AM8P193MB1073:EE_
X-MS-Office365-Filtering-Correlation-Id: 6f85903a-b556-472d-85cc-08dd9ddb51d5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?0gV3GECbWEgWbpGCwKW+8HsPVn7hXxq97FO6/mSAMkz9gYgV72KVLqy+r/SH?=
=?us-ascii?Q?c12P0kO1Kh8/nv0SlFPbdljnoQtuZtJHAT5J/aOgmbz44/TWix60aZ1t+pMY?=
=?us-ascii?Q?WHEmJG0PshO5SryiBYJhclFAJYjrxtufbEqU0pCKz5Zgg9tk/QMh8haAsRde?=
=?us-ascii?Q?CyLMsiGdV2SeUXw8MachCAItcBSDvFtWB/hvsDNGqtGWsmhBOJKhxaO7gq73?=
=?us-ascii?Q?qtIVBykN9qaqJQYA5hfoQ+OmSup1RtztAj5SAW4mJrqYMZAIkZWM3BLUbFl5?=
=?us-ascii?Q?2Dsvj+baaiElkG3SP++FsnvFO3EJcBA1/ypJahBLWfEJ8Fg+ss95KGTv7UWw?=
=?us-ascii?Q?UFm3U0mOu7BylpUUAu83hmKMUj0w/Vy7mCvTtxWIoMGwsukr1ApLZj2Ny40J?=
=?us-ascii?Q?1wNbCUGTT/D5h5v6ohJ5XWQQkXyqNqk+MzFhpiafbdmIBjR3pvjY7DohG/D+?=
=?us-ascii?Q?SCCEWFP8nGQYdUSRDZhSsQGddKqjHRm6W/weAfYd2Ls7VIoJQvTSsaJPDMuB?=
=?us-ascii?Q?I0V2V20KVCOFPjFwPHWYjJImHc0hFeakh5ZkODRYzv1HnloMKWIUIGAHH19X?=
=?us-ascii?Q?ykZlzX1Ysbo6TU730NbAc/6n/VApMlPc8ZLll/EaJTzJfwXSEyxhcmvQoZw8?=
=?us-ascii?Q?HVZxxkc+f4j4nHRayZetExuSi6/WiOyKKxUYpk4RO2D2G/faZra/tu0O/bzu?=
=?us-ascii?Q?F28f0AehKReiGcqN8ZghbyWphVcpwXcxOXyHyP1qRqH9RlYqQYE5UQ2KX2am?=
=?us-ascii?Q?Vw2GvzzxBFSyylMncEz2j+K03AO9MjLB3cL5OV63BnrMJTKkAIkMBM0kbWzf?=
=?us-ascii?Q?vt0ZeJ7dN2PXj47E46JHVJhK0P4lax28PKsNR6Tjnkz5cEAwyCLQwhYrOHxH?=
=?us-ascii?Q?3I2d+YZxx5pBLp7QBKGp7geAEteCZWFpRTGDwwM3s3XHcLlo9RvuWgG9UQwn?=
=?us-ascii?Q?Qsl++puiyM6mklgXyJ6msKS+BM+12ep0FxA/qkGCG7n+UbrOBXQxhm+efIas?=
=?us-ascii?Q?eoQ7VY4k6WbKNnyBEefWKXWy6Hb5++tY1eQ6qgU82ulZHo1viOkl06zPCal2?=
=?us-ascii?Q?H+JXMxIB1OFtR/8NnObJBktFnGIKIV1RVHoLen3AddQhBcubnrfdO7RFTbyf?=
=?us-ascii?Q?TSgfwsVb2zFsQ4hgskt+PhI4bumc3iFcDM5UWGFqiFUjNe7ulcj01fOCuKB7?=
=?us-ascii?Q?6HuuAbqci/VqievtLwSpY5aAtZZaV9YtKDNXYnjeERDpzC7qLGckKz2x6cm7?=
=?us-ascii?Q?UkO8ybg7746wlVWlwEjprA1hvmq1Amah5whQrmMTOgpxZEQo32/6SGROXCEx?=
=?us-ascii?Q?pJ+TMkn9CzgN5KV5/uC1f1MOvTOFU5XrzAo9l6vi0mqvo/JmRtuzqMB4klD0?=
=?us-ascii?Q?nLCFK9DM40W8XE+xmQUogGzs4Gpyh5M+/ns2sXCiPmU2SzSP1jiu6go5FIP/?=
=?us-ascii?Q?3iXCzEJD77Q=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9P193MB1652.EURP193.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?ZsrV42X6r9DaHJiXygzdQCtFwN5qrU4rLZ8kWlZ3WHDfyaQ89jy9G28b97i0?=
=?us-ascii?Q?jWnx4yto7DakqIrmymzx3vnzOsK1IQ2Qt18mE6ISU6/EMMpL33Tb+3ZWkRE0?=
=?us-ascii?Q?h9WyCrEqs64JHbcMTnG9nIoyPFs42riq4zwJaVJ2v6XQstd7DpoXIANZhS2s?=
=?us-ascii?Q?P5LRqmEkCkDDqRyfslBqY1moHjEQchY9zyS01CAXqN+5Nk87ywqDiBjpQHKg?=
=?us-ascii?Q?C6ZyUcqSvMAC/4SJYQjCW2QzHjLFLNtKcw4BYcD/z3pGczkpUsxu/J+x8ltz?=
=?us-ascii?Q?9FVDF+bQhqkmZQbB2JUevifXDfX12n5KWRPRbpxEdhTNC7m0ESvOVHPMatlG?=
=?us-ascii?Q?h9wqguo/Jpgqqhz2vcrOCEqS+AXVQvblN+EStqS1bv9fJ8Ge3qalS2uOVdCn?=
=?us-ascii?Q?qdjsb9JAcX6nn5lQhyU9Dl2TrsaPVcGlJ2bv/tKlP1F7A5gYXS86bM6aiOXa?=
=?us-ascii?Q?iyn1nsx3kfkNKheHhcc9kyDiNgyfJ/5Wl+j9jImkKekBLM6vaj88JgA8A1Xh?=
=?us-ascii?Q?8QFDmG+2vJ+HOebuiDwlf4J5r8Q21/tiBEwZ0uAiHnzzJ4Hie48+hr0noh/k?=
=?us-ascii?Q?XGejWb9rpIvnqPn6/nQ3gzSYUDPTxi7abzwc1tiB9QNUM5D/NTazp87ZHysH?=
=?us-ascii?Q?+uA9w9r9QIb9yJnbUFGgTTiTyDshh3ldGlTSQgw7lYsKtcPUyDZ7BXB2yUfz?=
=?us-ascii?Q?dyuzNSzwk/irXvpWCUOTqMo2rxvmpDOD+3N21z6D9Op9kdd6PKPd4Do91vdW?=
=?us-ascii?Q?VXvOdSoCTg8FnPlzaTjNpNB+6uEhgQsTE7dyAakuBUWEV/n28VligNhct3xw?=
=?us-ascii?Q?n+/qp8KTiMLdIiucnFya6IbfrGTgXFJty6h9uITAgkU+ITaqQKHL/mHcWWOI?=
=?us-ascii?Q?d5d0AqnQFDYfrwNK/q1l9PUG4fX5m5+5oe7lc7/5k/Mrs9DTBYQ0KgB2n+Xs?=
=?us-ascii?Q?1Bak/4jCsUaK5hub5b/hhWlK6WpGh8kH/cdhJaekp3fEhNFkT5Yo1yqksKWY?=
=?us-ascii?Q?W1ShPRETaiaLfosdifQqMXrJyJdT5xafeVrdP3ZUUmMaISA2WoElwjlKYzfM?=
=?us-ascii?Q?7xKvoeZwDkOPSKVK9VAo4U/AwbbLv6JmWFAeMNJSCmnzf6XW3PP1MubdNNlR?=
=?us-ascii?Q?klnr79Sjal8Z3bAdjuVZrCRZi45r+JOvfoZXpR+JZSf6FXJq+Kj/gtB7q4pC?=
=?us-ascii?Q?BIpYrH2ya2rmaHL/qSaG9BdX2Jg8h6DQrvnm7Sw/h0kUtQMbBhUPxWJlhwYh?=
=?us-ascii?Q?JCwEJePEZhoRacsRdGAdyjZb6mXoA+mSxTHgZQXaz84NfypaBWP4h1S2TAyc?=
=?us-ascii?Q?iRmKIDADWqzg5KMdXtbXY6PiGYaBlqso3xuF3g4qW2rTVI1h37sNxU1H2BkG?=
=?us-ascii?Q?WsHhZSjnQDDD7xcEjo0zUUxHEBW0mH4B6FyQor1oFerJEf3sQgWwMi7WzhUH?=
=?us-ascii?Q?UbOnrZ407yjgtfqEsnKScRPRQB8qfyGQWj5xwFw/QlVDj+OEryBtXk3yLCSu?=
=?us-ascii?Q?mvu86YfLHvRPeU66zC802uI9rVmQzCRuiJlEdsLkC69yhodYNBzjGFeZMQ3x?=
=?us-ascii?Q?DCxbTziSUue7aJG4G9YZYiNW7mPR+4SL/LoIjRnz?=
X-OriginatorOrg: kvaser.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f85903a-b556-472d-85cc-08dd9ddb51d5
X-MS-Exchange-CrossTenant-AuthSource: AM9P193MB1652.EURP193.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 11:32:25.5109
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 73c42141-e364-4232-a80b-d96bd34367f3
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5LOhmOKScglJcbCQUkVOq1dOCEvs76/TQLt51r9iGDSjKjdEy4uZRX4RzZXVKDOwn397t7vtKFB0ziYyjMwpYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8P193MB1073
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Thanks for finding and fixing this bug.
Fedor Pchelkin <pchelkin@xxxxxxxxx> writes:
> Actually the trick with rounding up allows to calculate seq numbers
> efficiently, avoiding a more consuming 'mod' operation used in the
> current patch.
Indeed, that was the intention.
> So another approach to fix the problem would be to precompute the rounded
> up value of echo_skb_max and pass it to alloc_candev() making the size of
> the underlying echo_skb[] sufficient.
I believe that is preferable---if memory usage is a concern
KVASER_PCIEFD_CAN_TX_MAX_COUNT could be lowered by one.
Something like the following:
diff --git a/drivers/net/can/kvaser_pciefd.c b/drivers/net/can/kvaser_pciefd.c
index f6921368cd14..0071a51ce2c1 100644
--- a/drivers/net/can/kvaser_pciefd.c
+++ b/drivers/net/can/kvaser_pciefd.c
@@ -966,7 +966,7 @@ static int kvaser_pciefd_setup_can_ctrls(struct kvaser_pciefd *pcie)
u32 status, tx_nr_packets_max;
netdev = alloc_candev(sizeof(struct kvaser_pciefd_can),
- KVASER_PCIEFD_CAN_TX_MAX_COUNT);
+ roundup_pow_of_two(KVASER_PCIEFD_CAN_TX_MAX_COUNT));
if (!netdev)
return -ENOMEM;
@@ -995,7 +995,6 @@ static int kvaser_pciefd_setup_can_ctrls(struct kvaser_pciefd *pcie)
can->tx_max_count = min(KVASER_PCIEFD_CAN_TX_MAX_COUNT, tx_nr_packets_max - 1);
can->can.clock.freq = pcie->freq;
- can->can.echo_skb_max = roundup_pow_of_two(can->tx_max_count);
spin_lock_init(&can->lock);
can->can.bittiming_const = &kvaser_pciefd_bittiming_const;
/Axel Forsman
Return-Path: <linux-kernel+bounces-665383-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 9AC4D41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:33:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 79EDA1BC66F6
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:33:07 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id DB17127C145;
Wed, 28 May 2025 11:32:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="er673KpT"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B463D28314D;
Wed, 28 May 2025 11:32:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.17
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748431964; cv=fail; b=tBt/LPKFovju3F8bzUyEWEu+T4MJ0NLlJ4M84ZYNzmYVCv8ee7bgbsG6wg09Ap3jOVkECfi5J2FoUDZVsivA0WWaGJ85jryY7HjqTkCLjjjrCU+DM1uJvQ+HB7QvYppZFDisHD1BwOrH+wEaODfigTRRXMLQgumjNKmYwrVkZIM=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748431964; c=relaxed/simple;
bh=j1VOO4o/VhhSjzFVwNHr3JfF46xTLZXjG+0YyGfeN9k=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=lHW7afYRvfjaBeIkTG7q0jgLE7c37ZF+t74E7k6N/NA8uYZPfSdCDLqGbn0OqquvVuTXRqtbr2uxZRDUex9XkUBdJ/BRGqsmotTzWFyFmkC5hakILbbQFWxUqHdgi2azYT+k86W8osSek+Fnmmpumd1pqMTzTxPo36IwHuh1LR4=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=er673KpT; arc=fail smtp.client-ip=198.175.65.17
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748431963; x=1779967963;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=j1VOO4o/VhhSjzFVwNHr3JfF46xTLZXjG+0YyGfeN9k=;
b=er673KpTGyrnNjyLWzScMAYLLja5W7QywmZcs76z/S2AlELNnjE+sLw4
qjVKoO5RyHluUWxmsbubC1BfoKpV2oVpzrX2Y7tWNPiGlkLhiPaVy55zI
6tvS5VKSwyf3qb5+GfZCWvGGQEMdd1MPVuzmPhcoJyPSE4qaJD3F8lCGQ
JedAYOb9GSnxYjuUfJMQXQDseXuRY39Fgniy3EGIFVqezme/Es6s3/QeY
JO+tMQP8LHJxaTF/TQWKxIJX1pFgZTUHKlbTIIlicpqoP2g1wfa5fe3CU
q80v3i52RfoadTqaosH9Uz5Jf/8/zvnqlXU99fgGHFLYndhSBqxeFv23g
w==;
X-CSE-ConnectionGUID: 2ywx5X0EQiGSW1wu4cO23g==
X-CSE-MsgGUID: fgLDCe+fT9mle8aU26ZC3Q==
X-IronPort-AV: E=McAfee;i="6700,10204,11447"; a="50449274"
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="50449274"
Received: from orviesa005.jf.intel.com ([10.64.159.145])
by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:32:31 -0700
X-CSE-ConnectionGUID: Ftzm2cU6S6q6b/7cm1Y0oQ==
X-CSE-MsgGUID: yM9AuPjBRluv2t7yofdVsA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="148502905"
Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23])
by orviesa005.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:32:30 -0700
Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 28 May 2025 04:32:29 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 04:32:29 -0700
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (40.107.93.68) by
edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 28 May 2025 04:32:29 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=zKwAdoE9nWg/2Hj68DlmV+P/bpLUgnbFsjmtIdohG39FhdTgqv/CTN088pMP1pDWV91NEcirEVpPtsf0QqLw3beUOIN+HNEQZCn+6vNxF1XzqyrTP4XCJmphy05rFarlRdkDfqUbP7IWKwfWZNAgMLd24YnetgSznbXe1dM7Rbh+Cm81DcmzYNpm0gvgjmM5S6o8p83qHFPHiEUp2fdENoEsI1snuJqoTx/CcY6RYr4RRpCUGPm2+a8Bh9ROQ6WagMT33cgqw063kHej2sC7kCleC9xwJL+3hLi8Pk4ggPCz4Lj6dO6R0ySKlTgKyDk2bVZXogEJWuncTWDyC3E9aw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=urSUd+U/QcLQ1SdSTs4cKwU53O5ICuBBP5CeXYPTDlA=;
b=x1htr8NDszZfRItg/Xk6M53gKT/5AjrGKuYDdU4XGCDFkDtCT28epY8E6dHt6QMXRnOhmMomwoSLpsNoz5TLPYy7XBsdMb0yNT/qWa5Z+n8Ek8hQtQ2q6/aUQECbQs4UysDNxE/MoUzGqcUGTbGlh0RWYi0FU2gKWTBj17q+1J3/q13EQQqnL1pfsFUEoVq/vAiI7ygDOQhjKazj2ABi+v6f0DLWenCQK48r6eHJjs5NOkRIHsUsEvpdNw0LCp1AiwDdQOnbmXjbeqm6PSQrksu6ecy8/GC0mm7YnZDzkXaE0XKDvqoIrPjpEfrksWGyL4EpUjy/LW2X0veIhrahXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH7PR11MB6054.namprd11.prod.outlook.com (2603:10b6:510:1d2::8)
by DS7PR11MB8807.namprd11.prod.outlook.com (2603:10b6:8:255::14) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.26; Wed, 28 May
2025 11:32:27 +0000
Received: from PH7PR11MB6054.namprd11.prod.outlook.com
([fe80::a255:8692:8575:1301]) by PH7PR11MB6054.namprd11.prod.outlook.com
([fe80::a255:8692:8575:1301%6]) with mapi id 15.20.8769.029; Wed, 28 May 2025
11:32:27 +0000
Message-ID: <177e21cc-0a9b-4543-8135-f4da424f5713@xxxxxxxxx>
Date: Wed, 28 May 2025 14:32:20 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V2 1/3] mmc: sdhci-msm: Enable tuning for SDR50 mode for
SD card
To: Sarthak Garg <quic_sartgarg@xxxxxxxxxxx>, Bjorn Andersson
<andersson@xxxxxxxxxx>, Konrad Dybcio <konradybcio@xxxxxxxxxx>, Rob Herring
<robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Ulf Hansson <ulf.hansson@xxxxxxxxxx>
CC: <linux-arm-msm@xxxxxxxxxxxxxxx>, <devicetree@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-mmc@xxxxxxxxxxxxxxx>,
<quic_cang@xxxxxxxxxxx>, <quic_nguyenb@xxxxxxxxxxx>,
<quic_rampraka@xxxxxxxxxxx>, <quic_pragalla@xxxxxxxxxxx>,
<quic_sayalil@xxxxxxxxxxx>, <quic_nitirawa@xxxxxxxxxxx>,
<quic_bhaskarv@xxxxxxxxxxx>
References: <20250523105745.6210-1-quic_sartgarg@xxxxxxxxxxx>
<20250523105745.6210-2-quic_sartgarg@xxxxxxxxxxx>
Content-Language: en-US
From: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki,
Business Identity Code: 0357606 - 4, Domiciled in Helsinki
In-Reply-To: <20250523105745.6210-2-quic_sartgarg@xxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DU2PR04CA0055.eurprd04.prod.outlook.com
(2603:10a6:10:234::30) To PH7PR11MB6054.namprd11.prod.outlook.com
(2603:10b6:510:1d2::8)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR11MB6054:EE_|DS7PR11MB8807:EE_
X-MS-Office365-Filtering-Correlation-Id: 67f2eb58-6919-415d-eedb-08dd9ddb530b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|7053199007;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?aTlUdTI4elhQalVIL2Zjam1icnFzaDF2WFllV2g1NjdJMG90M2tIV0F0TUhu?=
=?utf-8?B?QXF5MU4yb1RwbWFDYXovd2FIZkFRQW8wQ2FjSXZwNUlVMlEvUzd3cmg3Z0t0?=
=?utf-8?B?bXN4elROcW4vQ2JEcVdoRW1ueDJORk40ZEgzVkFsQ2swSWU3OTJ4K3MrUFd0?=
=?utf-8?B?bnJYWERQc252S1ZvSytQbWR0TEp4MGlpWFVTOGEvblFWcE40dTNvSHp2cndE?=
=?utf-8?B?aDFXTXhJZVp0QUJWZGlBc2VndVl5Y0FTbWtmUEhOMGllUHl2NUQzcnh2YlZ6?=
=?utf-8?B?UVpiRFhwaFc4cnNtbWVnbGFBOWxZNGtvYTkyTFV6TFpGVlRTeElMQXFBOUla?=
=?utf-8?B?TEEwVVhxS3MxVlB1cDlnQUF1K3hSYXkvU0d6ZmNzTi9nb0x2Rk9rVm9VTVhY?=
=?utf-8?B?M3grcTRNMWJBNy83N1I4VlBhOWJLVlF6Um5ZMDhFREpzWnpQMVFQT3V0Wk44?=
=?utf-8?B?Zm0xVFdUL3U2ekptc3dmTjJJVnZjSmRtejRKYzh2dkZTWlhGbFZ6ejV4bmk1?=
=?utf-8?B?ZmNid2tmYS8zbHVJVDFyM1Z3b0ZxeXpQMEVCSloyQnU1TWtlaVRUSXFHa210?=
=?utf-8?B?R1crK2dvc2wyVzhPdUpmZ09wVTRrVitQaWw4T3dkOG5taHR3U2pFSlFjK0Mw?=
=?utf-8?B?WmN5cFdiWExTMjhWVUFGWldFMlZXL1dHQWcwd1I4akVZaThweEdFM0FhTndF?=
=?utf-8?B?amJmNEVFaEpBZ0crdHhqd3dyb25nN083eUh5RHJCU3VaelJDMTIyRlZxY0FU?=
=?utf-8?B?ckZXS2dwb1VFM1A4WjYzS1ArWU42SkJoOExuMWp0ekwyOHdBUmgvSUx3SDU2?=
=?utf-8?B?OTZ1b2RiRGxPYThveVJxeEhvOGNHV3BRY29SVUhueWF2Y2NTd0UzL1I0TUdv?=
=?utf-8?B?cm91QWNZanFEd1NrUTNIWWZMMGFyMlRRMXhqUlZrZUw2dGwxdXYrcm4yYkhM?=
=?utf-8?B?Z1FmTWViUFc3emFOck5aVnlDUXlUc0Vtdm5CYzgxZ2xZVjhHREJtU1VTYzVk?=
=?utf-8?B?azJXMEwrNVM3TnVkSmtNNlljVFhvWXhIeXc2aVNWR3NUeDNrbDFpVVkxL1F0?=
=?utf-8?B?d3BtdVNJZ3hKcVNUelRvRzBEa01nWTc2ejlWRFlkYlRPTjlzR0lFYWQ1enZt?=
=?utf-8?B?YUdRL3hKWG9LclU4dzkyTXdJemswNkRNZzI0Z0ZXNmEvN0taV2RqVXp4d29h?=
=?utf-8?B?QmNJdEwrSlNWYmYxczNtUzU5Rk9jL3dIUXN4dWhqOEhjZmlQY1lhSGR5b3ly?=
=?utf-8?B?Q3J0dVVSQ3cxd0N5THBuYk1ORnhURjNoamZDdzNBYW5NTzBQQ3hQRklqdEtV?=
=?utf-8?B?L2ppRjkydW5tZkJONVUzR3p5MkRZbGdCcnpnM0JYcjVDa24xSFVMQXVwK2Rx?=
=?utf-8?B?TTgramkwVHl6Y20walo0NFZkM1YvZHhHVXlsY1FBUi9wZitjWnEySCs2NGhu?=
=?utf-8?B?dGUxVjE5MzFvTlYxMXd2dzJZa0tYRldUdkJnSGhEUFNHYmptTFlDM0hsQXhY?=
=?utf-8?B?T1R0WUFZaDdTRFlEdTN3YWlFczYyUTRVa2FqZDBhQ05lV2g2MTQyZ0FhT3RJ?=
=?utf-8?B?cndNQnU5ZE1NOHdtRTZHTUR1bVNlb016U1BhOWZXSVlqbm1xNVl4MUZIM1Uz?=
=?utf-8?B?VHNmSnhYTWw0ZlNUUHJrZjNzR2N1dkEwTUdiQ1dpdFdhcGF2MmU4YUltSmo2?=
=?utf-8?B?T25FZktzdTFhdEdONU84WFpaK0RuRTNyR2RuRTRpcytyRUxpZTRCbE1wVXNV?=
=?utf-8?B?a2JJSU9Fdm5aZWtIUWVLbU94L1Rvczd5VklmUVhieTJXMWZZNElvV040LytV?=
=?utf-8?B?Z3VMZ1lzQ2hxNGp1NENSRzJ4SkhROVpsWGdDWklteWhyYmNIenFwZlR0V0t6?=
=?utf-8?B?dWJ2UlhVVk1IZmhPMUZqNERJajNURW9kNlR2bG8wWHJXOVhxZ21CWmNybU5w?=
=?utf-8?Q?Nchobe65YPU=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB6054.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aWZpUjZ3WDk4RUhPSEcyTmlieWVGRTg3MVFnR1B4MGtYK1lqRm9HSXFqbkZm?=
=?utf-8?B?cHA3VlRMbFRhVFgzeDNvNUhVeStxblpqWU13RE1vT2Nndk5WODZRblVkbDVE?=
=?utf-8?B?cU1HYjNtKzRYZ01VQmFiTnl6SjltUnZTRWlvcnNuUyt0Z2xtdExTYUp0c0NV?=
=?utf-8?B?V1ROWm9OZ0hkRVVYOVpnc2xXR0pNTVZtYW5UcXpzUWlIaGltQmFEbXFobmZN?=
=?utf-8?B?U3BKWDJHRGlTaVd6Q3VsT2ptYzlNbytaZGVOT0tYMU9Vb2V0NEtxYnJxSXZr?=
=?utf-8?B?dEZYMXlUdSt6c2k0OWZ5MDJxcXo5TkwzOThZdEY3N3NXZTVWcGFuS2VHaGVz?=
=?utf-8?B?RUZ1ajVuN2k5R0srRThPT2pXR3BDcG9GSDNubFFMWHRudXd5Mmd6RnlSVlJU?=
=?utf-8?B?WDBCTkZnTS8ySmdSTytveUZyeHNFelFGc2x4V1p3dXhtQ3BEYlhITTVHc2s2?=
=?utf-8?B?QU1nMVA5R0J0dkhyN0RRc0ZIZkpnN214TkdYK0tKTjdBdXZzNTJYbkV5bzY0?=
=?utf-8?B?RUQ2M21ndFZBQklIc0dwUmxiR0VtNFFqZGpBNHBDM2VHUjlPYi9zdkg1YUh4?=
=?utf-8?B?TndwOE9DendCcWdieThObFRrNHNyaUdlRjNWM2M3RGw4TVh4THFmNFRhdkE0?=
=?utf-8?B?UFVOaHlzNEY2Z3NQR2ZtZDNiZFlXN1lQN1ljeFI0NU8vdC9hM1FveUY3TmxR?=
=?utf-8?B?SURWeGZiTmRyaUZHZFdWVUs1WFdEcWNtUzZoOFpkclR6ZElVZEFDOWJPcVRy?=
=?utf-8?B?bStlbWw5eVhsL09SWjJhTnJ5ckdJa3ZaNHU3QWNZaEtNVDd3anI4VDVIR1BL?=
=?utf-8?B?eDlDK01DSmI3dy84SjNIRlE0eitndmZTWFgvYjZrZVhkWWpyVkNKT0c3TURJ?=
=?utf-8?B?SVFRYklsblRDTmk2YVNHRzRpaUFUeFJuRWduTTJaODVIWmx5ZmkyVjJGRmdW?=
=?utf-8?B?cENDbGFaaFRMWFlIUjA5eGNQSG5zemV5SVdyWG82VGZDSG5RZkVzbitNMTRD?=
=?utf-8?B?dFdLcm94ZUVlTXFSN2ZOSzlsZmRIR0VLbGdOZFdkSnJGNGF5d1dSYzdHNVhj?=
=?utf-8?B?MTFCamFhY01tUWdRelYxRWdxeENIa3ZTVmVZUnlJQkw2S3drRkFyU2lxbUpC?=
=?utf-8?B?WjYzSEcwMjlNclNyT1hRcU9YejZ6TEJhSVJ3UUJtZ08wZDYvaXhwRHlTU3Uz?=
=?utf-8?B?dGpoT2RnSlluNlJwb0pFckg5VVp3L0lwc2VVTDlKYzlzVTZ6YlRjcUg3cVlw?=
=?utf-8?B?SDZrVk1JUHlMQlFHNWlyNDhlaFBRRFlFOSs5VWh1U1VHRTBvbTFLN2lTdFl2?=
=?utf-8?B?SHQ5RytzaU5ibmdPcFF6Qk9xS3ZSRlNETGpRR1pWWHJrMzFzNUEzTmJ4Q1hl?=
=?utf-8?B?Qm5WK3FiZUppVnEvSlFWcmo5blJZSXF0MExZOVBWZDFVV0ZsMUhKcUY3b0lL?=
=?utf-8?B?cGRKT3lKVjVhMHFlN2RFM0FTRExZOUxtQ1d2ZmZzTnc1bnc4SEhTeFFaUFVG?=
=?utf-8?B?WHhXY2xwWTZWaWVMWnhuc2hCa2R1bGFjRXJ1cGRKQ29Cek1TZkYxU0IxNUNZ?=
=?utf-8?B?MjVib3NXak9LNDkwSWI1SnlIYUo5MzU1ZS94REtwU3ZQejAxRWUvOUNSTksz?=
=?utf-8?B?WS8wbWlkOGxkZVNRSzE4SVU2cExXMTBWWnJodm9GYzhXU3k5QlYrNzFoRVdD?=
=?utf-8?B?TGF3VjRuYUxia2QzWjVDbzlOQmFSMWVKVEJIUVNZUW8xb3h1aVlWbU1VcWJC?=
=?utf-8?B?Z0U4aUlpdXZ1eUNwbGNkRWd0ZURqS1lKZGZIYldsVVpXQVczRllrQnJBNXNZ?=
=?utf-8?B?aFEyemxWY2ZER05uTituVXZwNzMxTEdwbktLNXRCdVFGaW5BeVY3TmpwTUNH?=
=?utf-8?B?c2tMYmw4L2ppWituK3pNOFpWbHEwQmtRamRqa3l6c0JXSDJxUEpJMDRTNkpS?=
=?utf-8?B?M0czVEtwZnNBZUJwa2lvK3RiMmx0SThFZ2QrZU9qQUlFS2k3dWhjcWFEUEZi?=
=?utf-8?B?cHA3TzhESTRIVllTZEF2V2VmckZzY0ZDVHpPUS80QlNZcXFKWlpSN2hxSlBY?=
=?utf-8?B?MDg3cGwwcU1mc2VaeUd1UzlPMC92a3pQQnVUU3RkYzRSMWE1RXQ4eEJ0Z254?=
=?utf-8?B?ZTRKL0JWSFFlRWY3SGRSWUc3K1lFQjdzeDlqNXFwWXdURTJTYWV4bStBNVUw?=
=?utf-8?B?Qmc9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 67f2eb58-6919-415d-eedb-08dd9ddb530b
X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB6054.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 11:32:27.5780
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C727CNphCyGZegfXgbO49CiUsZaSgB5Ke531CIx0NTtKM0NNfwvkJ9Oh4AG9egOB8QdObCkc+B/A4zK4JrZL7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB8807
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 23/05/2025 13:57, Sarthak Garg wrote:
> For Qualcomm SoCs which needs level shifter for SD card, extra delay is
> seen on receiver data path.
>
> To compensate this delay enable tuning for SDR50 mode for targets which
> has level shifter. SDHCI_SDR50_NEEDS_TUNING caps will be set for targets
> with level shifter on Qualcomm SOC's.
>
> Signed-off-by: Sarthak Garg <quic_sartgarg@xxxxxxxxxxx>
Assuming this is still needed even with new generic quirk approach:
Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
> drivers/mmc/host/sdhci-msm.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
> index 66c0d1ba2a33..bf91cb96a0ea 100644
> --- a/drivers/mmc/host/sdhci-msm.c
> +++ b/drivers/mmc/host/sdhci-msm.c
> @@ -81,6 +81,7 @@
> #define CORE_IO_PAD_PWR_SWITCH_EN BIT(15)
> #define CORE_IO_PAD_PWR_SWITCH BIT(16)
> #define CORE_HC_SELECT_IN_EN BIT(18)
> +#define CORE_HC_SELECT_IN_SDR50 (4 << 19)
> #define CORE_HC_SELECT_IN_HS400 (6 << 19)
> #define CORE_HC_SELECT_IN_MASK (7 << 19)
>
> @@ -1133,6 +1134,10 @@ static bool sdhci_msm_is_tuning_needed(struct sdhci_host *host)
> {
> struct mmc_ios *ios = &host->mmc->ios;
>
> + if (ios->timing == MMC_TIMING_UHS_SDR50 &&
> + host->flags & SDHCI_SDR50_NEEDS_TUNING)
> + return true;
> +
> /*
> * Tuning is required for SDR104, HS200 and HS400 cards and
> * if clock frequency is greater than 100MHz in these modes.
> @@ -1201,6 +1206,8 @@ static int sdhci_msm_execute_tuning(struct mmc_host *mmc, u32 opcode)
> struct mmc_ios ios = host->mmc->ios;
> struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
> struct sdhci_msm_host *msm_host = sdhci_pltfm_priv(pltfm_host);
> + const struct sdhci_msm_offset *msm_offset = msm_host->offset;
> + u32 config;
>
> if (!sdhci_msm_is_tuning_needed(host)) {
> msm_host->use_cdr = false;
> @@ -1217,6 +1224,14 @@ static int sdhci_msm_execute_tuning(struct mmc_host *mmc, u32 opcode)
> */
> msm_host->tuning_done = 0;
>
> + if (ios.timing == MMC_TIMING_UHS_SDR50 &&
> + host->flags & SDHCI_SDR50_NEEDS_TUNING) {
> + config = readl_relaxed(host->ioaddr + msm_offset->core_vendor_spec);
> + config &= ~CORE_HC_SELECT_IN_MASK;
> + config |= CORE_HC_SELECT_IN_EN | CORE_HC_SELECT_IN_SDR50;
> + writel_relaxed(config, host->ioaddr + msm_offset->core_vendor_spec);
> + }
> +
> /*
> * For HS400 tuning in HS200 timing requires:
> * - select MCLK/2 in VENDOR_SPEC
Return-Path: <linux-kernel+bounces-665384-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 87FAF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:34:32 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id ABD933B51B5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:34:11 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id BE84C2836B0;
Wed, 28 May 2025 11:34:25 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=dolcini.it header.i=@dolcini.it header.b="kIe2dk6U"
Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18A9C202C26;
Wed, 28 May 2025 11:34:21 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.194.8.81
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432065; cv=none; b=eE0zh/Y5wI/XUSXPJYM8NW8JCSBw+U3teSzVM6WvlB/MBCKm5vBnRP6SVvdjtKWnKfEbx+Yfshv2wlMO+JgvBR8Uac/vI34pJRaAxA1oOmRmzSAH6HiXVrSEe8wlRu5L7hlUq3/Cw8NH4E161x6mMjfyXbY0dt2BmH01Nv3Jv3g=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432065; c=relaxed/simple;
bh=5zcSpGUiDurj5ZygSE+BJqZ3vn6+jUWX/UqrQnid/RU=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=Jvr6Du2ocosLNkaYwn9kmGfQaPziUuqDeYmoBttVwOKwJxxncrp3kWClY2Rq1oUt1EQkjqsELZuOtf9rg0kWN2mfmeryCv2sB9LZTDfwyegMYJificKLndlhqMaX8hSl09x+60Wif7cn0HMWTpLApdKzA6nHJG9nG60XcGFwv/o=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dolcini.it; spf=pass smtp.mailfrom=dolcini.it; dkim=pass (2048-bit key) header.d=dolcini.it header.i=@dolcini.it header.b=kIe2dk6U; arc=none smtp.client-ip=217.194.8.81
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dolcini.it
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=dolcini.it
Received: from francesco-nb (248.201.173.83.static.wline.lns.sme.cust.swisscom.ch [83.173.201.248])
by mail11.truemail.it (Postfix) with ESMTPA id 5BAD51FC91;
Wed, 28 May 2025 13:34:19 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dolcini.it;
s=default; t=1748432059;
bh=pxDo9IO9ATTuQyALamZSwSmn+16k7bv0aYEa/a+N+TE=; h=From:To:Subject;
b=kIe2dk6UVZiF19EuFHoJjx5/xbuPmkmdu8StW+SA/Ai7aStdASEzonHThl7qB5dnR
CEAQIqUuim4oh/QL7e+IR5BUZ2aI1W7JT+yMXNnOtB8gTjlW5vcXbL1uu6OGKUkH+X
Ne4o2nzkAFgxdnqqrz+KuFTVVkZWtZPMns761Ts5l778QqlE+aA33ayRCgFXnUrHpm
xxJv2IvcG0r6Odg2VYfl9/B3msT/nVgWcj09VMg95w1FBgeWOHL03rFfeQ+/SXeGCO
DnQIo2zHYtvxNS5LPfEYDSUFGAtLRNztqBZjM9HkVpSfczNyocrxLq9W8G9hHvHR88
cdcmYBA/hWRiw==
Date: Wed, 28 May 2025 13:34:15 +0200
From: Francesco Dolcini <francesco@xxxxxxxxxx>
To: Emanuele Ghidoli <ghidoliemanuele@xxxxxxxxx>
Cc: Nishanth Menon <nm@xxxxxx>, Vignesh Raghavendra <vigneshr@xxxxxx>,
Tero Kristo <kristo@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Emanuele Ghidoli <emanuele.ghidoli@xxxxxxxxxxx>,
Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, stable@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v1] arm64: dts: ti: k3-am62-verdin: Enable pull-ups on
I2C buses
Message-ID: <20250528113415.GA43553@francesco-nb>
References: <20250528110741.262336-1-ghidoliemanuele@xxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528110741.262336-1-ghidoliemanuele@xxxxxxxxx>
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 01:07:37PM +0200, Emanuele Ghidoli wrote:
> From: Emanuele Ghidoli <emanuele.ghidoli@xxxxxxxxxxx>
>
> Enable internal bias pull-ups on the SoC-side I2C buses that do not have
> external pull resistors populated on the SoM. This ensures proper
> default line levels.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 316b80246b16 ("arm64: dts: ti: add verdin am62")
> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@xxxxxxxxxxx>
Reviewed-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
Return-Path: <linux-kernel+bounces-665385-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7C46141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:35:05 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4EA713B5588
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:34:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E51592836BE;
Wed, 28 May 2025 11:34:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="ULHOQ+80"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id B05EC1E8854;
Wed, 28 May 2025 11:34:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.20
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432097; cv=none; b=px0Cz0aLE+dYZhgdHKPtWIzRHdfUzEt+i1KU3OhhXOn6sUBPtIKkLAx6T903YdSdIhrHAsdKqMlxbn4ACdIcM5/RESjuxYHa2SNwZuIiJ1qAVp+JAxzEZG5z62SysVicjrC4AMKvjP0OWV8XQEnKWkKLyh57r1xHygRNseeJxHg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432097; c=relaxed/simple;
bh=HSxCbgRLZhJCIcQQOJEc5MtOOGLMy3xGR4PMKG3DHvg=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
Content-Type:Content-Disposition:In-Reply-To; b=pIc8kAKys4DXy9AXqqHkBcgq0zw3shGPknULi3XCsEBX8BcrO/grfb24D9XTjo39y7HB2OJ9gy+Sheaolsygu3UNM2pDLnGR7fwJWcUcF6BmscddR3pgSSUXgNW7MpQcVZeOr2t/TIlFUZMtdX8ejsO19bfOqU+1u5jRrq0yp6Q=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=ULHOQ+80; arc=none smtp.client-ip=198.175.65.20
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748432096; x=1779968096;
h=date:from:to:cc:subject:message-id:references:
mime-version:in-reply-to;
bh=HSxCbgRLZhJCIcQQOJEc5MtOOGLMy3xGR4PMKG3DHvg=;
b=ULHOQ+80tetHTnpZPtjnLc0M30Ar3/v/USsIGMgo3zdgJ75ofW9x+y8w
VZLhEWHCOE8UN440lRtGQy3xtjjz1qXd2ZFjnt91hLd7Z7IuXrqAOzfaH
uezoU1u8rqpGqTv+WGjRvvFbAsn7ck4yeTV40xfa9VeytSLFXvq/AMhlv
ljvcah/vKyTLKFKzHDPr7l1nTfh1eukMKz9nxlbut7URh36odIc5HVLuq
lCRRiskDrR+/aPHL4hL5l4HdHGtiVunMeMWc+MEupxlaRoQMiGVNOqVNC
n4jwzGqfSL0lMBh9ALccQ/MSN4iWFk5xxbjHs7LZwAn1dmt+xaiQkzXyg
A==;
X-CSE-ConnectionGUID: ckVO1Q45RGC0fjt+8iHR6A==
X-CSE-MsgGUID: 49Yjd5RfRt25dWQzZIqinw==
X-IronPort-AV: E=McAfee;i="6700,10204,11447"; a="50152786"
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="50152786"
Received: from orviesa002.jf.intel.com ([10.64.159.142])
by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:34:56 -0700
X-CSE-ConnectionGUID: gOecNs2RRlqmVkcs8m6llw==
X-CSE-MsgGUID: BHUyzIPHSy6OcTM3fSV+GQ==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="174209022"
Received: from lkp-server01.sh.intel.com (HELO 1992f890471c) ([10.239.97.150])
by orviesa002.jf.intel.com with ESMTP; 28 May 2025 04:34:53 -0700
Received: from kbuild by 1992f890471c with local (Exim 4.96)
(envelope-from <lkp@xxxxxxxxx>)
id 1uKF3a-000VcS-22;
Wed, 28 May 2025 11:34:50 +0000
Date: Wed, 28 May 2025 19:34:35 +0800
From: kernel test robot <lkp@xxxxxxxxx>
To: Menglong Dong <menglong8.dong@xxxxxxxxx>, alexei.starovoitov@xxxxxxxxx,
rostedt@xxxxxxxxxxx, jolsa@xxxxxxxxxx
Cc: llvm@xxxxxxxxxxxxxxx, oe-kbuild-all@xxxxxxxxxxxxxxx,
bpf@xxxxxxxxxxxxxxx, Menglong Dong <dongml2@xxxxxxxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH bpf-next 14/25] bpf: tracing: add multi-link support
Message-ID: <202505281947.qIShGsJU-lkp@xxxxxxxxx>
References: <20250528034712.138701-15-dongml2@xxxxxxxxxxxxxxx>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20250528034712.138701-15-dongml2@xxxxxxxxxxxxxxx>
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Menglong,
kernel test robot noticed the following build errors:
[auto build test ERROR on bpf-next/master]
url: https://github.com/intel-lab-lkp/linux/commits/Menglong-Dong/add-per-function-metadata-storage-support/20250528-115819
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link: https://lore.kernel.org/r/20250528034712.138701-15-dongml2%40chinatelecom.cn
patch subject: [PATCH bpf-next 14/25] bpf: tracing: add multi-link support
config: arm-randconfig-002-20250528 (https://download.01.org/0day-ci/archive/20250528/202505281947.qIShGsJU-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250528/202505281947.qIShGsJU-lkp@xxxxxxxxx/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505281947.qIShGsJU-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
>> kernel/bpf/syscall.c:3727:2: error: call to undeclared function 'bpf_gtrampoline_unlink_prog'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
3727 | bpf_gtrampoline_unlink_prog(&multi_link->link);
| ^
kernel/bpf/syscall.c:3727:2: note: did you mean 'bpf_trampoline_unlink_prog'?
include/linux/bpf.h:1492:19: note: 'bpf_trampoline_unlink_prog' declared here
1492 | static inline int bpf_trampoline_unlink_prog(struct bpf_tramp_link *link,
| ^
>> kernel/bpf/syscall.c:3995:8: error: call to undeclared function 'bpf_gtrampoline_link_prog'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
3995 | err = bpf_gtrampoline_link_prog(&link->link);
| ^
kernel/bpf/syscall.c:3995:8: note: did you mean 'bpf_trampoline_link_prog'?
include/linux/bpf.h:1486:19: note: 'bpf_trampoline_link_prog' declared here
1486 | static inline int bpf_trampoline_link_prog(struct bpf_tramp_link *link,
| ^
kernel/bpf/syscall.c:4001:3: error: call to undeclared function 'bpf_gtrampoline_unlink_prog'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
4001 | bpf_gtrampoline_unlink_prog(&link->link);
| ^
3 errors generated.
vim +/bpf_gtrampoline_unlink_prog +3727 kernel/bpf/syscall.c
3721
3722 static void bpf_tracing_multi_link_release(struct bpf_link *link)
3723 {
3724 struct bpf_tracing_multi_link *multi_link =
3725 container_of(link, struct bpf_tracing_multi_link, link.link);
3726
> 3727 bpf_gtrampoline_unlink_prog(&multi_link->link);
3728 __bpf_tracing_multi_link_release(multi_link);
3729 }
3730
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Return-Path: <linux-kernel+bounces-665386-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 7A96A41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:40:07 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id EFB1B9E6C87
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:39:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E7D092836BE;
Wed, 28 May 2025 11:40:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="NdXC1ja4"
Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81E4E27C145
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:39:57 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432399; cv=none; b=jtxn9CUC317GHVUG6V3aMwX/sy5+vTtpFUJD/2t2D/2ou/4gQzHYIaAPG/0qwgNXoo4bo/WgHUloU7TA8EekhnJhbGMpWb63W92jEANMafgBaXNOAbYsiT7JWx/H0sPayXd5l7E0o0CTym7KU4cyZhow9KkC2YJlSPYw5NfYfO8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432399; c=relaxed/simple;
bh=BBu36Rgh6aU1bpToO9N1ihK0oHnVGIXTQoN96ZJUo+w=;
h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References:
In-Reply-To:Content-Type; b=k1/oolGubzy6FJ6DBKitoxT5FDWskJuqDvRIgA5r9UPemhTFf4pq9CS8HlXVr0T6DyEI3mYonu65cSUbyh6MTlrMXnKEGhIVWzw2FeXb9birptn4qlPZ8SLBtHP6JyqKcHrMHat87q06it/QO23ExT4EgRGPgj57BzSuUGeQuYs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=NdXC1ja4; arc=none smtp.client-ip=209.85.218.45
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-ac34257295dso867449966b.2
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:39:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linaro.org; s=google; t=1748432396; x=1749037196; darn=vger.kernel.org;
h=content-transfer-encoding:in-reply-to:content-language:references
:cc:to:from:subject:user-agent:mime-version:date:message-id:from:to
:cc:subject:date:message-id:reply-to;
bh=OiTJp1V4AeD6wzaFFwN/fbbHn5o4MJxEF1SXS8KKGVk=;
b=NdXC1ja4O+ASZ9xb0HB2uOZu2q20h5LIbwEoSFbeXYC6/B9NhM/a4dLKkPnsVzAbyB
iv/9GSk3/IyxVTopSMBDrTpNTX+GSLH7Sc7H3gZWsJD68Cm+dOuQ5HruT4/pAGnYOErG
K33qhJZlyE4fttzHOBMWntraz8xjHIdRbKzOcCtpgLLI5uulcLZORI+r2cBo6hBIfFCg
2flRxE6JiIEyqY+VLGutE8QaYeDE3xCPePuDbRnWKxrbFoNb6h5+hwWMI0WrUW9pq1fT
MsCh7qWac6+YYtsMdAFz+7IuJ66bXkNNp8jE8SnOsMSw3NZPz51S5RJeahCAZwINPxHD
Knqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748432396; x=1749037196;
h=content-transfer-encoding:in-reply-to:content-language:references
:cc:to:from:subject:user-agent:mime-version:date:message-id
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=OiTJp1V4AeD6wzaFFwN/fbbHn5o4MJxEF1SXS8KKGVk=;
b=hATrrz4VlY+ACctwQwDLZnXglnTUcFrQ8EcV6Na369SBtSvaMJdCxejvIbqLK7N11i
aznNOU0ABDDVxeYLWXhNCLaIZNDkWZSQIrEHUoRFH/RK+5bGBnseJUtDe8FFPFw0gPoy
2s3Gx8WH8+6QQh8Nekjqr+/o7bPv8VRfdpyicyuH1E/XRdCROOVbJtA84PIBXD8gK/P3
puEFPzi86NVh4QTLNg4rYNfOFcusl6dy4HHSF6vmWZi4HGo8rezBnPyyGUP225g0mrZN
XNMdK59M4E88slutEK+JmLQC44kcGSzUe19esaKoaZpQ3q1VER0HTpTBxNlZ0++NFn+U
dm/A==
X-Forwarded-Encrypted: i=1; AJvYcCW8r/YDa/UYhGLsvM15TKu9HLZ27HOgGhftXLyBHSrZ303GgEDdDzinxH5cLSrIfPbHa332Js8DkmHARW8=@vger.kernel.org
X-Gm-Message-State: AOJu0Yzg1KEV0+2x7m0RTnqBgYhiwmXg4wFyEvdQ9vc+0NY8Rgu/LJi3
R2rhBXReykQmophvB2TqdBStHbxhLLdzwIV+3i3fXzbB/9kYCxZLL12tAN/YumG33gs=
X-Gm-Gg: ASbGncuNQWE34Ck+GhtNJ9Fp7tVUazyU62WsrKbE1+HCkcSvwHWY+Jft0BhDuRzoTGk
T031vA8S8O+icHqMt6uVM9IJP77GEtOprx8ZgkSuuHSrB2I6BrhE8/G8mBa64BTgukNoP760+61
zVbJE0aCd7tvCMiXjFdaylb0wi/+Vy59glaDilsEdCHWsW8Dk7l/0nE1019nF889QS3FUlK0QZK
8NbfEfrCS7YwY3JqhGSWN/f/7AOqwlGhDJiZgjOUqru/X/EqCptQjXtBf0+xIOZP/KdBHVi3g7K
kzy6dQwhLasObN73y4+Wq3cQzyLo64yRLdQ5EXzt7SkQB9XtZeYXq16H72HTGLlBBBFAKA==
X-Google-Smtp-Source: AGHT+IGKnInvLGE6Mi5kyFcchf66ICbQUp4/h5Z1IQ/6gw+wZVuK/zbHHFQ1H3smlCmyuGMG7J3VAA==
X-Received: by 2002:a17:907:9447:b0:ad8:a41a:3cce with SMTP id a640c23a62f3a-ad8a41a404bmr110557966b.48.1748432395618;
Wed, 28 May 2025 04:39:55 -0700 (PDT)
Received: from [192.168.0.14] ([79.115.63.75])
by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ad8a1b29785sm93822166b.93.2025.05.28.04.39.54
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 04:39:55 -0700 (PDT)
Message-ID: <6e4b340b-a239-4550-b091-139c3724a54c@xxxxxxxxxx>
Date: Wed, 28 May 2025 12:39:53 +0100
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 24/25] PCI: Perform reset_resource() and build fail list
in sync
From: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx>
To: =?UTF-8?Q?Ilpo_J=C3=A4rvinen?= <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>, linux-pci@xxxxxxxxxxxxxxx,
=?UTF-8?Q?Micha=C5=82_Winiarski?= <michal.winiarski@xxxxxxxxx>,
Igor Mammedov <imammedo@xxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>,
Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>,
William McVicker <willmcvicker@xxxxxxxxxx>
References: <20241216175632.4175-1-ilpo.jarvinen@xxxxxxxxxxxxxxx>
<20241216175632.4175-25-ilpo.jarvinen@xxxxxxxxxxxxxxx>
<5f103643-5e1c-43c6-b8fe-9617d3b5447c@xxxxxxxxxx>
<8f281667-b4ef-9385-868f-93893b9d6611@xxxxxxxxxxxxxxx>
<3a47fc82-dc21-46c3-873d-68e713304af3@xxxxxxxxxx>
Content-Language: en-US
In-Reply-To: <3a47fc82-dc21-46c3-873d-68e713304af3@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 12:22 PM, Tudor Ambarus wrote:
>
> On 5/6/25 4:53 PM, Ilpo Järvinen wrote:
>> On Tue, 6 May 2025, Tudor Ambarus wrote:
>>
>>> Hi!
>>>
>>> On 12/16/24 5:56 PM, Ilpo Järvinen wrote:
>>>> Resetting resource is problematic as it prevent attempting to allocate
>>>> the resource later, unless something in between restores the resource.
>>>> Similarly, if fail_head does not contain all resources that were reset,
>>>> those resource cannot be restored later.
>>>>
>>>> The entire reset/restore cycle adds complexity and leaving resources
>>>> into reseted state causes issues to other code such as for checks done
>>>> in pci_enable_resources(). Take a small step towards not resetting
>>>> resources by delaying reset until the end of resource assignment and
>>>> build failure list (fail_head) in sync with the reset to avoid leaving
>>>> behind resources that cannot be restored (for the case where the caller
>>>> provides fail_head in the first place to allow restore somewhere in the
>>>> callchain, as is not all callers pass non-NULL fail_head).
>>>>
>>>> The Expansion ROM check is temporarily left in place while building the
>>>> failure list until the upcoming change which reworks optional resource
>>>> handling.
>>>>
>>>> Ideally, whole resource reset could be removed but doing that in a big
>>>> step would make the impact non-tractable due to complexity of all
>>>> related code.
>>>>
>>>> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
>>> I'm hitting the BUG_ON(!list_empty(&add_list)); in
>>> pci_assign_unassigned_bus_resources() [1] with 6.15-rc5 and the the
>>> pixel6 downstream pcie driver.
>>>
>>> I saw the thread where "a34d74877c66 PCI: Restore assigned resources
>>> fully after release" fixes things for some other cases, but it's not the
>>> case here.
>>>
>>> Reverting the following patches fixes the problem:
>>> a34d74877c66 PCI: Restore assigned resources fully after release
>>> 2499f5348431 PCI: Rework optional resource handling
>>> 96336ec70264 PCI: Perform reset_resource() and build fail list in sync
>> So it's confirmed that you needed to revert also this last commit
>> 96336ec70264, not just the rework change?
> I needed to revert 96336ec70264 as well otherwise the build fails.
>>> In the working case the add_list list is empty throughout the entire
>>> body of pci_assign_unassigned_bus_resources().
>>>
>>> In the failing case __pci_bus_size_bridges() leaves the add_list not
>>> empty and __pci_bus_assign_resources() does not consume the list, thus
>>> the BUG_ON. The failing case contains an extra print that's not shown
>>> when reverting the blamed commits:
>>> [ 13.951185][ T1101] pcieport 0000:00:00.0: bridge window [mem
>>> 0x00100000-0x001fffff] to [bus 01-ff] add_size 100000 add_align 100000
>>>
>>> I've added some prints trying to describe the code path, see
>>> https://paste.ofcode.org/Aeu2YBpLztc49ZDw3uUJmd#
>>>
>>> Failing case:
>>> [ 13.944231][ T1101] pci 0000:01:00.0: [144d:a5a5] type 00 class
>>> 0x000000 PCIe Endpoint
>>> [ 13.944412][ T1101] pci 0000:01:00.0: BAR 0 [mem
>>> 0x00000000-0x000fffff 64bit]
>>> [ 13.944532][ T1101] pci 0000:01:00.0: ROM [mem 0x00000000-0x0000ffff
>>> pref]
>>> [ 13.944649][ T1101] pci 0000:01:00.0: enabling Extended Tags
>>> [ 13.944844][ T1101] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
>>> [ 13.945015][ T1101] pci 0000:01:00.0: 15.752 Gb/s available PCIe
>>> bandwidth, limited by 8.0 GT/s PCIe x2 link at 0000:00:00.0 (capable of
>>> 31.506 Gb/s with 16.0 GT/s PCIe x2 link)
>>> [ 13.950616][ T1101] __pci_bus_size_bridges: before pbus_size_mem.
>>> list empty? 1
>>> [ 13.950784][ T1101] pbus_size_mem: 2. list empty? 1
>>> [ 13.950886][ T1101] pbus_size_mem: 1 list empty? 0
>>> [ 13.950982][ T1101] pbus_size_mem: 3. list empty? 0
>>> [ 13.951082][ T1101] pbus_size_mem: 4. list empty? 0
>>> [ 13.951185][ T1101] pcieport 0000:00:00.0: bridge window [mem
>>> 0x00100000-0x001fffff] to [bus 01-ff] add_size 100000 add_align 100000
>>> [ 13.951448][ T1101] __pci_bus_size_bridges: after pbus_size_mem. list
>>> empty? 0
>>> [ 13.951643][ T1101] pci_assign_unassigned_bus_resources: before
>>> __pci_bus_assign_resources -> list empty? 0
>>> [ 13.951924][ T1101] pcieport 0000:00:00.0: bridge window [mem
>>> 0x40000000-0x401fffff]: assigned
>>> [ 13.952248][ T1101] pci_assign_unassigned_bus_resources: after
>>> __pci_bus_assign_resources -> list empty? 0
>>> [ 13.952634][ T1101] ------------[ cut here ]------------
>>> [ 13.952818][ T1101] kernel BUG at drivers/pci/setup-bus.c:2514!
>>> [ 13.953045][ T1101] Internal error: Oops - BUG: 00000000f2000800 [#1]
>>> SMP
>>> ...
>>> [ 13.976086][ T1101] Call trace:
>>> [ 13.976206][ T1101] pci_assign_unassigned_bus_resources+0x110/0x114 (P)
>>> [ 13.976462][ T1101] pci_rescan_bus+0x28/0x48
>>> [ 13.976628][ T1101] exynos_pcie_rc_poweron
>>>
>>> Working case:
>>> [ 13.786961][ T1120] pci 0000:01:00.0: [144d:a5a5] type 00 class
>>> 0x000000 PCIe Endpoint
>>> [ 13.787136][ T1120] pci 0000:01:00.0: BAR 0 [mem
>>> 0x00000000-0x000fffff 64bit]
>>> [ 13.787280][ T1120] pci 0000:01:00.0: ROM [mem 0x00000000-0x0000ffff
>>> pref]
>>> [ 13.787541][ T1120] pci 0000:01:00.0: enabling Extended Tags
>>> [ 13.787808][ T1120] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
>>> [ 13.787988][ T1120] pci 0000:01:00.0: 15.752 Gb/s available PCIe
>>> bandwidth, limited by 8.0 GT/s PCIe x2 link at 0000:00:00.0 (capable of
>>> 31.506 Gb/s with 16.0 GT/s PCIe x2 link)
>>> [ 13.795279][ T1120] __pci_bus_size_bridges: before pbus_size_mem.
>>> list empty? 1
>>> [ 13.795408][ T1120] pbus_size_mem: 2. list empty? 1
>>> [ 13.795495][ T1120] pbus_size_mem: 2. list empty? 1
>>> [ 13.795577][ T1120] __pci_bus_size_bridges: after pbus_size_mem. list
>>> empty? 1
>>> [ 13.795692][ T1120] pci_assign_unassigned_bus_resources: before
>>> __pci_bus_assign_resources -> list empty? 1
>>> [ 13.795849][ T1120] pcieport 0000:00:00.0: bridge window [mem
>>> 0x40000000-0x401fffff]: assigned
>>> [ 13.796072][ T1120] pci_assign_unassigned_bus_resources: after
>>> __pci_bus_assign_resources -> list empty? 1
>>> [ 13.796662][ T1120] cpif: s5100_poweron_pcie: DBG: MSI sfr not set
>>> up, yet(s5100_pdev is NULL)
>>> [ 13.796666][ T1120] cpif: register_pcie: s51xx_pcie_init start
>>>
>>>
>>> Any hints are welcomed. Thanks,
>>> ta
>> Hi and thanks for the report.
> Hi! Thanks for the help. I've been out of office for the last 2 weeks,
> sorry for the delayed reply.
>
>> The interesting part occurs inside reassign_resources_sorted() where most
>> items are eliminated from realloc_head by the list_del().
>>
>> My guess is that somehow, the change in 96336ec70264 from !res->flags
>> to the more complicated check somehow causes this. If the new check
>> doesn't match and subsequently, no match is found from the head list, the
>> loop will do continue and not remove the entry from realloc_head.
> I added a print right there and it seems it's something else. See below.
>> But it's hard to confirm without knowing what that resources realloc_head
>> contains. Perhaps if you print the resources that are processed around
>> that part of the code in reassign_resources_sorted(), comparing the log
>> from the reverted code with the non-working case might help to understand
>> what is different there and why. To understand better what is in the head
>> list, it would be also useful to know from which device the resources were
>> added into the head list in pdev_sort_resources().
>>
> I added the suggested prints
> (https://paste.ofcode.org/DgmZGGgS6D36nWEzmfCqMm) on top of v6.15 with
> the downstream PCIe pixel driver and I obtain the following. Note that
> all added prints contain "tudor" for differentiation.
>
> [ 15.211179][ T1107] pci 0001:01:00.0: [144d:a5a5] type 00 class
> 0x000000 PCIe Endpoint
> [ 15.212248][ T1107] pci 0001:01:00.0: BAR 0 [mem
> 0x00000000-0x000fffff 64bit]
> [ 15.212775][ T1107] pci 0001:01:00.0: ROM [mem 0x00000000-0x0000ffff
> pref]
> [ 15.213195][ T1107] pci 0001:01:00.0: enabling Extended Tags
> [ 15.213720][ T1107] pci 0001:01:00.0: PME# supported from D0 D3hot
> D3cold
> [ 15.214035][ T1107] pci 0001:01:00.0: 15.752 Gb/s available PCIe
> bandwidth, limited by 8.0 GT/s PCIe x2 link at 0001:00:00.0 (capable of
> 31.506 Gb/s with 16.0 GT/s PCIe x2 link)
> [ 15.222286][ T1107] pci 0001:01:00.0: tudor: 1: pbus_size_mem: BAR 0
> [mem 0x00000000-0x000fffff 64bit] list empty? 1
> [ 15.222813][ T1107] pci 0001:01:00.0: tudor: 1: pbus_size_mem: ROM
> [mem 0x00000000-0x0000ffff pref] list empty? 1
> [ 15.224429][ T1107] pci 0001:01:00.0: tudor: 2: pbus_size_mem: ROM
> [mem 0x00000000-0x0000ffff pref] list empty? 0
> [ 15.224750][ T1107] pcieport 0001:00:00.0: bridge window [mem
> 0x00100000-0x001fffff] to [bus 01-ff] add_size 100000 add_align 100000
>
> [ 15.225393][ T1107] tudor : pci_assign_unassigned_bus_resources:
> before __pci_bus_assign_resources -> list empty? 0
> [ 15.225594][ T1107] pcieport 0001:00:00.0: tudor:
> pdev_sort_resources: bridge window [mem 0x00100000-0x001fffff] resource
> added in head list
> [ 15.226078][ T1107] pcieport 0001:00:00.0: bridge window [mem
> 0x40000000-0x401fffff]: assigned
> [ 15.226419][ T1107] tudor : pci_assign_unassigned_bus_resources:
> after __pci_bus_assign_resources -> list empty? 0
> [ 15.226442][ T1107] ------------[ cut here ]------------
> [ 15.227587][ T1107] kernel BUG at drivers/pci/setup-bus.c:2522!
> [ 15.227813][ T1107] Internal error: Oops - BUG: 00000000f2000800 [#1]
> SMP
> ...
> [ 15.251570][ T1107] Call trace:
> [ 15.251690][ T1107] pci_assign_unassigned_bus_resources+0x110/0x114 (P)
> [ 15.251945][ T1107] pci_rescan_bus+0x28/0x48
>
> I obtain the following output when using the same prints adapted
> (https://paste.ofcode.org/37w7RnKkPaCxyNhi5yhZPbZ) and with the blamed
> commits reverted:
> a34d74877c66 PCI: Restore assigned resources fully after release
> 2499f5348431 PCI: Rework optional resource handling
> 96336ec70264 PCI: Perform reset_resource() and build fail list in sync
>
> [ 15.200456][ T1102] pci 0000:01:00.0: [144d:a5a5] type 00 class
> 0x000000 PCIe Endpoint
> [ 15.200632][ T1102] pci 0000:01:00.0: BAR 0 [mem
> 0x00000000-0x000fffff 64bit]
> [ 15.200755][ T1102] pci 0000:01:00.0: ROM [mem 0x00000000-0x0000ffff
> pref]
> [ 15.200876][ T1102] pci 0000:01:00.0: enabling Extended Tags
> [ 15.201075][ T1102] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
> [ 15.201254][ T1102] pci 0000:01:00.0: 15.752 Gb/s available PCIe
> bandwidth, limited by 8.0 GT/s PCIe x2 link at 0000:00:00.0 (capable of
> 31.506 Gb/s with 16.0 GT/s PCIe x2 link)
> [ 15.206555][ T1102] pci 0000:01:00.0: tudor: 1: pbus_size_mem: BAR 0
> [mem 0x00000000-0x000fffff 64bit] list empty? 1
> [ 15.206737][ T1102] pci 0000:01:00.0: tudor: 1: pbus_size_mem: ROM
> [mem 0x00000000-0x0000ffff pref] list empty? 1
> [ 15.206901][ T1102] tudor : pci_assign_unassigned_bus_resources:
> before __pci_bus_assign_resources -> list empty? 1
> [ 15.207072][ T1102] pcieport 0000:00:00.0: tudor:
> pdev_sort_resources: bridge window [mem 0x00100000-0x002fffff] resource
> added in head list
> [ 15.207396][ T1102] pcieport 0000:00:00.0: bridge window [mem
> 0x40000000-0x401fffff]: assigned
> [ 15.208165][ T1102] tudor : pci_assign_unassigned_bus_resources:
> after __pci_bus_assign_resources -> list empty? 1
> [ 15.208783][ T1102] cpif: s5100_poweron_pcie: DBG: MSI sfr not set
> up, yet(s5100_pdev is NULL)
> [ 15.208786][ T1102] cpif: register_pcie: s51xx_pcie_init start
I see my email client split the lines for the prints making the output
very hard to read. Added the output here too:
https://paste.ofcode.org/AEfjASQW8Z2jbMak5VkmpJ
Return-Path: <linux-kernel+bounces-665387-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id F1C1241E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:41:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 113429E5F8A
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:40:55 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id C181E2836BD;
Wed, 28 May 2025 11:41:11 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="h40vWP+3"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 805CF6A33B
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:41:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432470; cv=none; b=XqPhuN/c0MCfyvv8G2QiGl2Lvc2a6moq6rPJyFKPjvq7A8eMfLEsUW2DuMy0FBUxaAow+F/3DVnr0dsWoZZ1z8TGpzyG08kFAwwbEYS1KiDJGSjJtQfyzjE9+Z4KQO8/f0wF81Sx8beaioFVQXPFTsUMlcJy/fDNVu+a9/VULkA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432470; c=relaxed/simple;
bh=bOZFzxbQtHkb0r7mcnhiWLBBm6/fYdfcyRz1ryVlMeg=;
h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type:
Content-Disposition; b=kbazd0hg5juR/Nu/Kv3TT9ino61wFwXY16jkZNest/pl0Mikgwno0FuAM0ZcSKlsfEyvxj5vEbr3iZtKAOhKMalR1xNC0n9FUPdeUkQmBS3GN0xu9N6XAvHLlXJSOO/4tkv504jY9pRtNQjD0SImoYLDS+mvblTCynROadjRpqY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=h40vWP+3; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EB645C4CEEB;
Wed, 28 May 2025 11:41:07 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748432469;
bh=bOZFzxbQtHkb0r7mcnhiWLBBm6/fYdfcyRz1ryVlMeg=;
h=Date:From:To:Cc:Subject:From;
b=h40vWP+3tqVYFh//QWZrsNBeSrBoVaYL3wWWIQoPqd4N68bY7PsIm9BB3+lDnyRsa
uEKBJEM6z1dG0dpZkH44E05W7r09wTX9ZZLeOeiOEBL6o+r4Dlxy0O6OhbLWfXcwnG
MWeD5Zi3uDQ4D6RH56aP65Z2CHts0+PTRfrP6zeKKpnfJR/gYgIxcBthc7BjXnNmJP
4cBhUraMCOpNBAbTi6Y5SqO6imyW+f+aZlsj60JFT+I5PZ/RtZFu1Z5+oeOG0NwatO
Hr5MC70jKnAcj2P6Q3JyrQo95c6dlhVkD0TYi8RVB5bisdXlApnKwtF94OcJw4ep8V
J5NQZHxQGdw0A==
Date: Wed, 28 May 2025 12:41:04 +0100
From: Will Deacon <will@xxxxxxxxxx>
To: torvalds@xxxxxxxxxxxxxxxxxxxx
Cc: catalin.marinas@xxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, kernel-team@xxxxxxxxxxx
Subject: [GIT PULL] arm64 updates for 6.16
Message-ID: <20250528114103.GA27965@willie-the-truck>
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
User-Agent: Mutt/1.10.1 (2018-07-13)
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Linus,
Please pull these arm64 changes for 6.16. As per usual, the summary is
included in the tag, but the headline feature is the re-enablement of
support for Arm's Scalable Matrix Extension (SME) thanks to a bumper
crop of fixes from Mark Rutland. If matrices aren't your thing, then
Ryan's page-table optimisation work is much more interesting.
There are two logistical things to be aware of:
1. I've merged in for-next/fixes because the work to prevent BSS
exports being used in the PI code depended on it. The branch
appears as the base commit since you've pulled it already in 6.15.
2. There's a trivial conflict in arch/arm64/kernel/image-vars.h with
your tree due to a fix that landed in 6.15 via the KVM tree. The
resolution is to take the new hunk, dropping the part guarded by
CONFIG_CAVIUM_ERRATUM_27456. My resolution is below.
Any problems, please yell.
Cheers,
Will
--->8
diff --cc arch/arm64/kernel/image-vars.h
index 2004b4f41ade,c5266430284b..000000000000
--- a/arch/arm64/kernel/image-vars.h
+++ b/arch/arm64/kernel/image-vars.h
@@@ -36,37 -42,34 +42,30 @@@ PROVIDE(__pi___memcpy = __pi_memcpy)
PROVIDE(__pi___memmove = __pi_memmove);
PROVIDE(__pi___memset = __pi_memset);
- PROVIDE(__pi_id_aa64isar1_override = id_aa64isar1_override);
- PROVIDE(__pi_id_aa64isar2_override = id_aa64isar2_override);
- PROVIDE(__pi_id_aa64mmfr0_override = id_aa64mmfr0_override);
- PROVIDE(__pi_id_aa64mmfr1_override = id_aa64mmfr1_override);
- PROVIDE(__pi_id_aa64mmfr2_override = id_aa64mmfr2_override);
- PROVIDE(__pi_id_aa64pfr0_override = id_aa64pfr0_override);
- PROVIDE(__pi_id_aa64pfr1_override = id_aa64pfr1_override);
- PROVIDE(__pi_id_aa64smfr0_override = id_aa64smfr0_override);
- PROVIDE(__pi_id_aa64zfr0_override = id_aa64zfr0_override);
- PROVIDE(__pi_arm64_sw_feature_override = arm64_sw_feature_override);
- PROVIDE(__pi_arm64_use_ng_mappings = arm64_use_ng_mappings);
- PROVIDE(__pi__ctype = _ctype);
- PROVIDE(__pi_memstart_offset_seed = memstart_offset_seed);
+ PI_EXPORT_SYM(id_aa64isar1_override);
+ PI_EXPORT_SYM(id_aa64isar2_override);
+ PI_EXPORT_SYM(id_aa64mmfr0_override);
+ PI_EXPORT_SYM(id_aa64mmfr1_override);
+ PI_EXPORT_SYM(id_aa64mmfr2_override);
+ PI_EXPORT_SYM(id_aa64pfr0_override);
+ PI_EXPORT_SYM(id_aa64pfr1_override);
+ PI_EXPORT_SYM(id_aa64smfr0_override);
+ PI_EXPORT_SYM(id_aa64zfr0_override);
+ PI_EXPORT_SYM(arm64_sw_feature_override);
+ PI_EXPORT_SYM(arm64_use_ng_mappings);
-#ifdef CONFIG_CAVIUM_ERRATUM_27456
-PI_EXPORT_SYM(cavium_erratum_27456_cpus);
-PI_EXPORT_SYM(is_midr_in_range_list);
-#endif
+ PI_EXPORT_SYM(_ctype);
- PROVIDE(__pi_init_idmap_pg_dir = init_idmap_pg_dir);
- PROVIDE(__pi_init_idmap_pg_end = init_idmap_pg_end);
- PROVIDE(__pi_init_pg_dir = init_pg_dir);
- PROVIDE(__pi_init_pg_end = init_pg_end);
- PROVIDE(__pi_swapper_pg_dir = swapper_pg_dir);
+ PI_EXPORT_SYM(swapper_pg_dir);
- PROVIDE(__pi__text = _text);
- PROVIDE(__pi__stext = _stext);
- PROVIDE(__pi__etext = _etext);
- PROVIDE(__pi___start_rodata = __start_rodata);
- PROVIDE(__pi___inittext_begin = __inittext_begin);
- PROVIDE(__pi___inittext_end = __inittext_end);
- PROVIDE(__pi___initdata_begin = __initdata_begin);
- PROVIDE(__pi___initdata_end = __initdata_end);
- PROVIDE(__pi__data = _data);
- PROVIDE(__pi___bss_start = __bss_start);
- PROVIDE(__pi__end = _end);
+ PI_EXPORT_SYM(_text);
+ PI_EXPORT_SYM(_stext);
+ PI_EXPORT_SYM(_etext);
+ PI_EXPORT_SYM(__start_rodata);
+ PI_EXPORT_SYM(__inittext_begin);
+ PI_EXPORT_SYM(__inittext_end);
+ PI_EXPORT_SYM(__initdata_begin);
+ PI_EXPORT_SYM(__initdata_end);
+ PI_EXPORT_SYM(_data);
#ifdef CONFIG_KVM
--->8
The following changes since commit 363cd2b81cfdf706bbfc9ec78db000c9b1ecc552:
arm64: cpufeature: Move arm64_use_ng_mappings to the .data section to prevent wrong idmap generation (2025-05-06 11:43:44 +0100)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-upstream
for you to fetch changes up to 217e3cbba3d6613bee9ac33ddc330f8676eb9eca:
Merge branch 'for-next/vdso' into for-next/core (2025-05-27 12:26:54 +0100)
----------------------------------------------------------------
arm64 updates for 6.16
ACPI, EFI and PSCI:
- Decouple Arm's "Software Delegated Exception Interface" (SDEI)
support from the ACPI GHES code so that it can be used by platforms
booted with device-tree.
- Remove unnecessary per-CPU tracking of the FPSIMD state across EFI
runtime calls.
- Fix a node refcount imbalance in the PSCI device-tree code.
CPU Features:
- Ensure register sanitisation is applied to fields in ID_AA64MMFR4.
- Expose AIDR_EL1 to userspace via sysfs, primarily so that KVM guests
can reliably query the underlying CPU types from the VMM.
- Re-enabling of SME support (CONFIG_ARM64_SME) as a result of fixes
to our context-switching, signal handling and ptrace code.
Entry code:
- Hook up TIF_NEED_RESCHED_LAZY so that CONFIG_PREEMPT_LAZY can be
selected.
Memory management:
- Prevent BSS exports from being used by the early PI code.
- Propagate level and stride information to the low-level TLB
invalidation routines when operating on hugetlb entries.
- Use the page-table contiguous hint for vmap() mappings with
VM_ALLOW_HUGE_VMAP where possible.
- Optimise vmalloc()/vmap() page-table updates to use "lazy MMU mode"
and hook this up on arm64 so that the trailing DSB (used to publish
the updates to the hardware walker) can be deferred until the end of
the mapping operation.
- Extend mmap() randomisation for 52-bit virtual addresses (on par with
48-bit addressing) and remove limited support for randomisation of
the linear map.
Perf and PMUs:
- Add support for probing the CMN-S3 driver using ACPI.
- Minor driver fixes to the CMN, Arm-NI and amlogic PMU drivers.
Selftests:
- Fix FPSIMD and SME tests to align with the freshly re-enabled SME
support.
- Fix default setting of the OUTPUT variable so that tests are
installed in the right location.
vDSO:
- Replace raw counter access from inline assembly code with a call to
the the __arch_counter_get_cntvct() helper function.
Miscellaneous:
- Add some missing header inclusions to the CCA headers.
- Rework rendering of /proc/cpuinfo to follow the x86-approach and
avoid repeated buffer expansion (the user-visible format remains
identical).
- Remove redundant selection of CONFIG_CRC32
- Extend early error message when failing to map the device-tree blob.
----------------------------------------------------------------
Anand Moon (1):
perf/amlogic: Replace smp_processor_id() with raw_smp_processor_id() in meson_ddr_pmu_create()
Anshuman Khandual (1):
arm64/mm: Re-organise setting up FEAT_S1PIE registers PIRE0_EL1 and PIR_EL1
Ard Biesheuvel (5):
arm64/fpsimd: Avoid unnecessary per-CPU buffers for EFI runtime calls
arm64/mm: Remove randomization of the linear map
arm64/boot: Move init_pgdir[] and init_idmap_pgdir[] into __pi_ namespace
arm64/boot: Move global CPU override variables out of BSS
arm64/boot: Disallow BSS exports to startup code
Bartosz Szczepanek (1):
arm64: Extend pr_crit message on invalid FDT
Ben Horgan (1):
arm64: Update comment regarding values in __boot_cpu_mode
Breno Leitao (1):
arm64: vdso: Use __arch_counter_get_cntvct()
Dev Jain (1):
arm64: pageattr: Explicitly bail out when changing permissions for vmalloc_huge mappings
Eric Biggers (1):
arm64: Kconfig: remove unnecessary selection of CRC32
Gavin Shan (1):
arm64: mm: Drop redundant check in pmd_trans_huge()
Hongbo Yao (2):
perf: arm-ni: Unregister PMUs on probe failure
perf: arm-ni: Fix missing platform_set_drvdata()
Huang Yiwei (1):
firmware: SDEI: Allow sdei initialization without ACPI_APEI_GHES
Jason Gunthorpe (1):
arm64: Add missing includes for mem_encrypt
Kornel DulÄ?ba (1):
arm64: Support ARM64_VA_BITS=52 when setting ARCH_MMAP_RND_BITS_MAX
Krzysztof Kozlowski (1):
perf: Do not enable by default during compile testing
Mark Brown (2):
arm64/fpsimd: Discard stale CPU state when handling SME traps
arm64/fpsimd: Don't corrupt FPMR when streaming mode changes
Mark Rutland (38):
arm64/fpsimd: Avoid RES0 bits in the SME trap handler
arm64/fpsimd: Remove unused fpsimd_force_sync_to_sve()
arm64/fpsimd: Remove redundant SVE trap manipulation
arm64/fpsimd: Remove opportunistic freeing of SME state
arm64/fpsimd: Avoid clobbering kernel FPSIMD state with SMSTOP
arm64/fpsimd: Reset FPMR upon exec()
arm64/fpsimd: Fix merging of FPSIMD state during signal return
arm64/fpsimd: Add fpsimd_save_and_flush_current_state()
arm64/fpsimd: signal32: Always save+flush state early
arm64/fpsimd: signal: Always save+flush state early
arm64/fpsimd: signal: Simplify preserve_tpidr2_context()
arm64/fpsimd: signal: Clear TPIDR2 when delivering signals
arm64: enable PREEMPT_LAZY
arm64/fpsimd: Avoid warning when sve_to_fpsimd() is unused
arm64/fpsimd: Do not discard modified SVE state
arm64/fpsimd: signal: Clear PSTATE.SM when restoring FPSIMD frame only
arm64/fpsimd: signal: Mandate SVE payload for streaming-mode state
arm64/fpsimd: signal: Consistently read FPSIMD context
arm64/fpsimd: ptrace: Consistently handle partial writes to NT_ARM_(S)SVE
arm64/fpsimd: Clarify sve_sync_*() functions
arm64/fpsimd: Factor out {sve,sme}_state_size() helpers
arm64/fpsimd: Add task_smstop_sm()
arm64/fpsimd: signal: Use SMSTOP behaviour in setup_return()
arm64/fpsimd: Remove redundant task->mm check
arm64/fpsimd: Consistently preserve FPSIMD state during clone()
arm64/fpsimd: Clear PSTATE.SM during clone()
arm64/fpsimd: Make clone() compatible with ZA lazy saving
arm64/fpsimd: ptrace/prctl: Ensure VL changes do not resurrect stale data
arm64/fpsimd: ptrace/prctl: Ensure VL changes leave task in a valid state
arm64/fpsimd: ptrace: Save task state before generating SVE header
arm64/fpsimd: ptrace: Do not present register data for inactive mode
arm64/fpsimd: ptrace: Mandate SVE payload for streaming-mode state
arm64/fpsimd: ptrace: Gracefully handle errors
arm64/fpsimd: Allow CONFIG_ARM64_SME to be selected
kselftest/arm64: fp-ptrace: Fix expected FPMR value when PSTATE.SM is changed
kselftest/arm64: tpidr2: Adjust to new clone() behaviour
kselftest/arm64: fp-ptrace: Adjust to new VL change behaviour
kselftest/arm64: fp-ptrace: Adjust to new inactive mode behaviour
Miaoqian Lin (1):
firmware: psci: Fix refcount leak in psci_dt_init
Oliver Upton (1):
arm64: Expose AIDR_EL1 via sysfs
Rob Herring (Arm) (1):
arm64: el2_setup.h: Make __init_el2_fgt labels consistent, again
Robin Murphy (4):
perf/arm-cmn: Remove CMN-600 DTC domain special case
perf/arm-cmn: Fix REQ2/SNP2 mixup
perf/arm-cmn: Initialise cmn->cpu earlier
perf/arm-cmn: Add CMN S3 ACPI binding
Ryan Roberts (13):
arm64: hugetlb: Cleanup huge_pte size discovery mechanisms
arm64: hugetlb: Refine tlb maintenance scope
mm/page_table_check: Batch-check pmds/puds just like ptes
arm64/mm: Refactor __set_ptes() and __ptep_get_and_clear()
arm64: hugetlb: Use __set_ptes_anysz() and __ptep_get_and_clear_anysz()
arm64/mm: Hoist barriers out of set_ptes_anysz() loop
mm/vmalloc: Warn on improper use of vunmap_range()
mm/vmalloc: Gracefully unmap huge ptes
arm64/mm: Support huge pte-mapped pages in vmap
mm/vmalloc: Enter lazy mmu mode while manipulating vmalloc ptes
arm64/mm: Batch barriers when updating kernel mappings
arm64/mm: Disable barrier batching in interrupt contexts
arm64/mm: Permit lazy_mmu_mode to be nested
Will Deacon (12):
Merge branch 'for-next/acpi' into for-next/core
Merge branch 'for-next/cpufeature' into for-next/core
Merge branch 'for-next/efi' into for-next/core
Merge branch 'for-next/entry' into for-next/core
Merge branch 'for-next/fixes' into for-next/core
Merge branch 'for-next/misc' into for-next/core
Merge branch 'for-next/mm' into for-next/core
Merge branch 'for-next/perf' into for-next/core
Merge branch 'for-next/psci' into for-next/core
Merge branch 'for-next/selftests' into for-next/core
Merge branch 'for-next/sme-fixes' into for-next/core
Merge branch 'for-next/vdso' into for-next/core
Ye Bin (1):
arm64/cpuinfo: only show one cpu's info in c_show()
Yicong Yang (2):
arm64/cpufeature: Add missing id_aa64mmfr4 feature reg update
arm64: cputype: Add cputype definition for HIP12
tanze (1):
kselftest/arm64: Set default OUTPUT path when undefined
Documentation/ABI/testing/sysfs-devices-system-cpu | 1 +
Documentation/arch/arm64/cpu-feature-registers.rst | 13 +-
Documentation/arch/arm64/sme.rst | 8 +-
arch/arm64/Kconfig | 9 +-
arch/arm64/include/asm/cpu.h | 1 +
arch/arm64/include/asm/cputype.h | 2 +
arch/arm64/include/asm/el2_setup.h | 10 +-
arch/arm64/include/asm/esr.h | 12 +-
arch/arm64/include/asm/fpsimd.h | 64 +++-
arch/arm64/include/asm/hugetlb.h | 41 ++-
arch/arm64/include/asm/mem_encrypt.h | 2 +
arch/arm64/include/asm/pgtable.h | 238 +++++++++----
arch/arm64/include/asm/rsi_cmds.h | 2 +
arch/arm64/include/asm/thread_info.h | 18 +-
arch/arm64/include/asm/vdso/gettimeofday.h | 22 +-
arch/arm64/include/asm/virt.h | 3 +-
arch/arm64/include/asm/vmalloc.h | 45 +++
arch/arm64/kernel/asm-offsets.c | 2 +
arch/arm64/kernel/cpufeature.c | 22 +-
arch/arm64/kernel/cpuinfo.c | 108 +++---
arch/arm64/kernel/efi.c | 4 +-
arch/arm64/kernel/entry-common.c | 48 ++-
arch/arm64/kernel/fpsimd.c | 380 +++++++++------------
arch/arm64/kernel/head.S | 6 +-
arch/arm64/kernel/image-vars.h | 61 ++--
arch/arm64/kernel/kaslr.c | 2 -
arch/arm64/kernel/pi/kaslr_early.c | 4 -
arch/arm64/kernel/pi/pi.h | 1 +
arch/arm64/kernel/process.c | 126 ++++---
arch/arm64/kernel/ptrace.c | 137 ++++----
arch/arm64/kernel/setup.c | 10 +-
arch/arm64/kernel/signal.c | 149 +++-----
arch/arm64/kernel/signal32.c | 11 +-
arch/arm64/kernel/vmlinux.lds.S | 10 +-
arch/arm64/mm/hugetlbpage.c | 73 ++--
arch/arm64/mm/init.c | 20 --
arch/arm64/mm/pageattr.c | 6 +-
arch/arm64/mm/proc.S | 19 +-
drivers/acpi/apei/Kconfig | 1 +
drivers/acpi/apei/ghes.c | 2 +-
drivers/firmware/Kconfig | 1 -
drivers/firmware/arm_sdei.c | 11 +-
drivers/firmware/psci/psci.c | 4 +-
drivers/perf/Kconfig | 2 +-
drivers/perf/amlogic/meson_ddr_pmu_core.c | 2 +-
drivers/perf/arm-cmn.c | 18 +-
drivers/perf/arm-ni.c | 40 ++-
include/linux/arm_sdei.h | 4 +-
include/linux/page_table_check.h | 30 +-
include/linux/vmalloc.h | 8 +
mm/page_table_check.c | 34 +-
mm/vmalloc.c | 40 ++-
tools/testing/selftests/arm64/Makefile | 2 +
tools/testing/selftests/arm64/abi/tpidr2.c | 14 +-
tools/testing/selftests/arm64/fp/fp-ptrace.c | 62 ++--
55 files changed, 1067 insertions(+), 898 deletions(-)
Return-Path: <linux-kernel+bounces-665388-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1763341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:41:52 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 519993AB4DB
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:41:29 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 49596283C92;
Wed, 28 May 2025 11:41:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="sN5EW3IL"
Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C93F6A33B;
Wed, 28 May 2025 11:41:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432501; cv=none; b=REoaOSSfeNzzCdmE/KY7auXMCPd5xN5R8ZqAN8epIJzklqRJx3N3Iu5Z3AUyvdCarUNwzdje7IJukMhTEx7DL+RNBRBPFseHs6jG+V1JgC1aC/8/9KF12eJ6oWldMzXsXlddcnfsCLkVjrnIxLTMKAU2FV7dPrGqr8HUAZSIdvE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432501; c=relaxed/simple;
bh=jfVipnFX8c+CXKIXIAfOUvdKSEC5JiBHwcVxFEtgUxw=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=ov6gPi0veK1J2VvlDkKVgPIP4KZ30bwV6oR6Bet0utYdGFHXfav6gRt4+Wzl9iH63eCoOliQsjyDTJ8xNU702TcRfGcjjS5Is6KMRKwdKDKBxEzvcBumkwDXWRBR4jtULko0TRCswjLVxl5cojOeeNorItfhcjtAPpDh0GE9+C8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=sN5EW3IL; arc=none smtp.client-ip=148.163.158.5
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com
Received: from pps.filterd (m0360072.ppops.net [127.0.0.1])
by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54S8f3iG003702;
Wed, 28 May 2025 11:41:37 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc
:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=pp1; bh=ToOHKu
yEJOxIMByz7C7sQFI0iWmp+FFoh1aU9Y1+yRk=; b=sN5EW3ILA6g0oukm92IWuE
Zd3MbV/q5HF7YLjgoMXdEoJRY5stRvLelrURjmLhkr/e55YmAmPGzPd8jSDQ0OYP
3Rf9XkE8Umv3T2EKT5DEHClSbgp5QciuDby3/vR4chtadETKtELOInYSN9Vi00bO
SXjEWy3JgddJ2rmDoRWPz+clIp0YzwjLuZOzACwZBj0JXz+bHYZK39EGLoXsinHt
cum0oood6dNgUVs2caI6fxjzgPZdmyM9L07SoQrRCs9P6fZFbzX4ImBCjYxH7af+
DejoW39yM/m+r0QjArvYFwDDx/FwYM1CjTEyDOXtWjPB9DaJxoHSlklUHXkRHr4g
==
Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221])
by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46wy690std-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 11:41:37 +0000 (GMT)
Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1])
by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 54SB6G6A021310;
Wed, 28 May 2025 11:41:36 GMT
Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225])
by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 46utnmq30q-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 11:41:36 +0000
Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100])
by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 54SBfWtW48038172
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
Wed, 28 May 2025 11:41:32 GMT
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id 81B2720043;
Wed, 28 May 2025 11:41:32 +0000 (GMT)
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
by IMSVA (Postfix) with ESMTP id BF43720040;
Wed, 28 May 2025 11:41:31 +0000 (GMT)
Received: from [9.87.152.254] (unknown [9.87.152.254])
by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP;
Wed, 28 May 2025 11:41:31 +0000 (GMT)
Message-ID: <3ad77cfa-ab86-4bd0-92f8-04ef484dc3ac@xxxxxxxxxxxxx>
Date: Wed, 28 May 2025 13:41:31 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/4] KVM: s390: Refactor and split some gmap helpers
To: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, borntraeger@xxxxxxxxxx,
seiden@xxxxxxxxxxxxx, nsg@xxxxxxxxxxxxx, nrb@xxxxxxxxxxxxx,
david@xxxxxxxxxx, hca@xxxxxxxxxxxxx, agordeev@xxxxxxxxxxxxx,
svens@xxxxxxxxxxxxx, gor@xxxxxxxxxxxxx, schlameuss@xxxxxxxxxxxxx
References: <20250528095502.226213-1-imbrenda@xxxxxxxxxxxxx>
<20250528095502.226213-4-imbrenda@xxxxxxxxxxxxx>
Content-Language: en-US
From: Janosch Frank <frankja@xxxxxxxxxxxxx>
Autocrypt: addr=frankja@xxxxxxxxxxxxx; keydata=
xsFNBFubpD4BEADX0uhkRhkj2AVn7kI4IuPY3A8xKat0ihuPDXbynUC77mNox7yvK3X5QBO6
qLqYr+qrG3buymJJRD9xkp4mqgasHdB5WR9MhXWKH08EvtvAMkEJLnqxgbqf8td3pCQ2cEpv
15mH49iKSmlTcJ+PvJpGZcq/jE42u9/0YFHhozm8GfQdb9SOI/wBSsOqcXcLTUeAvbdqSBZe
zuMRBivJQQI1esD9HuADmxdE7c4AeMlap9MvxvUtWk4ZJ/1Z3swMVCGzZb2Xg/9jZpLsyQzb
lDbbTlEeyBACeED7DYLZI3d0SFKeJZ1SUyMmSOcr9zeSh4S4h4w8xgDDGmeDVygBQZa1HaoL
Esb8Y4avOYIgYDhgkCh0nol7XQ5i/yKLtnNThubAcxNyryw1xSstnKlxPRoxtqTsxMAiSekk
0m3WJwvwd1s878HrQNK0orWd8BzzlSswzjNfQYLF466JOjHPWFOok9pzRs+ucrs6MUwDJj0S
cITWU9Rxb04XyigY4XmZ8dywaxwi2ZVTEg+MD+sPmRrTw+5F+sU83cUstuymF3w1GmyofgsU
Z+/ldjToHnq21MNa1wx0lCEipCCyE/8K9B9bg9pUwy5lfx7yORP3JuAUfCYb8DVSHWBPHKNj
HTOLb2g2UT65AjZEQE95U2AY9iYm5usMqaWD39pAHfhC09/7NQARAQABzSVKYW5vc2NoIEZy
YW5rIDxmcmFua2phQGxpbnV4LmlibS5jb20+wsF3BBMBCAAhBQJbm6Q+AhsjBQsJCAcCBhUI
CQoLAgQWAgMBAh4BAheAAAoJEONU5rjiOLn4p9gQALjkdj5euJVI2nNT3/IAxAhQSmRhPEt0
AmnCYnuTcHRWPujNr5kqgtyER9+EMQ0ZkX44JU2q7OWxTdSNSAN/5Z7qmOR9JySvDOf4d3mS
bMB5zxL9d8SbnSs1uW96H9ZBTlTQnmLfsiM9TetAjSrR8nUmjGhe2YUhJLR1v1LguME+YseT
eXnLzIzqqpu311/eYiiIGcmaOjPCE+vFjcXL5oLnGUE73qSYiujwhfPCCUK0850o1fUAYq5p
CNBCoKT4OddZR+0itKc/cT6NwEDwdokeg0+rAhxb4Rv5oFO70lziBplEjOxu3dqgIKbHbjza
EXTb+mr7VI9O4tTdqrwJo2q9zLqqOfDBi7NDvZFLzaCewhbdEpDYVu6/WxprAY94hY3F4trT
rQMHJKQENtF6ZTQc9fcT5I3gAmP+OEvDE5hcTALpWm6Z6SzxO7gEYCnF+qGXqp8sJVrweMub
UscyLqHoqdZC2UG4LQ1OJ97nzDpIRe0g6oJ9ZIYHKmfw5jjwH6rASTld5MFWajWdNsqK15k/
RZnHAGICKVIBOBsq26m4EsBlfCdt3b/6emuBjUXR1pyjHMz2awWzCq6/6OWs5eANZ0sdosNq
dq2v0ULYTazJz2rlCXV89qRa7ukkNwdBSZNEwsD4eEMicj1LSrqWDZMAALw50L4jxaMD7lPL
jJbazsFNBFubpD4BEADAcUTRqXF/aY53OSH7IwIK9lFKxIm0IoFkOEh7LMfp7FGzaP7ANrZd
cIzhZi38xyOkcaFY+npGEWvko7rlIAn0JpBO4x3hfhmhBD/WSY8LQIFQNNjEm3vzrMo7b9Jb
JAqQxfbURY3Dql3GUzeWTG9uaJ00u+EEPlY8zcVShDltIl5PLih20e8xgTnNzx5c110lQSu0
iZv2lAE6DM+2bJQTsMSYiwKlwTuv9LI9Chnoo6+tsN55NqyMxYqJgElk3VzlTXSr3+rtSCwf
tq2cinETbzxc1XuhIX6pu/aCGnNfuEkM34b7G1D6CPzDMqokNFbyoO6DQ1+fW6c5gctXg/lZ
602iEl4C4rgcr3+EpfoPUWzKeM8JXv5Kpq4YDxhvbitr8Dm8gr38+UKFZKlWLlwhQ56r/zAU
v6LIsm11GmFs2/cmgD1bqBTNHHcTWwWtRTLgmnqJbVisMJuYJt4KNPqphTWsPY8SEtbufIlY
HXOJ2lqUzOReTrie2u0qcSvGAbSfec9apTFl2Xko/ddqPcZMpKhBiXmY8tJzSPk3+G4tqur4
6TYAm5ouitJsgAR61Cu7s+PNuq/pTLDhK+6/Njmc94NGBcRA4qTuysEGE79vYWP2oIAU4Fv6
gqaWHZ4MEI2XTqH8wiwzPdCQPYsSE0fXWiYu7ObeErT6iLSTZGx4rQARAQABwsFfBBgBCAAJ
BQJbm6Q+AhsMAAoJEONU5rjiOLn4DDEP/RuyckW65SZcPG4cMfNgWxZF8rVjeVl/9PBfy01K
8R0hajU40bWtXSMiby7j0/dMjz99jN6L+AJHJvrLz4qYRzn2Ys843W+RfXj62Zde4YNBE5SL
jJweRCbMWKaJLj6499fctxTyeb9+AMLQS4yRSwHuAZLmAb5AyCW1gBcTWZb8ON5BmWnRqeGm
IgC1EvCnHy++aBnHTn0m+zV89BhTLTUal35tcjUFwluBY39R2ux/HNlBO1GY3Z+WYXhBvq7q
katThLjaQSmnOrMhzqYmdShP1leFTVbzXUUIYv/GbynO/YrL2gaQpaP1bEUEi8lUAfXJbEWG
dnHFkciryi092E8/9j89DJg4mmZqOau7TtUxjRMlBcIliXkzSLUk+QvD4LK1kWievJse4mte
FBdkWHfP4BH/+8DxapRcG1UAheSnSRQ5LiO50annOB7oXF+vgKIaie2TBfZxQNGAs3RQ+bga
DchCqFm5adiSP5+OT4NjkKUeGpBe/aRyQSle/RropTgCi85pje/juYEn2P9UAgkfBJrOHvQ9
Z+2Sva8FRd61NJLkCJ4LFumRn9wQlX2icFbi8UDV3do0hXJRRYTWCxrHscMhkrFWLhYiPF4i
phX7UNdOWBQ90qpHyAxHmDazdo27gEjfvsgYMdveKknEOTEb5phwxWgg7BcIDoJf9UMC
In-Reply-To: <20250528095502.226213-4-imbrenda@xxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-TM-AS-GCONF: 00
X-Authority-Analysis: v=2.4 cv=UP3dHDfy c=1 sm=1 tr=0 ts=6836f671 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=IkcTkHD0fZMA:10 a=dt9VzEwgFbYA:10 a=VnNF1IyMAAAA:8 a=fDxGR4FE8qlWS1JHXvMA:9 a=QEXdDO2ut3YA:10
X-Proofpoint-GUID: -rS7SLqujL_3Nxu3YGodEo-SUuLEUo8K
X-Proofpoint-ORIG-GUID: -rS7SLqujL_3Nxu3YGodEo-SUuLEUo8K
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTI4MDEwMSBTYWx0ZWRfXw2SxJPiHt+jd k9F3caGAVkPww9eE0BOAacdRCBqGRnKifLi9iVHi3158L5rQPlFz0H4pIPzsDzOK0a50H4wPWLp SsqGGyoaapwbOAnUo71CplkHhARk7zEgFJJfOOpd5XMwrz4XhZoRj79Th21Op4sE6aPhSa2uojm
c1Q5AExF9VlKtuHDAfnpNk1ZEVf6s7bLDZMpEnx05Hn7MObRHE6iuQIoTyr9mOXMxIdJyswWtXp 08sfu1RWN1IU3tUd+1YsNpmc42z8sAyLCP4G02yWghu95bEagKKyHJAGmJMhz4e1MXyM+zAV9iL taDHAynw1+QcuZ0agHVAqRS3ldViZMhwDcsSIrIyw0HW8t+JaflhQbjLWNfq2UzK2kNB/xsKJ3T
er3Ef97HkBTczNQsYZ+qx0IoD7nbohEDkyWsBDVHsITYSkh453LOH3Cb9zHYzTgwBBtW3+a0
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_05,2025-05-27_01,2025-03-28_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0
lowpriorityscore=0 suspectscore=0 malwarescore=0 impostorscore=0
mlxlogscore=999 clxscore=1015 priorityscore=1501 bulkscore=0 phishscore=0
spamscore=0 mlxscore=0 classifier=spam authscore=0 authtc=n/a authcc=
route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505160000
definitions=main-2505280101
X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 11:55 AM, Claudio Imbrenda wrote:
> Refactor some gmap functions; move the implementation into a separate
> file with only helper functions. The new helper functions work on vm
> addresses, leaving all gmap logic in the gmap functions, which mostly
> become just wrappers.
>
> The whole gmap handling is going to be moved inside KVM soon, but the
> helper functions need to touch core mm functions, and thus need to
> stay in the core of kernel.
>
> Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
> Reviewed-by: Steffen Eiden <seiden@xxxxxxxxxxxxx>
> Reviewed-by: Christoph Schlameuss <schlameuss@xxxxxxxxxxxxx>
> ---
Acked-by: Janosch Frank <frankja@xxxxxxxxxxxxx>
> MAINTAINERS | 2 +
> arch/s390/include/asm/gmap.h | 2 -
> arch/s390/include/asm/gmap_helpers.h | 15 ++
> arch/s390/kvm/diag.c | 30 +++-
> arch/s390/kvm/kvm-s390.c | 5 +-
> arch/s390/mm/Makefile | 2 +
> arch/s390/mm/gmap.c | 184 +---------------------
> arch/s390/mm/gmap_helpers.c | 221 +++++++++++++++++++++++++++
> 8 files changed, 274 insertions(+), 187 deletions(-)
> create mode 100644 arch/s390/include/asm/gmap_helpers.h
> create mode 100644 arch/s390/mm/gmap_helpers.c
>
[...]
> +#endif /* _ASM_S390_GMAP_HELPERS_H */
> diff --git a/arch/s390/kvm/diag.c b/arch/s390/kvm/diag.c
> index 74f73141f9b9..53233dec8cad 100644
> --- a/arch/s390/kvm/diag.c
> +++ b/arch/s390/kvm/diag.c
> @@ -11,12 +11,30 @@
> #include <linux/kvm.h>
> #include <linux/kvm_host.h>
> #include <asm/gmap.h>
> +#include <asm/gmap_helpers.h>
> #include <asm/virtio-ccw.h>
> #include "kvm-s390.h"
> #include "trace.h"
> #include "trace-s390.h"
> #include "gaccess.h"
>
> +static void do_discard_gfn_range(struct kvm_vcpu *vcpu, gfn_t gfn_start, gfn_t gfn_end)
> +{
A helper function for your helper function :)
Return-Path: <linux-kernel+bounces-665389-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 893FF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:43:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 4FD6E1BC3A27
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:43:27 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A6951283CB3;
Wed, 28 May 2025 11:43:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="kG2Vpe5o"
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18B9884A3E;
Wed, 28 May 2025 11:43:01 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.11
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432583; cv=fail; b=NMGvANlp+Y3o3sJXlpK8johxim5pqHNGtwni9jENFA5PkJCbs3fGp7jIisW9FG5xAcryZ2UlzQ+Ho7RaRxt3Ix06LMK2YTrbn8MEC5IZs6KBRpNswmHdNpdGe3CGalwfLLBVxQivRywHCEpaommG3y2IFjk1o2nDef9R4+6ATmw=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432583; c=relaxed/simple;
bh=+gfVvGrB6fQM7oIVApGBloqX+kngnVu9v80H1IlRegU=;
h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To:
Content-Type:MIME-Version; b=BPoc6TyCnDKSRlQAVvmx1wPfqetV1HfTO+2GwPnUv04rLUiGO4srJd88yOyUL0V14Xr51U1Kh4539UnrV2Eak3V3BfgjFreNllcBe7eAFukGlJncPUegK1wcu5+7pzbUkcYID4jbUVHVJN9ZypfZKU4SXPUmXDdg+r/SBEaObgw=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=kG2Vpe5o; arc=fail smtp.client-ip=198.175.65.11
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
t=1748432582; x=1779968582;
h=message-id:date:subject:to:cc:references:from:
in-reply-to:content-transfer-encoding:mime-version;
bh=+gfVvGrB6fQM7oIVApGBloqX+kngnVu9v80H1IlRegU=;
b=kG2Vpe5oWwd8YtLhpwmbxupbvSuwXozV/JOr+NZ9H2EX2OQdSsBrWLjn
Br81zNWbmJiEiH5ESIVT2NTM8FwZBnLUEh54kDILNVlrIe824B9Hpq/AH
ZO6k+UVciHtkA5T6FuimlZ7dDwKKYyUNwfEZsjccTAabvsPGIlsA4VU+x
TYOiRTjrtHJplPhfWadW4RHpzKwklziywS+Sd8sM64g7ZZWTGfF//GVi1
K73y1YAkFA8ShXfJifAyfDf94hKHi+FiliWp+FsB7UPDiHdOv8fGWTVan
J8hTgXKzmxBxq+u9dDUGvQAuNi6l9PKOD8H4TnRqsJfhgHZzv0CwnheX0
g==;
X-CSE-ConnectionGUID: zhCqIxF5SdmZvgZKVeUrfg==
X-CSE-MsgGUID: wISIqd0rQGippitu+1iqKw==
X-IronPort-AV: E=McAfee;i="6700,10204,11447"; a="60709737"
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="60709737"
Received: from orviesa001.jf.intel.com ([10.64.159.141])
by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:43:02 -0700
X-CSE-ConnectionGUID: CFSqN27JTISthlSnKHzR3g==
X-CSE-MsgGUID: l67YmZXDQ7G+hHWnESqe1w==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.15,321,1739865600";
d="scan'208";a="180450127"
Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24])
by orviesa001.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2025 04:43:01 -0700
Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by
ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25; Wed, 28 May 2025 04:43:01 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.2.1544.25 via Frontend Transport; Wed, 28 May 2025 04:43:01 -0700
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (40.107.243.48)
by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.1.2507.55; Wed, 28 May 2025 04:43:00 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=dh4d7R6buV8DMDdb4IzYznE0aE0D7jPC/B50SJYt6ov77ypsYTytneVUH2IjXiRYo49xlMFCl8DByiO4mAb5Wwa/euZdCI79J8pOAshXLWJl2YnI346Vc422tCJTLqpgxXgG94E+gn0ScxNZKeju66utaJ5VfJ9ciOyOGXvtMs4OwXNT99wbW33aG6GPKw8PEkGod3vNXk0AXJAE+jMHZOGLyQ2evZPOLErJ2mIhiST91tMPlRVqH02iS/VvaAx4yzTTqdsRw5OGLOdAgDhrqtBrZK3pqgeZvLkXOvoKqjP7fOsWD3ORspcp2UUwpC80up5Jr8t4q/oS1Wj2cPGe+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=nwoJK46IJyYc29SAqvlDqI0PECssRRXE+6yyyMhOkjA=;
b=QLV9eyCp+sSCIRcQxPSVUDWUH/pF9QW5AFOfSnVOIVGRELfdtckg2nHdBWW6afDldoED+Wic+rybsLlWemPlKjGRFgBWsyC9vQFBlEq6ZpQdvbTSMO/WsQO++3lC8URjJP/cKkEcBu8WkkTiS/iuqjnf3bzofWhaCNvo1pAQPmag8JdRABZ9l7zAd3Hl3gFMelN8se7PQojMa4VJHvyCTerxd63+aBHYZyLIKjFuHeStuq1Vgf9E+f/JkD9LscXXeLQdGSDB/xDCBqFr7nKSK9T6IKOlS9H3xR+b8HyqxKQS9R4ciLSJO2MREsFYkqchULRYlvovtfH3znAUQOOjgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=intel.com;
Received: from PH7PR11MB6054.namprd11.prod.outlook.com (2603:10b6:510:1d2::8)
by DM4PR11MB6167.namprd11.prod.outlook.com (2603:10b6:8:ac::20) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Wed, 28 May
2025 11:42:31 +0000
Received: from PH7PR11MB6054.namprd11.prod.outlook.com
([fe80::a255:8692:8575:1301]) by PH7PR11MB6054.namprd11.prod.outlook.com
([fe80::a255:8692:8575:1301%6]) with mapi id 15.20.8769.029; Wed, 28 May 2025
11:42:31 +0000
Message-ID: <31b0b210-de34-4816-b7bc-2f7ddb7fa375@xxxxxxxxx>
Date: Wed, 28 May 2025 14:42:25 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH next] mmc: sdhci-of-k1: Fix error code in probe()
To: Dan Carpenter <dan.carpenter@xxxxxxxxxx>, Yixun Lan <dlan@xxxxxxxxxx>
CC: Ulf Hansson <ulf.hansson@xxxxxxxxxx>, <linux-mmc@xxxxxxxxxxxxxxx>,
<linux-kernel@xxxxxxxxxxxxxxx>, <linux-riscv@xxxxxxxxxxxxxxxxxxx>,
<spacemit@xxxxxxxxxxxxxxx>, <kernel-janitors@xxxxxxxxxxxxxxx>
References: <aDVTtQdXVtRhxOrb@stanley.mountain>
Content-Language: en-US
From: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki,
Business Identity Code: 0357606 - 4, Domiciled in Helsinki
In-Reply-To: <aDVTtQdXVtRhxOrb@stanley.mountain>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DB9PR06CA0007.eurprd06.prod.outlook.com
(2603:10a6:10:1db::12) To PH7PR11MB6054.namprd11.prod.outlook.com
(2603:10b6:510:1d2::8)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH7PR11MB6054:EE_|DM4PR11MB6167:EE_
X-MS-Office365-Filtering-Correlation-Id: e3ac67e5-7835-4ca1-9601-08dd9ddcbb2d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?d1ZHMzVPU2tSejlyYUlFcXpyRzNnWlpZWXRpYWpIRzRqUUwwZ1FDU0pZaWIz?=
=?utf-8?B?UVVzZzlPSW9TL21YdGx5VmxhMGlNWVYzcTVCU3EwNjY1SzRTRDdWcXptbmtE?=
=?utf-8?B?YUd3VFRTeTJIektINFBReVpFUmNZNEQya2Q1TjlyNE9lY0VXZkJPUlgrNnVi?=
=?utf-8?B?KzRwR3BBL2dRMWRHTHFDcXpKVjk0U2FVWEtrNUhJdHZJazQ0M3BzSzhJUVUy?=
=?utf-8?B?bzAwSFZPd2dOYTkrWCtoS1dENzRWOWpnYjdvMlNBVGpJbFlZbXh5d1QzU1JB?=
=?utf-8?B?SzF6TVRQUWRCVXFUVkxmM3FNbW5jaDFqY25ZcTJtVHg0N2JMK2l1b0ZRdG1F?=
=?utf-8?B?NXpZMFZxbGNON3NOeXBPN2IyS3orSmFRMHBMTHc3NGpNTmI5WUZVc3RkVUcz?=
=?utf-8?B?NENyRGQxN1dNbHpBZXBYYmhxbjFmeFA0ME9rbkFteUR6ckJiSHQwUm1KNE8v?=
=?utf-8?B?Y3NFaTV1bXpYZnBEdTZoalRGamNCT3duaEtxMmNSa3FSUDNCUmZ6NzRuRWMz?=
=?utf-8?B?dVc0ZnIwRllCRHRTbjI5ZEVuTVVJU2kyZmdTdkNlSTJRcGxEQUNzRHlNVnla?=
=?utf-8?B?akMwU3pQWWRWWVAreExGLzNpYWo5ME9ZeXpIQUZJOVY0NG1uYjBPQk5oaTNR?=
=?utf-8?B?SkQ5YXRQQUlTV1VUaEtzdzhqeHVjSjFSbGR1M1p6ZjFLckFIZEI0RlVwN1kx?=
=?utf-8?B?V3AySGthRndPVVhkVWIzWjljTVFvMDZhZEptcllodm5ybGNucFdUdmNCdUZr?=
=?utf-8?B?RUhHdmJjaVBlSUZPTStuVUhmU08yd3BBeWc1eHJzMmg2Q0t2WnR6Q2ZWQlVC?=
=?utf-8?B?YTlNcUZITU5PbUNTcFlWQjI1OEltS2U2YmNTa3RmM3FSdW5mL0x5UlFNemNV?=
=?utf-8?B?WW1lSDJGM2o4dDVNaFpIZVA2VStxd1plcVBrcEpCZ2lxUVV3NDcxSnBObVpx?=
=?utf-8?B?OGZmdXMwZjJPRmN3RldkMkRINUFuRGdqOHErT2Z1K2hoRkNFWno5TG5zYVQ1?=
=?utf-8?B?SUpYV0RtUFFoVjljdkNqeGl0QS8zU2pleTdiOUlaS1F4dlhXRklLS3JqdTAy?=
=?utf-8?B?d2pKYkFaZHdXbHZ4K3M5cmhHdHAxU1dYZmVPWXZ0QnpJWTFVMTFDU05EMEtU?=
=?utf-8?B?b0Ezd3l0aGtGbU1QajJXbDlqNDNTQnFJNkFQTllFQVM4bjU5emthakNSQ204?=
=?utf-8?B?Q2ZsK2NrWC9pMDR4UkRERklXNWNNQ25NblgwWnR3RFlQKzJNbkI4ajRvSzhC?=
=?utf-8?B?RSs4TFprNk16MFVIdHZaUW82RDUxOFZ3VmIyMndGT3gyNjJzNE9xY1ZyQ1hh?=
=?utf-8?B?SWgxRTJqbEl0WnRmL2R6VE9vNDY5K1BuUkdnbzNGbk5OZWdNSnpzcjBJZElC?=
=?utf-8?B?MzdHZWRXZjMzMEpCZGErcEJZTXJNOHMyWHFjMkZlN0VmY25MVW5YdHNQZGdG?=
=?utf-8?B?c2FwRktwQXk5OFBiSVhienNsbjlEWEoxM1N1WFg0V2FTSmFKMEpGTWsvdU9I?=
=?utf-8?B?K00vSnMrYkV6UzhhQTlWRklGcXZ1TDRTVUF1bFhEUUFlUkJwdktBK0J1bVZP?=
=?utf-8?B?SjcwNHdneW53ZmUxMi9ERjhjbU16bmViZXE0UFppOHJXUFBEaHh1NXRYYVNo?=
=?utf-8?B?Zk9WRVUwSjFCUU9MclJFd3FoSlprVFdjSzRmZ3lpWG5mYkJITDFlS0ptY3ha?=
=?utf-8?B?MmVFRHVHVEdTUTJJWE5KZGtRby9SU3dmYnRFTDNOU29rQUJQcWN1d3ZrRCs1?=
=?utf-8?B?R2F6ZWhoZytzZWszbXFnY2V3eXZna2dyMldEUkJCYzF0VDkrcnpxbHg2d1JN?=
=?utf-8?B?R3VlaWlYc2FXd21ITjZEcEpxZGlsVXJNQ0NIZHVaZ2lMU240WlZ6azN4bCth?=
=?utf-8?B?UXozMUpaQXIyaWtMb01mMXNIRWNJRXYwMFNrejhhMHJKTG1Ba0o5cEl5YzBJ?=
=?utf-8?Q?XvlbxFfNhZ0=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB6054.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7053199007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MXRiVW13cnNXUjR4NFFMRmcrMUdlMGU1VVZVejdRRmdtRmcydGg5c3R6dnBN?=
=?utf-8?B?K0FweVE1Ky8zK3NiQ0FaSGJxWDd1Ty9SWWl4WGw4eWJDNmRMV0tQYW5OTDkv?=
=?utf-8?B?eG5aOU1kUHJiZzVDZkNielQ5bVFSZElVMTQ0ejgreXhYbFlLcWtQWFpvR3d6?=
=?utf-8?B?YnlKVitLdi9zVGhIV0Y0NjRqdVFHS21GdU4zOEVOMjduYVNmN2R1cWVHRFkx?=
=?utf-8?B?SEJwRWc4TjZic1k5QlRmTmZ2M01kYUUxNkkvNmVTN2JrRENhZ2FQTm95TzBm?=
=?utf-8?B?Rm9wdHMvNGtFMG5EeVY0ak9oeFpmREs4bUdSamR3eTlLS2xqY01wV0VOUmNy?=
=?utf-8?B?RitLZGlkRGZoMXQ4OFQzSS84UkUvNUY3TlR5VFNBUk4wdzFaakJrZ0Z1ejV4?=
=?utf-8?B?d3N5VFhuL0RadWpmZzljMmMreXdzR0p6R0dFSkQreXhrM1lROEdKTUMxdERO?=
=?utf-8?B?OUJwVXVZN2UzbjJYQVdUR1FSMG5Nem5PWmhwcFhUUExHT3ZGRThpZXBqQnI1?=
=?utf-8?B?eldjUEF0ejBmTHJZU1FaUEhnem4yVnVKU0JyTnlsY2l2Z01PRHZ5WTF6TVAv?=
=?utf-8?B?Qm5PSk9xOURYRVM2T2EzMm43RTNFVGQ1VnppVXFGWkpONER0cmJIQkowdExE?=
=?utf-8?B?NEg4a2luNUVrK1Z3Q0lteklQcFR0YWFFVjhvNDFGY1AwSVlUeTJaVCtlN3hy?=
=?utf-8?B?MWJtb1dhUjBJN08zRGRHV0hOODIrSEw3RXdmOElrdVR0ZnlQTUhXYWV1ajk1?=
=?utf-8?B?WU9CbGExMStjcTZYK1dvZEwvZHhacllZeGtrYWczbGRTejNJMWRRb0htZjcw?=
=?utf-8?B?TnF6Mzh2QW1QdGFtUnlmeGw1ZUk2UUt5UHVYQ2pqTTdZcGhRZVlhb1BMWENB?=
=?utf-8?B?SXNXdWVUMEFURktDazRFNXdUVm5uOTRYS082NVFHb0ZiUEw3cGFMU21TRnZ5?=
=?utf-8?B?Q0Rod0kvOHJ1MDRMdnl3eXdrVjJncFBDQnR4TjRTdUMxRm9VbnoxUzVBRVJG?=
=?utf-8?B?VFNLMWRRYW1ZVVV0RjJTb0JwWU05UEdpN241UWJZRXFPUWNDRWVKS01xWSt4?=
=?utf-8?B?K3N3MmJlUjRTcStJYVNmNkFPcWtUNDRhakZ5dHVnNUxhdXk1aUplM0QxbXZo?=
=?utf-8?B?c0ZCMUl4eDdlbS9sdno0RllqcndDcmJXNUdWN1NuNTcwWnFLMXY3eGZkRlB1?=
=?utf-8?B?QXEyTjRaSERlT2draCtmVmUwRldrUVlxZmsxU0lBQWp1T2NqTG1NWFRQSmVG?=
=?utf-8?B?YVljeitFb0U5cGIwYjJwL1pPQ25GeGJCMHFqcStKTHRCZUZnNTV1REdkUjBw?=
=?utf-8?B?clNZK1AzSzFRRWIzaXQrN3lqNkFIeWVwRjlPRGxYT1pRdkE2dXhQaHAyeHNO?=
=?utf-8?B?ODlsRXlGSUNNZFdEa3pKWjZQbExUT0VKRlBtU3BUbTIwMm5JMU0yN3A2L2ZF?=
=?utf-8?B?MEZPNFcrcFBBZHRxamNnNWYxVEpISldlYXYvTDhNRyszZU9FL1RTcFlTU3dS?=
=?utf-8?B?U2tVSy9pQ3dwNDNOYnNUZFBzM2NBZ3RXTXd4R3NiSGpBaHJZOXhrUndwZGZn?=
=?utf-8?B?ODUvL2JoZjluL0dWY1lwY0hJVEljREZpYlhBdElDWk9vYlB0N0ZGOXcwRVph?=
=?utf-8?B?Q04zbWtUYjlFRGFaLzBLeEwvZm5ZQUUzTEwyenQ5eGpTZDg0dnNTeTRJa3F5?=
=?utf-8?B?dGlFc2h0NVlzeTMxZ3NUbDh5NkF4SXYzeVVuSnBOeVBNV3BOaytXOXpHeFlI?=
=?utf-8?B?NjBWT3NHazJSRlNTZEREVFJZblluNEVXbmVqQm9KbmxLdXJ0THJGbE4rdEx1?=
=?utf-8?B?dGlUYUtpdldNM3JLZkVVMkZJMXRPaW1Gc0JNZlljNzlyZ3pqVHJpLzRPRERr?=
=?utf-8?B?MmxyNGRpZWxzaFIvbE9RWDlrdWpQbzhwQWFDeEtFU3VSU1pIVGdqSm5ub21K?=
=?utf-8?B?a0RKZWF2YXc1TWRFZXNDSndtb1hWV0hCeXpLVlFCQWpTc003WFVMakpyR3Rs?=
=?utf-8?B?WXMrQlRjMEpIU01sR3VjY2FXSDcyNzZwNVhMaVRQa2dyT0szQlZWZXVVNUlK?=
=?utf-8?B?cG5LU1RHaXpvN1dSai8vSkQ4dElVK3NQRC9DY2c5TVVMWFlGWjdmYlRjSWNC?=
=?utf-8?B?QmRJTmU0M2RKWmVTbmhXMks5eDA5Zjk3b0tpamRFaUkyM3FKbVk0SnJiQnB4?=
=?utf-8?B?bVE9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: e3ac67e5-7835-4ca1-9601-08dd9ddcbb2d
X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB6054.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 11:42:31.6737
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: INqmQlgDAhFRzQ2E7My8qLISSoHsdOQ5a/UQp4tZheRUZRgxISYPYew+JPHhVqgbG7QbaUaAa8rb2qb6ohOBvw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6167
X-OriginatorOrg: intel.com
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 27/05/2025 08:55, Dan Carpenter wrote:
> If spacemit_sdhci_get_clocks() fails, then propagate the error code.
> Don't return success.
>
> Fixes: e5502d15b0f3 ("mmc: sdhci-of-k1: add support for SpacemiT K1 SoC")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
> drivers/mmc/host/sdhci-of-k1.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/sdhci-of-k1.c b/drivers/mmc/host/sdhci-of-k1.c
> index 6880d3e9ab62..2e5da7c5834c 100644
> --- a/drivers/mmc/host/sdhci-of-k1.c
> +++ b/drivers/mmc/host/sdhci-of-k1.c
> @@ -276,7 +276,8 @@ static int spacemit_sdhci_probe(struct platform_device *pdev)
>
> host->mmc->caps |= MMC_CAP_NEED_RSP_BUSY;
>
> - if (spacemit_sdhci_get_clocks(dev, pltfm_host))
> + ret = spacemit_sdhci_get_clocks(dev, pltfm_host);
> + if (ret)
> goto err_pltfm;
>
> ret = sdhci_add_host(host);
Return-Path: <linux-kernel+bounces-665390-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 99A3B41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:43:23 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id D38501BC64B5
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:43:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 19689283FDD;
Wed, 28 May 2025 11:43:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="CXZSk8QF"
Received: from out-183.mta1.migadu.com (out-183.mta1.migadu.com [95.215.58.183])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id DCD2A283C90
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:43:03 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.183
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432588; cv=none; b=RhFmazFLML9TADbjEUHg9SYJqnqEOwOMJyjHFomslAagIlyN4WDYNzUa52yJ1EV+910e4PVmHC+RUzikQAJLGq7MdVoKXW+BPpS1GVijVPEPo0VAJNr/TcGq0o1KHhF8i40tymJN6JZlviiZIQbEbGnEk/kz9VvBwy96wPYrKuE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432588; c=relaxed/simple;
bh=F14WpKvt+umuWe3/Isc5tPu1qABYABZZp0MgaG9pYeg=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=HTuM80DMpZrF3MxqBZxfphXObTEt1uDVjZXf8QhDvq+PMr/WPqnv5Fi4hMsOymlIbCgwqqziyx+FRi+ny3ZnqVxKeHGXefNxPAlNyy0WWk+8qECTfze6iC5pN5FcAKM5BUqIYcNX5wBVVLnyIF17Lhwoo9p0GtBQrKuncUtoMFA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=CXZSk8QF; arc=none smtp.client-ip=95.215.58.183
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Message-ID: <a2f5fb23-e57a-4a83-bb95-b5756df0e2d7@xxxxxxxxx>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1748432581;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=YE1ELheB7GeGGiQgSxZMg6BAxL+LxZtmsKzHFj/F6a8=;
b=CXZSk8QFLRjGA8Q5yqW8MqFoxFum+XvmH2ioKhW1iETEpG+zoRpfLbuSwSb9z7N+86kRRv
zxadLT2tUi/LSAM/KI4V0xxJiFlZeMQixL1Q6wZbsrpjAJQDag2II306jZKcvpotlsVFPu
WAM3B/n7U8rcZi+q1Hg4E8UhUGynKcI=
Date: Wed, 28 May 2025 19:42:50 +0800
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Subject: Re: [PATCH v2 1/1] netfilter: load nf_log_syslog on enabling
nf_conntrack_log_invalid
To: Florian Westphal <fw@xxxxxxxxx>
Cc: pablo@xxxxxxxxxxxxx, coreteam@xxxxxxxxxxxxx, davem@xxxxxxxxxxxxx,
Lance Yang <ioworker0@xxxxxxxxx>, edumazet@xxxxxxxxxx, horms@xxxxxxxxxx,
kadlec@xxxxxxxxxxxxx, kuba@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx,
netfilter-devel@xxxxxxxxxxxxxxx, pabeni@xxxxxxxxxx, zi.li@xxxxxxxxx
References: <20250526085902.36467-1-lance.yang@xxxxxxxxx>
<aDbt9Iw8G6A-tV9R@xxxxxxxxx>
Content-Language: en-US
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Lance Yang <lance.yang@xxxxxxxxx>
In-Reply-To: <aDbt9Iw8G6A-tV9R@xxxxxxxxx>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Thanks for taking the time to review!
On 2025/5/28 19:05, Florian Westphal wrote:
> Lance Yang <ioworker0@xxxxxxxxx> wrote:
>> From: Lance Yang <lance.yang@xxxxxxxxx>
>>
>> When no logger is registered, nf_conntrack_log_invalid fails to log invalid
>> packets, leaving users unaware of actual invalid traffic. Improve this by
>> loading nf_log_syslog, similar to how 'iptables -I FORWARD 1 -m conntrack
>> --ctstate INVALID -j LOG' triggers it.
>
> Acked-by: Florian Westphal <fw@xxxxxxxxx>
Hmm... should this patch be backported to stable kernels? Without it,
nf_conntrack_log_invalid won't log invalid packets when no logger is
registered, causing unnecessary debugging effort ;)
Back then, I actually thought my machine wasn't seeing any invalid
packets... turns out they just weren't logged in dmesg :(
Thanks,
Lance
Return-Path: <linux-kernel+bounces-665391-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id EBFB141E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:46:04 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id B4F233ABE00
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:45:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 540F3283CB3;
Wed, 28 May 2025 11:45:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="PkSYp+6T"
Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC3E21C54A2;
Wed, 28 May 2025 11:45:55 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.132.182.106
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432757; cv=none; b=fSf2uxCbvGevrF/a3Ti8R8U0zo5yexAh8RltwFgr47yO8Cozhx2qzCz+KMayMb4wCzrHiQXahI8mqV2Cn3/Tl5uPg7v/oRxl8QxzYbAp1ydkVuO/xE0YxT2OI9iKQWvzztOME5BZVmEEo9wyps/fQsNkNgCku4XNKFxfS7EHCxI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432757; c=relaxed/simple;
bh=kI/vxUI4Qz9dWk22zKonSQ4bWCxs0gqjDMYF2pUbJCo=;
h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:
In-Reply-To:Content-Type; b=GARO0/IVf4Iqd/FUcQakHoeaicYAFLPhjnI9IhQ5nnNQObYbKwuZK1QWe5ZvCEpr72Jgx1lzbbSA4DcJ6n2mkr2vQsbtdrn7Uz29GdFqDQeg3Lhna9DjEvuz3a59t8pyVruuX2a0wX7p2t7nzzmtv7feIaP7jBCjBEAhlK7Lu8o=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=PkSYp+6T; arc=none smtp.client-ip=185.132.182.106
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com
Received: from pps.filterd (m0288072.ppops.net [127.0.0.1])
by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54SB0xLs006237;
Wed, 28 May 2025 13:45:38 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=
cc:content-transfer-encoding:content-type:date:from:in-reply-to
:message-id:mime-version:references:subject:to; s=selector1; bh=
y0H2U/oo7isvFrY6LzlGfAAitGQ52BI2rQGm2Do/Tms=; b=PkSYp+6TOsroWwK7
bNaz6ZZwYxpPHjYec1wzx1Cnv80UpaT0mUWvfBoDE6Xdov9AkBAJrV+qMxKdX9Mm
OWmeoMznLX+gdQuWsZ2+ZTBBXKWBFpUQYXr+Rlo8XqjjoKG7hoCJod3MfEaHwth4
1Oyj4cQOiNaEYXmgAP/MGAraS222Kc4GxCEyqMdtgZV4kMSvFNa6a3WDRSPC0Pa3
MbbXJBnt3DNiVVWJ19kU0pBnX1d3cZg7GX+JH12buGIK58U+gbIF8MhXwR5WPmgz
n3+2yIdwLPhTiNH6OY3+24sJwfyfjXzVkwt618du/BrLq8+skSpicdqr7vP3s9po
lzKHAA==
Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35])
by mx07-00178001.pphosted.com (PPS) with ESMTPS id 46u3hk9a8w-1
(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
Wed, 28 May 2025 13:45:38 +0200 (MEST)
Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20])
by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id 8195E4004B;
Wed, 28 May 2025 13:44:32 +0200 (CEST)
Received: from Webmail-eu.st.com (shfdag1node2.st.com [10.75.129.70])
by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 166BD44D095;
Wed, 28 May 2025 13:43:57 +0200 (CEST)
Received: from [10.48.86.185] (10.48.86.185) by SHFDAG1NODE2.st.com
(10.75.129.70) with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 28 May
2025 13:43:56 +0200
Message-ID: <2ebfc611-ce8f-4b10-8c71-a53eb634343d@xxxxxxxxxxx>
Date: Wed, 28 May 2025 13:43:55 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/9] pinctrl: stm32: Introduce HDP driver
To: Krzysztof Kozlowski <krzk@xxxxxxxxxx>,
Linus Walleij
<linus.walleij@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>,
Krzysztof
Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Maxime
Coquelin <mcoquelin.stm32@xxxxxxxxx>,
Alexandre Torgue
<alexandre.torgue@xxxxxxxxxxx>,
Bartosz Golaszewski <brgl@xxxxxxxx>
CC: <linux-kernel@xxxxxxxxxxxxxxx>, <linux-gpio@xxxxxxxxxxxxxxx>,
<devicetree@xxxxxxxxxxxxxxx>,
<linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
<linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>
References: <20250523-hdp-upstream-v3-0-bd6ca199466a@xxxxxxxxxxx>
<20250523-hdp-upstream-v3-3-bd6ca199466a@xxxxxxxxxxx>
<85866e42-b3d4-462c-8890-e2a354627229@xxxxxxxxxx>
Content-Language: en-US
From: Clement LE GOFFIC <clement.legoffic@xxxxxxxxxxx>
In-Reply-To: <85866e42-b3d4-462c-8890-e2a354627229@xxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SHFCAS1NODE2.st.com (10.75.129.73) To SHFDAG1NODE2.st.com
(10.75.129.70)
X-Proofpoint-Virus-Version: vendor=baseguard
engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40
definitions=2025-05-28_06,2025-05-27_01,2025-03-28_01
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 5/28/25 10:28, Krzysztof Kozlowski wrote:
> On 23/05/2025 14:38, Clément Le Goffic wrote:
Hi,
>> This patch introduce the driver for the Hardware Debug Port available on
>
> "Add driver...", see submitting patches
Sure, I'll shorten the commit message
>
>
>
>> STM32MP platforms. The HDP allows the observation of internal SoC
>> signals by using multiplexers. Each HDP port can provide up to 16
>> internal signals (one of them can be software controlled as a GPO).
>>
>> Signed-off-by: Clément Le Goffic <clement.legoffic@xxxxxxxxxxx>
>> ---
>> drivers/pinctrl/stm32/Kconfig | 14 +
>> drivers/pinctrl/stm32/Makefile | 1 +
>> drivers/pinctrl/stm32/pinctrl-stm32-hdp.c | 720 ++++++++++++++++++++++++++++++
>> 3 files changed, 735 insertions(+)
>>
>> diff --git a/drivers/pinctrl/stm32/Kconfig b/drivers/pinctrl/stm32/Kconfig
>> index 2656d3d3ae40..4b474cfd1f2c 100644
>> --- a/drivers/pinctrl/stm32/Kconfig
>> +++ b/drivers/pinctrl/stm32/Kconfig
>> @@ -57,4 +57,18 @@ config PINCTRL_STM32MP257
>> depends on OF && HAS_IOMEM
>> default MACH_STM32MP25
>> select PINCTRL_STM32
>> +
>> +config PINCTRL_STM32_HDP
>> + tristate "STMicroelectronics STM32 Hardware Debug Port (HDP) pin control"
>> + depends on OF && HAS_IOMEM
>> + default ARM64 || (ARM && CPU_V7)
>
> I just cleaned this up and I still think this should be default for your
> arch, not for every other platform during compile test. See bunch of my
> commits "Do not enable by default during compile testing".
>
Ok I'll use "default ARCH_STM32 && !ARM_SINGLE_ARMV7M" which is more
restrictive.
>
>> + select PINMUX
>> + select GENERIC_PINCONF
>> + select GPIOLIB
>> + help
>> + The Hardware Debug Port allows the observation of internal signals.
>> + It uses configurable multiplexer to route signals in a dedicated observation register.
>> + This driver also permits the observation of signals on external SoC pins.
>> + It permits the observation of up to 16 signals per HDP line.
>> +
>> endif
>> diff --git a/drivers/pinctrl/stm32/Makefile b/drivers/pinctrl/stm32/Makefile
>> index 7b17464d8de1..98a1bbc7e16c 100644
>> --- a/drivers/pinctrl/stm32/Makefile
>> +++ b/drivers/pinctrl/stm32/Makefile
>> @@ -11,3 +11,4 @@ obj-$(CONFIG_PINCTRL_STM32H743) += pinctrl-stm32h743.o
>> obj-$(CONFIG_PINCTRL_STM32MP135) += pinctrl-stm32mp135.o
>> obj-$(CONFIG_PINCTRL_STM32MP157) += pinctrl-stm32mp157.o
>> obj-$(CONFIG_PINCTRL_STM32MP257) += pinctrl-stm32mp257.o
>> +obj-$(CONFIG_PINCTRL_STM32_HDP) += pinctrl-stm32-hdp.o
>> diff --git a/drivers/pinctrl/stm32/pinctrl-stm32-hdp.c b/drivers/pinctrl/stm32/pinctrl-stm32-hdp.c
>> new file mode 100644
>> index 000000000000..e91442eb566b
>> --- /dev/null
>> +++ b/drivers/pinctrl/stm32/pinctrl-stm32-hdp.c
>> @@ -0,0 +1,720 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>> +/*
>> + * Copyright (C) STMicroelectronics 2025 - All Rights Reserved
>> + * Author: Clément Le Goffic <clement.legoffic@xxxxxxxxxxx> for STMicroelectronics.
>> + */
>> +#include <linux/bits.h>
>> +#include <linux/clk.h>
>> +#include <linux/gpio/driver.h>
>> +#include <linux/io.h>
>> +#include <linux/of.h>
>> +#include <linux/of_device.h>
>
> Not used.
Ack
>
>> +#include <linux/pinctrl/consumer.h>
>> +#include <linux/pinctrl/pinconf-generic.h>
>> +#include <linux/pinctrl/pinctrl.h>
>> +#include <linux/pinctrl/pinmux.h>
>> +#include <linux/platform_device.h>
>> +#include <linux/pm.h>
>> +
> Best regards,
> Krzysztof
Return-Path: <linux-kernel+bounces-665392-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [139.178.88.99])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5CBAF41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:46:58 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sv.mirrors.kernel.org (Postfix) with ESMTPS id 57C883AFEBE
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:46:36 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id E7A49283C8E;
Wed, 28 May 2025 11:46:51 +0000 (UTC)
Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id F2DDA21578D
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:46:49 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432811; cv=none; b=bcEbRS1y8suC9Qja7lRhfGew3F4rTasLVEoEsFrFPyG+nWKD7jv2C0Ts1g0hN5sLZSAoP2DAM9Uu/BzEDe/42zYZSkjeUlTuKwQ4hZyN0eZJIaCUYDJBLSlDHnXWpOE3HF4nVvk7QtL5BJLd7jS+UgLL6glg84GjjYfjWtY84YY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432811; c=relaxed/simple;
bh=PDjgS5kxYJNN4P6hi3kNrFVLAcSYLUEUsuoFPTsbskk=;
h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:Content-Type:
MIME-Version; b=OgQJ7pVn4KTQpD0OHJ3O+brc55HyNzqX1wx8QB4GkEfzpqaeUgVUAATVYN77TF1WsONKSL/N/zjPLE2iDm/0XVdJ8oPhDlAr9I2UjasjWWoSivW5uah5ccg7hD9WlnzTf+OoPu9SL8PFvbra8mftTWHNx90i5P7rqDgVgHNCLeo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tlvince.com; spf=pass smtp.mailfrom=tlvince.com; arc=none smtp.client-ip=209.85.221.53
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tlvince.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tlvince.com
Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-3a363d15c64so3053820f8f.3
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 04:46:49 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748432808; x=1749037608;
h=mime-version:user-agent:content-transfer-encoding:in-reply-to:date
:cc:to:from:subject:message-id:x-gm-message-state:from:to:cc:subject
:date:message-id:reply-to;
bh=PDjgS5kxYJNN4P6hi3kNrFVLAcSYLUEUsuoFPTsbskk=;
b=UZCA5l4Qo0dklL2oj18mmN8znYCukLClJI2b67XfqfchpY7oHxGnS41HuTLpcm43Fr
o3gdPTFaSCLRSd9Ife9FHNIY4TpV7L++s5GP0H/67FT1DopaK9dpHYo97v2fjrWVisTP
2QHNIAM0YFjjx6usS+AL2VbOpRjCfldjc1Lf0lMyKAIMFS6i53WTBZMAgj1+tAz68cl2
NiTtbJ6U975L3Edy93tBJkPGiXlcW5fnHbolsjbed2qalRtx/n3aH3HCaBLGvGnlS4tl
GzJFOlacy1ZRUp+YxxACBcBwxc8LDLM1yz5l7KTkKNW9h03ngxPhzzpV0qh7+hMQQKtH
nHDw==
X-Forwarded-Encrypted: i=1; AJvYcCV9HNbximBV8xKtc0tHJAQ9FYUKiAvQBkUH287Asv0LHFbANQV3wAUJPS6fLr6XBKBuuE5q0OyC7x4Gr7A=@vger.kernel.org
X-Gm-Message-State: AOJu0Yy04HsuWiqYzkFyAYgBvD+h6kk6eKTA230v1VMAnz+ThTIekhXc
1mvQaJJPOcjEombLEp39itcExPGap7+AeuVBtlWqFpazQFF8xvQtjC1AozVAghsAblLLJubvTsG
uvksikNo=
X-Gm-Gg: ASbGncuTptneJqapa2QwFaJHqnJX5etbfIndOHvSnHMYTLgrwQkkLCGuJjCGpzHDT4r
UuzJlRi2Fc2Wg++1SLcp4mx5FVBXMlJfWzH8U9Ig9XHQe40FpxY5edJy5pl72R21Rupvt7CLOmE
MOgN8xrJbmKDrQdKwdxN1EiwOfkhh3l+mAGVLFsPXLsbNoUS/g8t3N3mZO4Ia/gwpVIhqa2tPsV
iDiyzVBU2iNZCw2pEs8jB85jP4wC3LMecQLTRk+WSCDu5EZdtM5j/70qkvhAxUfxoD5bUMqEd6p
f03GNqFVHkX/viFnSN8xCr1ICR+DGlOvtjWs+2jcZrsDZvzN7Hgh7m+bLvIVy0QSNxBFCtqx79R
3k1jV+xO9E+mzDELN/yNizNEYRO+f2utzSUgLhENB
X-Google-Smtp-Source: AGHT+IFNOKh+Aesaq3PzVr1eR8i8unVWVFffnvHc9V8h7XsbOFLDWZoiM6TIwWG3GEwz2XEKjOlv+g==
X-Received: by 2002:a05:6000:1a8f:b0:3a4:df80:7284 with SMTP id ffacd0b85a97d-3a4e9437a5emr2061450f8f.1.1748432807768;
Wed, 28 May 2025 04:46:47 -0700 (PDT)
Received: from framework.filo.uk (lewi-26-b2-v4wan-163478-cust494.vm4.cable.virginm.net. [86.21.73.239])
by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4eac6e360sm1244603f8f.9.2025.05.28.04.46.47
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 28 May 2025 04:46:47 -0700 (PDT)
Message-ID: <751abc6bdfda6bd3b99aacf2362bb4c590258f95.camel@xxxxxxxxxxx>
Subject: Re: [PATCH] mfd: cros_ec: Separate charge-control probing from
USB-PD
From: Tom Vincent <linux@xxxxxxxxxxx>
To: linux@xxxxxxxxxxxxxx
Cc: bleung@xxxxxxxxxxxx, chrome-platform@xxxxxxxxxxxxxxx,
groeck@xxxxxxxxxxxx, lee@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Date: Wed, 28 May 2025 12:46:46 +0100
In-Reply-To: <20250521-cros-ec-mfd-chctl-probe-v1-1-6ebfe3a6efa7@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.56.1
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Thomas,
Applied this on top of v6.14.7 with a Framework AI 340, BIOS 3.03 and
cros_charge_control and the knobs now work as expected.
Tested-by: Tom Vincent <linux@xxxxxxxxxxx>
Thanks,
Tom
Return-Path: <linux-kernel+bounces-665393-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 1154941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:49:14 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id A87F91BC4538
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:49:26 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id AC305283CB3;
Wed, 28 May 2025 11:49:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jWH8kOyt"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A78C121578D;
Wed, 28 May 2025 11:49:04 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748432944; cv=none; b=VX2eJVGlc97ap8oRXGyRpJ0fhgNED8Bt1TbInqr5cT4JnTvNFm8/Bk9q4mj0K5P0qmTgz4pfmmfBlt32mW6N2tCMn/b4DwmOrFIfdvGPF9DM+kHVQzizZRjqABcZQCtvuDBz5LQgUK6vEIacc4j3q+xQeLmfg4lZAw4pp4XB7FY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748432944; c=relaxed/simple;
bh=cMZRIRLMM0VSkieLJ1IQwaOz+O4cfkLzSRbY+K9JyQk=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=ivb4M13/Gv0XwzamOQQu/dwqE4kbUmHV4ZwWP2IWmKTr8bsmmwHA9QZ9Bj+wotChuj+b5eoprCqlSKllcqdK8Fdvp+/kNLfF/6ZTa3jGLbcNcaozOLTaewXGQum3TDQhngfXHQZJKsZbWHr29EI/VNn8Ol36Z5zOJ9U4p/L/rL0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jWH8kOyt; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8D54AC4CEE7;
Wed, 28 May 2025 11:49:01 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748432944;
bh=cMZRIRLMM0VSkieLJ1IQwaOz+O4cfkLzSRbY+K9JyQk=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=jWH8kOytaHnKNpKoKpfuCHaaGD42tHq8sfDgcl92DzsS5DnN+Q9PuxSl69Z0NKBc8
ewm0U+kZwiZsXwwK/pO9E5lb09OzgKAsqPN+YXhfSm9QOLOC7UE/i27sBxmPY+t3uX
nS7zxr/GqgWZEDHMBix2AVwUwgcmBN/p3Rtdep4oosgKNbNgjvHwcGEL3nKCVtpd4w
pZM1fMqpiKY03QZBQIEQLx65rz91he2qgWkGBoSHQv8Nf2csE1+7w/AlfxRyikpMW+
nlzFWK4rpdaJkncqQ74ydh/chJsBq3Oefv8/CaNn3l+FDugsIhshUH7idR2DbAnxyF
p43YhVntx5RMg==
Message-ID: <e69145c0-6303-40a1-a33e-9173d72b04e5@xxxxxxxxxx>
Date: Wed, 28 May 2025 13:48:59 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/9] dt-bindings: mmc: add binding for BST DWCMSHC
SDHCI controller
To: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>,
Ulf Hansson <ulf.hansson@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Ge Gordon <gordon.ge@xxxxxx>
Cc: BST Linux Kernel Upstream Group <bst-upstream@xxxxxxxxx>,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-mmc@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250528085451.481267-1-yangzh0906@xxxxxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <20250528085451.481267-1-yangzh0906@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 10:54, Albert Yang wrote:
> Add device tree binding documentation for the Black Sesame Technologies
> (BST) DWCMSHC SDHCI controller.
>
> This binding describes the required and optional properties for the
> bst,dwcmshc-sdhci compatible controller, including register layout,
> interrupts, bus width, clock configuration, and other controller-specific
> features.
Completely redundant paragraph, drop.
A nit, subject: drop second/last, redundant "bindings for". The
"dt-bindings" prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
>
> Signed-off-by: Ge Gordon <gordon.ge@xxxxxx>
> Signed-off-by: Albert Yang <yangzh0906@xxxxxxxxxxxxxxx>
> ---
> .../bindings/mmc/bst,dwcmshc-sdhci.yaml | 115 ++++++++++++++++++
> 1 file changed, 115 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml
>
> diff --git a/Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml b/Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml
> new file mode 100644
> index 000000000000..429e7f50cdec
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mmc/bst,dwcmshc-sdhci.yaml
> @@ -0,0 +1,115 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mmc/bst,dwcmshc-sdhci.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Black Sesame Technologies DWCMSHC SDHCI Controller
> +
> +maintainers:
> + - Ge Gordon <gordon.ge@xxxxxx>
> +
> +description: |
> + The BST DWCMSHC SDHCI controller is a Synopsys DesignWare Mobile Storage Host
> + Controller IP integrated in BST SoCs.
> +
> + This documents the differences between the core properties in mmc.yaml and the
> + properties used by the sdhci-bst driver.
redundant paragraph, drop.
Missing ref to proper schema. Look how other bindings do it.
> +
> +properties:
> + compatible:
> + const: bst,dwcmshc-sdhci
You have to use soc specific compatibles. Just look at other bindings.
> +
> + reg-names:
> + const: base
> + description: Specify the register name
Drop reg-names, useless.
> +
> + reg:
> + maxItems: 1
> + description: Host controller base address
Drop description, redundant.
> +
> + interrupts:
> + maxItems: 1
> + description: One MMC interrupt should be described here
Drop description, redundant.
> +
> + interrupt-names:
> + items:
> + - const: IRQDWMMC0
Drop interrupt-names
> +
> + non-removable:
> + type: boolean
> + description: Non-removable slot (like eMMC)
> +
> + bus-width:
> + description: Number of data lines
> + enum: [1, 4, 8]
> +
> + clock-frequency:
> + description: Base clock frequency in Hz
> +
> + max-frequency:
> + description: Maximum clock frequency in Hz
> +
> + fifo-depth:
> + description: |
> + FIFO depth in bytes. If this property is not specified, the default value
> + of the fifo size is determined from the controller registers.
> +
All of above are redundant, drop.
> + mmc_crm_base:
> + description: Base address of MMC CRM registers
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + mmc_crm_size:
> + description: Size of MMC CRM registers
> + $ref: /schemas/types.yaml#/definitions/uint32
No clue what are these but they look completely wrong. Why would you
define address size as different property than reg?
> +
> + memory-region:
> + maxItems: 1
> + description: Specify the MMC DMA buffer range
> +
> + sdhci,auto-cmd12:
> + type: boolean
> + description: Enable auto CMD12 support
Drop, your compatible defines it, there is no vendor sdhci and this is I
think legacy
> +
> + dma-coherent:
> + type: boolean
> + description: Enable coherent DMA operations
Drop description, redundant.
> +
> +required:
> + - compatible
> + - reg-names
> + - reg
> + - interrupts
> + - interrupt-names
> + - non-removable
> + - bus-width
> + - clock-frequency
> + - max-frequency
> + - fifo-depth
> + - mmc_crm_base
> + - mmc_crm_size
> +
> +examples:
> + - |
> + dwmmc0@22200000 {
Never tested
> + status = "okay";
Drop
> + compatible = "bst,dwcmshc-sdhci";
> + reg-names = "base";
Follow DTS coding style for order and naming style.
> + reg = <0x0 0x22200000 0x0 0x1000>;
> + interrupts = <0x0 0x90 0x4>;
> + interrupt-names = "IRQDWMMC0";
> + #address-cells = <0x2>;
> + #size-cells = <0x0>;
> + clock-frequency = <200000000>;
> + max-frequency = <200000000>;
> + mmc_crm_base = <0x23006000>;
> + mmc_crm_size = <0x1000>;
> + fifo-depth = <0x400>;
> + bus-width = <8>;
> + non-removable;
> + sdhci,auto-cmd12;
> + dma-coherent;
> + memory-region = <&mmc_dma_buf>;
> + };
> +
> +additionalProperties: true
This cannot be true. Do you see any device binding like that? No. This
means you are doing something completely different. Please do not
reinvent this but take latest reviewed binding and customize it.
> \ No newline at end of file
You have patch warnings.
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665394-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 161A341E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:50:54 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by sy.mirrors.kernel.org (Postfix) with ESMTPS id 929967B0DF1
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:49:35 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 02F64283CB1;
Wed, 28 May 2025 11:50:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Y4uRdP2d"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 374D51C54A2;
Wed, 28 May 2025 11:50:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748433045; cv=none; b=QO44BRGDvaX/BtDtGKt1ZqC02sWQ3IJJfE0MkgCS7pADX+o3raEszp7CuO/CIzU3hNbLWoONWhyySanQ/0miD1A8iwpnEJ5aXDnJ+SeVCo/8haAKzcoFcPeltGZ6VUVWrmRUCEftOPXzfcuCeOlUH1B8z/fr239M8+klNWLMG3c=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748433045; c=relaxed/simple;
bh=pYmp7MzPa8KMqf8s7VdAs2RHMvAaS8POb29yg4AT8vM=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=nXOhNIZtUKw75f+Ekci3OJFWqDJN8TdvWl3jkLxjE6BVQpqONxbTdwCOIQis++KrlE7h/pSAEbVLvP/5YSxEOZ6NbVt+rZV+EqeV9qGUAxXSY9x9G5lYQRoLgGQQ8lqYtlNmGv8Xet60p7KOIa9pvnZkw2g5v3fmPqx5ghddrnM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Y4uRdP2d; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B9866C4CEE7;
Wed, 28 May 2025 11:50:41 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748433043;
bh=pYmp7MzPa8KMqf8s7VdAs2RHMvAaS8POb29yg4AT8vM=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=Y4uRdP2d22ovVXseVEnjBccqoRT2KVrL7bZgLPtqOVYspszPXSNm+vOhlC38MgldO
8Xvd+pAky2k2hj1+GcVi/vYNVnd5YDkwIY/+CDG8T6XWfK+RaD+f6xYvyAiBnjKYDH
XMHn2hNFFrRWQw2Hb7ttoGJhBaYY/lo/nw/hY7uOtBMwIjRexCOoHRB1UOuyoVHw3q
Fsyrkn+6bNsoyS+2yLqSDAaJsWbKDtDgvgXMj+4B21AsSrSBC2iZt+Ueb0WvTW4sb8
1+0ZvTJVzop+O3KcKSGmGxa7dsgNycqEL9NyJj9IDCIveb9gW/HU8SePKlCM9BWvZn
omPb6u61dSCUw==
Message-ID: <7e02b0ef-2470-454b-81df-810602d8a626@xxxxxxxxxx>
Date: Wed, 28 May 2025 13:50:40 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/4] firmware: stratix10-svc: Add initial support for
asynchronous communication with Stratix10 service channel
To: Mahesh Rao <mahesh.rao@xxxxxxxxxx>, Dinh Nguyen <dinguyen@xxxxxxxxxx>,
Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>
Cc: Matthew Gerlach <matthew.gerlach@xxxxxxxxxx>,
linux-kernel@xxxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx
References: <20250526-sip_svc_upstream-v3-0-6a08a4502de3@xxxxxxxxxx>
<20250526-sip_svc_upstream-v3-3-6a08a4502de3@xxxxxxxxxx>
<3a76c7b1-ce02-41eb-a4c0-ae065e9b99f3@xxxxxxxxxx>
<0f74ed36-13bd-4b6c-9d5e-f52cc25235f8@xxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <0f74ed36-13bd-4b6c-9d5e-f52cc25235f8@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 12:29, Mahesh Rao wrote:
>> ...
>>
>>> + args.a0 = INTEL_SIP_SMC_ASYNC_POLL;
>>> + args.a1 =
>>> + STRATIX10_SIP_SMC_SET_TRANSACTIONID_X1(handle->transaction_id);
>>> +
>>> + actrl->invoke_fn(actrl, &args, &handle->res);
>>> +
>>> + data->status = 0;
>>> + if (handle->res.a0 == INTEL_SIP_SMC_STATUS_OK) {
>>> + return 0;
>>> + } else if (handle->res.a0 == INTEL_SIP_SMC_STATUS_BUSY) {
>>> + dev_dbg(ctrl->dev, "async message is still in progress\n");
>>> + return -EAGAIN;
>>> + }
>>> +
>>> + dev_err(ctrl->dev,
>>> + "Failed to poll async message ,got status as %ld\n",
>>> + handle->res.a0);
>>> + return -EINVAL;
>>> +}
>>> +EXPORT_SYMBOL_GPL(stratix10_svc_async_poll);
>>
>> No, drop entire function. There is no user of it. You cannot add exports
>> for dead code.
>
> These functions have been newly introduced for the Stratix10-SVC
> platform driver. The client drivers that will utilize these APIs are
> currently under development and are planned for inclusion in a
> subsequent patch set. Would you prefer that I include a sample client
> driver using these APIs in this patch set instead?
You must have user for every exported symbol. In the same patchset, usually.
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665395-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id E942941E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:51:03 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id C27421BC56C7
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:51:16 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id A4DF1283CBD;
Wed, 28 May 2025 11:50:55 +0000 (UTC)
Received: from mail-ua1-f50.google.com (mail-ua1-f50.google.com [209.85.222.50])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 43BDA1C54A2;
Wed, 28 May 2025 11:50:52 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.50
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748433055; cv=none; b=Zf1SAP2bp/D7CVL9aN/YfpbWobf1cuEorFLBldB92xKtjrV+5kDvoUlOtb1LUZyH99Erb0sBHa87q/JHmlUpHiBpkzfAvxCw3GfGK2PEibG3J3BxR8BcoG7h+U/bL3cSt0XxP+VU3iyr65kWpR2lopVYy1r+ZAQGQLnuXYd6E70=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748433055; c=relaxed/simple;
bh=jnBA2vy6brg7qcYWAqNXi9fDqoOzyQWhlaWks6xrX+o=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=CcCYM/i2KDZjP4h13CHJ0GrOX3WP0PDQINrMffacxRDq88wlHKJuXjoG0WW4G79VRKJQl1auYFpIiJ1ciZIvNztgTBDdZnX0rEmSTP90DIzyfrBvsOa0JW69cN8FfRgLeKNsd7rl/tXaTpFz8OmJocXoqnl76w14W0zGulagpxk=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.222.50
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux-m68k.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-ua1-f50.google.com with SMTP id a1e0cc1a2514c-87ded9c6eb4so516744241.0;
Wed, 28 May 2025 04:50:52 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748433052; x=1749037852;
h=cc:to: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=qi3vD3S+nX/QcexFRov6QeC8OODrBI1qA67zGZMFfDM=;
b=NIBZGFP/sr1yTPkhK+qbb+McT9dLvfPyt2QConmHkcrgI5qO9K0DcMuzBxbbS1zhRd
7feLo6E8+5CWhfSUjf60jOD0tSuwm1ivbwyTK0E6qOmtU2koA4QNz/0+3IFYIQyMLPpf
5a9/m7U/QRpOOJdvAfTGCBfBVJhkS6w2AZ696HhB+DRSetLzqXXVeVW7MyF+ps9gNdLE
NBacGCNVEAxM7NDIejRGednrUtxCa9PhDGz9e+/eQeVH/s4JifaGJkeVjuTr5mlnaV5f
tjDpLnZmrX91JlDhYOipnchS92y+hxRM0gMhSoBqr0L8WERfpdQKzzO4Pa18ShYNUSdF
VrPQ==
X-Forwarded-Encrypted: i=1; AJvYcCU1Zv6EtTnHgB6Pv0pJ1ghP8uWgXXhPctfe9CUCM//zBvozIdqWsd2uLoMamYD0VVQ3GG1LFIM8wz8TEKwg@xxxxxxxxxxxxxxx, AJvYcCVRztj4njCBF1HG+a8qy2RVikol9dPLPPAKOFdP/1olmuBZ6/kx/0F3FbPGTUGX/xyS6jyVBtXWSg7y24WRpJj5mdE=@vger.kernel.org, AJvYcCVW5XSJhVH20sQSXX8CPemKBqZAwFOJHt4jCxpCujTHSHSH9YymFBwie+XI4Xz6B1JW4lY0sDXMKHbY@xxxxxxxxxxxxxxx
X-Gm-Message-State: AOJu0YxZ8XFYZPfFxjx4Ext2PE435owhiXIFhWIdTLQ7o83BzxuMZKyB
GOgXSTC/BVpUIGKaz4t8a7gTljDH8ojMRxV+Hr7JeBltdE0xMQ4s0p5ONovnrsGE
X-Gm-Gg: ASbGnctZyeNgJB8HhalDyAH/X5Yo5BBAGeY2TRzrqkfjCc9P7HkOvqC7ew+YqO9H+pK
aWdYCgeFqE7Ref6L21E+lsErRwz+oM5uwNIL3ftLZaia73T+iK+B1KZ6r6UyEoMY5BW/6VGFcpZ
iD6mKKF7QxNWWH5Hbgl1CnWP3MWSFa5DoAOjbu3qqpTDLx39WxGkCvKd+wXTUZaMUQxBxAK6RwO
EAxTxb44eP5womgcrZZFO326RBg6itk4y5UNue8/LPobSU47NoDvMgew2oSoT66QZAImK1rwmGD
zktPAv7hHdJqb0T2I6EGLi535VTndtVz6thYIfM5IwVdsA6KbzQUPqpLfIp4wCIqDEutN+6Fy72
oJAlUx2TD2Lqn2Q==
X-Google-Smtp-Source: AGHT+IFTOsiA6XhyKtFAciT0iUMbIRg2b8jyHZ1IEMyPaiKKYUHSkv18sy/tnHwCyz/dHqT76IVrWw==
X-Received: by 2002:a67:f288:0:b0:4e1:5132:67c9 with SMTP id ada2fe7eead31-4e597961feamr2712050137.0.1748433051758;
Wed, 28 May 2025 04:50:51 -0700 (PDT)
Received: from mail-ua1-f51.google.com (mail-ua1-f51.google.com. [209.85.222.51])
by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-87e23df8b53sm243338241.33.2025.05.28.04.50.51
(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
Wed, 28 May 2025 04:50:51 -0700 (PDT)
Received: by mail-ua1-f51.google.com with SMTP id a1e0cc1a2514c-86d6fd581f4so468142241.1;
Wed, 28 May 2025 04:50:51 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCVV3S/LTEW8bYCzyUwFKZE2wFqVtF4PiTAEn5aq+SrATiL2Vub5FcwuvL/O1ZzKlkQZb2p8YzwkoCSj@xxxxxxxxxxxxxxx, AJvYcCVXl7o+1m6p9NdZoJqHjThQgpo4Z9VwcfT0zGqCjkAuNFmkNDPhEnUxBpeikuA/3NOVI1BBYVRR22znfwfv@xxxxxxxxxxxxxxx, AJvYcCX/tmRcEhAlQoVgEcJm2Z8A82g6pi1HEfFrcXccxiDdGuOaaUt10SeJUCOg0r+7taTWVPCzEYsczsMB6yQ7sMSIxeQ=@vger.kernel.org
X-Received: by 2002:a67:f857:0:b0:4e4:3c3a:f163 with SMTP id
ada2fe7eead31-4e597db44bcmr2629330137.7.1748433051413; Wed, 28 May 2025
04:50:51 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250519215734.577053-1-thierry.bultel.yh@xxxxxxxxxxxxxx> <20250519215734.577053-4-thierry.bultel.yh@xxxxxxxxxxxxxx>
In-Reply-To: <20250519215734.577053-4-thierry.bultel.yh@xxxxxxxxxxxxxx>
From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date: Wed, 28 May 2025 13:50:39 +0200
X-Gmail-Original-Message-ID: <CAMuHMdVLktxp5EC1P56Y0SYcMOHsnpMeW+joYTEj4_amoQoHHA@xxxxxxxxxxxxxx>
X-Gm-Features: AX0GCFvh54g40zEsfgecMYJZc5x8Vr4fnqVT6gNM6K_YWYoSqBMvdXzavV5U1gw
Message-ID: <CAMuHMdVLktxp5EC1P56Y0SYcMOHsnpMeW+joYTEj4_amoQoHHA@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 3/3] arm64: dts: renesas: Add pinctrl for renesas RZ/T2H SoC
To: Thierry Bultel <thierry.bultel.yh@xxxxxxxxxxxxxx>
Cc: thierry.bultel@xxxxxxxxxxx, linux-renesas-soc@xxxxxxxxxxxxxxx,
paul.barker.ct@xxxxxxxxxxxxxx, devicetree@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-3.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Thierry,
On Mon, 19 May 2025 at 23:57, Thierry Bultel
<thierry.bultel.yh@xxxxxxxxxxxxxx> wrote:
> Add pinctrl node for r9a09g077
>
> Signed-off-by: Thierry Bultel <thierry.bultel.yh@xxxxxxxxxxxxxx>
Thanks for your patch!
> --- a/arch/arm64/boot/dts/renesas/r9a09g077.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r9a09g077.dtsi
> @@ -101,6 +101,15 @@ cpg: clock-controller@80280000 {
> #power-domain-cells = <0>;
> };
>
> + pinctrl: pinctrl@812c0000 {
The unit address does not match the first reg property.
> + compatible = "renesas,pfc-r9a09g077";
> + reg = <0 0x802c0000 0 0x2000>,
> + <0 0x812c0000 0 0x2000>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + gpio-ranges = <&pinctrl 0 0 287>;
No (optional?) clock, no interrupts...
> + };
> +
> gic: interrupt-controller@83000000 {
> compatible = "arm,gic-v3";
> reg = <0x0 0x83000000 0 0x40000>,
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Return-Path: <linux-kernel+bounces-665396-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 888E541E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:57:08 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 427FC1BC6132
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:57:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 7E7DE283FCD;
Wed, 28 May 2025 11:57:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nT3aTKV1"
Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id A0A6727876A;
Wed, 28 May 2025 11:56:59 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748433419; cv=none; b=CxQ0lWE6izSIRUrHgqF3JbCq7jKANm5HQRcQPnOq2zeXjSwt2E+OEMfLRHbHROlCPyFlDrFYkqdmuMT3Z8nrliwHTe8eO8w+Q50RwtyLirQYg0ul5rPp0wfBJb9ezkK+35QpJJkhGCndngIROBbPNjz0YwIeebCkfmi9FALH8XU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748433419; c=relaxed/simple;
bh=33oeSjTLQKDkwvECcdEQbSGGAT2GJkxeaDlQ5VZ2A34=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=Aalb54BO1cSDanAVgYrZJoU0ffPNhk8qyLdlqrPBW133JUNMgoF6GHSfwtNx514Mczoc3/P6pyQPlNQFSI01d/EO5r2lEByHBNO+6WFKvr6lZx0JttLEBQvEI/LDddQX/NC9P8PCPkMS4H1w0gdqid/5lGXE9Pg162DN+zoPTNw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nT3aTKV1; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 81B76C4CEE7;
Wed, 28 May 2025 11:56:56 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=k20201202; t=1748433419;
bh=33oeSjTLQKDkwvECcdEQbSGGAT2GJkxeaDlQ5VZ2A34=;
h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
b=nT3aTKV1VTgUwWQdvlzDwruiyqFJR3cjI3SmGAGa4lEwwSKo15o1kQamXgBN1YgsB
1zMXRZEsF3A+9UkTB2464tz5uI5dwv9IR5SY8HgDXeceLJJlRXB580qWgylTjpFT/A
ACSuKx6dAF4ivLCBAqOOPc3/tLuYYMeEVPxB4GEkLnqycwyyaN8qU97Jc8KarWWE1s
ej5xPz5x9TbElbCn0mW5LeXrVXc/q6JY923Mf6B1QnX91dYv6MBkeN8QLlZc0pWv/t
LKG+1tEBGKb+HIUPSLLhcnKdMtEet5ktkYpkoX6RGiCSfc/EI4BwUWxTFjtHRyR74A
UWqCKKel/sLIg==
Message-ID: <969c42d7-0a40-4daf-a074-f2713d0d0412@xxxxxxxxxx>
Date: Wed, 28 May 2025 13:56:54 +0200
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] dt-bindings: clock: airoha: Document support for
AN7583 clock
To: Christian Marangi <ansuelsmth@xxxxxxxxx>
Cc: Michael Turquette <mturquette@xxxxxxxxxxxx>,
Stephen Boyd <sboyd@xxxxxxxxxx>, Rob Herring <robh@xxxxxxxxxx>,
Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>, Conor Dooley
<conor+dt@xxxxxxxxxx>, Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>,
Felix Fietkau <nbd@xxxxxxxx>, linux-clk@xxxxxxxxxxxxxxx,
devicetree@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
References: <20250528004924.19970-1-ansuelsmth@xxxxxxxxx>
<20250528004924.19970-5-ansuelsmth@xxxxxxxxx>
<f9aebfb8-6312-45db-be12-94580ad412cb@xxxxxxxxxx>
<6836cf62.5d0a0220.35d0aa.2025@xxxxxxxxxxxxx>
From: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Content-Language: en-US
Autocrypt: addr=krzk@xxxxxxxxxx; keydata=
xsFNBFVDQq4BEAC6KeLOfFsAvFMBsrCrJ2bCalhPv5+KQF2PS2+iwZI8BpRZoV+Bd5kWvN79
cFgcqTTuNHjAvxtUG8pQgGTHAObYs6xeYJtjUH0ZX6ndJ33FJYf5V3yXqqjcZ30FgHzJCFUu
JMp7PSyMPzpUXfU12yfcRYVEMQrmplNZssmYhiTeVicuOOypWugZKVLGNm0IweVCaZ/DJDIH
gNbpvVwjcKYrx85m9cBVEBUGaQP6AT7qlVCkrf50v8bofSIyVa2xmubbAwwFA1oxoOusjPIE
J3iadrwpFvsZjF5uHAKS+7wHLoW9hVzOnLbX6ajk5Hf8Pb1m+VH/E8bPBNNYKkfTtypTDUCj
NYcd27tjnXfG+SDs/EXNUAIRefCyvaRG7oRYF3Ec+2RgQDRnmmjCjoQNbFrJvJkFHlPeHaeS
BosGY+XWKydnmsfY7SSnjAzLUGAFhLd/XDVpb1Een2XucPpKvt9ORF+48gy12FA5GduRLhQU
vK4tU7ojoem/G23PcowM1CwPurC8sAVsQb9KmwTGh7rVz3ks3w/zfGBy3+WmLg++C2Wct6nM
Pd8/6CBVjEWqD06/RjI2AnjIq5fSEH/BIfXXfC68nMp9BZoy3So4ZsbOlBmtAPvMYX6U8VwD
TNeBxJu5Ex0Izf1NV9CzC3nNaFUYOY8KfN01X5SExAoVTr09ewARAQABzSVLcnp5c3p0b2Yg
S296bG93c2tpIDxrcnprQGtlcm5lbC5vcmc+wsGVBBMBCgA/AhsDBgsJCAcDAgYVCAIJCgsE
FgIDAQIeAQIXgBYhBJvQfg4MUfjVlne3VBuTQ307QWKbBQJoF1BKBQkWlnSaAAoJEBuTQ307
QWKbHukP/3t4tRp/bvDnxJfmNdNVn0gv9ep3L39IntPalBFwRKytqeQkzAju0whYWg+R/rwp
+r2I1Fzwt7+PTjsnMFlh1AZxGDmP5MFkzVsMnfX1lGiXhYSOMP97XL6R1QSXxaWOpGNCDaUl
ajorB0lJDcC0q3xAdwzRConxYVhlgmTrRiD8oLlSCD5baEAt5Zw17UTNDnDGmZQKR0fqLpWy
786Lm5OScb7DjEgcA2PRm17st4UQ1kF0rQHokVaotxRM74PPDB8bCsunlghJl1DRK9s1aSuN
hL1Pv9VD8b4dFNvCo7b4hfAANPU67W40AaaGZ3UAfmw+1MYyo4QuAZGKzaP2ukbdCD/DYnqi
tJy88XqWtyb4UQWKNoQqGKzlYXdKsldYqrLHGoMvj1UN9XcRtXHST/IaLn72o7j7/h/Ac5EL
8lSUVIG4TYn59NyxxAXa07Wi6zjVL1U11fTnFmE29ALYQEXKBI3KUO1A3p4sQWzU7uRmbuxn
naUmm8RbpMcOfa9JjlXCLmQ5IP7Rr5tYZUCkZz08LIfF8UMXwH7OOEX87Y++EkAB+pzKZNNd
hwoXulTAgjSy+OiaLtuCys9VdXLZ3Zy314azaCU3BoWgaMV0eAW/+gprWMXQM1lrlzvwlD/k
whyy9wGf0AEPpLssLVt9VVxNjo6BIkt6d1pMg6mHsUEVzsFNBFVDXDQBEADNkrQYSREUL4D3
Gws46JEoZ9HEQOKtkrwjrzlw/tCmqVzERRPvz2Xg8n7+HRCrgqnodIYoUh5WsU84N03KlLue
MNsWLJBvBaubYN4JuJIdRr4dS4oyF1/fQAQPHh8Thpiz0SAZFx6iWKB7Qrz3OrGCjTPcW6ei
OMheesVS5hxietSmlin+SilmIAPZHx7n242u6kdHOh+/SyLImKn/dh9RzatVpUKbv34eP1wA
GldWsRxbf3WP9pFNObSzI/Bo3kA89Xx2rO2roC+Gq4LeHvo7ptzcLcrqaHUAcZ3CgFG88CnA
6z6lBZn0WyewEcPOPdcUB2Q7D/NiUY+HDiV99rAYPJztjeTrBSTnHeSBPb+qn5ZZGQwIdUW9
YegxWKvXXHTwB5eMzo/RB6vffwqcnHDoe0q7VgzRRZJwpi6aMIXLfeWZ5Wrwaw2zldFuO4Dt
91pFzBSOIpeMtfgb/Pfe/a1WJ/GgaIRIBE+NUqckM+3zJHGmVPqJP/h2Iwv6nw8U+7Yyl6gU
BLHFTg2hYnLFJI4Xjg+AX1hHFVKmvl3VBHIsBv0oDcsQWXqY+NaFahT0lRPjYtrTa1v3tem/
JoFzZ4B0p27K+qQCF2R96hVvuEyjzBmdq2esyE6zIqftdo4MOJho8uctOiWbwNNq2U9pPWmu
4vXVFBYIGmpyNPYzRm0QPwARAQABwsF8BBgBCgAmAhsMFiEEm9B+DgxR+NWWd7dUG5NDfTtB
YpsFAmgXUF8FCRaWWyoACgkQG5NDfTtBYptO0w//dlXJs5/42hAXKsk+PDg3wyEFb4NpyA1v
qmx7SfAzk9Hf6lWwU1O6AbqNMbh6PjEwadKUk1m04S7EjdQLsj/MBSgoQtCT3MDmWUUtHZd5
RYIPnPq3WVB47GtuO6/u375tsxhtf7vt95QSYJwCB+ZUgo4T+FV4hquZ4AsRkbgavtIzQisg
Dgv76tnEv3YHV8Jn9mi/Bu0FURF+5kpdMfgo1sq6RXNQ//TVf8yFgRtTUdXxW/qHjlYURrm2
H4kutobVEIxiyu6m05q3e9eZB/TaMMNVORx+1kM3j7f0rwtEYUFzY1ygQfpcMDPl7pRYoJjB
dSsm0ZuzDaCwaxg2t8hqQJBzJCezTOIkjHUsWAK+tEbU4Z4SnNpCyM3fBqsgYdJxjyC/tWVT
AQ18NRLtPw7tK1rdcwCl0GFQHwSwk5pDpz1NH40e6lU+NcXSeiqkDDRkHlftKPV/dV+lQXiu
jWt87ecuHlpL3uuQ0ZZNWqHgZoQLXoqC2ZV5KrtKWb/jyiFX/sxSrodALf0zf+tfHv0FZWT2
zHjUqd0t4njD/UOsuIMOQn4Ig0SdivYPfZukb5cdasKJukG1NOpbW7yRNivaCnfZz6dTawXw
XRIV/KDsHQiyVxKvN73bThKhONkcX2LWuD928tAR6XMM2G5ovxLe09vuOzzfTWQDsm++9UKF a/A=
In-Reply-To: <6836cf62.5d0a0220.35d0aa.2025@xxxxxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Spam-Status: No, score=-6.4 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On 28/05/2025 10:54, Christian Marangi wrote:
> On Wed, May 28, 2025 at 09:30:37AM +0200, Krzysztof Kozlowski wrote:
>> On 28/05/2025 02:49, Christian Marangi wrote:
>>> - if:
>>> properties:
>>> compatible:
>>> @@ -75,6 +78,17 @@ allOf:
>>> reg:
>>> maxItems: 1
>>>
>>> + required:
>>> + - reg
>>> +
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + const: airoha,an7583-clock
>>> + then:
>>> + properties:
>>> + reg: false
>>
>>
>> No resources here, so this should be part of parent node.
>>
>
> Ok hope you can help here. This is another case of "MFD" thing.
>
> I was with the idea that it was O.K. to use this with very different
> devices. (current scenario Clock controller and MDIO controller)
>
> The node structure I had in mind was
>
> system-controller@1fa20000 {
> compatible = "airoha,an7583-scu", "syscon", "simple-mfd";
> reg = <0x0 0x1fb00000 0x0 0x970>;
>
> scuclk: scuclk {
> compatible = "airoha,an7583-clock";
> #clock-cells = <1>;
> #reset-cells = <1>;
> };
>
> mdio {
> compatible = "airoha,an7583-mdio";
> #address-cells = <1>;
> #size-cells = <0>;
>
> mdio_0: bus@0 {
> reg = <0>;
> resets = <&scuclk AN7583_MDIO0>;
> };
>
> mdio_1: bus@1 {
> reg = <1>;
> resets = <&scuclk AN7583_MDIO1>;
> };
> };
> };
>
> But you want
>
> system-controller@1fa20000 {
> compatible = "airoha,an7583-scu", "syscon";
> reg = <0x0 0x1fb00000 0x0 0x970>;
>
> #clock-cells = <1>;
> #reset-cells = <1>;
>
mdio could be here just to group the bus (it's pretty common I think),
although not sure if compatible is useful then.
> mdio_0: bus@0 {
> reg = <0>;
> resets = <&scuclk AN7583_MDIO0>;
> };
>
> mdio_1: bus@1 {
> reg = <1>;
> resets = <&scuclk AN7583_MDIO1>;
> };
> };
>
> Again sorry if this question keeps coming around and I can totally
> understand if you are getting annoyed by this. The reason I always ask
> this is because it's a total PAIN to implement this with the driver
> structure due to the old "simple-mfd" model.
... and Rob was saying multiple times: be careful when adding
simple-mfd. If it bites back, then I am sorry, but everyone were warned,
weren't they?
What is exactly the pain anyway? You cannot instantiate children from
SCU driver?
>
> (as again putting everything in a single node conflicts with the OF
> principle of autoprobing stuff with compatible property)
I am not sure if I follow. What principle? Where is this principle
expressed?
And you do not have in your second example additional compatibles, so
even if such principle exists it is not broken: everything autoprobes, I
think.
>
Best regards,
Krzysztof
Return-Path: <linux-kernel+bounces-665397-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 5E7DD41E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:57:49 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id C49D016CC52
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:57:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id 4AF3F283FCB;
Wed, 28 May 2025 11:57:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="TnmPfyrV"
Received: from out-188.mta0.migadu.com (out-188.mta0.migadu.com [91.218.175.188])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 430D52836AF
for <linux-kernel@xxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:57:39 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.188
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748433462; cv=none; b=mDH2lnhs3+DLCQkL2C+mIbqoMu32XcmDF/hVy7EWsotyerGaVlYu4GbRBb7RrgHVZLePaIYM4x5R3k5DO/pO/X4Lx25yn9AWiy5cZUbsjHUrv8c1Z9P1w4zVTGE6VaWWolJqRJotk6+3OTgxnf25fdGidLe9uytOod7FWceulr8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748433462; c=relaxed/simple;
bh=sSCKB1E9ELIG2NYqjni8tItp5R5klF/j+oTOOckovfo=;
h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
In-Reply-To:Content-Type; b=nj2CLDQo1C2XKNjWEgTsmyrUDr1KwrNE3yBbEJjyx2gSJEEVvZC+7Y98d9y80AsksXZ5kZRBUK3aazYJw8ToO2jxeTVLGao2I2etOotD1ccXeLN7oCQNz2VAdOS+TuXBH6YuYgHi1Nns/XTXb7D4NZFnpPVHSPjso6ygfHCUpb8=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=TnmPfyrV; arc=none smtp.client-ip=91.218.175.188
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev
Message-ID: <7313e3a4-24bf-42be-901d-e85eb260cc0f@xxxxxxxxx>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
t=1748433448;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references;
bh=zpupw+BL22wW70OO3ldtdTEci1KOss4N595RFWiCJy4=;
b=TnmPfyrVIF0NjlC3AUNCJnSsxqqxgtgCTwUF7OW7oLZki32QTawdrmELLquh2uVwlAcBPj
bDIz68KGKSnuyOAYV7kBX5p3DOA6xCVsY98lTTVYaIEG7I2cAHp6gNBRnFS5mVggr4CQJd
XfiELFUSiUJizHXpFXqV5xZuVBvxcU4=
Date: Wed, 28 May 2025 17:26:35 +0530
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
Subject: Re: [PATCH v8 4/4] drm/tidss: Add OLDI bridge support
To: Michael Walle <mwalle@xxxxxxxxxx>
Cc: Rob Herring <robh@xxxxxxxxxx>, Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>,
Conor Dooley <conor+dt@xxxxxxxxxx>,
Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>,
Jyri Sarha <jyri.sarha@xxxxxx>,
Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>,
Thomas Zimmermann <tzimmermann@xxxxxxx>, Maxime Ripard <mripard@xxxxxxxxxx>,
David Airlie <airlied@xxxxxxxxx>,
Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>,
Simona Vetter <simona@xxxxxxxx>, Nishanth Menon <nm@xxxxxx>,
Vignesh Raghavendra <vigneshr@xxxxxx>, Devarsh Thakkar <devarsht@xxxxxx>,
Praneeth Bajjuri <praneeth@xxxxxx>, Udit Kumar <u-kumar1@xxxxxx>,
Jayesh Choudhary <j-choudhary@xxxxxx>,
Francesco Dolcini <francesco@xxxxxxxxxx>,
Alexander Sverdlin <alexander.sverdlin@xxxxxxxxxxx>,
DRI Development List <dri-devel@xxxxxxxxxxxxxxxxxxxxx>,
Devicetree List <devicetree@xxxxxxxxxxxxxxx>,
Linux Kernel List <linux-kernel@xxxxxxxxxxxxxxx>
References: <20250525151721.567042-1-aradhya.bhatia@xxxxxxxxx>
<20250525151721.567042-5-aradhya.bhatia@xxxxxxxxx>
<DA5ZNDCHXC6M.1CDYDG6KKMAP0@xxxxxxxxxx>
<a98ad2e7-50de-4d04-8d99-2cf77354b1d6@xxxxxxxxx>
<DA6PRDARLY70.1CILNJ8YLIOA1@xxxxxxxxxx>
<fc77a1e2-be50-43b1-9863-f8ca70445428@xxxxxxxxx>
<fc5f6000fbe1f01223f8a28a952b40ea@xxxxxxxxxx>
Content-Language: en-US
X-Report-Abuse: Please report any abuse attempt to abuse@xxxxxxxxxx and include these headers.
From: Aradhya Bhatia <aradhya.bhatia@xxxxxxxxx>
In-Reply-To: <fc5f6000fbe1f01223f8a28a952b40ea@xxxxxxxxxx>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Migadu-Flow: FLOW_OUT
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,
RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,
RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hi Michael,
On 28/05/25 13:57, Michael Walle wrote:
> Hi Aradhya,
>
>>>> Something like this.
>>>>
>>>> &oldi0 {
>>>> Â Â Â Â // primary oldi
>>>> Â Â Â Â ti,companion-oldi = <&oldi1>;
>>>> };
>>>>
>>>>
>>>> &oldi1 {
>>>> Â Â Â Â // secondary oldi
>>>> Â Â Â Â ti,secondary-oldi = true;
>>>> Â Â Â Â ti,companion-oldi = <&oldi0>;
>>>> };
>>>>
>>>>
>>>> If there is no companion for any OLDI dt node, then the OLDI TX will be
>>>> deemed as acting by itself, and in a single-link mode.
>>>
>>> And it's possible to still have these properties and treat them as
>>> two distinct transmitters? I'm wondering if it's possible to have
>>> the companion-oldi and secondary-oldi property inside the generic
>>> SoC dtsi, so you don't have to repeat it in every board dts.
>>>
>>> If I read the code correctly, the panel has to have the even and odd
>>> pixel properties to be detected as dual-link. Correct? Thus it would
>>> be possible to have
>>>
>>> oldi0: oldi@0 {
>>> Â Â Â Â ti,companion-oldi = <&oldi1>;
>>> };
>>>
>>> oldi1: oldi@1 {
>>> Â Â Â Â ti,secondary-oldi;
>>> Â Â Â Â ti,companion-oldi = <&oldi0>;
>>> };
>>>
>>> in the soc.dtsi and in a board dts:
>>>
>>> panel {
>>> Â Â Â Â port {
>>> Â Â Â Â Â Â Â remote-endpoint = <&oldi0>;
>>> Â Â Â Â };
>>> };
>>
>> In this case, the secondary OLDI (oldi1) would remain disabled from
>> soc.dtsi.
>>
>> I gave this a quick try. Turns out, of_parse_phandle() is not able to
>> return an error when primary OLDI tries to find a companion -- which is
>> important for the driver to detect an absence of any secondary OLDI.
>>
>> Since the driver code registers a companion for primary OLDI, and
>> further does not find the "dual-lvds-{odd,even}-pixels" properties,
>> the driver ends up trying for a Clone Mode.
>>
>> So, for single-link , we'd have to actively delete the "companion-oldi"
>> property, in the board.dts/panel.dtso.
>
> Last time I've checked you cannot delete nodes or properties in DT
> overlays. So maybe it's better to make that a board property and don't
> set it by default in the soc dtsi.
I was not aware that deleting properties was not allowed/possible. So,
yes, seems like they are better left out of the soc.dtsi! =)
>
>> But, say, the disabled-node's phandle parse is circumvented, somehow,
>> and we don't need to delete the property explicitly.
>>
>> There would still be one concern, I am afraid.
>>
>> In AM67A DSS (future scope at the moment), the 2 OLDIs can act
>> independently. Like a 2x Independent Single-Link. Both the OLDI dt nodes
>> will be enabled.
>
> The first DSS0 can drive two single link displays? Reading your downstream
> AM67A DSS patches, thats not particular clear:
Not the DSS0 alone. DSS0 and DSS1 can each drive a single link OLDI
display simultaneously.
>
> Â Â Â The DSS0 HW supports one each of video pipeline (vid) and video-lite
> Â Â Â pipeline (vidl1). It outputs OLDI signals on one video port (vp1) and
> Â Â Â DPI signals on another (vp2). The video ports are connected to the
> Â Â Â pipelines via 2 identical overlay managers (ovr1 and ovr2).
>
> The TRM also doesn't tell much (or I just didn't find it yet).
>
>> So, if the soc.dtsi has them already connected, then the
>> board.dts/panel.dtso would still need to explicitly delete those
>> properties to get the 2 OLDI TXes to work independently.
>
> Yeah looks like that should really be a board property.
>
> -michael
--
Regards
Aradhya
Return-Path: <linux-kernel+bounces-665399-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from am.mirrors.kernel.org (am.mirrors.kernel.org [147.75.80.249])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 0273641E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:58:15 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by am.mirrors.kernel.org (Postfix) with ESMTPS id 136DA1BC671C
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:58:28 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id B1CF0284687;
Wed, 28 May 2025 11:57:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ADsZGmb5"
Received: from mail-vs1-f49.google.com (mail-vs1-f49.google.com [209.85.217.49])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 46F84283FCD;
Wed, 28 May 2025 11:57:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.217.49
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748433472; cv=none; b=ZU89BykBW5YpSGqAJN4TV0GOeaCQRDfmkWdHUTmYIXXhOaNVJf36ZMckKq3bY5h5Va/8iXKn+1KsmO3Q5RxinH9QR8mOtuV+BPGpyCsireMEmftLbXScn6h01TJiBnxiO+NE6hbfzYPRZZ3wDByDfpAIbqujF1NipIt/sDGPYRY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748433472; c=relaxed/simple;
bh=DM2QbUzIiVq1oAO1zYgkeLSN01UQu1uYF+2linnaY0w=;
h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
To:Cc:Content-Type; b=ZH8p2wpy3yTJsXCfu3wmVsMK1mmxMAA+CzwJj1cL1jEt8dKuSkJ9UjzgSV+xm9/kJHs+Z/ZOqtOGNqYfwxQqvIwBQ0xu3z/8VY53wgyJ8he+v/4WlMsl+8iE1xopMqyDL4a4FPO+NkAZpu6FTRXrQMZvX7EKnRyatjh6cwKNMOg=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ADsZGmb5; arc=none smtp.client-ip=209.85.217.49
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-vs1-f49.google.com with SMTP id ada2fe7eead31-4e282b9a2b9so584422137.1;
Wed, 28 May 2025 04:57:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1748433470; x=1749038270; darn=vger.kernel.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=DM2QbUzIiVq1oAO1zYgkeLSN01UQu1uYF+2linnaY0w=;
b=ADsZGmb5TfzP2K3Bs3iGTuT4VigoVV3nofBzLaDtMpbKDek8OJwpMJGIZYnOdobAC8
nLSe9h9dQ9nNqgOiq4p1oTmLBc/B3n+Rm1is14K+GfBsk86CoXywv99UB4sGzpUO4ZDp
ntM4vgCYsjBK+/+uzh5f4n1HBNey95evKd3U3ehSqUeyY5bPZ/9jEE4rK6KmaBg+l/RZ
8kkXuv5H5BYfqWzaR5upM9z8qMK1sPN8hDSjOGbtlwQe6IS/vNqm+TyK8G/x+pILj5iq
wkh/jehU5VdwZkcR+dklAf6YyVWCy8eVOh4cM8nXmV4TYVIwUKedcbfbhUPMzFt+NJ6P
TD/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1748433470; x=1749038270;
h=content-transfer-encoding:cc:to: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=DM2QbUzIiVq1oAO1zYgkeLSN01UQu1uYF+2linnaY0w=;
b=HaBf3Ys3vCtNFGDeSrMwmxHfpvABXAwzcye6D/QzGj7J7cu6D5+33Avvy3ZxeMX5dU
KlEQtX6ZEs0vRlQIFGryf2jG/U5VtgxPnNMvR7Z4DOlNIiF/UxlEkb9Fg324estvHAnI
MvDxSqAFFph3E6B3VV+2UnCKVhuvczJeUBABQmkYOWsWscArOc3FAlfWT0YH+s4Kf0Mi
/oK0v7B86u9bA5MLDkO/4ojEy3ar0ue3VHyTn1NhP4Nnh3+kOCWB5/e1q9w3r+seSvRh
9gBw/E5o2FTfqrN8NMDl0iKQC9Gne8qttlbTTmj5QspOeSHc5G0WHJQjTjc6LF8cAjxR
dbvw==
X-Forwarded-Encrypted: i=1; AJvYcCVPDpy0XMCoiVgnxFAm4MbfxGc3HZwNflAjSFWidfIWN2bbRMsno+OUYnLH1reD3583bM8P4tB1@xxxxxxxxxxxxxxx, AJvYcCWiqVYu7ovhxBek3XBGRaOxSIeR3v62Rk1XJanitP73Td3t08CT9y8C+nIXKcspypeiLH8oWzqcnYeACRA=@vger.kernel.org
X-Gm-Message-State: AOJu0Yzzs2X8k/EJcXVC5QY2geXltZd9LesxC3ae/yFrmM8Kl5tzXjC5
EillFyErOjO3v4GuWBJFofUIO4H+w9f+Cni2AXsdJiBcug+F0xzfRzjQdX+JOo7xWvseAnseS1K
oxKwkQ9fLjpkvGhv4SAYB/9G/hQdNjrw=
X-Gm-Gg: ASbGnctTNyppSSurucXKjcVwJ0JfgeNduVhz1thdRVI6wkcXuUWDA8XxRtLrGZUtLmh
2VlUMimZJcqcwz+F+aRE6hPkDI6JDC8AEU/1K+eS92IEOdmz0o/4hYYEDZsDueuEzUB2eQ5YiY7
BLj1yv8puLq8uV5NJEOJohoUingkWcvXsU5A==
X-Google-Smtp-Source: AGHT+IHccZ6u3wYBlr61chnbgjUWRM+9FVRKkSPAvmULH6YUlgEgMZxUk6AOBWwMA6JVLhM/7o4896YpQLK4HFLW4VU=
X-Received: by 2002:a67:e70d:0:b0:4e4:1d6d:56cc with SMTP id
ada2fe7eead31-4e597dee6afmr4608606137.12.1748433470075; Wed, 28 May 2025
04:57:50 -0700 (PDT)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
References: <20250527175558.2738342-1-james.hilliard1@xxxxxxxxx>
<631ed4fe-f28a-443b-922b-7f41c20f31f3@xxxxxxx> <CADvTj4rGdb_kHV_gjKTJNkzYEPMzqLcHY_1xw7wy5r-ryqDfNQ@xxxxxxxxxxxxxx>
<fe8fb314-de99-45c2-b71e-5cedffe590b0@xxxxxxx> <CADvTj4qRmjUQJnhamkWNpHGNAtvFyOJnbaQ5RZ6NYYqSNhxshA@xxxxxxxxxxxxxx>
<014d8d63-bfb1-4911-9ea6-6f4cdabc46e5@xxxxxxx> <CADvTj4oVj-38ohw7Na9rkXLTGEEFkLv=4S40GPvHM5eZnN7KyA@xxxxxxxxxxxxxx>
<aDbA5l5iXNntTN6n@xxxxxxxxxxxxxxxxxxxxx>
In-Reply-To: <aDbA5l5iXNntTN6n@xxxxxxxxxxxxxxxxxxxxx>
From: James Hilliard <james.hilliard1@xxxxxxxxx>
Date: Wed, 28 May 2025 05:57:38 -0600
X-Gm-Features: AX0GCFvRg1G8o6RHpRasEA3gbglv1Max4m9hoMAbkTOqRd30AqyfzVMQn3V1-wU
Message-ID: <CADvTj4qP_enKCG-xpNG44ddMOJj42c+yiuMjV_N9LPJPMJqyOg@xxxxxxxxxxxxxx>
Subject: Re: [PATCH v2 1/3] net: stmmac: allow drivers to explicitly select
PHY device
To: "Russell King (Oracle)" <linux@xxxxxxxxxxxxxxx>
Cc: Andrew Lunn <andrew@xxxxxxx>, netdev@xxxxxxxxxxxxxxx, linux-sunxi@xxxxxxxxxxxxxxx,
Andrew Lunn <andrew+netdev@xxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>,
Eric Dumazet <edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>,
Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>, Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>,
Furong Xu <0x1207@xxxxxxxxx>, Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>,
linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,
HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
On Wed, May 28, 2025 at 1:53=E2=80=AFAM Russell King (Oracle)
<linux@xxxxxxxxxxxxxxx> wrote:
>
> On Tue, May 27, 2025 at 02:37:03PM -0600, James Hilliard wrote:
> > On Tue, May 27, 2025 at 2:30=E2=80=AFPM Andrew Lunn <andrew@xxxxxxx> wr=
ote:
> > >
> > > > Sure, that may make sense to do as well, but I still don't see
> > > > how that impacts the need to runtime select the PHY which
> > > > is configured for the correct MFD.
> > >
> > > If you know what variant you have, you only include the one PHY you
> > > actually have, and phy-handle points to it, just as normal. No runtim=
e
> > > selection.
> >
> > Oh, so here's the issue, we have both PHY variants, older hardware
> > generally has AC200 PHY's while newer ships AC300 PHY's, but
> > when I surveyed our deployed hardware using these boards many
> > systems of similar age would randomly mix AC200 and AC300 PHY's.
> >
> > It appears there was a fairly long transition period where both variant=
s
> > were being shipped.
>
> Given that DT is supposed to describe the hardware that is being run on,
> it should _describe_ _the_ _hardware_ that the kernel is being run on.
>
> That means not enumerating all possibilities in DT and then having magic
> in the kernel to select the right variant. That means having a correct
> description in DT for the kernel to use.
The approach I'm using is IMO quite similar to say other hardware
variant runtime detection DT features like this:
https://github.com/torvalds/linux/commit/157ce8f381efe264933e9366db828d845b=
ade3a1
There's already a good bit of mdio autodetection code like
that which scans mdio buses for PHY ID's in stmmac. To me
this is just allowing for device specific autodetection logic, it's
not like we don't already have a good bit of generic PHY auto
detection code in the kernel already.
> I don't think that abusing "phys" is a good idea.
>
> It's quite normal for the boot loader to fix up the device tree
> according to the hardware - for example, adding the actual memory
> location and sizes that are present, adding reserved memory regions,
> etc. I don't see why you couldn't detect the differences and have
> the boot loader patch the device tree appropriately.
I mean, sure, that's technically possible, it just seems like it's
not the best fit option here since there seems to be no real
reason this sort of autodetection can't be handled in the
kernel itself.
Return-Path: <linux-kernel+bounces-665398-lkml=lkml.rescloud.iu.edu@xxxxxxxxxxxxxxx>
X-Original-To: lkml@xxxxxxxxxxxxxxxxxxxx
Delivered-To: lkml@xxxxxxxxxxxxxxxxxxxx
Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [147.75.199.223])
by lkml.rescloud.iu.edu (Postfix) with ESMTPS id 92B9841E003FA
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 07:58:20 -0400 (EDT)
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by ny.mirrors.kernel.org (Postfix) with ESMTPS id 72CB417B651
for <lkml@xxxxxxxxxxxxxxxxxxxx>; Wed, 28 May 2025 11:58:05 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
by smtp.subspace.kernel.org (Postfix) with ESMTP id EEDBC28466C;
Wed, 28 May 2025 11:57:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="jDXx0PvN"
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2054.outbound.protection.outlook.com [40.107.223.54])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2493F10E3;
Wed, 28 May 2025 11:57:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.54
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1748433470; cv=fail; b=XQSFAVrQ9YOH8B5HhV+kevXWbcHUDOtyvhgzXCqDeyFpntDkpSqK61nEDkOJRqzJwOADJD2oFVqI5OZXLG9ry9OcMMtb6Qvq7s7Z/oABu5wHdoEu2Dbn6aGRcg418XPxgp3924lbLJauXmTXKnpdYLAX9bPidHgUZkjIMkCkoys=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1748433470; c=relaxed/simple;
bh=7fTNlncQUsrIYYpnD2dxUC2BfJOsSIkc/IYEEnEFnCI=;
h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:
Content-Disposition:In-Reply-To:MIME-Version; b=F3F/HJq1F/JG/P9g2UpAqFIQYgwUPx8R0VpP0nBRtkIH3n343y1Ta6tZO3dE8yKAFRGjPsrDjFzv+TtR0J4E0d2o+oihduqgHx1orISmAyhyQdQ9Brk65esoyhR6BhWuoywbqL770sF9j+nVlBOGtvyaXnNren7RcIHtWSCy0aw=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=jDXx0PvN; arc=fail smtp.client-ip=40.107.223.54
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
b=MHsmJKR16f28dqkA1eNF0fbwtA66netCGTBpatfee/G6gLivJLXiZPljER16riBruR1GYnoFtxD7LQAkZK+O7ULdMTfm/EyBEJ3UQ6BCpRzUJ7nrNH3ngKWl9Q8j/0f5lKvqUCWivXt6zOglKF82uEVqidDZifSC1lD6TfJwVOkaQw/cH8MedEYO7HocG1ZMaPprXg4yeTpcdCeWUbU1CTE3QG9UhePiSyYFhwHjZebIA2JO+5m4VQvLWsj3VGHbwgT88zT1SJA3GW0DD206NCx3P1UkE67dN9eZFbqknMZhDDTwD/pcI/Ec1GlTAPTikJ+T+W3K8/JUKBhUo1rR+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
s=arcselector10001;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
bh=vpydmyc0P3lard+IItVX4qRdae9xB5SSBUn5XxSNJUI=;
b=Ba7D3QLBOK1DWCtVIws3Kcy0+VddzoNP4izY9TUDR5QDDiUpaYAQQ/IfdSvQ14ctqeKRMl9NLLolgQxWW+tCnxrZeincZTA5lPLS8csW60X+2EJm1ByzKP70JJAHIZ5iEkGLrITrNaucF98K2H6pvR7kpOK2U8ov6yhiH7u6APyGOG7idTsE4ARFtENQ/IXXSoE4Wixw/dHmbdZ9hJxaUZzVOIaMBMZWtbUAc1AqLu6kmY2DAMDeJXst8CfY13zMj2pYfmjmqBhj2Jy1WupPi5lASMwjAVSPeFsxflkkXCtfh5S1QenhBmjA+ss8wmF1KAvkiJdubwIx0htLAmLFEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
bh=vpydmyc0P3lard+IItVX4qRdae9xB5SSBUn5XxSNJUI=;
b=jDXx0PvNByc+rEBTq0UWi1o86ey5ra0gkgSuBBOL/ikX6D880l1wQVcdD0L5bOU6r3HCVwt9JpyFVQF5A/rMIcX2CyEdm7KFi3LIUTQKdj1MMMhI+SR0fNfRvgOtHUAWRDeP4bkLtss1Ayr88YIJY2CfVwvrw6iEDZn4JJ//WwI=
Authentication-Results: dkim=none (message not signed)
header.d=none;dmarc=none action=none header.from=amd.com;
Received: from DS7PR12MB8252.namprd12.prod.outlook.com (2603:10b6:8:ee::7) by
MN2PR12MB4128.namprd12.prod.outlook.com (2603:10b6:208:1dd::15) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Wed, 28 May
2025 11:57:46 +0000
Received: from DS7PR12MB8252.namprd12.prod.outlook.com
([fe80::2d0c:4206:cb3c:96b7]) by DS7PR12MB8252.namprd12.prod.outlook.com
([fe80::2d0c:4206:cb3c:96b7%5]) with mapi id 15.20.8769.019; Wed, 28 May 2025
11:57:46 +0000
Date: Wed, 28 May 2025 17:27:38 +0530
From: "Gautham R. Shenoy" <gautham.shenoy@xxxxxxx>
To: Manu Bretelle <chantr4@xxxxxxxxx>
Cc: Mario Limonciello <mario.limonciello@xxxxxxx>,
Dhananjay Ugwekar <Dhananjay.Ugwekar@xxxxxxx>,
"Rafael J . Wysocki" <rafael@xxxxxxxxxx>,
Viresh Kumar <viresh.kumar@xxxxxxxxxx>, linux-pm@xxxxxxxxxxxxxxx,
linux-kernel@xxxxxxxxxxxxxxx, Adam Clark <Adam.Clark@xxxxxxx>
Subject: Re: [PATCH] acpi-cpufreq: Fix max-frequency computation
Message-ID: <aDb6Mgg3TqyR2IRT@xxxxxxxxxxxxxxxxxxxx>
References: <20250113044107.566-1-gautham.shenoy@xxxxxxx>
<aDaB63tDvbdcV0cg@HQ-GR2X1W2P57>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aDaB63tDvbdcV0cg@HQ-GR2X1W2P57>
X-ClientProxiedBy: OS3P286CA0042.JPNP286.PROD.OUTLOOK.COM
(2603:1096:604:1f5::9) To DS7PR12MB8252.namprd12.prod.outlook.com
(2603:10b6:8:ee::7)
Precedence: bulk
X-Mailing-List: linux-kernel@xxxxxxxxxxxxxxx
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@xxxxxxxxxxxxxxx>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@xxxxxxxxxxxxxxx>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS7PR12MB8252:EE_|MN2PR12MB4128:EE_
X-MS-Office365-Filtering-Correlation-Id: a5ecfec1-8275-4fdf-60da-08dd9ddedc46
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
=?us-ascii?Q?EYtgzNwqWFYaQNnZFAZZSk6G9tkitQs26149Zow8XcxE+6sh5/24n8GB2oHv?=
=?us-ascii?Q?MCKsnGHNquIJwHp/6KeAiGiB3Jyk7JKCqb3w1Y34IxsWOVlsHR4XaiGeemqh?=
=?us-ascii?Q?fgVgHpeJ0RqvOstDQOzfnJyCfC+EG/2TT6U0WRmFDafW7DzUoGDB3wm+eqHN?=
=?us-ascii?Q?5xtvZx/vv/cpEUfv0BNiM5ildsgftUFVuY9nmgC0bQbZvEInnbSe3skWOt7X?=
=?us-ascii?Q?4yRuhCp3reV9lGYdsEJBciwf+eGL1oPJfNEEp6d0UR9cB4050/16GQcPE6pE?=
=?us-ascii?Q?WkpeGmnbZ9V3xHfuYBmYCIXaAuksmnvOjY+mqci4yCS5eJ3kqJ3AikE7Vd7t?=
=?us-ascii?Q?2NVRtTBIKVZN/MZtIE3OlWGltlGVM6G/bRNq2dDVxaNXDydiTUfK0qUdA5Y7?=
=?us-ascii?Q?2SMp0oSF8HKt5maMEaQmhe6zV6d4DOAarNtp768xltqnxahPnKYl3KyCx+41?=
=?us-ascii?Q?2vK9QKPccUdOq775ZLxLZjcHnHo1pHyxmP2sxwP7cipcPpZcVRXiFLFreUz4?=
=?us-ascii?Q?9ylL7SS4bpUqvJ0pzi2ZJcmHOE8WEdA5PD5yz2zXOhhC+d1gsgQF9HU+CvWk?=
=?us-ascii?Q?90us9X9SqYFIqriNbcKku4myrxwOQOkmeJXYnvR4EXnifY/C+xnIpunrr2q5?=
=?us-ascii?Q?C7/1IC4JI7X6R1+UJGgaAmO6ncX5+iIqnnEEQdaj6z577gU2DdXP5293a9QZ?=
=?us-ascii?Q?SJznEIq5Mj3X8jFwSbNUbz/qUggVmrIp9Qc7lUw2UKrC/xsVjIQTHtLh17lj?=
=?us-ascii?Q?Qjd+TXdr2hk/yA9DAzKL5MKHtI4WN+QlQjTZ5Vv86TrsHxBKOErQaFrC0yft?=
=?us-ascii?Q?VgbMkhUy22FMPA9xY5J/6wY0aXHpk9MY8wcz3mJZB3BMX2uF3hfWBrg+0xJX?=
=?us-ascii?Q?tnuDEST+2gjLxXAOPXrY9zkw5sZcLTa2qZ60WCRmT2Ke07Gm619hZY/JWHPA?=
=?us-ascii?Q?Y//sXjZg6IPQaHK2Q2ZLzQm3LFF0uhB4b5iZmg8DT+IkYp2TPOWZcxR8gXQ7?=
=?us-ascii?Q?+40XZoS8/VSmk9byDk7L97cJQNyJaQ0WYeiyeUF3p9Z0yZCaQV6UaTyn4BTG?=
=?us-ascii?Q?9Rb3mKK7/0tvei8MTIivKtwnincT4d22sRe7nEuGzv89NLsaXvS82zhsDiTS?=
=?us-ascii?Q?89TY8fnS11ttaOGTHyuotT98JycN6re8bVPdYVEeXoag38nKRcqjY1gsp3+m?=
=?us-ascii?Q?+yV+Bxt9Szshp63Nm2B7BIKWvLqZoXmqd+J/AFojQYdWQQfMt6oLCuJuoZoB?=
=?us-ascii?Q?C9h79ps+U4LgnBF+hpblj8OEF5jc1e3f367ixv6ow6Xp80sAqWLm93goNCFM?=
=?us-ascii?Q?XSI2vNNuBk15e6Wv+MN5GODNyKb6I920MaIbUnaEo5Xm1/4tmdI28yQkwCLu?=
=?us-ascii?Q?cXPRu8NB1e369fy6gcbBKPB+82hrHjA3fCxorbD4vLK35Z+xC67sA33BV4PL?=
=?us-ascii?Q?BX0H62he6mU=3D?=
X-Forefront-Antispam-Report:
CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB8252.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
=?us-ascii?Q?Nx4NFdYRb0Yz3Ib9APxlPBPhuLEyO0b4I4VQBqj8zibR0QyRKUMYgyZ+cv69?=
=?us-ascii?Q?vmp53shiY93lkiGka0oSVfwCYnpFafuaN77VyiE+A1VvHk2lJZLVAv4aycKa?=
=?us-ascii?Q?/Vv3cIhxUjM+eMk7HxmqZkUUtoj04k7CdpRblFVZshlnRWH4lLKD2Xx5qmiI?=
=?us-ascii?Q?cG5UvRk2y6yCZ5g7nEhaowltRdN5yv1xzYUDt+6R2YNAw70Sjkuku1XxXIhR?=
=?us-ascii?Q?jUo5eg/0EttvNMTRtB683HA5Zk9fAMiLIo/NvTi+nFqvzXDAGa3+0MSmGj2n?=
=?us-ascii?Q?AjHJGJQwHVB0mfwdlN24B5Nf2ZiM9daqqhHph67TdBhrtCAhTi5k1et3E0s6?=
=?us-ascii?Q?B1BrTofsX0Z7N1Zl2QLpwgFbzfqGRQ0vc9uQ/rKD9ycWXnB4v5VkhCkhQxWa?=
=?us-ascii?Q?+lLZeOHGvwzk3UwFZ5oilVreB8zE2mGw5eck5rsKDSW2tMHGidVmenO+FUMD?=
=?us-ascii?Q?tAuVVtyVuVc8qUqEjjPT3mf+645PnC/4DI4aW9EoTSR8je/KSMUF98ba0WhT?=
=?us-ascii?Q?nXTmhdPauEQuD2+VHq/sYpihqOb4FW0M2sYoI/jmCxG3hHcSfldpsPJUFG/1?=
=?us-ascii?Q?KlM7WNVM9qHbQodil5R2SiB1hK0MT5INDNOsnxUWL93RV/Dd+umsAYewXSi+?=
=?us-ascii?Q?iTzd3lDaIIGocv/C4o+g5Eb9mqBy5DAxxa9OLa1l9B41E5SGmJAGCXBvM7xW?=
=?us-ascii?Q?MqLZIMaPNucBc9g91jrr/TSGaqvymiIyi2tBOCOa5oL1hE9Izs+6otFRRew6?=
=?us-ascii?Q?bkyXWcb9Jr5ER+5EHsdkO+YcpurNsTKMfvfkMcGW8nqEA+5bm1G+5AEXlbMb?=
=?us-ascii?Q?W4vCccGjh0w62JYuXTpEXrYxxHfsz2627/GZROXSHi/j97/m6lt4EdNbOz/B?=
=?us-ascii?Q?7a6ib5pCKD7YMsvHBWkKyRE6qLt5iMEZ2G2VjdnXyWIG/QvT7dPq/AwJ/Gzj?=
=?us-ascii?Q?oNpV7MEnXtlksdeC+bTiXAOlQs6URRxdWu2R7DedrBAecSIVbKarTWsGp6Q5?=
=?us-ascii?Q?klsMNxolKO+TXcg7Xft9Tl4kYj7w0K0x6G//Fkq9/7v/KhbTffDphp4Z5Wvp?=
=?us-ascii?Q?yJtUKx+bcpq32z7KYxsuHqEbLKaCUZxsGPBlBECrO4N80ypxbuWfTVYKPyII?=
=?us-ascii?Q?bxVw+ZCjS8fatVEwMhrVlsA6KCra6Be0kTvjnnWOhAWPaoGZE0m3Fx5ieA2r?=
=?us-ascii?Q?VB26DY18phkCXP9I1APr9xoIiT8rDXi19KdqppEMAjwZlVNKUe31kfhyxQE8?=
=?us-ascii?Q?XbBwKh7GQJmgj0fz+4kCRhyDNzH29+DMLcHThuQ+Aj+gMwr6a/UAPHax883U?=
=?us-ascii?Q?n4Ed82GB7fjDxerH5apl4Nbm6/MCcLjKHfrTOKUb4jEq9EKqFGq3CB/QMZAr?=
=?us-ascii?Q?0C9e1Qw0jVMhGBr9YcTmy/RG49UI7Vh8p+vMpPjK8FcjroYMmpbS2F0jMfeL?=
=?us-ascii?Q?bnYXqkjn8dAC8oTLJNLsJDkvrLotoMY/Ykp1DiWevBKSKomQBA4L+pMVY+CO?=
=?us-ascii?Q?cQeAc5wjRrj4Ugetpe0QQA38x00yo+9vWogSKg4krR0mpkQ2n0+WxVGuuTbK?=
=?us-ascii?Q?MWkcQElm7RkOIq01Y5gZndRLoPIPhIjAdiJtYVsS?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5ecfec1-8275-4fdf-60da-08dd9ddedc46
X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB8252.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 11:57:46.4149
(UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +55cPmSlaDHtOvmLEbfj3YNQL889xudfad2jOGdK4KWcmCYBifyR17In4QzcOD18Ly9wBUHfqLLv7pbfrCDlgQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4128
X-Spam-Status: No, score=-6.3 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,
MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,
RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lkml.rescloud.iu.edu
Hello Manu,
On Tue, May 27, 2025 at 08:24:27PM -0700, Manu Bretelle wrote:
> On Mon, Jan 13, 2025 at 10:11:07AM +0530, Gautham R. Shenoy wrote:
> > commit 3c55e94c0ade ("cpufreq: ACPI: Extend frequency tables to cover
> > boost frequencies") introduces an assumption in
> > acpi_cpufreq_cpu_init() that the first entry in the P-state table is
> > the nominal frequency. This assumption is incorrect. The frequency
> > corresponding to the P0 P-State need not be the same as the nominal
> > frequency advertised via CPPC.
> >
> > Since the driver is using the CPPC.highest_perf and CPPC.nominal_perf
> > to compute the boost-ratio, it makes sense to use CPPC.nominal_freq to
> > compute the max-frequency. CPPC.nominal_freq is advertised on
> > platforms supporting CPPC revisions 3 or higher.
> >
> > Hence, fallback to using the first entry in the P-State table only on
> > platforms that do not advertise CPPC.nominal_freq.
> >
>
> Gautham, this got recently pulled in 5.15.179 [0] but it seems to have broken
> what max CPU get reported.
Thanks for reporting this.
>
> I hit the issue on Ubuntu 22.04 with kernel 5.15.0-140-generic. My read from [1]
> is that that kernel is pretty much 5.15.79.
> I rebuilt it with this patch removed and max CPU now show as before.
>
> Here some output that may help, which is what is mostly down to what is reported
> by /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq . Posting the whole
> lscpu hoping that contain more useful data. Happy to provide more if needed.
>
> Ubuntu 22.04 with 5.15.0-140-generic (affected, note CPU max MHz: 2000.0000):
>
> $ lscpu
> Architecture: x86_64
> CPU op-mode(s): 32-bit, 64-bit
> Address sizes: 48 bits physical, 48 bits virtual
> Byte Order: Little Endian
> CPU(s): 128
> On-line CPU(s) list: 0-127
> Vendor ID: AuthenticAMD
> Model name: AMD EPYC 7713P 64-Core Processor
> CPU family: 25
> Model: 1
> Thread(s) per core: 2
> Core(s) per socket: 64
> Socket(s): 1
> Stepping: 1
> Frequency boost: enabled
> CPU max MHz: 2000.0000
> CPU min MHz: 1500.0000
[..snip..]
>
> With 5.15.0-999-generic (5.15.0-140-generic without this patch), max CPU is back
> to 3720.7029, which is also what I get with 5.15.0-139-generic.
>
> $ lscpu
> Architecture: x86_64
> CPU op-mode(s): 32-bit, 64-bit
> Address sizes: 48 bits physical, 48 bits virtual
> Byte Order: Little Endian
> CPU(s): 128
> On-line CPU(s) list: 0-127
> Vendor ID: AuthenticAMD
> Model name: AMD EPYC 7713P 64-Core Processor
> CPU family: 25
> Model: 1
> Thread(s) per core: 2
> Core(s) per socket: 64
> Socket(s): 1
> Stepping: 1
> Frequency boost: enabled
> CPU max MHz: 3720.7029
> CPU min MHz: 1500.0000
[..snip..]
>
>
> Thought to post here instead of [0] to get your thought on this. Am I missing
> something simple to get the right value? Or should this be pulled out of 5.15
> LTS?
No, the patch has a bug. The nominal_frequency returned from the
get_max_boost_ratio() function was in MHz, while cpufreq maintains
frequencies in KHz due to which the computed max_frequency was
incorrect and thus as a fallback, cpufreq reported P0 frequency as the
cpuinfo_max_freq.
Can you please try the following patch on top of the original one?
------------------------x8------------------------------------------------